function reset(){
    if(document.autenticacion.userName!=null)
        document.autenticacion.userName.value='';
    if(document.autenticacion.newPassword!=null)
        document.autenticacion.newPassword.value='';
    if(document.autenticacion.newPasswordRep!=null)
        document.autenticacion.newPasswordRep.value='';		
    if(document.autenticacion.name!=null)
        document.autenticacion.name.value='';
    if(document.autenticacion.email!=null)
        document.autenticacion.email.value='';
}

function validar_login(form){
    var errores = "";
    //----- VALIDAR CAMPOS ----- //
    if (form.userName.value == ''){
        //alert('Nombre debe estar informado');
        //return;
        errores=errores.concat("- El nombre de usuario debe estar informado","\n");
    }
    if (form.password.value == ''){
        //alert('Apellidos debe estar informado');
        //return;
        errores=errores.concat("- El password debe estar informado","\n");
    }
    if (errores == "") form.submit();
    else alert(errores);
	
				 
}

function validar_entrar(){
    var errores = "";
    //----- VALIDAR CAMPOS ----- //
    if (document.autenticacion.userName.value == ''){
        //alert('Nombre debe estar informado');
        //return;
        errores=errores.concat("- El nombre de usuario debe estar informado","\n");
    }
    if (document.autenticacion.password.value == ''){
        //alert('Apellidos debe estar informado');
        //return;
        errores=errores.concat("- El password debe estar informado","\n");
    }
    if (document.autenticacion.direccion.value == ''){
        //alert('Apellidos debe estar informado');
        //return;
        errores=errores.concat("- Dirección debe estar informado","\n");
    }
    if (document.autenticacion.cp.value == ''){
        //alert('Código Postal debe estar informado');
        //return;
        errores=errores.concat("- Código Postal debe estar informado","\n");
    } else if( !esNumero( document.autenticacion.cp.value ) ) {
        errores=errores.concat("- Código Postal debe ser numérico","\n");
    }
    if (document.autenticacion.localidad.value == ''){
        //alert('Localidad debe estar informado');
        //return;
        errores=errores.concat("- Localidad debe estar informado","\n");
    }
    //------- validar edad
    if(document.autenticacion.edad.value!="") {
        if (!validarEdad(document.autenticacion.edad, 2, 99)){
            errores=errores.concat("- Edad debe ser entre 2 y 99 años","\n");
        }
    }
    //------- validar email
    var value = document.autenticacion.email.value;
    var laststring = value.substring(value.indexOf("@"),value.length);
    if (document.autenticacion.email.value == ''){
        //alert('Email debe estar informado');
        //return;
        errores=errores.concat("- Email debe estar informado","\n");
    } else {
				
        if(value.indexOf("@") == -1){
            //alert('Email con formato incorrecto');
            //return;
            errores=errores.concat("- Email con formato incorrecto","\n");
        } else if(value.indexOf("@") == 0){
            //alert('Email con formato incorrecto');
            //return;
            errores=errores.concat("- Email con formato incorrecto","\n");
        } else if(laststring.indexOf(".") == -1){
            //alert('Email con formato incorrecto');
            //return;
            errores=errores.concat("- Email con formato incorrecto","\n");
        } else if(laststring.indexOf(".") == 0){
            //alert('Email con formato incorrecto');
            //return;
            errores=errores.concat("- Email con formato incorrecto","\n");
        }
        else if(laststring.charAt(laststring.length-1) == '.'){
            //alert('Email con formato incorrecto');
            //return;
            errores=errores.concat("- Email con formato incorrecto","\n");
        }
    }
    if (document.autenticacion.telefono1.value == ''){
        //alert('Teléfono de contacto 1 debe estar informado');
        //return;
        errores=errores.concat("- Teléfono de contacto 1 debe estar informado","\n");
    } else if( !esNumero( document.autenticacion.telefono1.value ) ) {
        errores=errores.concat("- Teléfono de contacto 1 debe ser numérico","\n");
    }
	
    if( document.autenticacion.telefono2.value != '' && !esNumero(document.autenticacion.telefono2.value) ) {
        errores=errores.concat("- Teléfono de contacto 2 debe ser numérico","\n");
    }
	
    if (document.autenticacion.horario.value == ''){
        //alert('Horario de contacto debe estar informado');
        //return;
        errores=errores.concat("- Horario de contacto debe estar informado","\n");
    }
	
    if (document.autenticacion.acepto.checked == false){
        //alert('Debe aceptar las condiciones de privacidad');
        //return;
        errores=errores.concat("- Debes aceptar las condiciones de privacidad","\n");
    }
    if (errores == "") document.autenticacion.submit();
    else alert(errores);
	
				 
}


function esNumero(numero) {
    return /^\d+$/.test(numero);
}


// Devuelve cierto si el email entrado es válido
function isValidEmail(s) {
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    return reg.test(s);
}

// Devuelve cierto si la cadena entrada está formada por letras y números
function isValidToken(s) {


var reg = /^([A-Za-z0-9])*$/;
var espacios = false;
var cont = 0;
     
while (!espacios && (cont < s.length)) {
if (s.charAt(cont) == " ")
espacios = true;
cont++;
}
if (espacios) {
return false;
}
return reg.test(s);


}

function validarModificarDatos() {
    var f = document.getElementById('formModificacionDatos');
    var m = document.getElementById('msgModificacion');
    var str='';
    if (!isValidEmail(f.email.value)) str += 'La dirección de correo electrónico no es válida. ';
    if (f.newPassword.value != ''){
        if ((f.newPassword.value.length>0 && f.newPassword.value.length<6) || !isValidToken(f.newPassword.value))
            str += 'El password debe estar formado por seis o más letras o números';
        if (f.newPassword.value!=f.newPasswordRep.value)
            str += 'La repetición del password no coincide';
    }
    if (str!='') m.innerHTML=str;
    else f.submit();
}



function validarEnviarDatos() {
    var f = document.getElementById('formPeticionPassword');
    if (f.email.value==null || f.email.value=='') {
        return;
    }
    if (isValidEmail(f.email.value)) f.submit();
}


function validarRegistro() {
    
    var f = document.getElementById('registroForm');
    var correct = true;
    //comprobació de les dades per a l'usuari principal'
    var str='';
    var str1='';
    var str2 = '';
    var str3 = '';
    var str4 = '';
    var str5 = '';
    var entra = true;
    var entra1 = false;
    var entra2 = false;
    var entra3 = false;
    var entra4 = false;
    var entra5 = false;
    
    //if(f.userName.value != '' || f.nif.value != '' || f.email.value != '' || f.name.value != '' || f.password.value != '')
    //    entra = true;
    if(f.userName.value == '' || f.nif.value == '' || f.email.value == '' || f.name.value == '' || f.password.value == '')
                str += 'Todos los campos son requeridos.<br/>';
            if ((f.userName.value.length>0 && f.userName.value.length<6) || !isValidToken(f.userName.value)){
                str += 'El nombre de usuario debe estar formado por seis o más letras o números.<br/>';
                correct = false;
            }
            if(valida_nif_cif_nie(f.nif.value.toUpperCase()) != 1 && valida_nif_cif_nie(f.nif.value.toUpperCase()) != 2 && valida_nif_cif_nie(f.nif.value.toUpperCase()) != 3)
            {
                str += 'El formato del NIF/NIE no es correcto, asegurese de que la letra es la correcta.<br/>';
                correct = false;
            }
            if (!isValidEmail(f.email.value)  && f.email.value.length > 0){
                str += 'La dirección de correo electrónico no es válida.<br/>';
                correct = false;
            }
            if ((f.password.value.length>0 && f.password.value.length<6) || !isValidToken(f.password.value)){
                str += 'El password debe estar formado por seis o más letras o números.<br/>';
                correct = false;
            }
    
            if (f.password.value!=document.getElementById("password2").value){
                str += 'Los passwords no coinciden.<br/>';
                correct = false;
        }
    if(f.userName1){
        if(f.userName1.value != '' || f.email1.value != '' || f.name1.value != '' || f.password1.value != '')
            entra1 = true;
        if(f.userName2.value != '' || f.email2.value != '' || f.name2.value != '' || f.password2h.value != '')
            entra2 = true;
        if(f.userName3.value != '' || f.email3.value != '' || f.name3.value != '' || f.password3.value != '')
            entra3 = true;
        if(f.userName4.value != '' || f.email4.value != '' || f.name4.value != '' || f.password4.value != '')
            entra4 = true;
        if(f.userName5.value != '' || f.email5.value != '' || f.name5.value != '' || f.password5.value != '')
            entra5 = true;
    }
    //if(entra){
        
    //}
    //comprobem el primer usuari
    if(f.userName1){
        if(entra1)
        {

            if(f.userName1.value == '' || f.email1.value == '' || f.name1.value == '' || f.password1.value == '')
                str1 += 'Todos los campos son requeridos.<br/>';
            if ((f.userName1.value.length>0 && f.userName1.value.length<6) || !isValidToken(f.userName1.value)){
                str1 += 'El nombre de usuario debe estar formado por seis o más letras o números.<br/>';
                correct = false;
            }
            if (!isValidEmail(f.email1.value)  && f.email1.value.length > 0){
                str1 += 'La dirección de correo electrónico no es válida.<br/>';
                correct = false;
            }
            if ((f.password1.value.length>0 && f.password1.value.length<6) || !isValidToken(f.password1.value)){
                str1 += 'El password debe estar formado por seis o más letras o números.<br/>';
                correct = false;
            }

            if (f.password1.value!=document.getElementById("password21").value){
                str1 += 'Los passwords no coinciden.<br/>';
                correct = false;
            }
        }
    }
    if(f.userName2){
        if(entra2){
            //comprobem el segon usuari
            if(f.userName2.value == '' || f.email2.value == '' || f.name2.value == '' || f.password2.value == '')
                str2 += 'Todos los campos son requeridos.<br/>';
            if ((f.userName2.value.length>0 && f.userName2.value.length<6) || !isValidToken(f.userName2.value)){
                str2 += 'El nombre de usuario debe estar formado por seis o más letras o números.<br/>';
                correct = false;
            }
            if (!isValidEmail(f.email2.value)  && f.email2.value.length > 0){
                str2 += 'La dirección de correo electrónico no es válida.<br/>';
                correct = false;
            }
            if ((f.password2h.value.length>0 && f.password2h.value.length<6) || !isValidToken(f.password2h.value)){
                str2 += 'El password debe estar formado por seis o más letras o números.<br/>';
                correct = false;
            }

            if (f.password2h.value!=document.getElementById("password22").value){
                str2 += 'Los passwords no coinciden.<br/>';
                correct = false;
            }
        }
    }
    if(f.userName3){
        if(entra3)
        {
            if(f.userName3.value == '' || f.email3.value == '' || f.name3.value == '' || f.password3.value == '')
                str3 += 'Todos los campos son requeridos.<br/>';
            //comprobem l'usuari 3'
            if ((f.userName3.value.length>0 && f.userName3.value.length<6) || !isValidToken(f.userName3.value)){
                str3 += 'El nombre de usuario debe estar formado por seis o más letras o números.<br/>';
                correct = false;
            }
            if (!isValidEmail(f.email3.value)  && f.email3.value.length > 0){
                str3 += 'La dirección de correo electrónico no es válida.<br/>';
                correct = false;
            }
            if ((f.password3.value.length>0 && f.password3.value.length<6) || !isValidToken(f.password3.value)){
                str3 += 'El password debe estar formado por seis o más letras o números.<br/>';
                correct = false;
            }

            if (f.password.value!=document.getElementById("password23").value){
                str3 += 'Los passwords no coinciden.<br/>';
                correct = false;
            }
        }
    }
    if(f.userName4){
        if(entra4){
            if(f.userName4.value == '' || f.email4.value == '' || f.name4.value == '' || f.password4.value == '')
                str4 += 'Todos los campos son requeridos.<br/>';
            //comprovem el usuari 4
            if ((f.userName4.value.length>0 && f.userName4.value.length<6) || !isValidToken(f.userName4.value)){
                str4 += 'El nombre de usuario debe estar formado por seis o más letras o números.<br/>';
                correct = false;
            }
            if (!isValidEmail(f.email4.value)  && f.email4.value.length > 0){
                str4 += 'La dirección de correo electrónico no es válida.<br/>';
                correct = false;
            }
            if ((f.password4.value.length>0 && f.password4.value.length<6) || !isValidToken(f.password4.value)){
                str4 += 'El password debe estar formado por seis o más letras o números.<br/>';
                correct = false;
            }

            if (f.password4.value!=document.getElementById("password24").value){
                str4 += 'Los passwords no coinciden.<br/>';
                correct = false;
            }
        }
    }
    //comprovm l'usuari5
    if(f.userName5){
        if(entra5)
        {
            if(f.userName5.value == '' || f.email5.value == '' || f.name5.value == '' || f.password5.value == '')
                str5 += 'Todos los campos son requeridos.<br/>';
            if ((f.userName5.value.length>0 && f.userName5.value.length<6) || !isValidToken(f.userName5.value)){
                str5 += 'El nombre de usuario debe estar formado por seis o más letras o números.<br/>';
                correct = false;
            }
            if (!isValidEmail(f.email5.value) && f.email5.value.length > 0){
                str5 += 'La dirección de correo electrónico no es válida.<br/>';
                correct = false;
            }
            if ((f.password5.value.length>0 && f.password5.value.length<6) || !isValidToken(f.password5.value)){
                str5 += 'El password debe estar formado por seis o más letras o números.<br/>';
                correct = false;
            }

            if (f.password5.value!=document.getElementById("password25").value){
                str5 += 'Los passwords no coinciden.<br/>';
                correct = false;
            }
        }
    }
    //comprobem els noms d'usuari que no es repeteixquen
    //comprobem que el usuari principal no coincideix amb el usuari 1,2, 3,4 o 5
    if(f.userName1){
        if(f.userName.value == f.userName1.value  && f.userName1.value !='' && f.userName1.value !='' && entra && entra1)
        {
            str1 += 'El nombre de usuario del usuario principal no puede coincidir con este nombre de usuario.<br/>';
            str += 'El nombre de usuario del autorizado número 1 no puede coincidir con este.<br/>';
            correct = false;
        }
    
        if(f.userName.value == f.userName2.value  && f.userName.value !='' && f.userName2.value !='' && entra && entra2)
        {
            str2 += 'El nombre de usuario del usuario principal no puede coincidir con este.<br/>';
            str += 'El nombre de usuario del autorizado número 2 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.userName.value == f.userName3.value  && f.userName.value !='' && f.userName3.value !='' && entra && entra3)
        {
            str1 += 'El nombre de usuario del usuario principal no puede coincidir con este.<br/>';
            str += 'El nombre de usuario del autorizado número 3 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.userName.value == f.userName4.value  && f.userName.value !='' && f.userName4.value !='' && entra && entra4)
        {
            str1 += 'El nombre de usuario del usuario principal no puede coincidir con este.<br/>';
            str += 'El nombre de usuario del autorizado número 4 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.userName.value == f.userName5.value  && f.userName.value !='' && f.userName5.value !='' && entra && entra5)
        {
            str1 += 'El nombre de usuario del usuario principal no puede coincidir con este.<br/>';
            str += 'El nombre de usuario del autorizado número 5 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.userName1.value == f.userName2.value  && f.userName1.value !='' && f.userName2.value !='' && entra1 && entra2)
        {
            str1 += 'El nombre de usuario del autorizado número 2 no puede coincidir con este.<br/>';
            str2 += 'El nombre de usuario del autorizado número 1 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.userName1.value == f.userName3.value  && f.userName1.value !='' && f.userName3.value !='' && entra1 && entra3)
        {
            str1 += 'El nombre de usuario del autorizado número 3 no puede coincidir con este.<br/>';
            str3 += 'El nombre de usuario del autorizado número 1 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.userName1.value == f.userName4.value  && f.userName1.value !='' && f.userName4.value !='' && entra1 && entra4)
        {
            str1 += 'El nombre de usuario del autorizado número 4 no puede coincidir con este.<br/>';
            str4 += 'El nombre de usuario del autorizado número 1 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.userName1.value == f.userName5.value  && f.userName1.value !='' && f.userName5.value !='' && entra1 && entra5)
        {
            str1 += 'El nombre de usuario del autorizado número 5 no puede coincidir con este.<br/>';
            str5 += 'El nombre de usuario del autorizado número 1 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.userName2.value == f.userName3.value  && f.userName2.value !='' && f.userName3.value !='' && entra2 && entra3)
        {
            str2 += 'El nombre de usuario del autorizado número 3 no puede coincidir con este.<br/>';
            str3 += 'El nombre de usuario del autorizado número 2 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.userName2.value == f.userName4.value  && f.userName2.value !='' && f.userName4.value !='' && entra2 && entra4)
        {
            str2 += 'El nombre de usuario del autorizado número 4 no puede coincidir con este.<br/>';
            str4 += 'El nombre de usuario del autorizado número 2 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.userName2.value == f.userName5.value  && f.userName2.value !='' && f.userName5.value !='' && entra2 && entra5)
        {
            str2 += 'El nombre de usuario del autorizado número 5 no puede coincidir con este.<br/>';
            str5 += 'El nombre de usuario del autorizado número 2 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.userName3.value == f.userName4.value && f.userName3.value !='' && f.userName4.value !='' && entra3 && entra4)
        {
            str3 += 'El nombre de usuario del autorizado número 4 no puede coincidir con este.<br/>';
            str4 += 'El nombre de usuario del autorizado número 3 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.userName3.value == f.userName5.value && f.userName3.value !='' && f.userName5.value !='' && entra3 && entra5)
        {
            str3 += 'El nombre de usuario del autorizado número 5 no puede coincidir con este.<br/>';
            str5 += 'El nombre de usuario del autorizado número 3 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.userName4.value == f.userName5.value  && f.userName4.value !='' && f.userName5.value !='' && entra4 && entra5)
        {
            str4 += 'El nombre de usuario del autorizado número 5 no puede coincidir con este.<br/>';
            str5 += 'El nombre de usuario del autorizado número 4 no puede coincidir con este.<br/>';
            correct = false;
        }
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		if(f.email.value == f.email1.value  && f.email1.value !='' && f.email1.value !='' && entra && entra1)
        {
            str1 += 'El email del usuario principal no puede coincidir con este email.<br/>';
            str += 'El email del autorizado número 1 no puede coincidir con este.<br/>';
            correct = false;
        }
    
        if(f.email.value == f.email2.value  && f.email.value !='' && f.email2.value !='' && entra && entra2)
        {
            str2 += 'El email del usuario principal no puede coincidir con este.<br/>';
            str += 'El email del autorizado número 2 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.email.value == f.email3.value  && f.email.value !='' && f.email3.value !='' && entra && entra3)
        {
            str1 += 'El email del usuario principal no puede coincidir con este.<br/>';
            str += 'El email del autorizado número 3 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.email.value == f.email4.value  && f.email.value !='' && f.email4.value !='' && entra && entra4)
        {
            str1 += 'El email del usuario principal no puede coincidir con este.<br/>';
            str += 'El email del autorizado número 4 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.email.value == f.email5.value  && f.email.value !='' && f.email5.value !='' && entra && entra5)
        {
            str1 += 'El email del usuario principal no puede coincidir con este.<br/>';
            str += 'El email del autorizado número 5 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.email1.value == f.email2.value  && f.email1.value !='' && f.email2.value !='' && entra1 && entra2)
        {
            str1 += 'El email del autorizado número 2 no puede coincidir con este.<br/>';
            str2 += 'El email del autorizado número 1 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.email1.value == f.email3.value  && f.email1.value !='' && f.email3.value !='' && entra1 && entra3)
        {
            str1 += 'El email del autorizado número 3 no puede coincidir con este.<br/>';
            str3 += 'El email del autorizado número 1 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.email1.value == f.email4.value  && f.email1.value !='' && f.email4.value !='' && entra1 && entra4)
        {
            str1 += 'El email del autorizado número 4 no puede coincidir con este.<br/>';
            str4 += 'El email del autorizado número 1 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.email1.value == f.email5.value  && f.email1.value !='' && f.email5.value !='' && entra1 && entra5)
        {
            str1 += 'El email del autorizado número 5 no puede coincidir con este.<br/>';
            str5 += 'El email del autorizado número 1 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.email2.value == f.email3.value  && f.email2.value !='' && f.email3.value !='' && entra2 && entra3)
        {
            str2 += 'El email del autorizado número 3 no puede coincidir con este.<br/>';
            str3 += 'El email del autorizado número 2 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.email2.value == f.email4.value  && f.email2.value !='' && f.email4.value !='' && entra2 && entra4)
        {
            str2 += 'El email del autorizado número 4 no puede coincidir con este.<br/>';
            str4 += 'El email del autorizado número 2 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.email2.value == f.email5.value  && f.email2.value !='' && f.email5.value !='' && entra2 && entra5)
        {
            str2 += 'El email del autorizado número 5 no puede coincidir con este.<br/>';
            str5 += 'El email del autorizado número 2 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.email3.value == f.email4.value && f.email3.value !='' && f.email4.value !='' && entra3 && entra4)
        {
            str3 += 'El email del autorizado número 4 no puede coincidir con este.<br/>';
            str4 += 'El email del autorizado número 3 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.email3.value == f.email5.value && f.email3.value !='' && f.email5.value !='' && entra3 && entra5)
        {
            str3 += 'El email del autorizado número 5 no puede coincidir con este.<br/>';
            str5 += 'El email del autorizado número 3 no puede coincidir con este.<br/>';
            correct = false;
        }
        if(f.email4.value == f.email5.value  && f.email4.value !='' && f.email5.value !='' && entra4 && entra5)
        {
            str4 += 'El email del autorizado número 5 no puede coincidir con este.<br/>';
            str5 += 'El email del autorizado número 4 no puede coincidir con este.<br/>';
            correct = false;
        }
    }
	
	
        
    
    /*
    if ( (f.usrTrj.value.length>0 && f.usrTrj.value.length<6) || !isValidToken(f.usrTrj.value) ||
         (f.pwdTrj.value.length>0 && f.pwdTrj.value.length<6) || !isValidToken(f.pwdTrj.value)  )
        str += 'Los datos del tarjetón son incorrectos';
 */
    if(str != '' || str1 != '' || str2 != '' || str3 != '' || str4 != '' || str5 != '')
    {
        document.getElementById('msgRegistro').innerHTML=str;
        if(f.userName1){
            document.getElementById('msgRegistro1').innerHTML=str1;
            document.getElementById('msgRegistro2').innerHTML=str2;
            document.getElementById('msgRegistro3').innerHTML=str3;
            document.getElementById('msgRegistro4').innerHTML=str4;
            document.getElementById('msgRegistro5').innerHTML=str5;
        }
    }
    else f.submit();
}

//Retorna: 1 = NIF ok, 2 = CIF ok, 3 = NIE ok, -1 = NIF error, -2 = CIF error, -3 = NIE error, 0 = ??? error
function valida_nif_cif_nie(a) 
{
    var temp=a.toUpperCase();
    var cadenadni="TRWAGMYFPDXBNJZSQVHLCKE";
 
    if (temp!==''){
        //si no tiene un formato valido devuelve error
        if ((!/^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$/.test(temp) && !/^[T]{1}[A-Z0-9]{8}$/.test(temp)) && !/^[0-9]{8}[A-Z]{1}$/.test(temp))
        {
            return 0;
        }
 
        //comprobacion de NIFs estandar
        if (/^[0-9]{8}[A-Z]{1}$/.test(temp))
        {
            posicion = a.substring(8,0) % 23;
            letra = cadenadni.charAt(posicion);
            var letradni=temp.charAt(8);
            if (letra == letradni)
            {
                return 1;
            }
            else
            {
                return -1;
            }
        }
 
        //algoritmo para comprobacion de codigos tipo CIF
        suma = parseInt(a[2])+parseInt(a[4])+parseInt(a[6]);
        for (i = 1; i < 8; i += 2)
        {
            temp1 = 2 * parseInt(a[i]);
            temp1 += '';
            temp1 = temp1.substring(0,1);
            temp2 = 2 * parseInt(a[i]);
            temp2 += '';
            temp2 = temp2.substring(1,2);
            if (temp2 == '')
            {
                temp2 = '0';
            }
 
            suma += (parseInt(temp1) + parseInt(temp2));
        }
        suma += '';
        n = 10 - parseInt(suma.substring(suma.length-1, suma.length));
 
        //comprobacion de NIFs especiales (se calculan como CIFs)
        if (/^[KLM]{1}/.test(temp))
        {
            if (a[8] == String.fromCharCode(64 + n))
            {
                return 1;
            }
            else
            {
                return -1;
            }
        }
 
        //comprobacion de CIFs
        if (/^[ABCDEFGHJNPQRSUVW]{1}/.test(temp))
        {
            temp = n + '';
            if (a[8] == String.fromCharCode(64 + n) || a[8] == parseInt(temp.substring(temp.length-1, temp.length)))
            {
                return 2;
            }
            else
            {
                return -2;
            }
        }
 
        //comprobacion de NIEs
        //T
        if (/^[T]{1}/.test(temp))
        {

            if (a[8] == /^[T]{1}[A-Z0-9]{8}$/.test(temp))
            {
                return 3;
            }
            else
            {
                return -3;
            }
        }
 
        //XYZ
        if (/^[XYZ]{1}/.test(temp))
        {
            pos = str_replace(['X', 'Y', 'Z'], ['0','1','2'], temp).substring(0, 8) % 23;
            if (a[8] == cadenadni.substring(pos, pos + 1))
            {
                return 3;
            }
            else
            {
                return -3;
            }
        }
    }
 
    return 0;
}
function str_replace(search, replace, subject) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Gabriel Paderni
    // +   improved by: Philip Peterson
    // +   improved by: Simon Willison (http://simonwillison.net)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   bugfixed by: Anton Ongson
    // +      input by: Onno Marsman
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +    tweaked by: Onno Marsman
    // *     example 1: str_replace(' ', '.', 'Kevin van Zonneveld');
    // *     returns 1: 'Kevin.van.Zonneveld'
    // *     example 2: str_replace(['{name}', 'l'], ['hello', 'm'], '{name}, lars');
    // *     returns 2: 'hemmo, mars'

    var f = search, r = replace, s = subject;
    var ra = r instanceof Array, sa = s instanceof Array, f = [].concat(f), r = [].concat(r), i = (s = [].concat(s)).length;

    while (j = 0, i--) {
        if (s[i]) {
            while (s[i] = s[i].split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
        }
    };

    return sa ? s : s[0];
}
function checkIt(evt) 
{ 
    var evt = (evt) ? evt : event
    var charCode = (evt.which) ? evt.which : evt.keyCode;
    if (charCode==13) {
        var f = document.getElementById('submit1');
        f.click();
    }
    return
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
    window.open(theURL,winName,features);
}
