/**
 * I18n
 * Objeto para internacionalización
 */
I18n = {};

/**
 * I18n
 * Objeto para internacionalización textos en Español
 */
I18n.es = {};

/**
 * I18n
 * Objeto para internacionalización textos en Catalán
 */
I18n.ca = {};				

/**
 * LaTrincaUtils
 */			 
LaTrincaUtils = {};

/**
 * LaTrincaUtils.SuPath
 * 
 * Contexto del proyecto SU
 */
LaTrincaUtils.SuPath = LaTrincaProperties.supath;									

/**
* Selector de elementos por id
* @param {String}  elem -  id del elemento
* @returns {String}  selector del elemento
*/
LaTrincaUtils.idSel = function (id_elem){
	return "#"+id_elem;
};

/**
 * LaTrincaUtils.timestamp
 */
LaTrincaUtils.timestamp = function (){
	return new Date().getTime();
};
/**
* Impide el cacheo de una url
* @param {String}  url - url
* @returns {String} 
*/
LaTrincaUtils.urlNoCache = function (url){ 
	return url+"?nocache="+LaTrincaUtils.timestamp();
};

/**
 * LaTrincaUtils.Messages
 */
LaTrincaUtils.Messages = {
	/**
	 * LaTrincaUtils.Messages.showMsg
	 * @param msg - mensaje a mostrar
	 */		
	showMsg: function (msg){
		alert(msg);
	}
}

/**
 * LaTrincaUtils.Errors
 */
LaTrincaUtils.Errors = {
	/**
	 * LaTrincaUtils.Errors.showError
	 * @param msg - mensaje de error a mostrar
	 */		
	showError: function (msg){
		alert(msg);
	}
}

/**
 * LaTrincaUtils.isUserLogged
 * Devuelve true si el usuario está logado
 */
LaTrincaUtils.isUserLogged = function (loginRequired){
	if (loginRequired){
		//return ($("#login_access").attr("title") != "");
		return false;// se devuelve siempre falso ya que actualmente no se permite logarse
	}
	return true;
}

/**
 * Mensajes para login en Español
 */
I18n.es.login_required_action = "Se necesita estar identificado para realizar esta acción";

/**
 * Mensajes para login en Catalán
 */
I18n.ca.login_required_action = "Es necessita estar identificat per realitzar aquesta acció";

/**
 * LaTrincaUtils.showLoginRequired
 * Muestra un mensaje para indicar que se necesita estar identificado en el sistema
 * @param  locale - Idioma
 */
LaTrincaUtils.showLoginRequired = function (locale){
	alert(I18n[locale].login_required_action);
}

/**
 * LaTrincaUtils.Player
 * Objeto de configuración para el player
 */
LaTrincaUtils.Player = {
	playerId: "ctv_player",
	/**
	 * LaTrincaUtils.Player.getFlashObj
	 * Devuelve el objeto flash correspondiente al identificador
	 * @param  swf - identificador del objeto flash
	 */		
	getFlashObj: function (swf) {
		if(navigator.appName.indexOf("Microsoft") != -1) {
			return window[swf];
		} else {
			return document[swf];
		}
	}
}

/**
 * LaTrincaUtils.Loader
 * Objeto para el loader
 */
LaTrincaUtils.Loader = {
	ProgressBarShow: function (){
		document.getElementById ('poploaderall').style.display='inline';
	},
	ProgressBarHide: function (){
		document.getElementById ('poploaderall').style.display='none';
	}
};

/**
 * LaTrincaUtils.Clipboard
 * Objeto de configuración del portapapeles
 */
LaTrincaUtils.Clipboard = {
	playerId: "ctv_player",
	/**
	 * LaTrincaUtils.Clipboard.copy
	 * Copia un texto al portapapeles
	 * @param  textToCopy - texto a copiar
	 */		
	copy: function (textToCopy) {
		LaTrincaUtils.Player.getFlashObj(LaTrincaUtils.Player.playerId).copyToClipboard(textToCopy);
	},
	/**
	 * LaTrincaUtils.Clipboard.copyField
	 * Copia el valor de un campo al portapapeles
	 * @param  fieldID - identificador del campo a copiar
	 */		
	copyField: function (fieldID) {
		LaTrincaUtils.Player.getFlashObj(LaTrincaUtils.Player.playerId).copyToClipboard($("#"+fieldID).val());
	},
	/**
	 * LaTrincaUtils.Clipboard.copyTextArea
	 * Copia el valor de una caja de texto al portapapeles
	 * @param  fieldID - identificador de la caja de texto a copiar
	 */		
	copyTextArea: function (textareaID) {
		LaTrincaUtils.Player.getFlashObj(LaTrincaUtils.Player.playerId).copyToClipboard($("#"+textareaID).text());
	}		
	
}


/**
* Obtiene una imagen nueva del captcha
* @param {String}  id_img_captcha -  id de la imágen
* @param {String}  captcha_src -  ruta de la imagen
*/
LaTrincaUtils.captcha = {
	/**
	* Crea la imagen del captcha
	* @param {Object}  properties - objeto con los atributos de la imágen  atributo: valor
	* @param {String}  elem -  id del elemento al que se le añade la imagen 
	*/
	ImageCaptcha: function (properties,elem){
	
		
		var url = properties["src"];
		var id = properties["id"];
		var elem_to_add = LaTrincaUtils.idSel(elem);
	
		var img_captcha = $('<img>');
		for ( var i in properties ){
			if (i != "src"){
				img_captcha.attr(i,properties[i]);
			}
		}
		
		var f_reloadCaptcha = function (){
			LaTrincaUtils.captcha.reloadCaptcha(id,url);
		};
		
		img_captcha.attr("style","cursor: pointer;");
		img_captcha.attr("src",LaTrincaUtils.urlNoCache(url));    
		img_captcha.bind("click", f_reloadCaptcha);    
		$(elem_to_add).append(img_captcha);
	},
	reloadCaptcha : function  (id_img_captcha,captcha_src) {        
		var url_load_captcha = LaTrincaUtils.urlNoCache(captcha_src);
		var img_captcha = LaTrincaUtils.idSel(id_img_captcha);
		$(img_captcha).hide("slow",function(){
			$(img_captcha).attr("src", url_load_captcha);
			$(img_captcha).show("slow");
		});
	}
}

/**
 * Mensajes para comentarios en Español
 */
I18n.es.comentarios_campo_nombre = "Nombre";
I18n.es.comentarios_mail_no_valido = "e-Mail no válido";
I18n.es.comentarios_campo_obligatorio = "es obligatorio";
I18n.es.comentarios_web_ko = "Dirección web no válida";
I18n.es.comentarios_obligatorio = "Debe escribir un comentario.";
I18n.es.comentarios_send_ok= "El comentario se ha enviado correctamente";
I18n.es.comentarios_send_ko= "Se ha producido un error al enviar el comentario";
I18n.es.comentarios_captcha_oblig = "Debe introducir el código de seguridad";
I18n.es.comentarios_captcha_number = "El código de seguridad debe ser numérico";
I18n.es.comentarios_captcha_length = "El código de seguridad debe tener 7 caracteres";
I18n.es.comentarios = "COMENTARIOS";
I18n.es.comentario = "COMENTARIO";

/**
 * Mensajes para comentarios en Catalán
 */
I18n.ca.comentarios_campo_nombre = "Nom";
I18n.ca.comentarios_mail_no_valido = "e-Mail no vàlid";
I18n.ca.comentarios_campo_obligatorio = "és obligatori";
I18n.ca.comentarios_web_ko = "Adreça web no vàlida";
I18n.ca.comentarios_obligatorio = "Escriu un comentari.";
I18n.ca.comentarios_send_ok= "El comentari s'ha enviat correctament";
I18n.ca.comentarios_send_ko= "S'ha produït un error en enviar el comentari";
I18n.ca.comentarios_captcha_oblig = "Cal introduir el codi de seguretat";
I18n.ca.comentarios_captcha_number = "El codi de seguretat ha de ser numèric";
I18n.ca.comentarios_captcha_length = "El codi de seguretat ha de tenir 7 caràcters";
I18n.ca.comentarios = "COMENTARIS";
I18n.ca.comentario = "COMENTARI";

/**
 * LaTrincaUtils.Commenting
 * Comentarios
 */ 					
LaTrincaUtils.Commenting = {};

/**
 * LaTrincaUtils.Commenting
 */
LaTrincaUtils.Commenting = {};

/**
 * LaTrincaUtils.Commenting.comments
 * Objeto para la configuración y funciones de los comentarios
 */
LaTrincaUtils.Commenting.comments = {		
	/**
	 * LaTrincaUtils.Commenting.comments.cfg
	 * Configuración de los comentarios
	 */
	cfg: {
		pagesize: 5,
		target: "/commenting/commenting-system-view.jsp",
		command: LaTrincaUtils.SuPath+"commands/getComments",
		comments_selector_container: "#comentarios",
		comments_selector: "#comentarios",
		form_comments_selector: "#formcommt",
		login_msg_selector:"#loginMSG"
	},
	
	/**
	 * LaTrincaUtils.Commenting.comments.cfgMostRated
	 * Configuración comentario más votado
	 */
	cfgMostRated: {
		command: LaTrincaUtils.SuPath+"commenting/mostRatedComment.jsp",
		method: "POST",
		most_rated_selector: "#most_rated_comment",
		question_id: LaTrincaProperties.question_id,
		answer_id_votesup: LaTrincaProperties.answer_id_votesup,
		answer_id_votesdown: LaTrincaProperties.answer_id_votesdown		
	},	
	
	/**
	 * LaTrincaUtils.Commenting.comments.get
	 * Obtiene los comentarios
	 * 
	 * @param itemid - identificador del contenido
	 * @param itemtype - tipología
	 * @param locale - idioma
	 * @param page - número de página
	 */			
	get: function (itemid,itemtype,locale,page){
		var cfgComments = LaTrincaUtils.Commenting.comments.cfg;
		var cfgMR = LaTrincaUtils.Commenting.comments.cfgMostRated;
		var params = {ITEMID:itemid, ITEMTYPE:itemtype, LANGUAGE:locale, hiTarget:cfgComments.target, 
				pagesize: cfgComments.pagesize, page:page, question: cfgMR.question_id, 
				answeridup: cfgMR.answer_id_votesup, answeriddown: cfgMR.answer_id_votesdown
		};
		$.get(cfgComments.command,params,function(data,status){
			if (status == "success"){
				$(cfgComments.comments_selector).replaceWith(data);
			}
		});
	},
	
	
	/**
	 * LaTrincaUtils.Commenting.comments.numComments
	 * Obtiene el número de comentarios 
	 * 
	 * @param itemid - identificador del contenido
	 * @param itemtype - tipología
	 * @param locale - idioma
	 * @param target - id de la capa en la que se pone el numero de comentarios. Si no se especifica.
	 * La función hace un return con el numero de comentarios
	 */
	 numComments: function (itemid,itemtype,locale,target,span){
	 
	 	var totalret = 0;
	 
	 	$.ajax({
			type: "GET",
			url: "/su/services/getComments?ITEMID=" + itemid + "&ITEMTYPE=" + itemtype + "&LANGUAGE=" + locale + "&page=1&pagesize=0",
			dataType: "xml",
			success: function(xml){
				 $(xml).find('list').each(function(){
					var total = $(this).attr("totalItems");
					
					if(total==1){
						if(span){
							$("#"+target).html("<span class='Negrita'>" + total + "</span> " + I18n[locale].comentario);
						}else{
							$("#"+target).html(total + " " + I18n[locale].comentario);
						}
					}else{
						if(span){
							$("#"+target).html("<span class='Negrita'>" + total + "</span> " + I18n[locale].comentarios);
						}else{
							$("#"+target).html(total + " " + I18n[locale].comentarios);
						}
					}
				 });
			},
			error: function(){
				if(span){
					$("#"+target).html("<span class='Negrita'>0</span> " + I18n[locale].comentarios);
				}else{
					$("#"+target).html("0 " + I18n[locale].comentarios);
				}
			}
		});
	 },
	/**
	 * LaTrincaUtils.Commenting.comments.LoginReq
	 * Función que comprueba si el usuario está logado y muestra el formulario de comentarios si es así
	 */			
	LoginReq: function (){
		var cfg = LaTrincaUtils.Commenting.comments.cfg;
		$(cfg.form_comments_selector).hide();	
	    $.ajax({
	        type: "GET",
	        url: LaTrincaUtils.SuPath+"services/getUser",
	        dataType: "xml",
	        success: function(xml){
				 $(xml).find('user ').each(function(){	
	                 var nick = $(this).find('nick').text();
	                 var email = $(this).find('email').text();	                 
	                 var web = $(this).find('web').text();
					 $("#COMMENT_NAME").val(nick);
					 $("#COMMENT_MAIL").val(email);
					 $("#COMMENT_URL").val(web);
				 });
	    		$(cfg.login_msg_selector).remove();
	    		$(cfg.form_comments_selector).show();	
	        }
	     });
	}
}

/**
 * LaTrincaUtils.Commenting.form
 * Formulario de comentarios
 */ 
LaTrincaUtils.Commenting.form = {
	/**
	 * LaTrincaUtils.Commenting.form.cfg
	 * Configuración del formulario de comentarios
	 */ 		
	cfg: {
		id: "form_comments",
		id_personal_data: "comments_userdates",
		action: LaTrincaUtils.SuPath+"services/addComment",
		method: "POST",
		fields_validate: [
			["COMMENT_CONTENTTYPE"],
			["COMMENT_CONTENTID"],
			["LANGUAGE"],
			["COMMENT_NAME"],
			["COMMENT_MAIL","validaMail"],
			["COMMENT_URL","validaWeb"],
			["COMMENT_TEXT","commentNotEmpty"],
			["CAPTCHA_RESPONSE","validaCaptcha"]
		],
		fields_clean: [ "COMMENT_NAME","COMMENT_MAIL",
						"COMMENT_URL","COMMENT_TEXT",
						"CAPTCHA_RESPONSE"
					   ],
		validate_funcs_namespace: "LaTrincaUtils.Commenting.form.validate_functions.",
		textAreaClicked: false
	},
	/**
	 * LaTrincaUtils.Commenting.form.validate_functions
	 * Funciones de validación para el formulario de comentarios
	 */ 			
	validate_functions: {
		commentNotEmpty: function(field_value,locale){
			if ((field_value)!=""){
				if(LaTrincaUtils.Commenting.form.cfg.textAreaClicked){
					return false;
				}			
			}
			return I18n[locale].comentarios_obligatorio;

		},
		validaMail: function(field_value,locale){
			if ((field_value)!=""){
				if(field_value.indexOf(".") <= 2 || field_value.indexOf("@") <= 0){
					return I18n[locale].comentarios_mail_no_valido;
				}
			}
			return false;	
		},
		validaCaptcha: function(field_value,locale){		
			if(field_value.length < 1 ){
				return I18n[locale].comentarios_captcha_oblig;
			}
			if (!/^([0-9])*$/.test(field_value)){
				return I18n[locale].comentarios_captcha_number;
			}	
			if (field_value.length != 7){		
				return I18n[locale].comentarios_captcha_length;
			}			
			return false;	
		},
		validaWeb : function(field_value,locale){
			if ((field_value)!=""){
				if((field_value.indexOf(".")==-1 || field_value.indexOf("http://")!=0) && field_value!="http://"){	
					return I18n[locale].comentarios_web_ko;
				}
			}
			return false;
		}
	},
	/**
	 * LaTrincaUtils.Commenting.form.send
	 * Envío del formulario de comentarios
	 */ 			
	send: function (locale){
		var cfg = LaTrincaUtils.Commenting.form.cfg;
		var valid = true;
		var data = "";
		for (i in cfg.fields_validate){
			if (valid){
				var field_name = cfg.fields_validate[i][0];
				var field_value = $("#"+field_name).val();
				var sep_param = (cfg.fields_validate.length==parseInt(i)+1)?"":"&";
				data = data+field_name+"="+field_value+sep_param;
				if (typeof cfg.fields_validate[i][1] != 'undefined'){
					var validate_func = eval(cfg.validate_funcs_namespace+cfg.fields_validate[i][1]);
					var error = validate_func(field_value,locale);
					if (error)
					{
						valid = false;
						alert(error);
					}
				}			
			}
		}
		if (valid){
			LaTrincaUtils.Commenting.form.submit(data,cfg,locale);
		}
		return false;
	},
	/**
	 * LaTrincaUtils.Commenting.form.submit
	 * Submit del formulario de comentarios
	 */ 			
	submit:function(data,cfg,locale){
		$.ajax({
			type: cfg.method,
			url: cfg.action,
			data: data,
			contentType: "application/x-www-form-urlencoded;charset=utf-8",	
			success: function(){
				alert(I18n[locale].comentarios_send_ok);
				LaTrincaUtils.Commenting.form.clean();
				window.location.reload();
			},
			error: function(){
				alert(I18n[locale].comentarios_send_ko);
			}
		});
	},
	/**
	 * LaTrincaUtils.Commenting.form.clean
	 * Limpia los campos del formulario de comentarios
	 */ 				
	clean: function(){
		var cfg = LaTrincaUtils.Commenting.form.cfg;
		for (i in cfg.fields_clean){
			var field_name = cfg.fields_clean[i];
			$("#"+field_name).val("");
		}
		return false;
	},
	/**
	 * LaTrincaUtils.Commenting.form.enablePersonalData
	 * Habilita los campos para los datos personales del formulario de comentarios
	 */
	cleanTextArea: function (){
		$("#COMMENT_TEXT").val("");
		$("#COMMENT_TEXT").attr("onclick","");
		LaTrincaUtils.Commenting.form.cfg.textAreaClicked = true;
	},
	
	/**
	 * LaTrincaUtils.Commenting.form.showForm
	 * Muestra el formulario de comentarios
	 */
	show: function (cont_id){
		LaTrincaUtils.Show(cont_id);
	},
	
	/**
	 * LaTrincaUtils.Commenting.form.initForm
	 * Inicia el formulario
	 */
	initForm: function (){
		$("#COMMENT_TEXT").val("");
		$("#COMMENT_TEXT").attr("onclick","");
	}						
}

/**
 * Mensajes para votaciones en Español
 */
I18n.es.voting_vote_ok = "Su voto se ha computado correctamente";
I18n.es.voting_offensive_ok = "El vídeo se ha marcado como ofensivo";
I18n.es.voting_vote_ko = "No se ha podido computar el voto.";
I18n.es.voting_vote_ko_alredy_vote = "Ya se han recibido votos con esta IP";
I18n.es.voting_offensive_ko = "El vídeo no se ha podido marcar como ofensivo";
I18n.es.voting_offensive_ko_alredy = "El vídeo ya se ha marcado como ofensivo";

/**
 * Mensajes para votaciones en Catalán
 */
I18n.ca.voting_vote_ok = "El seu vot s'ha computat correctament";
I18n.ca.voting_offensive_ok = "Aquest video s'ha marcat com ofensiu";
I18n.ca.voting_vote_ko = "No s'ha pogut computar el vot.";
I18n.ca.voting_vote_ko_alredy_vote = "Ja s'han rebut vots amb aquesta IP";
I18n.ca.voting_offensive_ko = "El vídeo no s'ha pogut marcar com a ofensiu";
I18n.ca.voting_offensive_ko_alredy = "El vídeo ja s'ha marcat com a ofensiu";
/**
 * LaTrincaUtils.Voting
 */
LaTrincaUtils.Voting = {
	cfg:{
		getVotesCommand: LaTrincaUtils.SuPath+"services/interactive/votes",
		getVotesCommentsCommand: LaTrincaUtils.SuPath+"services/interactive/ranking",
		addVoteCommand: LaTrincaUtils.SuPath+"services/interactive/participate",
		getVotesCommentCommand: LaTrincaUtils.SuPath+"commenting/getRateComment.jsp",
		method: "POST",
		interactive_id: LaTrincaProperties.interactive_id,
		question_id: LaTrincaProperties.question_id,
		question_id_offensive: LaTrincaProperties.offensive_question_id,		
		votesup_id: "votesup",
		votesdown_id: "votesdown",
		votesup_comm_id: "votesupcomm",
		votesdown_comm_id: "votesdowncomm",		
		answer_id_votesup: LaTrincaProperties.answer_id_votesup,
		answer_id_votesdown: LaTrincaProperties.answer_id_votesdown,
		offensive_id_votes: LaTrincaProperties.offensive_id_votes,
		alredy_vote_error_code: "ERR_INTERACTIVE_ALREADY_VOTE",
		exception_code_id: "exception_code",
		itemTypeComments: "T_SRVD_COMMENTIN"
	}
};

/**
 * LaTrincaUtils.Voting.getVotes
 */
LaTrincaUtils.Voting.getVotes = function (cfg,itemid,itemtype,capa2){
	$.ajax({
		type: cfg.method,
		url: cfg.getVotesCommand,
		data: { interactive:cfg.interactive_id, question:cfg.question_id, itemid:itemid, itemtype:itemtype},
		dataType: "xml",
		success: function(xml){
			 $(xml).find('answer').each(function(){
                 var answer_id = $(this).find('id').text();
                 var numVotes = $(this).find('votes').text();
                 if (answer_id == cfg.answer_id_votesup){
                 	 if(typeof(capa2)=='undefined'){
                	 	$("#"+cfg.votesup_id+itemid).text(numVotes + " vots");
                	 }else{
                	 	$("#"+ capa2 + cfg.votesup_id+itemid).text(numVotes + " vots");
                	 }
                 } 
			 });
		},
		error: function(){}
	});
}

/**
 * LaTrincaUtils.Voting.addVote
 */
LaTrincaUtils.Voting.addVote = function (cfg,itemid,itemtype,up,locale,capa){
	if (LaTrincaUtils.isUserLogged(LaTrincaProperties.login_required.votar))
	{
		$.ajax({
			type: cfg.method,
			url: cfg.addVoteCommand,
			data: { interactive:cfg.interactive_id, question:cfg.question_id, itemid:itemid, itemtype:itemtype, 
					answer:up?cfg.answer_id_votesup:cfg.answer_id_votesdown
			},
			success: function(){
				LaTrincaUtils.Messages.showMsg(I18n[locale].voting_vote_ok);
				var selectorVotes = "";
				if(typeof(capa)=='undefined'){
					selectorVotes = "#"+cfg.votesup_id+itemid;
				}else{
					selectorVotes = "#"+capa+cfg.votesup_id+itemid;
				}		
				var numVotos = parseInt($(selectorVotes).text());
				numVotos++;
				$(selectorVotes).text(numVotos + " vots");	
				//LaTrincaUtils.Voting.getVotes(cfg, itemid, itemtype,capa);	
			},
			error: function(data){
				var errorCode = "";
				 $(data.responseXML).find('code').each(function(){
						errorCode = $(this).text();
				 });
				if (errorCode == cfg.alredy_vote_error_code){
					LaTrincaUtils.Messages.showMsg(I18n[locale].voting_vote_ko_alredy_vote);
				}
				else{
					LaTrincaUtils.Messages.showMsg(I18n[locale].voting_vote_ko);
				}
			}
		});		
	}
	else {
		LaTrincaUtils.showLoginRequired(locale);
	}
}

/**
 * LaTrincaUtils.Voting.addOffensiveVote
 */
LaTrincaUtils.Voting.addOffensiveVote = function (cfg,itemid,itemtype,locale){
	
	if (LaTrincaUtils.isUserLogged(LaTrincaProperties.login_required.marcar_ofensivo))
	{
		$.ajax({
			type: cfg.method,
			url: cfg.addVoteCommand,
			data: { interactive:cfg.interactive_id, question:cfg.question_id_offensive, itemid:itemid, itemtype:itemtype, 
					answer:cfg.offensive_id_votes
			},
			success: function(){
				LaTrincaUtils.Messages.showMsg(I18n[locale].voting_offensive_ok);
			},
			error: function(data){
				var errorCode = "";
				 $(data.responseXML).find('code').each(function(){
						errorCode = $(this).text();
				 });
				if (errorCode == cfg.alredy_vote_error_code){
					LaTrincaUtils.Messages.showMsg(I18n[locale].voting_offensive_ko_alredy);
				}
				else{
					LaTrincaUtils.Messages.showMsg(I18n[locale].voting_offensive_ko);
				}
				
			}
		});		
	}
	else {
		LaTrincaUtils.showLoginRequired(locale);
	}
}

/**
 * LaTrincaUtils.ReplaceDOMElement
 * Función para reemplazar un elemento del DOM
 * 
 * @param elemID - identificador del elemento a reemplazar
 * @param elemPath - ruta desde la que se obtiene el nuevo elemento
 */
LaTrincaUtils.ReplaceDOMElement = function (elemID, elemPath){
	
	$.ajax({
			type: "GET",
			url: elemPath,
			success: function(data){
				$("#"+elemID).replaceWith(data);
			}
		});
}

/**
 * LaTrincaUtils.ReplaceHTML
 * Función para reemplazar html de una capa
 * 
 * @param elemID - identificador del elemento a reemplazar
 * @param elemPath - ruta desde la que se obtiene el nuevo elemento
 */
LaTrincaUtils.ReplaceHTML = function (elemID, elemPath){
	
	$.ajax({
		type: "GET",
		url: elemPath,
		success: function(data){
			$("#"+elemID).html(data);
		}
	});
}

/**
 * LaTrincaUtils.ChangeTab
 * Función para cambiar de pestaña en mediateca
 * 
 * @param elemID - identificador del elemento a reemplazar
 * @param elemPath - ruta desde la que se obtiene el nuevo elemento
 */
LaTrincaUtils.ChangeTab = function (elemID, elemPath, submenuID, submenuPath){
	
	if(typeof(elemID)!= 'undefined' && typeof(elemPath)!= 'undefined'){
		$.ajax({
			type: "GET",
			url: elemPath,
			success: function(data){
				$("#"+elemID).html(data);
				//	amTE_TONI, amTE_JOSEMA, amTE_MIGANG, amTE_TRINCA
				$("a[id^=amTE_]").removeClass("selected");
				if(elemPath.lastIndexOf("TE_TONI") != -1){
					$("#amTE_TONI").addClass("selected");
				}else if(elemPath.lastIndexOf("TE_JOSEMA") != -1){
					$("#amTE_JOSEMA").addClass("selected");
				}else if(elemPath.lastIndexOf("TE_MIGANG") != -1){
					$("#amTE_MIGANG").addClass("selected");
				}else{
					$("#amTE_TRINCA").addClass("selected");
				}
				
				//	asFECHA, asVISITAS, asVOTOS
				$("a[id^=as]").removeClass("selected");
				if(elemPath.lastIndexOf("tematicas") != -1){
					$("#asFECHA").addClass("selected");
				}else if(elemPath.lastIndexOf("visitas") != -1){
					$("#asVISITAS").addClass("selected");
				}else if(elemPath.lastIndexOf("votados") != -1){
					$("#asVOTOS").addClass("selected");
				}
			},
			error: function(){
				$("#"+elemID).html("<div class='listado'><div class='controlbar'><hr/></div></div>");
			}
		});
	}
	
	if(typeof(submenuID)!= 'undefined' && typeof(submenuPath)!= 'undefined'){
		$.ajax({
			type: "GET",
			url: submenuPath,
			success: function(data){
				$("#"+submenuID).html(data);
			}
		});
	}
}

LaTrincaUtils.showPopup = function (id_popup,locale){
	document.getElementById(id_popup).style.display='inline';
}

LaTrincaUtils.share = function(service, locale){

	var shareURL = "";
	var URL = window.document.location.href;
	var doShare = true;

	//eliminar # del final
	if (URL.charAt(URL.length-1) == "#")
	{
		URL = URL.substring(0,URL.length-1);
	}
	
	var titleURL = encodeURIComponent(window.document.title);

	if (service == 'myspace') {
		shareURL = 'http://www.myspace.com/Modules/PostTo/Pages/?u='+URL;
	} else if (service == 'facebook') {
		shareURL = 'http://www.facebook.com/sharer.php?u='+URL;
	} else if (service == 'twitter') {
		shareURL = 'http://twitter.com/home?status=Video '+URL;
	} else if (service == 'msn') {
		shareURL = 'http://reporter.es.msn.com/?fn=contribute&referrer=www.latrinca.cat&URL='+URL;
	}

	if (LaTrincaUtils.isUserLogged(LaTrincaProperties.login_required.compartir))
	{
		if (shareURL != "") {
			window.open(shareURL);
		}
	}
	else {
		LaTrincaUtils.showLoginRequired(locale);
	}
}


LaTrincaUtils.Rating = {};


/**
 * Mensajes votos ESPAÑOL
 */
I18n.es.puntua_ok = "Tu puntuación ha sido registrada";
I18n.es.puntua_ko = "No ha sido posible registrar tu votación";

/**
 * Mensajes votos CATALAN
 */
I18n.ca.puntua_ok = "Tu puntuación ha sido registrada[falta traducir]";
I18n.ca.puntua_ko = "No ha sido posible registrar tu votación [falta traducir]";


LaTrincaUtils.Rating.getRating = function(itemtype, itemid, locale, target){

	$.ajax({
			type: "GET",
			url: "/su/services/getRating?ITEMID=" + itemid + "&ITEMTYPE=" + itemtype + "&LANGUAGE=" + locale,
			dataType: "xml",
			success: function(xml){
				 $(xml).find('float').each(function(){
					var total = $(this).text();
				
					var result = LaTrincaUtils.Rating.convert(Math.round(total));		
				
					var elemento = document.getElementById(target);
					elemento.className = "actualrating " + result;
						 				 
				 });
			},
			error: function(){
				//no cargar
			}
		});
}


LaTrincaUtils.Rating.rate = function(itemtype, itemid, locale, target, stars){
	if (LaTrincaUtils.isUserLogged(LaTrincaProperties.login_required.valorar))
	{
		$.ajax({
			type: "GET",
			url: "/su/services/addVote?ITEMID=" + itemid + "&ITEMTYPE=" + itemtype + "&LANGUAGE=" + locale + "&ITEMRATE=" + stars,
			dataType: "xml",
			success: function(){
				 LaTrincaUtils.Messages.showMsg(I18n[locale].puntua_ok);
				 LaTrincaUtils.Rating.getRating(itemtype,itemid,locale,target);
			},
			error: function(){
				//no cargar
				LaTrincaUtils.Messages.showMsg(I18n[locale].puntua_ko);
			}
		});
	}
	else {
		LaTrincaUtils.showLoginRequired(locale);
	}
}

LaTrincaUtils.changeText = function(itemid,text){
	$("#"+itemid).empty();
	$("#"+itemid).text(text);	
}

LaTrincaUtils.Rating.convert = function(valor){
	
	if(valor==1)
		return "uno";
	else if(valor==2)
		return "dos";
	else if(valor==3)
		return "tres";
	else if(valor==4)
		return "cuatro";
	else if(valor==5)
		return "cinco";
		
	return "cero";
}

/**
 * LaTrincaUtils.Popups
 * Funciones para popups
 */
LaTrincaUtils.Popups = {
	ShowEmbed: function (){
		LaTrincaUtils.Player.getFlashObj(LaTrincaUtils.Player.playerId).getEmbed();		
		document.getElementById('popembedall').style.display='inline';
	},
	ShowPopupUrl: function(){
		$("#ENLAZAR_VIDEO").text(document.location.href);
		document.getElementById('popurlall').style.display='inline';
	}	
}

/**
 * setEmbed
 * Copia el código del embed en la caja de texto
 * (Se llama desde el player)
 */
function setEmbed(embedTxt)
{
	$("#COPIAR_VIDEO").text(embedTxt);
}

/**
 * setHD
 * Función que abre el lightbox con 
 * el player y el presset de HD
 * (Se llama desde el player)
 */
function setHD(param) 
{ 
	alert('MODE HD ON for ' + param); 
}


/* disparar evento click correspondiente a tematica */

LaTrincaUtils.checkT = function(){

	var q = new Poly9.URLParser(window.location.href);
	var t = q.getQuerystring();
	
	var arr = t.split("t=");

	if(arr[1]=="TE_TONI"){
		$("#amTE_TONI").click();
	}else if(arr[1]=="TE_JOSEMA"){
		$("#amTE_JOSEMA").click();
	}else if(arr[1]=="TE_MIGANG"){
		$("#amTE_MIGANG").click();
	}else if(arr[1]=="TE_TRINCA"){
		$("#amTE_TRINCA").click();
	}else if(arr[1]=="PROGRAMS"){
		$("#amPROGRAMS").click();
	}else if(arr[1]=="MOMENTS"){
		$("#amMOMENTS").click();
	}
}
