//------------------------ Sólo Acepta Numeros ----------------------------------
var nav4 = window.Event ? true : false;
function SoloNum(evt){	
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57	
var key = nav4 ? evt.which : evt.keyCode;	
return ((key >= 48 && key <= 57));
}
//------------------------ Sólo Acepta Numeros, k o K ----------------------------------
var nav4 = window.Event ? true : false;
function SoloNumK(evt){	
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57	
var key = nav4 ? evt.which : evt.keyCode;	
return (key == 75 || key == 107 ||  (key >= 48 && key <= 57));
}


/*
	Creador : Felipe Larenas
	Fecha Creación: 25/07/2005
*/
function valida_form(f)
{
	
//******************* BLOQUE 1  ANTECEDENTES PERSONALES *********************************	
	// Valido el ingreso del RUT
	if ((f.rut.value =='')||(f.dv.value ==''))
	{
		alert ('El rut es un campo obligatorio');
		if (f.rut.value=='') 
		{
			f.rut.focus();
			return false
		}	
		else
		{
			f.dv.focus();
			return false
		}	
	}
	else
	{
		buscar(f);
	}
	// Termino de validar RUT
	
	//Valido ingreso de apellidos y nombres
	if (f.aps.value=='')
	{
		alert ('El o los apellidos deben ser ingresados');
		f.aps.focus();
		return false
	}
	
	if (f.ns.value=='')
	{
		alert ('El Nnombre es obligatorio');
		f.ns.focus();
		return false
	}	
	//termino validar apellidos y nombres
	
	//PONER VALIDADOR DE FECHA
	vfecha = ValidarFecha(f.fnac.value);
	if (f.fnac.value=='' || vfecha == false)
	{
		alert('La fecha de nacimiento debe ser ingresada, formato dd/mm/aaaa')
		f.fnac.focus();
		return false
	}
	
	
	
	// validar ingreso de sexo
	if (!f.se[0].checked && !f.se[1].checked)
	{
		alert('El sexo del postulante debe ser ingresado');
		return false
	}
	//termino de validar sexo
	// valido estado civil
	if (!f.e_civil[0].checked && !f.e_civil[1].checked)
	{
		alert ('El estado civil debe ser ingresado');
		return false
	}
	// fin estado_civil
	if (!jsIsNumber2(f.nh.value))
	{
		alert ('La cantidad de hijos declarada debe ser un valor numérico')
		return false
	}
	if (!f.nacionalidad[0].checked && !f.nacionalidad[1].checked)
	{
		alert ('La nacionalidad debe ser declarada');
		return false
	}
	
	if (f.nacionalidad[1].checked)
	{
		if (f.nacionalidad_otro.value =='')
		{
			alert ('Si fue declarada otra nacionalidad debe ser ingresada su nombre');
			f.nacionalidad_otro.focus();
			return false
		}
	}
	
	//dirección
	
	if (f.direccion1.value =='')
	{
		alert('La dirección debe ser ingresada');
		f.direccion1.focus();
		return false
	}
	// comuna
	if (f.comuna1.value =='')
	{
		alert('La comuna debe ser ingresada');
		f.comuna1.focus();
		return false
	}
	
	// ciudad
	if (f.comuna1.value =='')
	{
		alert('La ciudad debe ser ingresada');
		f.ciudad1.focus();
		return false
	}
	
	// ciudad
	if (f.sm[1].checked)
	{
		if (f.smo.value =='')
		{
			alert('Se debe especificar la situación militar');
			f.smo.focus();
			return false
		}	
	}
	//mail
	if (f.mail.value =='')
	{
		alert('la dirección electrónica (e-mail) debe ser ingresada');
		f.mail.focus();
		return false
	}
/*	
	else 
	{
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(f.mail.value))
  		{
   			
  		} 
		else
		{
			alert("La dirección de email es incorrecta.");
   			f.mail.focus();
   			return (false);
		}
	}
*/	
//	alert ('todos los datos están correctos')
	
//*******************  FIN ANTECEDENTES PERSONALES *********************************
//***************************************************************************************


//******************* BLOQUE 2  Antecedentes Académicos *********************************

// establecimiento Educación Básica
if (f.eeb.value=='')
{
	alert('El establecimiento de educación básica debe ser ingresado');
	f.eeb.focus();
	return false
}

//Periodo enseñanza básica
if(f.pereb1.value=='' || f.pereb2.value=='')
{
	alert('El periodo en el cual fue cursada la enseñanza básica debe ser ingresado')
	if (f.pereb1.value=='')
	{
		f.pereb1.focus();
		return false;
	}
	if (f.pereb2.value=='')
	{
		f.pereb2.focus();
		return false;
	}
}
if (!jsIsNumber2(f.pereb1.value))
{
	alert('El periodo debe ser un valor numérico')
	f.pereb1.focus();
	return false
}
if (!jsIsNumber2(f.pereb2.value))
{
	alert('El periodo debe ser un valor numérico')
	f.pereb2.focus();
	return false
}

//enseñanaza media
if (f.eem.value=='')
{
	alert('El establecimiento de educación media debe ser ingresado');
	f.eem.focus();
	return false
}

//Periodo enseñanza media
if(f.perem1.value=='' || f.perem2.value=='')
{
	alert('El periodo en el cual fue cursada la enseñanaza media debe ser ingresado')
	if (f.perem1.value=='')
	{
		f.perem1.focus();
		return false;
	}
	if (f.perem2.value=='')
	{
		f.perem2.focus();
		return false;
	}
}

if (!jsIsNumber2(f.perem1.value))
{
	alert('El periodo debe ser un valor numérico')
	f.perem1.focus();
	return false
}

if (!jsIsNumber2(f.perem2.value))
{
	alert('El periodo debe ser un valor numérico')
	f.perem2.focus();
	return false
}

//Educación Superior

if (f.tedusup.value=='')
{
	alert('El tipo de educación superior debe ser declarada');
	f.tedusup.focus();
	return false
}
if (f.iedusup.value == '')
{
	alert('La institución debe ser declarada');
	f.iedusup.focus();
	return false
}
else
{
	if (f.iedusup.value == 'Otra' && f.otrainstitucion.value=='')
	{
		alert('Si fue seleccionada otra institución ésta debe ser declarada');
		f.otrainstitucion.disabled = false;
		f.otrainstitucion.focus();
		return false
	}
}
if (f.peredusupi.value=='')
{
	alert('El año de ingreso a la institución superior debe ser declarada');
	f.peredusupi.focus();
	return false
}
else 
{
	if(!jsIsNumber2(f.peredusupi.value))
	{
		alert('El año de ingreso debe ser un valor numérico');
		f.peredusupi.focus();
		return false
	}
}
if (f.peredusupe.value=='')
{
	alert('El año de Egreso de la institución superior debe ser declarada');
	f.peredusupe.focus();
	return false
}
else 
{
	if(!jsIsNumber2(f.peredusupe.value))
	{
		alert('El año de egreso debe ser un valor numérico');
		f.peredusupe.focus();
		return false
	}
}

if (f.titedusup.value=='')
{
	alert('El título debe ser ingresado');
	f.titedusup.focus();
	return false
}
else
{
	if (f.titedusup.value == 'Otro' && f.otrotit.value=='')
	{
		alert('Si se selecciono otro título éste debe ser ingresado');
		f.otrotit.disabled = false;
		f.otrotit.focus();
		return false
	}
}

//*******************  FIN ANTECEDENTES PERSONALES *********************************
//***************************************************************************************




//******************ANTECEDENTES LABORALES

if (f.permdl1.value!='')
{
	if(!jsIsNumber2(f.permdl1.value))

	{
		alert('El mes debe ser correctamente ingresado');
		f.permdl1.focus();
		return false
	}
}
if	(f.peradl1.value!='')
{
	if(!jsIsNumber2(f.peradl1.value))
	{
		alert('El año debe ser correctamente ingresado');
		f.peradl1.focus();
		return false
	}
}
if(f.permhl1.value!='')	
{
	if(!jsIsNumber2(f.permhl1.value))
	{
		alert('El mes debe ser correctamente ingresado');
		f.permhl1.focus();
		return false
	}
}
if(f.perahl1.value!='')
{
	if(!jsIsNumber2(f.perahl1.value))
	{
		alert('El año debe ser correctamente ingresado');
		f.perahl1.focus();
		return false
	}
}
// *********    2
if (f.permdl2.value!='')
{
	if(!jsIsNumber2(f.permdl2.value))

	{
		alert('El mes debe ser correctamente ingresado');
		f.permdl2.focus();
		return false
	}
}
if	(f.peradl2.value!='')
{
	if(!jsIsNumber2(f.peradl2.value))
	{
		alert('El año debe ser correctamente ingresado');
		f.peradl2.focus();
		return false
	}
}
if(f.permhl2.value!='')	
{
	if(!jsIsNumber2(f.permhl2.value))
	{
		alert('El mes debe ser correctamente ingresado');
		f.permhl2.focus();
		return false
	}
}
if(f.perahl2.value!='')
{
	if(!jsIsNumber2(f.perahl2.value))
	{
		alert('El año debe ser correctamente ingresado');
		f.perahl2.focus();
		return false
	}
}

// *********    3
if (f.permdl3.value!='')
{
	if(!jsIsNumber2(f.permdl3.value))

	{
		alert('El mes debe ser correctamente ingresado');
		f.permdl3.focus();
		return false
	}
}
if	(f.peradl3.value!='')
{
	if(!jsIsNumber2(f.peradl3.value))
	{
		alert('El año debe ser correctamente ingresado');
		f.peradl3.focus();
		return false
	}
}
if(f.permhl3.value!='')	
{
	if(!jsIsNumber2(f.permhl3.value))
	{
		alert('El mes debe ser correctamente ingresado');
		f.permhl3.focus();
		return false
	}
}
if(f.perahl3.value!='')
{
	if(!jsIsNumber2(f.perahl3.value))
	{
		alert('El año debe ser correctamente ingresado');
		f.perahl3.focus();
		return false
	}
}



//     4

if (f.permdl4.value!='')
{
	if(!jsIsNumber2(f.permdl4.value))

	{
		alert('El mes debe ser correctamente ingresado');
		f.permdl4.focus();
		return false
	}
}
if	(f.perad14.value!='')
{
	if(!jsIsNumber2(f.perad14.value))
	{
		alert('El año debe ser correctamente ingresado');
		f.perad14.focus();
		return false
	}
}
if(f.permhl4.value!='')	
{
	if(!jsIsNumber2(f.permhl4.value))
	{
		alert('El mes debe ser correctamente ingresado');
		f.permhl4.focus();
		return false
	}
}
if(f.perahl4.value!='')
{
	if(!jsIsNumber2(f.perahl4.value))
	{
		alert('El año debe ser correctamente ingresado');
		f.perahl4.focus();
		return false
	}
}
//********** 5

if (f.permdl5.value!='')
{
	if(!jsIsNumber2(f.permdl5.value))

	{
		alert('El mes debe ser correctamente ingresado');
		f.permdl5.focus();
		return false
	}
}	   
if	(f.perad15.value!='')
{
	if(!jsIsNumber2(f.perad15.value))
	{
		alert('El año debe ser correctamente ingresado');
		f.perad15.focus();
		return false
	}
}
if(f.permhl5.value!='')	
{
	if(!jsIsNumber2(f.permhl5.value))
	{
		alert('El mes debe ser correctamente ingresado');
		f.permhl4.focus();
		return false
	}
}
if(f.perahl5.value!='')
{
	if(!jsIsNumber2(f.perahl5.value))
	{
		alert('El año debe ser correctamente ingresado');
		f.perahl5.focus();
		return false
	}
}


//     6
 

if (f.permdl6.value!='')
{
	if(!jsIsNumber2(f.permdl6.value))
	{
		alert('El mes debe ser correctamente ingresado');
		f.permdl5.focus();
		return false
	}
}
if	(f.perad16.value!='')
{
	if(!jsIsNumber2(f.perad16.value))
	{
		alert('El año debe ser correctamente ingresado');
		f.perad16.focus();
		return false
	}
}
if(f.permhl6.value!='')	
{
	if(!jsIsNumber2(f.permhl6.value))
	{
		alert('El mes debe ser correctamente ingresado');
		f.permhl4.focus();
		return false
	}
}
if(f.perahl6.value!='')
{
	if(!jsIsNumber2(f.perahl6.value))
	{
		alert('El año debe ser correctamente ingresado');
		f.perahl6.focus();
		return false
	}
}

//******************FIN ANT. LABORALES


f.otrainstitucion.disabled  = false;
f.otrotit.disabled = false;
f.submit();	
}
// Validar correo electrónico
function validarEmail(f,v) {
  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(v))
  {
 //  alert("La dirección de email " + valor    + " es correcta.") 
   return (true)
  } else 
  {
   alert("La dirección de email es incorrecta.");
   f.mail.focus();
   return (false);
  }
 }


function Capa(f)
{
//	alert('entra')
	if(f.iedusup.value=='Otra')
	{
		f.otrainstitucion.disabled  = false;
		f.otrainstitucion.focus();
		return true
	/*	if (!f.contains(event.fromElement)) 	
		{
			//alert(capa);
			document.getElementById(capa).style.visibility="visible";
			return true
		}*/
	}
	else
	{
		f.otrainstitucion.value = ''
		f.otrainstitucion.disabled = true;
		return true
		/*if (!f.contains(event.fromElement)) 
		{		
			//alert(capa);
			f.otrainstitucion.value=''
			document.getElementById(capa).style.visibility="hidden";
			return true
		}*/
	}
	
}



function Capa1(f)
{
//	alert('entra')

	if(f.titedusup.value=='Otro')
	{
		f.otrotit.disabled  = false;
		f.otrotit.focus();
		return true
	
	}
	else
	{
		f.otrotit.value = ''
		f.otrotit.disabled = true;
		return true
	
	}
	
}



function buscar(f)	
{
	//form1.action='';
	operacion = '';

	if (f.rut.value == "") {
		error = true ;
		alert("Debe Ingresar un Rut de Empresa.") ;
		f.rut.focus();
		return (false);
	}

	if (f.rut.value.length < 7) 
		{ alert("El rut debe tener por lo menos 7 digitos");
   		  f.rut.focus();
   		  return (false);}
	
	var checkOK = "0123456789"; 
  	var checkStr = f.rut.value; 
  	var allValid = true; 
  	var decPoints = 0; 
  	var allNum = ""; 
  	
	for (i = 0; i < checkStr.length; i++) 
		{ ch = checkStr.charAt(i); 
    	  for (j = 0; j < checkOK.length; j++) 
      	  	if (ch == checkOK.charAt(j))
        		break; 
    		if (j == checkOK.length) 
				{ allValid = false; 
      			  break;} 
    	allNum += ch; 
  		}			 
  	
	if (!allValid) 
		{ alert("Escriba sólo numeros en el campo Rut");
    	  f.rut.focus(); 
    	  return (false);}  

	if (f.dv.value.length < 1) 
		{ alert("El rut debe tener un digito verificador");
    	  f.dv.focus();
    	  return (false);}
	
	var checkOK = "0123456789" + "k";
    var checkStr = f.dv.value;
    var allValid = true; 
    
	for (i = 0; i < checkStr.length; i++)
		{ ch = checkStr.charAt(i); 
    	for (j = 0; j < checkOK.length; j++)
      		if (ch == checkOK.charAt(j))
        	break;
    		if (j == checkOK.length)
				{allValid = false; 
      		break; }
   		}
   
	if (!allValid)
		{ alert("Se acepta solo el caracter k ,minuscula, en el digito verificador del rut"); 
    	  f.dv.focus(); 
    	  return (false);} 
	
	rut=f.rut.value;
	var count=0;
	var count2=0;
	var factor=2;
	var suma=0;
	var sum=0;
	var digito=0;
	count2=rut.length - 1;

	while(count < rut.length)
		{ sum = factor * (parseInt(rut.substr(count2,1))); 
		  suma = suma + sum;
		  sum=0;

		  count = count + 1;
		  count2 = count2 - 1;
		  factor = factor + 1;

		   if(factor > 7)
				{ factor=2; } 
		}

	digito= 11 - (suma % 11)

	if(digito==11)
		{ digito=0; }

	if(digito==10)
		{ digito="k"; }

	if(digito!=f.dv.value)
		{ alert("Rut ingresado no es correcto!");
		  f.rut.focus(); 
		  return (false); }

//	f.operacion.value = 2;		
//	f.submit();
//	return (true); 
}   

// FUNCION VALIDADOR DE NUMEROS
	function jsIsNumber2(fValor)
	{
		var valor;
		//intento convertir a entero. 
		//si era un entero no le afecta, si no lo era lo intenta convertir
		valor = fValor

		//alert(valor);
		//alert(parseFloat(fValor));
		//Compruebo si es un valor numérico
		if (isNaN(valor))
		{
			valor = 0;
			//entonces (no es un número) devuelvo el valor cadena vacia
			return false
		}
		else
		{
			//En caso contrario (Si era un número) devuelvo el valor
			return true
		}
	}
	

//------------------------ Valida Fecha -----------------------------------------------------------
function ValidarFecha(caja)
			{ 
			 valor=true;
   		     if (caja)
			   {  
				  borrar = caja;
				  
				  if ((caja.substr(2,1) == '/') && (caja.substr(5,1) == '/'))
				  {      
						 for (i=0; i<10; i++)
						 {	
							 if (((caja.substr(i,1)<'0') || (caja.substr(i,1)>'9')) && (i != 2) && (i != 5))
								{
								   borrar = '1';
								   break;  
								}  
						  }
						if (borrar)
							 { 
								a = caja.substr(6,4);
								m = caja.substr(3,2);
								d = caja.substr(0,2);
									if((a < 1900) || (a > 2050) || (m < 1) || (m > 12) || (d < 1) || (d > 31))
									   borrar = '1';
									else
									{
									   if((a%4 != 0) && (m == 2) && (d > 28))	   
										  borrar = '1'; // Año no viciesto y es febrero y el dia es mayor a 28
									   else	
									   {
										  if ((((m == 4) || (m == 6) || (m == 9) || (m==11)) && (d>30)) || ((m==2) && (d>29)))
											 borrar = '1';	      				  	 
									  }  
								} 
					 } 
				  } 			    			
				  else
				  		borrar = '1';
						 if (borrar == '1')
							{
							 valor=false;
							}
						return valor;
				 } 
 		} 


