<!--

//Formato de la fecha   
// 1 = DD/MM/YYYY    
// 2 = MM/DD/YYYY      
// 3 = YYYY/MM/DD   
// 4 = YYYY/DD/MM   
var formato = 1;   
  
//**********************************************************************************************   
//  invierta una fecha dada retornando en formato YYYYMMDD   
//  dFecIni = Fecha a invertir   
//  nTipFormat = Formato en que biene la fecha   
//               1 = DD/MM/YYYY    
//               2 = MM/DD/YYYY    
//               3 = YYYY/MM/DD   
//               4 = YYYY/DD/MM   
  
function invFecha(nTipFormat,dFecIni){   
    var dFecIni = dFecIni.replace(/-/g,"/");                    // reemplaza el - por /    
       
    // primera division fecha   
    var nPosUno  = ponCero(dFecIni.substr(0,dFecIni.indexOf("/")));   
    // 2&deg; divicion fecha   
    var nPosDos  = ponCero(dFecIni.substr(parseInt(dFecIni.indexOf("/")) + 1,parseInt(dFecIni.lastIndexOf("/")) - parseInt(dFecIni.indexOf("/")) - 1));   
    // 3&deg; divicion fecha   
    var nPosTres = ponCero(dFecIni.substr(parseInt(dFecIni.lastIndexOf("/")) + 1));   
  
    switch(nTipFormat){   
        case 1 :    //  DD/MM/YYYY   
            dReturnFecha = nPosTres + "" + nPosDos + "" + nPosUno;   
            break;   
  
        case 2 :    //  MM/DD/YYYY   
            dReturnFecha = nPosTres + "" + nPosUno + "" +nPosDos;   
            break;   
  
        case 3 :    //  YYYY/MM/DD   
            dReturnFecha = nPosUno + "" + nPosDos + "" +nPosTres;   
            break;   
       
        case 4 :    //  YYYY/DD/MM   
            dReturnFecha = nPosUno + "" + nPosTres + "" +nPosDos;   
            break;   
    }   
       
    return dReturnFecha;    // retorna la fecha        
}   
  
// Agrega un cero delante del strPon cuando tenga solo un caracter   
function ponCero(strPon){   
    if(parseInt(strPon.length) < 2)   
        strPon = "0" + strPon;   
    return strPon;   
}   
  
//*******************************************************************************   
// valida que la fecha dFecMenor es menor o igual a  dFecMayor   
// los parametros dFecMenor, dFecMayor son fecha con divisores validos "-" o "/" 
// el parametro dFormat es el tipo de formato en que viene la fecha    
//               1 = DD/MM/YYYY    
//               2 = MM/DD/YYYY    
//               3 = YYYY/MM/DD   
//               4 = YYYY/DD/MM   
  
function comparaFecha(dFormat,dFecMenor, dFecMayor){   
    dFecMenor = invFecha(dFormat,dFecMenor);   
    dFecMayor = invFecha(dFormat,dFecMayor);   
  
    if(dFecMenor > dFecMayor)   
        return false;   
    else  
        return true;   
}   
  
function validaFecha( FechaDesde, FechaHasta ){   
    var dFechaMenor = FechaDesde.value;   
    var dFechaMayor = FechaHasta.value;   
  
    if(comparaFecha( formato,dFechaMenor,dFechaMayor) == false)   
       // alert("Intervalo de fechas incorrecto");   
       return false
     else
		return true
}   
  
function ValidaCampoNumerico(campo) {   
  var ubicacion   
  var caracteres = "1234567890" + String.fromCharCode(13)   
  
  var contador = 0   
  for (var i=0; i < campo.length; i++) {   
    ubicacion = campo.substring(i, i + 1)   
    if (caracteres.indexOf(ubicacion) != -1) {   
      contador++   
    } else {   
      alert("Este campo solo acepta numeros.")  
      return false   
    }   
  }   
}   

function esVacio(cadena) {
	if (cadena == undefined){
		return true }
	else{
	   return (cadena.length != 0)?false:true	}
}

function field_error(msg,campo) {
	alert(msg);
 	campo.focus();
	if (campo.type != "select-one" && campo.type != "select-multiple") campo.select();	
	return false;
}


function Validar(Cadena){   
	

    var Fecha= new String(Cadena)   // Crea un string   
    var RealFecha= new Date()   // Para sacar la fecha de hoy   
    // Cadena A&ntilde;o   
    var Ano= new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length))   
    // Cadena Mes   
    var Mes= new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")))   
    // Cadena D&iacute;a   
    var Dia= new String(Fecha.substring(0,Fecha.indexOf("/")))   
  	
    // Valido el a&ntilde;o   
    if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900){     
        return false   
    }   
    // Valido el Mes   
    if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){     
        return false   
    }   
    // Valido el Dia   
    if (isNaN(Dia) || parseInt(Dia, 10)<1 || parseInt(Dia, 10)>31){   
        return false   
    }   
    if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {   
        if (Mes==2 && Dia > 28 || Dia>30) {   
            return false   
        }   
    }   
}   

function checkBeforeSubmit() {
	var f=document.forms[0];          
	with (f) {
		if (esVacio(txtNombre.value)) 								return field_error ("Debe completar el nombre", txtNombre);
		if (esVacio(txtApel1.value)) 								return field_error ("Debe completar el apellido 1", txtApel1);
		if (esVacio(txtNIF.value)) 									return field_error ("Debe completar el NIF", txtNIF);
		if (txtNIF.value.length != 9)								return field_error ("Teclee el 'NIF' con 9 caracteres", txtNIF);
		if (txtFNac.value != ""){
			if (!(isDateCorrect(txtFNac.value)))						return field_error ("Teclee la fecha de nacimiento correctamente (dd/mm/yyy)", txtFNac);
		}
		if (esVacio(txtDireccion.value)) 							return field_error ("Debe completar la direccion", txtDireccion);
		if (esVacio(txtCP.value)) 									return field_error ("Debe completar el codigo postal", txtCP);
		if (txtCP.value.length != 5) 								return field_error ("Debe completar el codigo postal con 5 numeros", txtCP);
		if (esVacio(txtEmail.value)) 								return field_error ("Debe completar el email", txtEmail);
		if (esVacio(txtTelFijo.value)) 								return field_error ("Debe completar el telefono fijo", txtTelFijo);
		if (txtTelFijo.value.length != 9) 							return field_error ("Debe completar el telefono fijo con 9 numeros", txtTelFijo);
		if (esVacio(txtTelMovil.value)) 							return field_error ("Debe completar el telefono movil", txtTelMovil);
		if (txtTelMovil.value.length != 9) 							return field_error ("Debe completar el telefono movil con 9 numeros", txtTelMovil);
		if (ddlProvincia.value == 0)								return field_error ("Debe seleccionar la provincia", ddlProvincia);
		if (ddlProvincia.value != 0 && ddlPoblacion.value == 0)		return field_error ("Debe seleccionar la poblacion", ddlPoblacion);
		if (!(esVacio(txtIdioma3.value)) && (ddlNivel3.value == 0))	return field_error ("Rellene nivel acorde al idioma", ddlNivel3);
		if (rbCambioResiSi.checked && esVacio(txtRegion.value))     return field_error ("Para cambio de residencia, debe rellenar este campo", txtRegion);
		
		
		//Experiencia 1
		if (!esVacio(txtEmpresa1.value) || !esVacio(txtCargo1.value) || !esVacio(txtSector1.value) || !esVacio(txtFunciones1.value)) 
		{
			
			if (esVacio(txtDesde1.value)) 					return field_error ("Debe completar la fecha de comienzo de la experiencia 1", txtDesde1);
			if (esVacio(txtHasta1.value)) 					return field_error ("Debe completar la fecha de finalizacion de la experiencia 1", txtHasta1);
			if (!(validaFecha(txtDesde1,txtHasta1)))    	return field_error ("Intervalo de fechas incorrecto", txtDesde1);
			
			
		} 
		if (!esVacio(txtDesde1.value) || !esVacio(txtHasta1.value)) {
				if (esVacio(txtEmpresa1.value))			return field_error ("Por favor, complete los datos referentes a la EXPERIENCIA 1", txtEmpresa1);
				if (esVacio(txtCargo1.value))			return field_error ("Por favor, complete los datos referentes a la EXPERIENCIA 1", txtCargo1);
				if (esVacio(txtSector1.value))			return field_error ("Por favor, complete los datos referentes a la EXPERIENCIA 1", txtSector1);		
				if (esVacio(txtFunciones1.value))		return field_error ("Por favor, complete los datos referentes a la EXPERIENCIA 1", txtFunciones1);		
		}
	//Experiencia 2
		if (!esVacio(txtEmpresa2.value) || !esVacio(txtCargo2.value) || !esVacio(txtSector2.value) || !esVacio(txtFunciones2.value)) 
		{
			
			if (esVacio(txtDesde2.value)) 					return field_error ("Debe completar la fecha de comienzo de la experiencia 2", txtDesde2);
			if (esVacio(txtHasta2.value)) 					return field_error ("Debe completar la fecha de finalizacion de la experiencia 2", txtHasta2);
			if (!(validaFecha(txtDesde2,txtHasta2)))    	return field_error ("Intervalo de fechas incorrecto", txtDesde2);
			
			
		} 
		if (!esVacio(txtDesde2.value) || !esVacio(txtHasta2.value)) {
				if (esVacio(txtEmpresa2.value))			return field_error ("Por favor, complete los datos referentes a la EXPERIENCIA 2", txtEmpresa2);
				if (esVacio(txtCargo2.value))			return field_error ("Por favor, complete los datos referentes a la EXPERIENCIA 2", txtCargo2);
				if (esVacio(txtSector2.value))			return field_error ("Por favor, complete los datos referentes a la EXPERIENCIA 2", txtSector2);		
				if (esVacio(txtFunciones2.value))		return field_error ("Por favor, complete los datos referentes a la EXPERIENCIA 2", txtFunciones2);		
		}
	//Experiencia 3
		if (!esVacio(txtEmpresa3.value) || !esVacio(txtCargo3.value) || !esVacio(txtSector3.value) || !esVacio(txtFunciones3.value)) 
		{
			
			if (esVacio(txtDesde3.value)) 					return field_error ("Debe completar la fecha de comienzo de la experiencia 3", txtDesde3);
			if (esVacio(txtHasta3.value)) 					return field_error ("Debe completar la fecha de finalizacion de la experiencia 3", txtHasta3);
			if (!(validaFecha(txtDesde3,txtHasta3)))    	return field_error ("Intervalo de fechas incorrecto", txtDesde3);
			
			
		} 
		if (!esVacio(txtDesde3.value) || !esVacio(txtHasta3.value)) {
				if (esVacio(txtEmpresa3.value))			return field_error ("Por favor, complete los datos referentes a la EXPERIENCIA 3", txtEmpresa3);
				if (esVacio(txtCargo3.value))			return field_error ("Por favor, complete los datos referentes a la EXPERIENCIA 3", txtCargo3);
				if (esVacio(txtSector3.value))			return field_error ("Por favor, complete los datos referentes a la EXPERIENCIA 3", txtSector3);		
				if (esVacio(txtFunciones3.value))		return field_error ("Por favor, complete los datos referentes a la EXPERIENCIA 3", txtFunciones3);		
		}
		
		if (qasesorfin.checked == false && qagente.checked == false && qempleado.checked == false && qbeca.checked == false && qgestor.checked == false ) 
			return field_error ("Debe seleccionar al menos un Puesto (Asesor, Agente, Gestor Becario o Empleado en plantilla)", qasesorfin);		
		
		//return isEmailAddress(email,'email');

		hidOK.value="OK";
		document.forms[0].submit();
	}
	return true;	
}

function isDateCorrect(fec) 
{
	var fechaValida = true;
	
	var fecha= fec.split("/");
	var dia = fecha[0];
	var mes = fecha[1];
	var anyo = fecha[2]


		//Si son numericos los campos		
	if ((!(isNaN(dia))) && (!(isNaN(mes))) && (!(isNaN(anyo))))
	{		
		//Lo ponemos en formato dd, mm y aaaa
		if (dia.length == 1)
			dia = "0"+dia;
		if (mes.length == 1)
			mes = "0"+mes;		
		//Miramos si el a&ntilde;o tiene un valor correcto
		if ((parseInt(anyo)==0) || (parseInt(anyo)<1900) || (parseInt(anyo)>2100)) 
		{ 
			fechaValida=false; 
		}
		
		//Miramos si el mes tiene una valor correcto
		if ((parseInt(mes) < 1) || (parseInt(mes) > 12))
		{
			fechaValida=false;
		}
		//Miramos si el dia tiene un valor correcto
		if ((parseInt(dia) < 1) || (parseInt(dia) > 31))
		{
			fechaValida=false;
		}		
		//Comprobamos que si es un mes de 30 dias, no supere dicha cifra
		if ((mes=="04") || (mes=="06") || (mes=="09") || (mes=="11"))
		{			
			if (parseInt(dia) > 30)
			{				
				fechaValida=false;
			}
		}
		else
		{			
			//Comprobamos si es bisiesto
			if (!(parseInt(anyo)%4) && (mes=="02") && (parseInt(dia)>28))
			{				
				fechaValida=false;
			}
		}
	}
	else
	{		
		fechaValida=false;
	}
	return fechaValida;		
}

//************************************************************
//*********** JS PARA EL FORMULARIO DE CONSULTAS
//************************************************************
function validarCamposObligCONSULTAS(input)
{
	var etiqCampsObligatoris=new Array("txtNombre","txtApel1","txtEmail","txtTelFijo","txtComentarios");
	
	var nomCampsObligatoris = new Array("- Nombre","- Apellido 1","- Email","- Telefono","- Mensaje");
	
	var campsCheck = true;
	var campsFaltants = "\nDebe completar el siguiente campo obligatorio:\n\n";

	for (var campsNum=0;campsNum<etiqCampsObligatoris.length;campsNum++) {
		if((input.elements[etiqCampsObligatoris[campsNum]].value=="") ||
		   (input.elements[etiqCampsObligatoris[campsNum]].value==" ")){
		   campsFaltants += nomCampsObligatoris[campsNum] + "\n\t";
	 	  campsCheck=false;
	 	  break;	   
	  	 }
	}						     
	if (campsCheck==true){
		return true;
	}

	else {
		alert(campsFaltants);
		input.elements[etiqCampsObligatoris[campsNum]].focus();
		return false;
	}
}

function validarCamposObligCONSULTASCaptcha(input)
{
	var etiqCampsObligatoris=new Array("txtNombre","txtApel1","txtEmail","txtTelFijo","txtComentarios", "txtCaptcha");
	
	var nomCampsObligatoris = new Array("- Nombre","- Apellido 1","- Email","- Telefono","- Mensaje", "- C\u00f3digo de seguridad");
	
	var campsCheck = true;
	var campsFaltants = "\nDebe completar el siguiente campo obligatorio:\n\n";

	for (var campsNum=0;campsNum<etiqCampsObligatoris.length;campsNum++) {
		if((input.elements[etiqCampsObligatoris[campsNum]].value=="") ||
		   (input.elements[etiqCampsObligatoris[campsNum]].value==" ")){
		   campsFaltants += nomCampsObligatoris[campsNum] + "\n\t";
	 	  campsCheck=false;
	 	  break;	   
	  	 }
	}						     
	if (campsCheck==true){
		return true;
	}

	else {
		alert(campsFaltants);
		input.elements[etiqCampsObligatoris[campsNum]].focus();
		return false;
	}
}


function checkBeforeSubmitConsultas() {
	var f=document.forms[0];          
	with (f) {
		if (esVacio(txtNombre.value)) 								return field_error ("Debe completar el nombre", txtNombre);
		if (esVacio(txtApel1.value)) 								return field_error ("Debe completar el apellido 1", txtApel1);
		if (esVacio(txtTelFijo.value)) 								return field_error ("Debe completar el tel\u00e9fono", txtTelFijo);
		if (!esVacio(txtTelFijo.value)) 	
		{		if (txtTelFijo.value.length != 9) 					return field_error ("Debe completar el tel\u00e9fono fijo con 9 n\u00fameros", txtTelFijo);
		}
		if (esVacio(txtEmail.value)) 								return field_error ("Debe completar el email", txtEmail);
		
		if (esVacio(txtComentarios.value)) 							return field_error ("Debe completar el mensaje", txtTelFijo);
		
		hidOK.value="OK";
		document.forms[0].submit();
	}
	return true;	
}

