// JavaScript Document
var sSubAnt = null;
function sVisualiza(objeto,accion){
	document.getElementById(objeto).style.display = accion;
	if(sSubAnt!=null && sSubAnt != document.getElementById(objeto)){
		sSubAnt.style.display = 'none';
	}
	sSubAnt = document.getElementById(objeto);
}
var sPregAnt = null;
var sImgeAnt = null;
function sPreguntas(objeto,accion,imagen){
	document.getElementById(objeto).style.display = accion;
	document.getElementById(imagen).style.backgroundPosition = 'bottom left';
	if( ( sPregAnt!=null && sPregAnt != document.getElementById(objeto) ) || sPregAnt == document.getElementById(objeto) ){
		sPregAnt.style.display = 'none';
		sImgeAnt.style.backgroundPosition = 'top left';
	}
	sPregAnt = ( sPregAnt != document.getElementById(objeto) ) ? document.getElementById(objeto) : null ;
	sImgeAnt = ( sImgeAnt != document.getElementById(imagen) ) ? document.getElementById(imagen) : null ;
}
function sComprueba(){
	if(sSubAnt!=null){
		sSubAnt.style.display = 'none';
	}
	sSubAnt = null;
}
function sCambia(objeto,valor){
	if(valor=="0") document.getElementById(objeto).style.backgroundPosition = 'bottom left';
	if(valor=="1") document.getElementById(objeto).style.backgroundPosition = 'top left';
}

function sMuestra( sBlock , sNone ) {
	
	if(sBlock != null && typeof(sBlock) == 'object' )
		for(i=0;i<sBlock.length;i++) document.getElementById(sBlock[i]).style.display = "block";
	else if(sBlock != null && typeof(sBlock) == 'string' )
		document.getElementById(sBlock).style.display = "block";

	if(sNone != null && typeof(sNone) == 'object' )
		for(i=0;i<sNone.length;i++) document.getElementById(sNone[i]).style.display = "none";
	else if(sNone != null && typeof(sNone) == 'string' ) 
		document.getElementById(sNone).style.display = "block";

}

function sValidar( sForm , sAccion ){	
	var sFalta = "";
	switch (sAccion) {
		case "BUSQUEDA":
			if(IDIOMA == 'es'){
				if(sForm.q.value.length < 3 )
				{sFalta += "\n - Busqueda mínima de 3 caracteres";}
				if(sFalta!="")
				{alert("Por favor, rellene correctamente los siguientes campos:\n"+sFalta);return false;}
			} else {
				if(sForm.q.value.length < 3 )
				{sFalta += "\n - Search 3 characters minimum";}
				if(sFalta!="")
				{alert("Please complete the following fields correctly:\n"+sFalta);return false;}
			}
			break;
		case "CONTACTO":
			if(IDIOMA == 'es'){
				if(sForm.nombre.value.length < 3 )
				{sFalta += "\n - Nombre";}
				if(sForm.apellidos.value.length < 3 )
				{sFalta += "\n - Apellidos";}
				if(sForm.direccion.value.length < 3 )
				{sFalta += "\n - Dirección";}
				if( sValidaCorreo( sForm.correo ) == false)
				{sFalta += "\n - Correo electrónico";}
				if(sForm.telefono.value.length < 7 )
				{sFalta += "\n - Teléfono";}
				if(sForm.movil.value.length < 7 )
				{sFalta += "\n - Teléfono Móvil";}
				if(sFalta!="")
				{alert("Por favor, rellene correctamente los siguientes campos:\n"+sFalta);return false;}
			} else {
				if(sForm.nombre.value.length < 3 )
				{sFalta += "\n - Name";}
				if(sForm.apellidos.value.length < 3 )
				{sFalta += "\n - Surname";}
				if(sForm.direccion.value.length < 3 )
				{sFalta += "\n - Address";}
				if( sValidaCorreo( sForm.correo ) == false)
				{sFalta += "\n - eMail";}
				if(sForm.telefono.value.length < 7 )
				{sFalta += "\n - Telephone";}
				if(sForm.movil.value.length < 7 )
				{sFalta += "\n - Mobile";}
				if(sFalta!="")
				{alert("Please complete the following fields correctly:\n"+sFalta);return false;}
			}
			break;
		case "TRABAJO":
			if(IDIOMA == 'es'){
				if(sForm.nombre.value.length < 3 )
				{sFalta += "\n - Nombre";}
				if(sForm.apellidos.value.length < 3 )
				{sFalta += "\n - Apellidos";}
				if(sForm.direccion.value.length < 3 )
				{sFalta += "\n - Dirección";}
				if( sValidaCorreo( sForm.correo ) == false)
				{sFalta += "\n - Correo electrónico";}
				if(sForm.telefono.value.length < 7 )
				{sFalta += "\n - Teléfono";}
				if(sForm.movil.value.length < 7 )
				{sFalta += "\n - Teléfono Móvil";}
				if(sForm.curriculum.value == ""  )
				{sFalta += "\n - Debes introducir un archivo con tu currículum";}
				var sExte = sForm.curriculum.value.substr(sForm.curriculum.value.lastIndexOf(".")+1,3).toLowerCase();
				if(sExte != "doc" && sExte != "pdf")
				{sFalta += "\n - El currículum adjunto debe estar en formato DOC o PDF";}
				else {sForm.EXTENSION.value = sExte;}
				if(sFalta!="")
				{alert("Por favor, rellene correctamente los siguientes campos:\n"+sFalta);return false;}
			} else {
				if(sForm.nombre.value.length < 3 )
				{sFalta += "\n - Name";}
				if(sForm.apellidos.value.length < 3 )
				{sFalta += "\n - Surname";}
				if(sForm.direccion.value.length < 3 )
				{sFalta += "\n - Address";}
				if( sValidaCorreo( sForm.correo ) == false)
				{sFalta += "\n - eMail";}
				if(sForm.telefono.value.length < 7 )
				{sFalta += "\n - Telephone";}
				if(sForm.movil.value.length < 7 )
				{sFalta += "\n - Mobile";}
				if(sForm.curriculum.value == ""  )
				{sFalta += "\n - You must enter a file with your resume";}
				var sExte = sForm.curriculum.value.substr(sForm.curriculum.value.lastIndexOf(".")+1,3).toLowerCase();
				if(sExte != "doc" && sExte != "pdf")
				{sFalta += "\n - The attached curriculum must be in DOC or PDF";}
				else {sForm.EXTENSION.value = sExte;}
				if(sFalta!="")
				{alert("Please complete the following fields correctly:\n"+sFalta);return false;}
			}
			break;
		case "VALIDACION":
			if(IDIOMA == 'es'){
				if( sValidaCorreo( sForm.correo ) == false)
				{sFalta += "\n - Correo electrónico";}
				if(sForm.password.value.length < 5 )
				{sFalta += "\n - Contrasena";}
				if(sFalta!="")
				{alert("Por favor, rellene correctamente los siguientes campos:\n"+sFalta);return false;}
			} else {
				if( sValidaCorreo( sForm.correo ) == false)
				{sFalta += "\n - eMail";}
				if(sForm.password.value.length < 8 )
				{sFalta += "\n - Password";}
				if(sFalta!="")
				{alert("Please complete the following fields correctly:\n"+sFalta);return false;}
			}
			break;
		case "NEWSLETTER":
			if(IDIOMA == 'es'){
				if( sValidaCorreo( sForm.correo ) == false)
				{sFalta += "\n - Correo electrónico";}
				if(sFalta!="")
				{alert("Por favor, rellene correctamente los siguientes campos:\n"+sFalta);return false;}
			} else {
				if( sValidaCorreo( sForm.correo ) == false)
				{sFalta += "\n - eMail";}
				if(sFalta!="")
				{alert("Please complete the following fields correctly:\n"+sFalta);return false;}
			}
			break;
		case "REGISTRO":
			
			var SEPARATOR = sForm.DNI.value.split("-");
			var STRFINAL = SEPARATOR[0] + SEPARATOR[1];
						
			if(IDIOMA == 'es'){
				if(sForm.nombre.value.length < 3 )
				{sFalta += "\n - Nombre";}
				if(sForm.apellidos.value.length < 3 )
				{sFalta += "\n - Apellidos";}
				if( sValidaCorreo( sForm.correo ) == false)
				{sFalta += "\n - Correo electrónico";}
				if(sForm.empresa.value.length < 3 )
				{sFalta += "\n - Centro de trabajo";}
				if(sForm.titulacion.value.length < 3 )
				{sFalta += "\n - Titulación";}
				if(sForm.especialidad.value.length < 3 )
				{sFalta += "\n - Especialidad";}
				if( sForm.esFarmacia.checked && sForm.DNI.value.length < 10 )
				{sFalta += "\n - NIF / CIF (X-00000000 ó 00000000-X)";}
				if(sFalta!="")
				{alert("Por favor, rellene correctamente los siguientes campos:\n"+sFalta);return false;}
			} else {
				if(sForm.nombre.value.length < 3 )
				{sFalta += "\n - Name";}
				if(sForm.apellidos.value.length < 3 )
				{sFalta += "\n - Surname";}
				if( sValidaCorreo( sForm.correo ) == false)
				{sFalta += "\n - eMail";}
				if(sForm.empresa.value.length < 3 )
				{sFalta += "\n - Job center";}
				if(sForm.titulacion.value.length < 3 )
				{sFalta += "\n - Degree";}
				if(sForm.especialidad.value.length < 3 )
				{sFalta += "\n - Department";}
				if( sForm.esFarmacia.checked && sForm.DNI.value.length < 10  )
				{sFalta += "\n - NIF / CIF";}
				if(sFalta!="")
				{alert("Please complete the following fields correctly:\n"+sFalta);return false;}
			}
			break;
		case "SEGUIMIENTO":
			
			var SEPARATOR = sForm.DNI.value.split("-");
			var STRFINAL = SEPARATOR[0] + SEPARATOR[1];

			
			if(IDIOMA == 'es'){
				if( !STRFINAL.testCIF() && !STRFINAL.testDNI() && !STRFINAL.testNIE()  )
				{sFalta += "\n - NIF / CIF (X-00000000 ó 00000000-X)";}
				if(sFalta!="")
				{alert("Por favor, rellene correctamente los siguientes campos:\n"+sFalta);return false;}
			} else {
				if( !STRFINAL.testCIF() && !STRFINAL.testDNI() && !STRFINAL.testNIE() )
				{sFalta += "\n - NIF / CIF";}
				if(sFalta!="")
				{alert("Please complete the following fields correctly:\n"+sFalta);return false;}
			}
			break;
	}
		
	sForm.submit();
}
// Para validar FECHAS
function sDigito(valor){
	var sCod = valor.charCodeAt(0);
	return ((sCod > 47) && (sCod < 58));
}
function valSep(valor){
	var bOk = false;
	bOk = bOk || ((valor.charAt(2) == "-") && (valor.charAt(5) == "-"));
	bOk = bOk || ((valor.charAt(2) == "/") && (valor.charAt(5) == "/"));
	return bOk;
}
function finMes(valor){
	var nMes = parseInt(valor.substr(3, 2), 10);
	var nRes = 0;
	switch (nMes){
		case 1: nRes = 31; break;
		case 2: nRes = 29; break;
		case 3: nRes = 31; break;
		case 4: nRes = 30; break;
		case 5: nRes = 31; break;
		case 6: nRes = 30; break;
		case 7: nRes = 31; break;
		case 8: nRes = 31; break;
		case 9: nRes = 30; break;
		case 10: nRes = 31; break;
		case 11: nRes = 30; break;
		case 12: nRes = 31; break;
	}
	return nRes;
}
function valDia(valor){
	var bOk = false;
	var nDia = parseInt(valor.substr(0, 2), 10);
	bOk = bOk || ((nDia >= 1) && (nDia <= finMes(valor)));
	return bOk;
}
function valMes(valor){
	var bOk = false;
	var nMes = parseInt(valor.substr(3, 2), 10);
	bOk = bOk || ((nMes >= 1) && (nMes <= 12));
	return bOk;
}
function valAno(valor){
	var bOk = true;
	var nAno = valor.substr(6);
	bOk = bOk && (nAno.length == 4);
	if (bOk){
		for (var i = 0; i < nAno.length; i++){
			bOk = bOk && sDigito(nAno.charAt(i));
		}
	}
	return bOk;
}
function valFecha(valor){
	var bOk = true;
	if (valor.value != ""){
		bOk = bOk && (valAno(valor));
		bOk = bOk && (valMes(valor));
		bOk = bOk && (valDia(valor));
		bOk = bOk && (valSep(valor));
	}
	return bOk;
}

// Para validar correos
function sValidaCorreo( objeto , valor ) {
	if( valor ) var s = valor;
	else var s = objeto.value;
	var filter=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	if ( filter.test(s) ) {
		return true;
	} else {
		return false;
		if( !valor ) s.focus();
	}
}

String.prototype.testCIF = function(){
    var pares = 0;
    var impares = 0;
    var suma;
    var ultima;
    var unumero;
    var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I");
    var xxx;
    
    texto = this.toUpperCase();
    
    var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d{7}[0-9,A-J]$/g);
    if (!regular.exec(texto)) return false;
         
    ultima = texto.substr(8,1);

    for (var cont = 1 ; cont < 7 ; cont ++){
        xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0";
        impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
        pares += parseInt(texto.substr(cont,1));
    }
    xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0";
    impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
     
    suma = (pares + impares).toString();
    unumero = parseInt(suma.substr(suma.length - 1, 1));
    unumero = (10 - unumero).toString();
    if(unumero == 10) unumero = 0;
     
    if ((ultima == unumero) || (ultima == uletra[unumero]))
        return true;
    else
        return false;
}

String.prototype.testDNI = function() {
    dni = this.toUpperCase();
    numero = dni.substr(0,dni.length-1);
    let = dni.substr(dni.length-1,1);
    let = let.toUpperCase();
    numero = numero % 23;
    letra = 'TRWAGMYFPDXBNJZSQVHLCKET';
    lletra = letra.charAt(numero);
    
    return (lletra == let) 
}
 
String.prototype.testNIE = function() {
    var dni = this.toUpperCase();
    var pre = dni.substr(0, 1);
    var prev = '0';
    if (pre == 'X')
       prev = '0';
    else if (pre == 'Y')
       prev = '1';
    else if (pre == 'Z')
       prev = '2';
    numero = prev + dni.substr(1,dni.length-1);
    return numero.testDNI(); 
}

function imprimir(nombre, titulo){
	var ficha = document.getElementById(nombre);
	var ventimp = window.open(' ', 'popimpr', 'toolbar=0,location=0,status=0,menubar=0,scrollbars=0,resizable=0,width=544,height=400,left=0,top=0' );
	ventimp.document.write( '<html>' );
	ventimp.document.write( '<head>' );
	ventimp.document.write( '<title>' + titulo + '</title>' );
	ventimp.document.write( '<link rel="stylesheet" type="text/css" href="estilos.css" media="all">' );
	ventimp.document.write( '</head>' );
	ventimp.document.write( '<body style="background-color:#FFF;background-imagen:none;">' );
	ventimp.document.write( ficha.innerHTML );
	ventimp.document.write( '</body>' );
	ventimp.document.write( '</hmtl>' );
	ventimp.document.close();
	ventimp.print( );
	ventimp.close();
}
function abrir(sURL,sTitulo){
	window.open(sURL, 'ventana', 'toolbar=0,location=0,status=0,menubar=0,scrollbars=1,resizable=0,width=544,height=400,left=0,top=0' );
}
