function valida_datos_personales(){

	//Comprueba nickname y password

	var sMensaje = ""
	var f = document.forms[0]
	lnombre =document.forms[0].nombre.value
	lapellido =document.forms[0].apellido1.value
	lemail =document.forms[0].email.value
	var lAplicacion_RUT=document.forms[0].Aplicacion_RUT.value
	
	
	if (lAplicacion_RUT!='29')	//Resto países
	{
		if (f.nif_o_pasaporte[0].checked==true){ 
		}	
		else{
			if (f.nif_o_pasaporte[1].checked==true){
			  }
			else{
			sMensaje=sMensaje + "\n" + "Debe marcar si va a introducir NIF ó pasaporte"
				 } 
		}
		if (f.nif_pasaporte.value=='') {
			sMensaje=sMensaje + "\n" + "El Documento/Cédula/Pasaporte es obligatorio"
			f.nif_pasaporte.focus()
		}

		if (f.nif_pasaporte.value.length>20)
		{
			sMensaje=sMensaje + "\n" +  "Documento/Cédula/Pasaporte no debe exceder de 20 caracteres"
			f.nif_pasaporte.value=""
			f.nif_pasaporte.focus()
		}
	}
	else	//Mexico
	{
		if (f.nif_pasaporte.value=='')
		{
			sMensaje=sMensaje + "\n" +  "CURP es obligatorio"
			f.nif_pasaporte.focus()
		}		
		if (f.IMSS.value=='')
		{
			sMensaje=sMensaje + "\n" +  "IMSS es obligatorio"
			f.IMSS.focus()
		}
		if (f.RFC.value=='')
		{
			sMensaje=sMensaje + "\n" +  "RFC es obligatorio"
			f.RFC.focus()
		}				
		if (f.nif_pasaporte.value.length>18)
		{
			sMensaje=sMensaje + "\n" +  "CURP no debe exceder de 18 caracteres"
			f.nif_pasaporte.value=""
			f.nif_pasaporte.focus()
		}
		if (f.IMSS.value.length>12)
		{
			sMensaje=sMensaje + "\n" +  "IMSS no debe exceder de 12 caracteres"
			f.IMSS.value=""
			f.IMSS.focus()
		}
		if (f.RFC.value.length>10)
		{
			sMensaje=sMensaje + "\n" +  "RFC no debe exceder de 10 caracteres"
			f.RFC.value=""
			f.RFC.focus()
		}
	}
		

	if (lnombre=='') {
		sMensaje=sMensaje + "\n" + "El Nombre es obligatorio"
		f.nombre.focus()
	}

	if (f.nombre.value.length>60)
	{
		sMensaje=sMensaje + "\n" +  "Nombre no debe exceder de 60 caracteres"
		f.nombre.value=""
		f.nombre.focus()
	}

	if (lapellido=='') {
		sMensaje=sMensaje + "\n" + "El apellido paterno es obligatorio"
		f.apellido1.focus()
	}

	if (f.apellido1.value.length>40)
	{
		sMensaje=sMensaje + "\n" +  "Apellido paterno no debe exceder de 40 caracteres"
		f.apellido1.value=""
		f.apellido1.focus()
	}

	if (f.apellido2.value.length>40)
	{
		sMensaje=sMensaje + "\n" +  "Apellido materno no debe exceder de 40 caracteres"
		f.apellido2.value=""
		f.apellido2.focus()
	}
	
	if (f.id_pais.options[f.id_pais.selectedIndex].value=='')
	{
		sMensaje=sMensaje + "\n" + "País de residencia es obligatorio"
	}
	switch(lAplicacion_RUT)
	{
		case '22','25','30':	//CHILE, COLOMBIA, VENEZUELA
			if (f.id_pais.options[f.id_pais.selectedIndex].value=="724" || f.id_pais.options[f.id_pais.selectedIndex].value=="152" || f.id_pais.options[f.id_pais.selectedIndex].value=="170" || f.id_pais.options[f.id_pais.selectedIndex].value=="862")
			{
				if (f.id_ciudad.options[f.id_ciudad.selectedIndex].value=="")
				{
					sMensaje=sMensaje + "\n" + "Departamento/Región/Estado es obligatoria"
				}
			}

			if (lAplicacion_RUT=='30' && f.id_pais.options[f.id_pais.selectedIndex].value=="862")
			{
				if(f.id_provincia.options[f.id_provincia.selectedIndex].value=="-1")
				{
					sMensaje=sMensaje + "\n" + "Ciudad es obligatoria"
					f.id_provincia.focus()
				}
			}

			if (f.codigo_postal.value=='' && lAplicacion_RUT != '30' && lAplicacion_RUT!='22')
			{
				sMensaje=sMensaje + "\n" +  "Distrito es obligatorio"
				f.codigo_postal.focus()
			}
			
			if (f.codigo_postal.value.length>15)
			{
				sMensaje=sMensaje + "\n" +  "Distrito solo puede tener 15 caracteres"
				f.codigo_postal.value=""
				f.codigo_postal.focus()
			}
			break;
		case '23':	//PERU
			if (f.id_pais.options[f.id_pais.selectedIndex].value=="604")
			{
				if (f.id_ciudad.options[f.id_ciudad.selectedIndex].value=="")
				{
					sMensaje=sMensaje + "\n" + "Departamento/Región es obligatoria"
				}

				if (f.id_distrito.value=="")
				{
					sMensaje=sMensaje + "\n" + "Distrito es obligatorio"
					f.id_distrito.focus()
				}

				if(f.id_provincia.options[f.id_provincia.selectedIndex].value=="-1")
				{
					sMensaje=sMensaje + "\n" + "Provincia es obligatoria"
					f.id_provincia.focus()
				}

			}
			else
			{
				if (f.codigo_postal.value=='')
				{
					sMensaje=sMensaje + "\n" +  "Distrito es obligatorio"
					f.codigo_postal.focus()
				}
				
				if (f.codigo_postal.value.length>15)
				{
					sMensaje=sMensaje + "\n" +  "Distrito solo puede tener 15 caracteres"
					f.codigo_postal.value=""
					f.codigo_postal.focus()
				}
			}

			break;

		case '29','31':	//MEXICO, ARGENTINA

			if (f.id_pais.options[f.id_pais.selectedIndex].value=="484" || f.id_pais.options[f.id_pais.selectedIndex].value=="32")
			{

				if (f.id_ciudad.options[f.id_ciudad.selectedIndex].value=="-1")
				{
					sMensaje=sMensaje + "\n" + "Departamento / Región es obligatorio"
				}

				if(f.id_provincia.options[f.id_provincia.selectedIndex].value=="-1")
				{
					sMensaje=sMensaje + "\n" + "Estado es obligatorio"
					f.id_provincia.focus()
				}
			}
			else
			{
				if (f.codigo_postal.value=='')
				{
					sMensaje=sMensaje + "\n" +  "Distrito es obligatorio"
					f.codigo_postal.focus()
				}
				
				if (f.codigo_postal.value.length>15)
				{
					sMensaje=sMensaje + "\n" +  "Distrito solo puede tener 15 caracteres"
					f.codigo_postal.value=""
					f.codigo_postal.focus()
				}
			}

		break;
	}
	if (f.localidad.value=='') 
	{
		sMensaje=sMensaje + "\n" + "Población de residencia es obligatoria"
		f.localidad.focus()
	}
				
	if (f.localidad.value.length>60)
	{
		sMensaje=sMensaje + "\n" +  "Población no debe exceder de 60 caracteres"
		f.localidad.value=""
		f.localidad.focus()
	}
	
	if (f.direccion.value=='')
	{
		sMensaje=sMensaje + "\n" + "Dirección de contacto"
		f.direccion.focus()
	}

	if (f.direccion.value.length>100)
	{
		sMensaje=sMensaje + "\n" +  "Dirección no debe exceder de 100 caracteres"
		f.direccion.value=""
		f.direccion.focus()
	}

	
	if (f.telefono.value=='')
	{
		sMensaje=sMensaje + "\n" + "Teléfono de Contacto es obligatorio"
		f.telefono.focus()
	}
	
	if (f.telefono.value.length>20)
	{
		sMensaje=sMensaje + "\n" +  "Teléfono no debe exceder de 20 caracteres"
		f.telefono.value=""
		f.telefono.focus()
	}

	if (lAplicacion_RUT=='30')	//Venezuela
	{
		if (f.movil.value=='')
		{
			sMensaje=sMensaje + "\n" + "Teléfono móvil es obligatorio"
			f.movil.focus()
		}

		if (f.movil.value.length>20)
		{
			sMensaje=sMensaje + "\n" +  "Teléfono móvil no debe exceder de 20 caracteres"
			f.movil.value=""
			f.movil.focus()
		}
	}else{

		if (f.movil.value.length>20)
		{
			sMensaje=sMensaje + "\n" +  "Otro teléfono no debe exceder de 20 caracteres"
			f.movil.value=""
			f.movil.focus()
		}
	}

	

	if (lemail=='') 
	{
		sMensaje=sMensaje + "\n" + "El E-mail es obligatorio"
		f.email.focus()
	}

	if (f.email.value.length>60)
	{
		sMensaje=sMensaje + "\n" +  "E-mail no debe exceder de 60 caracteres"
		f.email.value=""
		f.email.focus()
	}

	if (f.localidad_nacimiento.value.length>60)
	{
		sMensaje=sMensaje + "\n" +  "Lugar de nacimiento no debe exceder de 60 caracteres"
		f.localidad_nacimiento.value=""
		f.localidad_nacimiento.focus()
	}

	if ((f.dia_nacimiento.options[f.dia_nacimiento.selectedIndex].value=='') ||
	(f.mes_nacimiento.options[f.mes_nacimiento.selectedIndex].value=='') || 
	(f.ano_nacimiento.options[f.ano_nacimiento.selectedIndex].value==''))
	{
		sMensaje=sMensaje + "\n" + "La fecha de nacimiento es obligatoria"
		f.dia_nacimiento.focus()
	}
	if (!validaFecha(f.dia_nacimiento.options[f.dia_nacimiento.selectedIndex].value, f.mes_nacimiento.options[f.mes_nacimiento.selectedIndex].value, f.ano_nacimiento.options[f.ano_nacimiento.selectedIndex].value))
	{
		sMensaje=sMensaje + "\n" + "La fecha de nacimiento es incorrecta"
		f.dia_nacimiento.focus()
	}
	if (f.Id_Genero[0].checked==false && f.Id_Genero[1].checked==false)
	{
		sMensaje=sMensaje + "\n" + "Sexo es obligatorio"
	}

	if (f.Estado_Civil.options[f.Estado_Civil.selectedIndex].value=='')
	{
		sMensaje=sMensaje + "\n" + "Estado civil es obligatorio"
		f.Estado_Civil.focus()
	}

	if (f.Num_Hijos.value=='')
	{
		sMensaje=sMensaje + "\n" + "Numero de hijos es obligatorio"
		f.Num_Hijos.focus()
	}
	else
	{
		if (isNaN(f.Num_Hijos.value))
		{
			sMensaje=sMensaje + "\n" + "Numero de hijos debe ser numerico"
			f.Num_Hijos.focus()
		}
	}
	if (sMensaje!="")
	{
		alert(sMensaje);
		return false;
	}
	else 
	{
		switch(lAplicacion_RUT)
		{
			case '22':
				return isRut();
				break;
			case '23':
				return DniPeru();
				break;
			case '25':
				return DniColombia();
				break;
			case '29':
				return true;
				break;
			case '30':
				return true;
				break;
			case '31':
				return true;
				break;
		}
	}
}

function validaFecha(dia, mes, anyo)
{
	var bisiesto;
	if ((mes % 2 ==0 && mes<8 && mes!=2) || (mes % 2 ==1 && mes>8))
	{
		if (dia>30)
		{
			return false;
		}
	}
	
	if (mes==2)
	{
		 if ( anyo % 4 == 0 ) bisiesto=true; 
		 if ( anyo % 100 == 0 ) bisiesto=false; 
		 if ( anyo % 400 == 0 ) bisiesto=true; 
		 if ( bisiesto ) 
		 { 
			 if ( dia > 29 ) return false; 
		  } 
		  else 
		  { 
			  if ( dia > 28 ) return false; 
		   } 
		   
	 }
	return true;
	
}

/************FUNCIONES PARA RUT/CEDULA/DOCUMENTO DE CHILE************/
/*Restricción: 8 dígitos(opcional) seguido de - y letra. Ej: 67676767-F*/
function isRut ()
{
    var frm=document.forms[0]
	var s=frm.nif_pasaporte.value
	if (frm.nif_o_pasaporte[0].checked==true)
	{
		var lAplicacion_RUT=document.forms[0].Aplicacion_RUT.value
		if (lAplicacion_RUT=='22')
		{
			//APLICACION(22)--CHILE
			if (isEmpty(s)) 
			   if (isRut.arguments.length == 1) return defaultEmptyOK;
			   else return (isRut.arguments[1] == true);
			if (isWhitespace(s)) return false;
			var i = 1;
			var sLength = s.length;

			while ((i < sLength) && (s.charAt(i) != "-") && (isDigit(s.charAt(i))) )
			{ i++
			}
			
			
			if ( (s.charAt(i) == "-") && ( (i+1)==(sLength-1) ) && (isRutDigit(s.charAt(i+1)) ) ) return true;
			else 
				alert("Compruebe Documento/Cédula, pruebe a quitar espacios y puntos.")
				return false;	
		}
	}
	else
	{
		return true;
	}
}


function isRutDigit (c)
{
	return ((c >= "0") && (c <= "9") || (c=="k") || (c=="K") )
}


function isWhitespace (s)
{  
	var i;
	var whitespace = " \t\n\r";
    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
		// si el caracter en que estoy no aparece en whitespace,
        // entonces retornar falso
        if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}


function isEmpty(s)
{   
	return ((s == null) || (s.length == 0))
}


function isDigit (c)
{   
	return ((c >= "0") && (c <= "9"))
}

/************FIN FUNCIONES PARA RUT/CEDULA/DOCUMENTO DE CHILE************/


/************RUTINA VALIDACION DNI PERU************/
/*Restricción: 8 dígitos sin letra. Ej: 67676767*/
function DniPeru()
{
    var frm=document.forms[0]
	if (frm.nif_o_pasaporte[0].checked==true){
		var wcnt,str,strLetra,strDNI,strAA,cadena_letras,str_cadena,leo_letra;
		strDNI="";
		str="";
		strLetra="";
		str_cadena="";
		leo_letra="";
		cadena_letras="TRWAGMYFPDXBNJZSQVHLCKET";
		strDNI=frm.nif_pasaporte.value.length;

		for (wcnt = 0; wcnt<strDNI; wcnt++) {
			i=wcnt+1;
			leo_letra=frm.nif_pasaporte.value.substring(wcnt,i);
			leo_letra=leo_letra.toUpperCase();
			if (leo_letra>="A" && leo_letra<="Z")
			{
				if (strLetra==""){
					strLetra=leo_letra;
				}
			}
			else
			{
				if (!isNaN(parseInt(frm.nif_pasaporte.value.substring(wcnt,i)))){
					str=str + frm.nif_pasaporte.value.substring(wcnt,i);
				}
			}
		}
		
		str_cadena = str
		frm.nif_pasaporte.value=str_cadena

		if (strLetra!=""){
			alert("Documento de identidad incorrecto");	
			return false;
		}
		else
		{
			if (str_cadena.length==8)
			{
				return true;
			}
			else
			{
				alert("Documento de identidad incorrecto. DNI de 8 digitos.");	
				return false;
			}
		}
	}
	return true;
}
/************FIN RUTINA VALIDACION DNI PERU************/


/************RUTINA VALIDACION DNI COLOMBIA************/
/*Restricción: Tipo/8 numeros/Ciudad de expedicion. Ej: C.C 67676767 Bogotá*/
/*De momento le aplicamos la restricción de 8 dígitos --> Restricción: 8 dígitos sin letra. Ej: 67676767.*/
function DniColombia()
{
    var frm=document.forms[0]
	if (frm.nif_o_pasaporte[0].checked==true){
		var wcnt,str,strLetra,strDNI,strAA,cadena_letras,str_cadena,leo_letra;
		strDNI="";
		str="";
		strLetra="";
		str_cadena="";
		leo_letra="";
		cadena_letras="TRWAGMYFPDXBNJZSQVHLCKET";
		strDNI=frm.nif_pasaporte.value.length;

		for (wcnt = 0; wcnt<strDNI; wcnt++) {
			i=wcnt+1;
			leo_letra=frm.nif_pasaporte.value.substring(wcnt,i);
			leo_letra=leo_letra.toUpperCase();
			if (leo_letra>="A" && leo_letra<="Z")
			{
				if (strLetra==""){
					strLetra=leo_letra;
				}
			}
			else
			{
				if (!isNaN(parseInt(frm.nif_pasaporte.value.substring(wcnt,i)))){
					str=str + frm.nif_pasaporte.value.substring(wcnt,i);
				}
			}
		}
		
		str_cadena = str
		frm.nif_pasaporte.value=str_cadena

		if (strLetra!=""){
			alert("Documento de identidad incorrecto");	
			return false;
		}
		else
		{
			if (str_cadena.length==8)
			{
				return true;
			}
			else
			{
				alert("Documento de identidad incorrecto: 8 digitos.");	
				return false;
			}
		}
	}
	return true;
}
/************FIN RUTINA VALIDACION DNI COLOMBIA************/




function estado_civil(e_civil){
	
	var f = document.forms[0];
	var lAplicacion_RUT=document.forms[0].Aplicacion_RUT.value;

	if (lAplicacion_RUT=='29')
	{
		if (e_civil=='2')
		{
			f.dia_matrimonio.disabled=false;	
			f.mes_matrimonio.disabled=false;
			f.ano_matrimonio.disabled=false;
		}
		else
		{
			f.dia_matrimonio.disabled=true;	
			f.mes_matrimonio.disabled=true;
			f.ano_matrimonio.disabled=true;
		}
	}

}