function validarNif(nif) {
	abc=nif;
	dni=abc.substring(0,abc.length-1)
	let=abc.charAt(abc.length-1)
	if (!isNaN(let))
	 {
	  return false
	 }
	else
	 {
	  cadena="TRWAGMYFPDXBNJZSQVHLCKET"
	  posicion = dni % 23
	  letra = cadena.substring(posicion,posicion+1)
	  if (letra!=let.toUpperCase())
	   {
		return false
	   }
	 }
	return true;
}

function validarFichero(archivo, arrayExtensiones) { 
   extensiones_permitidas = arrayExtensiones;
   // new Array(".gif", ".jpg", ".doc", ".pdf")
   mierror = ""; 
   if (!archivo) { 
      //Si no tengo archivo, es que no se ha seleccionado un archivo en el formulario 
       mierror = "No has seleccionado ningún archivo"; 
   }else{ 
      //recupero la extensión de este nombre de archivo 
      extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase(); 
      //alert (extension); 
      //compruebo si la extensión está entre las permitidas 
      permitida = false; 
      for (var i = 0; i < extensiones_permitidas.length; i++) { 
         if (extensiones_permitidas[i] == extension) { 
         permitida = true; 
         break; 
         } 
      } 
      if (!permitida) { 
         mierror = "Comprueba la extensión de los archivos a subir. \nSólo se pueden subir archivos con extensiones: " + extensiones_permitidas.join(); 
       }else{ 
         return 1; 
       } 
   } 
   //si estoy aqui es que no se ha podido submitir 
   alert (mierror); 
   return 0; 
} 

function ignoreSpaces(string) {
	var temp = "";
	string = '' + string;
	splitstring = string.split(" ");
	for(i = 0; i < splitstring.length; i++)
	temp += splitstring[i];
	return temp;
}
function validarFecha(Cadena){
	var Fecha= new String(Cadena);	// Crea un string
	var RealFecha= new Date();	// Para sacar la fecha de hoy
	// Cadena Añ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ía
	var Dia= new String(Fecha.substring(0,Fecha.indexOf("/")));
	// Valido el añ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;
		}
	}
  return true;	
}

function ValidarDirCorreoElectronico(email) {
    var caracteres = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-.";
    var i;
    var valido = true;
    var pos_arroba = email.indexOf("@");
    var pos_ultimo_punto = email.lastIndexOf(".");
    var email_minus = email.toLowerCase();
    var trozo;
    
    if (pos_arroba == -1) {
        return false;
    }
    if (email_minus.indexOf("hola@hola.com") != -1){
        return false;
    }
    if (pos_ultimo_punto == -1) {
        return false;
    }
    trozo = email.substring(0, pos_arroba);
    for(i=0;i<trozo.length;i++) {
        if (caracteres.indexOf(trozo.charAt(i)) == -1) {
            valido = false;
            break;
        }
    }    
    if (!valido) {
        return false;
    }
    valido = true;
    trozo = email.substring(1+pos_arroba, pos_ultimo_punto);
    for(i=0;i<trozo.length;i++) {
        if (caracteres.indexOf(trozo.charAt(i)) == -1) {
            valido = false;
            break;
        }
    }    
    if (!valido) {
        return false;
    }
    valido = true;
    trozo = email.substring(1+pos_ultimo_punto, email.length);    
    if ((trozo.length >= 2)&&(trozo.length <= 3)) {
        for(i=0;i<trozo.length;i++) {
            if (caracteres.indexOf(trozo.charAt(i)) == -1) {
                valido = false;
                break;
            }
        }    
        if (!valido) {
            return false;
        }
    } else {
        return false;
    }
    return true;
} 
function testModificarUsuario(name){
	f = document.forms[name];
	if (ignoreSpaces(f.nombre.value).length<1) {
		alert ("Indique el nombre del nuevo usuario.");
		f.nombre.focus();
		return false;
	}
	if (ignoreSpaces(f.apellidos.value).length<1) {
		alert ("Indique los apellidos del nuevo usuario.");
		f.apellidos.focus();
		return false;
	}	
	return true;		
}
function testUsuario(name){
	f = document.forms[name];
	if(!validarNif(f.dni.value)){
		alert ("DNI no válido.");
		f.dni.focus();
		return false;	
	}
	if (ignoreSpaces(f.nombre.value).length<1) {
		alert ("Indique el nombre del nuevo usuario.");
		f.nombre.focus();
		return false;
	}
	if (ignoreSpaces(f.apellidos.value).length<1) {
		alert ("Indique los apellidos del nuevo usuario.");
		f.apellidos.focus();
		return false;
	}	
	if (ignoreSpaces(f.claveAcceso.value).length<1) {
		alert ("Indique la contraseña del nuevo usuario.");
		f.claveAcceso.focus();
		return false;
	}
	if (ignoreSpaces(f.repitaClaveAcceso.value).length<1) {
		alert ("Repita la contraseña del nuevo usuario.");
		f.repitaClaveAcceso.focus();
		return false;
	}		
	return true;		
}
function testRecordar(name){
	f = document.forms[name];	
	if (ignoreSpaces(f.email.value).length>1) {
		if (!ValidarDirCorreoElectronico(f.email.value)) {
			alert ("La dirección de e-mail se ha escrito incorrectamente, reintentelo.");
			f.email.focus();
			return false;
		}
	}else{
			alert ("Introduzca su email.");
			f.email.focus();
			return false;
	} 
	return true;		
}
function testEmailCurriculum(name){
	f = document.forms[name];	
	if (ignoreSpaces(f.email.value).length>1) {
		if (!ValidarDirCorreoElectronico(f.email.value)) {
			alert ("La dirección de e-mail se ha escrito incorrectamente, reintentelo.");
			f.email.focus();
			return false;
		}
	}else{
			alert ("Introduzca un e-mail.");
			f.email.focus();
			return false;
	} 
	return true;		
}
function testFoto(name){
	f = document.forms[name];
	fichero=f.file.value;
	extensiones = new Array(".gif", ".jpg");
	if (!validarFichero(fichero,extensiones)) {
		return false;
	}	
	return true;		
}

function testClave(name){
	f = document.forms[name];
	if (ignoreSpaces(f.actual.value).length<1) {
		alert ("Indique su actual contraseña.");
		f.actual.focus();
		return false;
	}
	if (ignoreSpaces(f.nueva.value).length<1) {
		alert ("Indique la nueva contraseña.");
		f.nueva.focus();
		return false;
	}
	if (ignoreSpaces(f.repetir.value).length<1) {
		alert ("Repita la nueva contraseña.");
		f.repetir.focus();
		return false;
	}	
	return true;		
}
function testConsulta(name){
	f = document.forms[name];
	if (ignoreSpaces(f.nombre.value).length<1) {
		alert ("Introduzca su nombre.");
		f.nombre.focus();
		return false;
	}	
	if (ignoreSpaces(f.email.value).length>1) {
		if (!ValidarDirCorreoElectronico(f.email.value)) {
			alert ("La dirección de correo electronica se ha escrito incorrectamente. Borrela o corrija su error.");
			f.email.focus();
			return false;
		}
	}else{
			alert ("Introduzca su email.");
			f.email.focus();
			return false;
	} 
	if (ignoreSpaces(f.asunto.value).length<1) {
		alert ("Introduzca un asunto.");
		f.asunto.focus();
		return false;
	}			
	if (ignoreSpaces(f.consulta.value).length<1) {
		alert ("Introduzca el contenido de la consulta.");
		f.consulta.focus();
		return false;
	}	
	return true;	
}
function testEmailContactar(name){
	f = document.forms[name];
	if (ignoreSpaces(f.emailContactar.value).length>1) {
		if (!ValidarDirCorreoElectronico(f.emailContactar.value)) {
			alert ("La dirección de correo electronica se ha escrito incorrectamente. Corrija su error.");
			f.emailContactar.focus();
			return false;
		}
	}else{
			alert ("Introduzca un email.");
			f.emailContactar.focus();
			return false;
	} 
	return true;	
}
function testNuevoTitulo(name){
	f = document.forms[name];
	if (ignoreSpaces(f.dni.value).length>1) {
		if (!validarNif(f.dni.value)) {
			alert ("El Dni no es correcto.");
			f.dni.focus();
			return false;
		}
	}else{
			alert ("Introduzca un Dni.");
			f.dni.focus();
			return false;
	} 
	return true;	
}
function testNuevoTituloUsuario(name){
	f = document.forms[name];
	if (!validarFecha(f.fechaFin.value)) {
		alert('Fecha finalización del título0 vacia o errónea.');
		f.fechaFin.focus();
		return false;
	} 
	return true;	
}
function test(name) {
 f = document.forms[name];

	if (ignoreSpaces(f.nombre.value).length<1) {
		alert ("Introduzca su nombre.");
		f.nombre.focus();
		return false;
	}

	if (ignoreSpaces(f.apellidos.value).length<1) {
		alert ("Introduzca sus apellidos.");
		f.apellidos.focus();
		return false;
	}
	
	if (ignoreSpaces(f.direccion.value).length<1) {
		alert ("Introduzca su dirección.");
		f.direccion.focus();
		return false;
	}
	if (ignoreSpaces(f.provincia.value).length<1) {
		alert ("Seleccione su provincia.");
		f.provincia.focus();
		return false;
	}	
	if (ignoreSpaces(f.poblacion.value).length<1) {
		alert ("Introduzca su población.");
		f.poblacion.focus();
		return false;
	}
	if (ignoreSpaces(f.cp.value).length<1) {
		alert ("Introduzca su código postal.");
		f.cp.focus();
		return false;
	}	
	if (ignoreSpaces(f.email.value).length>1) {
		if (!ValidarDirCorreoElectronico(f.email.value)) {
			alert ("La dirección de correo electronica se ha escrito incorrectamente. Borrela o corrija su error.");
			f.email.focus();
			return false;
		}
	}else{
			alert ("Introduzca su email.");
			f.email.focus();
			return false;
	}
	if (!validarFecha(f.fechaNacimiento.value)) {
		alert('Fecha nacimiento vacia o errónea.');
		f.fechaNacimiento.focus();
		return false;
	}
	if (ignoreSpaces(f.sexo.value).length<1) {
		alert ("Seleccione su sexo.");
		f.sexo.focus();
		return false;
	}
	if (ignoreSpaces(f.situacionLaboral.value).length<1) {
		alert ("Seleccione su situación laboral actual.");
		f.situacionLaboral.focus();
		return false;
	}	
return true;		
}
function enviar(formulario) {
if (test(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}
	
}
function enviarRecordar(formulario) {
	if (testRecordar(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function enviarConsulta(formulario) {
	if (testConsulta(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function enviarFoto(formulario) {
	if (testFoto(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function enviarClave(formulario) {
	if (testClave(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function enviarUsuario(formulario) {
	if (testUsuario(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function enviarModificarUsuario(formulario) {
	if (testModificarUsuario(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function enviarEmailContactar(formulario) {
	if (testEmailContactar(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function enviarNuevoTitulo(formulario) {
	if (testNuevoTitulo(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function enviarNuevoTituloUsuario(formulario) {
	if (testNuevoTituloUsuario(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function enviarEmailCurriculum(formulario) {
	if (testEmailCurriculum(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function valida(name) {
	switch (name) { 
    	case "estudio": 
			return validaTitulaciones(name);
		break;
    	case "experiencia": 
			return validaExperiencias(name);
		break;
	    case "conocimiento": 
			return validaConocimientos(name);
		break;		
	}
}
function validaTitulaciones(name) {
 f = document.forms[name];

	if (ignoreSpaces(f.titulacion.value).length<1) {
		alert ("Introduzca la denominación del título.");
		f.titulacion.focus();
		return false;
	}

	if (ignoreSpaces(f.centro.value).length<1) {
		alert ("Introduzca el nombre del centro donde obtuvo el título.");
		f.centro.focus();
		return false;
	}
	
	if (!validarFecha(f.fechaInicio.value)) {
		alert('Fecha inicio vacia o errónea.');
		f.fechaInicio.focus();
		return false;
	}
	if (f.actualmente.value=="0") {
		if (!validarFecha(f.fechaFin.value)) {
			alert('Fecha fin vacia o errónea.');
			f.fechaFin.focus();
			return false;
		}
	}else{
		if (ignoreSpaces(f.fechaFin.value).length>1) {
			alert('Ha de borrar la fecha fin, si esta actualmente realizando la titulación que desea agregar.');
			f.fechaFin.focus();
			return false;						
		}
	}
return true;		
}
function validaExperiencias(name) {
 f = document.forms[name];

	if (ignoreSpaces(f.puesto.value).length<1) {
		alert ("Introduzca el nombre del puesto desempeñado.");
		f.puesto.focus();
		return false;
	}

	if (ignoreSpaces(f.descripcion.value).length<1) {
		alert ("Introduzca la descripcion del puesto desempeñado.");
		f.descripcion.focus();
		return false;
	}
	
	if (ignoreSpaces(f.empresa.value).length<1) {
		alert ("Introduzca nombre de la empresa.");
		f.empresa.focus();
		return false;
	}
		
	if (!validarFecha(f.fechaInicio.value)) {
		alert('Fecha inicio vacia o errónea.');
		f.fechaInicio.focus();
		return false;
	}
	if (f.actualmente.value=="0") {
		if (!validarFecha(f.fechaFin.value)) {
			alert('Fecha fin vacia o errónea.');
			f.fechaFin.focus();
			return false;
		}
	}else{
		if (ignoreSpaces(f.fechaFin.value).length>1) {
			alert('Ha de borrar la fecha fin si esta actualmente desempeñado la experiencia laboral que desea agregar.');
			f.fechaFin.focus();
			return false;						
		}
	}
return true;		
}
function validaConocimientos(name) {
 f = document.forms[name];

	if (ignoreSpaces(f.descripcion.value).length<1) {
		alert ("Introduzca la descripción del conocimiento o hablidad.");
		f.descripcion.focus();
		return false;
	}
	
return true;		
}

function testAdmin(name){
	f = document.forms[name];
	if (ignoreSpaces(f.dni.value).length<1) {
		alert ("Indique el dni del administrador");
		f.dni.focus();
		return false;
	}
	if (ignoreSpaces(f.nombre.value).length<1) {
		alert ("Indique el nombre del administrador");
		f.nombre.focus();
		return false;
	}
	if (ignoreSpaces(f.claveAcceso.value).length<1) {
		alert ("Indique la clave de Acceso del administrador");
		f.claveAcceso.focus();
		return false;
	}	
	return true;		
}
function testEmpr(name){
	f = document.forms[name];
	if (ignoreSpaces(f.dni.value).length<1) {
		alert ("Indique el cif de la empresa");
		f.dni.focus();
		return false;
	}
	if (ignoreSpaces(f.nombre.value).length<1) {
		alert ("Indique el nombre de la empresa");
		f.nombre.focus();
		return false;
	}
	if (ignoreSpaces(f.contacto.value).length<1) {
		alert ("Indique el nombre de la persona de contacto con la empresa");
		f.contacto.focus();
		return false;
	}
	if (ignoreSpaces(f.claveAcceso.value).length<1) {
		alert ("Indique la clave de Acceso de la empresa");
		f.claveAcceso.focus();
		return false;
	}	
	return true;		
}
function testGen(name){
	f = document.forms[name];
	if (ignoreSpaces(f.descripcion.value).length<1) {
		alert ("Indique la descripcion");
		f.descripcion.focus();
		return false;
	}
	return true;		
}

function testOfer(name){
	f = document.forms[name];
	
	if (!validarFecha(f.fechaInicio.value)) {
		alert('Fecha inicio vacia o errónea.');
		f.fechaInicio.focus();
		return false;
	}
	if (!validarFecha(f.fechafin.value)) {
		alert('Fecha finalización vacia o errónea.');
		f.fechafin.focus();
		return false;
	}
	
	if (ignoreSpaces(f.descripcion.value).length<1) {
		alert ("Indique la descripcion de la oferta");
		f.descripcion.focus();
		return false;
	}
	if (ignoreSpaces(f.idTitulo.value).length<1) {
		alert ("Indique el Titulo para la oferta");
		f.idTitulo.focus();
		return false;
	}
		
	return true;		
}
function testTit(name){
	f = document.forms[name];
	if (ignoreSpaces(f.idFamilia.value).length<1) {
		alert ("Indique la familia del titulo");
		f.idFamilia.focus();
		return false;
	}
	if (ignoreSpaces(f.idGrado.value).length<1) {
		alert ("Indique el Grado del titulo");
		f.idGrado.focus();
		return false;
	}
	if (ignoreSpaces(f.descripcion.value).length<1) {
		alert ("Indique el nombre del titulo");
		f.descripcion.focus();
		return false;
	}
	return true;		
}
function testFichero(name){
	f = document.forms[name];
	if (ignoreSpaces(f.descripcion.value).length<1) {
		alert ("Indique la descripcion del Fichero");
		f.descripcion.focus();
		return false;
	}
	if (ignoreSpaces(f.fichero.value).length<1) {
		alert ("Indique el Fichero a subir");
		f.fichero.focus();
		return false;
	}
	return true;		
}
function testTutor(name){
	f = document.forms[name];
	if (ignoreSpaces(f.dni.value).length<1) {
		alert ("Indique el dni del tutor");
		f.dni.focus();
		return false;
	}
	if (ignoreSpaces(f.nombre.value).length<1) {
		alert ("Indique el nombre del tutor");
		f.nombre.focus();
		return false;
	}
	if (ignoreSpaces(f.claveAcceso.value).length<1) {
		alert ("Indique la clave de Acceso del tutor");
		f.claveAcceso.focus();
		return false;
	}	
	if (ignoreSpaces(f.tipo.value).length<1) {
		alert ("Indique el título del tutor");
		f.tipo.focus();
		return false;
	}	
	return true;		
}

function enviarTutor1(formulario) {
	f = document.forms[formulario];
	if (ignoreSpaces(f.nombre.value).length<1) {
		alert ("Indique el nombre del tutor");
		f.nombre.focus();}
	else {
	   f.submit();
	}	
}
function enviarTutor(formulario) {
	if (testTutor(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function enviarAdmin(formulario) {
	if (testAdmin(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function enviarEmpr(formulario) {
	if (testEmpr(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function enviarGen(formulario) {
	if (testGen(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function enviarOfer(formulario) {
	if (testOfer(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function enviarTit(formulario) {
	if (testTit(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function enviarFichero(formulario) {
	if (testFichero(document.forms[formulario].name)) {
		document.forms[formulario].submit();
	}	
}
function renuevo(formulario) {
		f = document.forms[formulario];
		if (f.acepto.checked) {
			 f.submit();}
		else {
		  alert("Debe aceptar la renovación!");
		  f.acepto.focus();
		  return false; }
}
function enviaEsta(formulario) {		
	f = document.forms[formulario];
	if (ignoreSpaces(f.idTitulo.value).length<1 && ignoreSpaces(f.fin.value).length<1) {
		alert ("Indique al menos un criterio para realizar el Gráfico");
		f.idTitulo.focus();
		return false;
	}
	f.submit();		
}
		
