/**
 * JsCantvUser
 */
JsCantvUser = {};

/* Mensajes en Español */
I18n.es.user_welcome = "Bienvenido ";
I18n.es.user_view_data = "Ver mi perfil";
I18n.es.user_close_session_de = "Cerrar sesión de";
I18n.es.user_close_session = "Cerrar sesión";
I18n.es.user_login_ko = "No se ha podido iniciar la sesión";
I18n.es.user_baja_confirm = "Vas a darte de baja, ¿continuar?";
I18n.es.uploadvideo_form_video_formats= "El vídeo debe tener extensión FLV o WMV";
I18n.es.user_recpwd_ok="La contraseña se ha enviado a la dirección de correo indicada";
I18n.es.user_recpwd_ko="Se ha producido un error al enviar la contraseña";
I18n.es.user_recpwd_ko1="No hay ningún usuario con ese correo en el sistema";

/* Mensajes en Catalán */
I18n.ca.user_welcome = "Benvingut ";
I18n.ca.user_view_data = "Veure el meu perfil";
I18n.ca.user_close_session_de = "Tancar sessió de";
I18n.ca.user_close_session = "Tancar sessió";
I18n.ca.user_login_ko = "No s'ha pogut iniciar la sessió";
I18n.ca.user_baja_confirm = "Vas a donar-te de baixa, continuar?";
I18n.ca.uploadvideo_form_video_formats= "El vídeo ha de tenir extensió FLV o WMV";
I18n.ca.user_recpwd_ok="La contrasenya ha estat enviada a l'adreça de correu indicada";
I18n.ca.user_recpwd_ko="S'ha produït un error en enviar la contrasenya";
I18n.ca.user_recpwd_ko1="No hi ha cap usuari amb aquest correu a l'ordinador";

/**
 * JsCantvUser.Profile
 */
JsCantvUser.Profile = {
	New: function (locale){
		document.location.href=JsCantvUtils.SuPath+"registro/registro_alta.jsp?lang="+locale;
	},
	Edit: function (locale){
		document.location.href=JsCantvUtils.SuPath+"commands/getUser?lang="+locale+"&hiTarget=/registro/registro_modif.jsp";
	},
	Login: function (locale){
		document.location.href=JsCantvUtils.SuPath+"registro/registro_login.jsp?lang="+locale+"&ts="+JsCantvUtils.timestamp();
	},
	isAdvancedUser: function (){
		return ($("#login_access").attr("advanceduser") == "true");
	},
	LoginPopup: function (locale){
		var nick_login = $("#NICK_LOGIN").val();
		var email_login = $("#EMAIL_LOGIN").val();
		var pwd_login = $("#PWD_LOGIN").val();	
		if (JsCantvUser.validators.validaLogin(locale,nick_login,email_login,pwd_login)){		
			var loginService = nick_login != "" ? "login":"loginMail";
			var loginParam = nick_login != "" ? "NICK":"EMAIL";		
			var loginParamValue = nick_login != "" ? "nick_login":"email_login";
			
			$.ajax({
		        type: "GET",
		        data: loginParam+"="+eval(loginParamValue)+"&PWD="+pwd_login,
		        url: JsCantvUtils.SuPath+"services/"+loginService,
		        dataType: "xml",
		        success: function(xml){
					//$(".poplogin > h3 > a").click();
					window.location.reload();
		        },
				error: function(response, textStatus){
		        	var message = "";
		        	var code = ""
					 $(response.responseXML).find('message').each(function(){
						 message = $(this).text();					 					 
					 });
					 $(response.responseXML).find('code').each(function(){
						 code = $(this).text();					 					 
					 }); 
					 if (code == "err.user.auth-failed" || code == "err.user.not-found"){
						 alert(message);					 
					 }
					 else {
						 alert(I18n[locale].user_login_ko+".\n"+message);
					 }
				}	        
		     });
		}		
	},
	RecPwd: function (locale){
		var email_login = $("#EMAIL_LOGIN").val();
		if (JsCantvUser.validators.validaMail(email_login,locale)){	
			$.ajax({
		        type: "GET",
		        data: "NICK="+email_login+"&EMAIL="+email_login,
		        url: JsCantvUtils.SuPath+"services/recoverPassword",
		        dataType: "xml",
		        success: function(xml){
					alert(I18n[locale].user_recpwd_ok);	
		        },
				error: function(response, textStatus){
		        	var message = "";
		        	var code = ""
					 $(response.responseXML).find('message').each(function(){
						 message = $(this).text();					 					 
					 });
					 $(response.responseXML).find('code').each(function(){
						 code = $(this).text();					 					 
					 }); 
					 if (code == "err.user.auth-failed" || code == "err.user.not-found"){
						 alert(I18n[locale].user_recpwd_ko1);					 
					 }
					 else {
						 alert(I18n[locale].user_recpwd_ko);
					 }
				}	        
		     });
		}		
	},	
	LowUser: function (locale){	
		var baja = confirm(I18n[locale].user_baja_confirm);
		if (baja){
			$("#bajaUsuario").submit();
		}
	},
	UserDown: function (locale){
		document.location.href=JsCantvUtils.SuPath+"registro/registro_baja.jsp?lang="+locale;
	},	
	GetUser: function (locale){
	    $.ajax({
	        type: "GET",
	        url: JsCantvUtils.urlNoCache(JsCantvUtils.SuPath+"services/getUser"),
	        dataType: "xml",
	        success: function(xml){
				 $(xml).find('nick').each(function(){
					 $("#login_access").text(I18n[locale].user_close_session_de + " " + $(this).text());
					 $("#login_access").attr("href","javascript:JsCantvUser.Profile.Logout()");
					 $("#login_access").attr("onclick","javascript:JsCantvUser.Profile.Logout()");
					 $("#login_access").attr("title",I18n[locale].user_close_session);
				 });	
				 $(xml).find('advanceduser').each(function(){
					 $("#login_access").attr("advanceduser",$(this).text());
				 });					 
				 $("#login_register").text(I18n[locale].user_view_data);
				 $("#login_register").attr("href","javascript:JsCantvUser.Profile.Edit('"+locale+"')");
	        }
	     });
	},
	Logout: function (){
	    $.ajax({
	        type: "GET",
	        url: JsCantvUtils.urlNoCache(JsCantvUtils.SuPath+"commands/logout"),
	        success: function(){		   	
	    		var actual_pathname = document.location.pathname;
	    		var index_su = actual_pathname.indexOf(JsCantvUtils.SuPath);
	    		if (index_su==0) {
	    			
	    				document.location.href = document.location.href.substring(0,document.location.href.length - (actual_pathname.length + document.location.search.length - 1)) + "es/";
	    		}
	    		else {
	    			window.location.reload();
	    		}
	        }
	     });	
	}
}

/* Mensajes en Español */
I18n.es.register_form_field = "El campo ";
I18n.es.register_form_oblig = " es obligatorio";
I18n.es.register_form_field_name = "Nombre de usuario";
I18n.es.register_form_field_fecha = "Fecha de Nacimiento";
I18n.es.register_form_field_nom_comp = "Nombre Completo";
I18n.es.register_form_field_dir_pos = "Dirección Postal Completa";
I18n.es.register_form_field_nif = "Documento identificación (DNI,CIF,...)";
I18n.es.register_form_minlength = " debe tener una longitud mínima de ";
I18n.es.register_form_chars=" caracteres";
I18n.es.register_form_mail_no_valido = "¡Espera, aún no has terminado! Tu correo-e no es válido.";
I18n.es.register_form_password_length = "La contraseña debe tener un mínimo de 6 caracteres y un máximo de 20";
I18n.es.register_form_password_obli = "¡Espera, aún no has terminado! Falta tu contraseña.";
I18n.es.register_form_password_match = "La contraseña no coincide";
I18n.es.register_form_avatar_cond= "El formato de la imagen debe ser jpg, jpeg, gif o png";
I18n.es.register_form_accept_cond = "Debes aceptar las condiciones";
I18n.es.login_user_or_mail = "¡Espera, aún no has terminado! Falta tu usuario o tu correo-e.";
I18n.es.uploadvideo_form_video = "Debe seleccionar un vídeo";
I18n.es.uploadvideo_form_tipo_video = "Debe seleccionar un tipo de video";
I18n.es.uploadvideo_form_titulo_video = "Debe escribir un título para el vídeo";
I18n.es.uploadvideo_form_desc_video = "Debe escribir una descripción para el vídeo";
I18n.es.uploadvideo_form_categ_video = "Debe seleccionar una categoría";
I18n.es.uploadvideo_form_advanced_user = "Veo que quieres subir un vídeo. Para eso necesitas ser un usuario avanzado. Si ya te has dado de alta completa tu registro como usuario avanzado en tu perfil.";
I18n.es.register_form_mod_date = "La fecha introducida no es correcta";
I18n.es.register_form_mod_date_web_ko = "Dirección web no válida. Recuerda que debe empezar por http:// o similar.";
I18n.es.register_form_mod_tfn_ko = "El teléfono debe ser un número";
I18n.es.register_form_mod_dni_ko = "El documento de identificación no es correcto";
I18n.es.register_form_mod_adv_fields = "Debe rellenar todos los campos obligatorios para ser usuario avanzado";
I18n.es.uploadhelpform_name_ko = "Debe escribir su nombre";
I18n.es.uploadhelpform_apellidos_ko = "Debe escribir sus apellidos";
I18n.es.uploadhelpform_consulta_ko = "Debe escribir una consulta";
I18n.es.uploadhelpform_consulta_de = "Consulta de ";


/* Mensajes en Catalán */
I18n.ca.register_form_field = "El campo ";
I18n.ca.register_form_oblig = " es obligatorio";
I18n.ca.register_form_field_name = "Nombre de usuario";
I18n.ca.register_form_field_fecha = "Fecha de Nacimiento";
I18n.ca.register_form_field_nom_comp = "Nombre Completo";
I18n.ca.register_form_field_dir_pos = "Dirección Postal Completa";
I18n.ca.register_form_field_nif = "Documento identificación (DNI,CIF,...)";
I18n.ca.register_form_minlength = " debe tener una longitud mínima de ";
I18n.ca.register_form_chars=" caracteres";
I18n.ca.register_form_mail_no_valido = "¡Espera, aún no has terminado! Tu correo-e no es válido. ";
I18n.ca.register_form_password_length = "La contraseña debe tener un mínimo de 6 caracteres y un máximo de 20";
I18n.es.register_form_password_obli = "¡Espera, aún no has terminado! Falta tu contraseña.";
I18n.ca.register_form_password_match = "La contraseña no coincide";
I18n.ca.register_form_avatar_cond= "El formato de la imagen debe ser jpg, jpeg, gif o png";
I18n.ca.register_form_accept_cond = "Debes aceptar las condiciones";
I18n.ca.login_user_or_mail = "¡Espera, aún no has terminado! Falta tu usuario o tu correo-e.";
I18n.ca.uploadvideo_form_video = "Heu de seleccionar un vídeo";
I18n.ca.uploadvideo_form_tipo_video = "Heu de seleccionar un tipus de vídeo";
I18n.ca.uploadvideo_form_titulo_video = "Escriu un títol per al vídeo";
I18n.ca.uploadvideo_form_desc_video = "Escriu una descripció per al vídeo";
I18n.ca.uploadvideo_form_categ_video = "Heu de seleccionar una categoria";
I18n.ca.uploadvideo_form_advanced_user = "Veo que quieres subir un vídeo. Para eso necesitas ser un usuario avanzado. Si ya te has dado de alta completa tu registro como usuario avanzado en tu perfil.";
I18n.ca.register_form_mod_date = "La data introduïda no és correcta";
I18n.ca.register_form_mod_date_web_ko = "Adreça web no vàlida. Recorda que ha de començar per http:// o similar.";
I18n.ca.register_form_mod_tfn_ko = "El telèfon ha de ser un nombre";
I18n.ca.register_form_mod_dni_ko = "El document d'identificació no és correcte";
I18n.ca.register_form_mod_adv_fields = "Cal omplir tots els camps obligatoris per ser usuari avançat";
I18n.ca.uploadhelpform_name_ko = "Ha d'escriure el seu nom";
I18n.ca.uploadhelpform_apellidos_ko = "Escriu els seus cognoms";
I18n.ca.uploadhelpform_consulta_ko = "Escriu una consulta";
I18n.ca.uploadhelpform_consulta_de = "Consulta de ";

/**
 * JsCantvUser.validators
 */
	JsCantvUser.validators = {
		esDigito: function (sChr){
			var sCod = sChr.charCodeAt(0);
			return ((sCod > 47) && (sCod < 58));
		},
		valSep: function (oTxt){
			var bOk = false;
				bOk = bOk || ((oTxt.charAt(2) == "-") && (oTxt.charAt(5) == "-"));
				bOk = bOk || ((oTxt.charAt(2) == "/") && (oTxt.charAt(5) == "/"));
			return bOk;
		},		
		finMes: function (oTxt){
			var nMes = parseInt(oTxt.substr(3, 2), 10);
			var nRes = 0;
			switch (nMes){
				case 1: nRes = 31; break;
				case 2: nRes = 29; break;
				case 3: nRes = 31; break;
				case 4: nRes = 30; break;
				case 5: nRes = 31; break;
				case 6: nRes = 30; break;
				case 7: nRes = 31; break;
				case 8: nRes = 31; break;
				case 9: nRes = 30; break;
				case 10: nRes = 31; break;
				case 11: nRes = 30; break;
				case 12: nRes = 31; break;
			}
			return nRes;
		},
		valDia: function (oTxt){
			var bOk = false;
			var nDia = parseInt(oTxt.substr(0, 2), 10);
			bOk = bOk || ((nDia >= 1) && (nDia <= JsCantvUser.validators.finMes(oTxt)));
			return bOk;
		},
		valMes: function (oTxt){
			var bOk = false;
			var nMes = parseInt(oTxt.substr(3, 2), 10);
			bOk = bOk || ((nMes >= 1) && (nMes <= 12));
			return bOk;
		},
		valAno:function (oTxt){
			var bOk = true;
			var nAno = oTxt.substr(6);
			bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
			if (bOk){
				for (var i = 0; i < nAno.length; i++){
					bOk = bOk && JsCantvUser.validators.esDigito(nAno.charAt(i));
				}
			}
			return bOk;
		},
		valFecha: function (oTxt,locale){
			var bOk = true;
			if (oTxt != ""){
				bOk = bOk && (JsCantvUser.validators.valAno(oTxt));
				bOk = bOk && (JsCantvUser.validators.valMes(oTxt));
				bOk = bOk && (JsCantvUser.validators.valDia(oTxt));
				bOk = bOk && (JsCantvUser.validators.valSep(oTxt));
				if (!bOk){
					JsCantvUtils.Errors.showError(I18n[locale].register_form_mod_date);
					return false;
				}
			}
			return true;
		},	
		validaCmpOblig: function (cmp,locale,fieldName){
			if(cmp.length < 1 ){
				JsCantvUtils.Errors.showError(I18n[locale].register_form_field+eval("I18n[locale].register_form_field_"+fieldName)+I18n[locale].register_form_oblig);
				return false;
			}
			return true;
		},
		validaLengthMin: function (cmp,locale,fieldName,length){
			if(cmp.length < length ){
				JsCantvUtils.Errors.showError(I18n[locale].register_form_field+eval("I18n[locale].register_form_field_"+fieldName)+I18n[locale].register_form_minlength+length+I18n[locale].register_form_chars);
				return false;
			}
			return true;
		},
		validaCmpNumber: function (cmp){
				if (!/^([0-9])*$/.test(cmp)){
					return false;
				}
				return true;		
		},
		validaNick: function (nick,locale){
			return JsCantvUser.validators.validaCmpOblig(nick,locale,"name") && JsCantvUser.validators.validaLengthMin(nick,locale,"name",3);	
		},
		validaFecha: function (fecha,locale){
			return JsCantvUser.validators.validaCmpOblig(fecha,locale,"fecha");	
		},
		validaNomComp: function (nomComp,locale){
			return JsCantvUser.validators.validaCmpOblig(nomComp,locale,"nom_comp");	
		},
		validaDirPos: function (dirPos,locale){
			return JsCantvUser.validators.validaCmpOblig(dirPos,locale,"dir_pos");	
		},
		validaNif: function (nif,locale){
			return JsCantvUser.validators.validaCmpOblig(nif,locale,"nif");	
		},
		validaMail: function(mail,locale){
			var mailvalidator= /(^[0-9a-zA-Z]+(?:[._][0-9a-zA-Z]+)*)@([0-9a-zA-Z]+(?:[._-][0-9a-zA-Z]+)*\.[0-9a-zA-Z]{2,3})$/
			if (!mailvalidator.test(mail))
			{
				JsCantvUtils.Errors.showError(I18n[locale].register_form_mail_no_valido);
				return false;
			}
			return true;		
		},
		validaPwd: function(locale,pwd,pwd2){
			if(!(pwd.length >=6 && pwd.length<=20)){
				JsCantvUtils.Errors.showError(I18n[locale].register_form_password_length);
				return false;
			}
			if (arguments.length >2)
			{
				if(pwd != pwd2){
					JsCantvUtils.Errors.showError(I18n[locale].register_form_password_match);
					return false;
				}				
			}
			return true;
		},
		validaPwdLogin: function(locale,pwd){
			if((pwd.length < 1 )){
				JsCantvUtils.Errors.showError(I18n[locale].register_form_password_obli);
				return false;
			}			
			if(!(pwd.length >=6 && pwd.length<=20)){
				JsCantvUtils.Errors.showError(I18n[locale].register_form_password_length);
				return false;
			}
			return true;
		},		
		validaLogin: function(locale,nick,email,pwd){
			if ((nick == "") && (email == "")){
				JsCantvUtils.Errors.showError(I18n[locale].login_user_or_mail);
				return false;			
			}
			else {
				if (nick !=""){
					if (!JsCantvUser.validators.validaNick(nick,locale)){
						return false;
					}
				}else {
					if (!JsCantvUser.validators.validaMail(email,locale)){
						return false;
					}
				}
				return JsCantvUser.validators.validaPwdLogin(locale,pwd);
			}
			return true;
		},
		validaAvatar: function(avatar,locale){
			if (avatar!= ""){
				var fileName =  avatar.split(".");
				var ext = fileName[fileName.length - 1].toLowerCase();
			 	if (ext!="jpg" && ext!="jpeg" && ext!="gif" && ext!="png"){		
			 		JsCantvUtils.Errors.showError(I18n[locale].register_form_avatar_cond);
					return false;
				}
			}
			return true;
		},			
		validaCond: function(cond,locale){
			if(!cond){
				JsCantvUtils.Errors.showError(I18n[locale].register_form_accept_cond);
				return false;
			}		
			return true;
		},	
		validaVideo: function(video,locale){
			if(video.length < 1 ){
				JsCantvUtils.Errors.showError(I18n[locale].uploadvideo_form_video);
				return false;
			}
			try
			{
				var fileName =  video.split(".");
				var ext = fileName[fileName.length - 1].toUpperCase();
				if (ext!="WMV" && ext!="FLV"){				
					JsCantvUtils.Errors.showError(I18n[locale].uploadvideo_form_video_formats);
					return false;
				}				
			}
			catch(err)
			{
				JsCantvUtils.Errors.showError(I18n[locale].uploadvideo_form_video_formats);
				return false;
			}
			return true;
		},		
		validaTipoVideo: function(tipoVideo,locale){
			if(tipoVideo.length < 1 ){
				JsCantvUtils.Errors.showError(I18n[locale].uploadvideo_form_tipo_video);
				return false;
			}
			return true;
		},
		validaTitulo: function(titulo,locale){
			if(titulo.length < 1 ){
				JsCantvUtils.Errors.showError(I18n[locale].uploadvideo_form_titulo_video);
				return false;
			}
			return true;
		},
		validaDesc: function(desc,locale){
			if(desc.length < 1 || desc == " "){
				JsCantvUtils.Errors.showError(I18n[locale].uploadvideo_form_desc_video);
				return false;
			}
			return true;
		},
		validaCodigoCP: function(code,locale){
			if (code!= ""){
			}
			return true;
		},			
		validaCategoria: function(categ,locale){
			if(categ.length < 1 ){
				JsCantvUtils.Errors.showError(I18n[locale].uploadvideo_form_categ_video);
				return false;
			}
			return true;
		},
		validaWeb : function(field_value,locale){
			if ((field_value)!=""){
				var webaddrvalidator= /http:\/\/|https:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/
				if (!webaddrvalidator.test(field_value))
				{
					JsCantvUtils.Errors.showError(I18n[locale].register_form_mod_date_web_ko);
					return false;
				}
			}
			return true;
		},
		validaPhone: function(field_value,locale){
			if ((field_value)!=""){
				if(!JsCantvUser.validators.validaCmpNumber(field_value)){	
					JsCantvUtils.Errors.showError(I18n[locale].register_form_mod_tfn_ko);
					return false;
				}
			}
			return true;
		},	
		validaDNI: function (field_value,locale){
			if ((field_value)!=""){
			 /* if (!/^\d{8}$/.test(field_value)) {
				  JsCantvUtils.Errors.showError(I18n[locale].register_form_mod_dni_ko);
				  return false;
			  }*/
			}
			return true;
		},
		valAdvancedFields: function (advFields,locale){
			if ((advFields.fecNac!="") || (advFields.name!="") || (advFields.direction!="") || (advFields.nif!="")){
				if (!((advFields.fecNac!="") && (advFields.name!="") && (advFields.direction!="") && (advFields.nif!=""))) {
					JsCantvUtils.Errors.showError(I18n[locale].register_form_mod_adv_fields);
					return false;					
				}
				return true;
			}
			return true;
		},
		validaNoVacio: function (field_value) {  
			 for (i = 0; i < field_value.length; i++ ) {  
		         if ( field_value.charAt(i) != " " ) {  
		                 return true;
		         }
			 }
			 return false;
		 },
		validaName: function (field_value,locale){
			 if(field_value.length < 1 || !JsCantvUser.validators.validaNoVacio(field_value)){
				  JsCantvUtils.Errors.showError(I18n[locale].uploadhelpform_name_ko);
				  return false;
			 }
			 return true;
		},
		validaApellidos: function (field_value,locale){
			 if(field_value.length < 1 || !JsCantvUser.validators.validaNoVacio(field_value)){
				  JsCantvUtils.Errors.showError(I18n[locale].uploadhelpform_apellidos_ko);
				  return false;
			 }
			 return true;
		},
		validaConsulta: function (field_value,locale){
			 if(field_value.length < 1 || !JsCantvUser.validators.validaNoVacio(field_value)){
				  JsCantvUtils.Errors.showError(I18n[locale].uploadhelpform_consulta_ko);
				  return false;
			 }
			 return true;
		},			
	registerForm: function (locale){
		var vO = JsCantvUser.validators;
		var avatar = $("#AVATAR").val();
		var avatarId = $(".avatares input:checked").attr("id");
		var avatarImg = $(".avatares label[for="+avatarId+"] > img").attr("src");
		if (avatar != ""){
			avatarImg = "avatar5";
		}
		$("#AVATARDEF").val(avatarImg);
		
		var valid = vO.validaMail($("#EMAIL").val(),locale) && vO.validaPwd(locale,$("#PWD").val(),$("#PWD2").val()) && vO.validaNick($("#NICK").val(),locale) 
					&& vO.validaAvatar($("#AVATAR").val(),locale) && vO.validaFecha($("#FECHANACIMIENTO").val(),locale) 
					&& vO.valFecha($("#FECHANACIMIENTO").val(),locale) && vO.validaNomComp($("#NOMBRE").val(),locale)  && vO.validaDirPos($("#DIRECCION").val(),locale) 
					&& vO.validaWeb($("#WEB").val(),locale) && vO.validaPhone($("#PHONE").val(),locale) && vO.validaNif($("#NIF").val(),locale) 
					&& vO.validaDNI($("#NIF").val(),locale) && vO.validaCond($("#CONDLEG").is(':checked'),locale);
		if (valid) {
			$("#register_form").submit();
		}
	},
	registerFormMod: function (locale){
		var vO = JsCantvUser.validators;
		var avatar = $("#AVATAR").val();
		var avatarId = $(".avatares input:checked").attr("id");
		var avatarImg = $(".avatares label[for="+avatarId+"] > img").attr("src");
		if (avatar != "" || avatarId=="avatar5"){
			avatarImg = "avatar5";
		}
		$("#AVATARDEF").val(avatarImg);		
		
		var valid = vO.validaMail($("#EMAIL").val(),locale) && vO.validaPwd(locale,$("#PWD").val(),$("#PWD2").val()) && vO.validaNick($("#NICK").val(),locale) 
					&& vO.validaAvatar($("#AVATAR").val(),locale) && vO.validaFecha($("#FECHANACIMIENTO").val(),locale) 
					&& vO.valFecha($("#FECHANACIMIENTO").val(),locale) && vO.validaNomComp($("#NOMBRE").val(),locale)  && vO.validaDirPos($("#DIRECCION").val(),locale) 
					&& vO.validaWeb($("#WEB").val(),locale) && vO.validaPhone($("#PHONE").val(),locale) && vO.validaNif($("#NIF").val(),locale) 
					&& vO.validaDNI($("#NIF").val(),locale) && vO.validaCond($("#CONDLEG").is(':checked'),locale);
		if (valid) {
			$("#register_mod_form").submit();
		}
	},	
	uploadVideoForm: function (locale){
		var vO = JsCantvUser.validators;
		if (JsCantvUser.Profile.isAdvancedUser())
		{		
			var valid = vO.validaVideo($("#CONTENT_FILE").val(),locale) && vO.validaTipoVideo($('#CONTENT_TYPE :selected').val(),locale) &&
						vO.validaTitulo($("#CONTENT_TITLE").val(),locale) && vO.validaDesc($("#CONTENT_DESC").val(),locale) &&
						vO.validaCodigoCP($("#CONTENT_CODE").val(),locale) && vO.validaCategoria($('#CONTENT_CATEGORY :selected').val(),locale);
			if (valid) {
				$("#upload_video").submit();
			}
		}else{
			JsCantvUtils.Errors.showError(I18n[locale].uploadvideo_form_advanced_user);
		}
	},
	uploadHelpForm: function (locale){
		var vO = JsCantvUser.validators;
		var valid = vO.validaName($("#NOMBRE").val(),locale) && vO.validaApellidos($("#APELLIDOS").val(),locale) &&
					vO.validaMail($("#from").val(),locale) && vO.validaConsulta($("#body").val(),locale) && 
					vO.validaCond($("#CONDLEG").is(':checked'),locale);
		var nombreyapp = $("#NOMBRE").val()+" "+$("#APELLIDOS").val();
		$("#subject").val(I18n[locale].uploadhelpform_consulta_de+nombreyapp);
		$("#to").val(CantvProperties.email_to_help_form);
		if (valid) {
			$("#help").submit();
		}
	},
	loginForm: function (locale,form){
		/*var vO = JsCantvUser.validators;
		var valid = vO.validaNick($("#NICK").val(),locale) && vO.validaPwd(locale, $("#PWD").val());
		if (valid) {
			form.submit();
		}*/
	},
	recPwdForm: function (locale,form){
		/*var vO = JsCantvUser.validators;
		var valid = vO.validaNick($("#NICK").val(),locale) && vO.validaMail($("#EMAIL").val(),locale);
		if (valid) {
			form.submit();
		}*/
	}	
}

/**
 * Mensajes para enviar amigo en Español
 */
I18n.es.sendfriend_obligatorio = "Debe escribir un comentario";
I18n.es.sendfriend_mail_no_valido = "e-Mail no válido";
I18n.es.sendfriend_send_ok= "Su mensaje se ha enviado correctamente";
I18n.es.sendfriend_send_ko= "No se pudo enviar el mensaje";

/**
 * Mensajes para enviar amigo en Catalán
 */
I18n.ca.sendfriend_obligatorio = "Escriu un comentari";
I18n.ca.sendfriend_mail_no_valido = "e-Mail no vàlid";
I18n.ca.sendfriend_send_ok= "El seu missatge s'ha enviat correctament";
I18n.ca.sendfriend_send_ko= "No s'ha pogut enviar el missatge";	
	
/**
 * JsCantvUser.Sendfriend
 * Formulario de enviar amigo
 */ 
JsCantvUser.Sendfriend = {
	/**
	 * JsCantvUser.Sendfriend.cfg
	 * Configuración del formulario enviar amigo
	 */
	cfg: {
		action: JsCantvUtils.SuPath+"commands/sendToFriend",
		method: "POST",
		fields_validate: [
		    ["friend_from_name"],	              
		    ["friend_from","validaMail"],
		    ["friend_to_name"],	
			["friend_to","validaMail"],		
			["friend_comments","commentNotEmpty"],
		],
		fields_clean: [ "friend_from_name",
		                "friend_to_name",
		                "friend_from",
		                "friend_to",
		      			"friend_comments"
		      		   ],
		validate_funcs_namespace: "JsCantvUser.Sendfriend.validate_functions."		
	},
	/**
	 * JsCantvUser.Sendfriend.validate_functions
	 * Funciones de validación para el formulario de enmviar amigo
	 */ 			
	validate_functions: {
		commentNotEmpty: function(field_value,locale){
			if ((field_value)!=""){
				return false;
			}
			else return I18n[locale].sendfriend_obligatorio;

		},
		validaMail: function(field_value,locale){
			if(field_value.indexOf(".") <= 2 || field_value.indexOf("@") <= 0){
				return I18n[locale].sendfriend_mail_no_valido;
			}
			return false;	
		}
	},
	/**
	 * JsCantvUser.Sendfriend.send
	 * Envío del formulario de enviar amigo
	 */ 			
	send: function (locale){
		var cfg = JsCantvUser.Sendfriend.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){
			data=data+"&friend_pageurl="+window.parent.location+"&titulo_video="+$("div.txt > h3").text();
			JsCantvUser.Sendfriend.submit(data,cfg,locale);
		}
		return false;
	},
	/**
	 * JsCantvUser.Sendfriend.submit
	 * Submit del formulario de enviar amigo
	 */ 			
	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].sendfriend_send_ok);
				document.getElementById ('popsendtoall').style.display='none';
			},
			error: function(){
				alert(I18n[locale].sendfriend_send_ko);
			}
		});
	},
	/**
	 * JsCantvUser.Sendfriend.clean
	 * Limpia los campos del formulario de enviar amigo
	 */ 				
	clean: function(){	
		var cfg = JsCantvUser.Sendfriend.cfg;
		for (i in cfg.fields_clean){
			var field_name = cfg.fields_clean[i];
			$("#"+field_name).attr("value","");
		}
		return false;
	}
}	
