function CatGenMarked() 
{   
	return false;
}

function submit_page(formulario)
{
	
	hayError = false;
	//Nombre de usuario
	if (hayError == false && formulario.Usuario.value=="") { // que esté
		alert("Debes introducir un nombre de usuario");
		hayError = true;
		formulario.Usuario.focus();
		formulario.Usuario.blur();
		formulario.Usuario.select(); 
	}
	else if (hayError == false && !alfanumerico(formulario.Usuario.value)) { // comprobar que sea alfanumerico
		alert("En el nombre de usuario solo se admiten letras y números");
		hayError = true;
		formulario.Usuario.focus();
		formulario.Usuario.blur();
		formulario.Usuario.select();
	}
	else if (hayError == false && formulario.Usuario.value.length<4){
		alert("El nombre de usuario ha de ser mayor de 4 caracteres");
		hayError = true;
		formulario.Usuario.focus();
		formulario.Usuario.blur();
		formulario.Usuario.select();
	}
	else if (hayError == false && formulario.Usuario.value.length>12){
		alert("El nombre de usuario ha de ser menor de 12 caracteres");
		hayError = true;
		formulario.Usuario.focus();
		formulario.Usuario.blur();
		formulario.Usuario.select();
	} 
 
	//clave
	if (hayError == false && formulario.Clave.value=="") { // que esté
		alert("Debes introducir una clave");
		hayError = true;
		formulario.Clave.focus();
		formulario.Clave.blur();
		formulario.Clave.select(); 
	}
	else if (hayError == false && !alfanumerico(formulario.Clave.value)) { // comprobar que sea alfanumerico
		alert("En la clave solo se admiten letras y números");
		hayError = true;
		formulario.Clave.focus();
		formulario.Clave.blur();
		formulario.Clave.select();
	}
	else if (hayError == false && formulario.Clave.value.length<4){
		alert("La clave ha de ser mayor de 4 caracteres");
		hayError = true;
		formulario.Clave.focus();
		formulario.Clave.blur();
		formulario.Clave.select();
	}
	else if (hayError == false && formulario.Clave.value.length>12){
		alert("La clave ha de ser menor de 12 caracteres !");
		hayError = true;
		formulario.Clave.focus();
		formulario.Clave.blur();
		formulario.Clave.select();
	}
  
	//clave2  
	//if (hayError == false && formulario.clave2.value=="") {
	//	alert("Debes introducir la clave dos veces para mayor seguridad");
	//	hayError = true;
	//	formulario.clave2.focus();
	//	formulario.clave2.blur();
	//	formulario.clave2.select();
	//}
	//else if (hayError == false && formulario.clave2.value != formulario.Clave.value){
	//	alert("Las contraseñas que has introducido no son iguales");
	//	hayError = true;
	//	formulario.Clave.focus();
	//	formulario.Clave.blur();
	//	formulario.Clave.select();
	//} 
 
 	// Email
	//if(hayError == false && esBlanco(formulario.email))
	//{
	//	alert("El campo dirección de e-mail no puede quedar en blanco.");      
	//	formulario.email.focus();
	//	hayError = true;
	//}  
	
	var validaEmail= esEmailValido(formulario.email.value);
	
	if(hayError == false && validaEmail!=0 )
	{
		if (validaEmail==1) 
		{      
			alert("No es una dirección de email valida.");        
		} else if (validaEmail==2) {     
			alert("Email incorrecto. El campo email no puede contener espacios.");        
		}else if (validaEmail==3) {         
			alert("Debes confirmar tu dirección de E-mail");       
		} 
		formulario.email2.focus();
		hayError = true;
	} 
	
	if(hayError == false && esMenorLongitud(formulario.email, 60) == false)
	{
		alert("La dirección de e-mail es demasiado larga.");       
		hayError = true;
	}	
	
	if(hayError==false && compruebo_paipro=='s')
	{
		if (hayError==false && formulario.pais.value=='')
		{ 
			alert("Debes seleccionar un pais");        
			hayError = true;
		}	
		if (hayError==false && CompruebaPrv()==false)
		{
			alert("Debes seleccionar una provincia.");               
			hayError = true;
		}
	}
	
	// Año de nacimiento
	if(hayError == false && CompFchNto() == false) {   
		hayError = true;
	}
	
	if (hayError==false && formulario.sexo[0].checked == false && formulario.sexo[1].checked == false)
	{
		alert("Debes indicar si es hombre o mujer.");        
		hayError = true;
	}
	
	if(hayError==false && compruebo_cp=='s')
	{
		if (hayError==false && formulario.cp.value == '')
		{
			alert("El campo Código Postal no puede quedar en blanco.");     
			formulario.cp.focus(); 
			hayError = true;
		}
	} 
	// Hallamos primero el número de checkbox con el nombre 'listas'
	var numlistas=0;
	
	if (document.datos_generales.listas)
	{
		numlistas=document.datos_generales.listas.length;
	}

  // Comprueba que ha marcado alguna lista o categoría genérica
	if (hayError == false && document.datos_generales.canalmail.checked) 
	{
		if (!CatGenMarked())
		{
			for (var k=0;k<numlistas;k++)
			{
				if(trabajo_j=="alta")
				{
					if (document.datos_generales.listas[k].checked) break;
					if (k==document.datos_generales.listas.length-1)
					{        
						alert("Debe marcar alguna lista de interés si quieres suscribirte a CanalMail.");
						hayError=true;
					}
				}	
			}
		}
	}

	if(hayError == false) 
	{		
		if (checkFields()) 
		{
			return true;
			// formulario.submit();
		} else 
		{
			return false;
		}		 
	} else {
		return false;
	}
	
}

// CHEQUEO DE BLANCOS
function esBlanco(campo) 
{
	if(campo.value == "")
		return true;
	else
	for (var i=0;i>campo.value.length;i++)
		if (campo.value.charAt(i)!=" ") return false;	
	return true;
}

//CHEQUEO DE LONGITUD
function esMenorLongitud(campo, longitud) 
{
	valor = campo.value;
	if(valor.length > longitud) 
	{
		return false;
	}
	return true;
}

	//CHEQUEO DE EMAIL
	function esEmailValido(email) // Devuelve los valores:0(correcto),1(incorrecto),2(con espacios)
	{
		if (email.indexOf(" ")!=-1) // Comprobamos que email no contenga espacios,tampoco en los laterales
			return 2;
		if (email.indexOf("@")==-1) // Comprobamos que exista al menos un carácter @
		{
			return 1;
		} else 
		{
		var posarroba=email.indexOf("@");
		var nombre=email.substring(0, posarroba);
		var dominio=email.substring(posarroba+1);
		
		// Comprobamos que nombre  tenga al menos un carácter
		if (nombre.length==0)
			return 1;		
		// Comprobamos que nombre no sea un solo punto
		if (nombre==".")
			return 1;	
		// Comprobamos que dominio tenga al menos un carácter
		if (dominio.length==0)
			return 1		
		// Comprobamos que dominio tenga al menos existe un punto
		if (dominio.indexOf(".")==-1)
			return 1;	
		// Comprobamos que la ni la primera ni la última posición del dominio sea el punto
		len_dom=dominio.length - 1;
		if ((dominio.charAt(0)==".")||(dominio.charAt(len_dom)=="."))
			return 1;	
		// Comprobamos que tanto nombre como dominio sólo cotengan carácteres válidos
		if (CharInCorrectos(nombre)) return 1;
		if (CharInCorrectos(dominio)) return 1;
	}
	
	if(trabajo_j=="alta")
	{	
		if (document.datos_generales.email.value!=document.datos_generales.email2.value)
			return 3;	
	}    
	return 0;
}

function CharInCorrectos(cadena)
{
	validos="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.";

	// Comprobamos que cadena no tenga algún carácter no contemplado
	// en el string validos y que no existan dos puntos contiguos
	for (i=0;i<cadena.length;i++)
	{
		if (validos.indexOf(cadena.charAt(i))==-1) 
			return true;
		if (cadena.charAt(i)==".")
			if ((i!=cadena.length-1) && (cadena.charAt(i+1)=="."))
				return true;
	}
	return false; // No se ha encontrado ninguna irregularidad
}

//SUBMIT UNA SOLA VEZ
var submitcount=0;

function checkFields()
{
	if (submitcount == 0)
	{
		submitcount++;
		return true;
	}
	else
	{
		alert("La orden de registro ya ha sido dada.");
	return false;
	}
}
   
function EsFecha(dia,mes,ano)
{
	if ( mes == 2 )
	{
		if ( dia > 29 ) return false;
		if ((dia ==29 ) && !((ano % 400 == 0 ) || ((ano % 4 == 0) && !(ano % 100 ==0)))) return false;
	} else if (( dia == 31 ) && (( mes == 4 ) || ( mes == 6 ) || ( mes == 9 ) || ( mes == 11 )))
	{
		return false;
	} else if (mes>12) 
	{
		return false;
	} else if (dia>31) 
	{
		return false;
	}
	return true;
}
 
if(compruebo_paipro=='s')
{
	function CompruebaPrv()
	{
		pais = document.datos_generales.pais.value;
		prov = document.datos_generales.provincia.value;
		if (prov=='') return false;
		if (pais=='MEX' || pais=='ESP' || pais=='ARG' || pais=='POR')
			if (prov=='MEX' || prov=='ESP' || prov=='ARG' || prov=='POR')
				return false;
		return true;
	}
}

function CompFchNto()
{     
	var fecha="NULL";
	var yyyy=document.datos_generales.combanho.options[document.datos_generales.combanho.selectedIndex].value;
	if (yyyy=='' || yyyy==null) 
	{	
		alert("Debe seleccionar su año de nacimiento");	
		return false;
	}
	if ((yyyy!='')&&(yyyy!=null)) fecha="'"+01+"-"+01+"-"+yyyy+"'";
	document.datos_generales.fec_ncto.value=fecha;
	return true; 
}     
  

function alfanumerico(str) {
 var valid = "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 var alfa = true;
 var temp;
 for (var i=0; i<str.length; i++) {
     temp = "" + str.substring(i, i+1);
  if (valid.indexOf(temp) == "-1") alfa = false;}
 return alfa
 } 
 
 function isEmail(str) {
      var supported = 0;
    if (window.RegExp) {
     var tempStr = "a";
      var tempReg = new RegExp(tempStr);
      if (tempReg.test(tempStr)) supported = 1;  }
    if (!supported)  return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
    var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
 }
 
 function validate(form) {
	 if (!OK){alert (stralert);
 }
 return OK
}
