function MM_validateFormIndex() { //v4.0
  var i,p,q,nm,nmtext,test,num,min,max,errors='',args=MM_validateFormIndex.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; 
	       chckd=val.checked;
		   id = val.id;
		   value = val.value;

		if (nm == "firstname"){
			nmtext = "Nombre";
		}
		else if (nm == "years_old"){
			nmtext = "Edad";
		}
		else if (nm == "lastname"){
			nmtext = "Apellidos";
		}
		else if (nm == "NIF"){
			nmtext = "N.I.F.";
		}		
		else if (nm == "country"){
			nmtext = "País";
		}
		else if (nm == "phone"){
			nmtext = "Teléfono";
		}
		else if (nm == "email"){
			nmtext = "Dirección electrónica";
		}	
		else if ((nm == "address") || (nm == "street_address")){
			nmtext = "Dirección";
		}			
		else if (nm == "state"){
			nmtext = "Provincia";
		}						
		else if (nm == "city"){
			nmtext = "Población";
		}		
		else if ((nm == "zipcode") || (nm == "postalcode")){
			nmtext = "Código postal";
		}
		else if (nm == "region"){
			nmtext = "Región";
		}				
		else if ((nm == "password1F") || (nm == "fpassword") || (nm == "fpassword1")){
			nmtext = "Contraseña";
		}				
		else if (nm == "password2F"){
			nmtext = "Comprobación de contraseña";
		}	
		else if ((nm == "usernameF") || (nm == "fusername") || (nm == "fusername1") || (nm == "email1") || (nm == "email") || (nm == "emailR")){
			nmtext = "Correo electrónico";
		}		
		else if (nm == "email1C"){
			nmtext = "Confirmación de correo electrónico";
		}		
		else if (nm == "password_current"){
			nmtext = "Contraseña actual";
		}	
		else if (nm == "password_new"){
			nmtext = "Nueva contraseña";
		}	
		else if (nm == "password_confirmation"){
			nmtext = "Confirmación de contraseña";
		}			
		else if (nm == "consulta"){
			nmtext = "Consulta";
		}			
		else if (nm == "suggeriment"){
			nmtext = "Sugerencia";
		}		
		else if (nm == "yourname"){
			nmtext = "Tu nombre";
		}				
		else if (nm == "yourmail"){
			nmtext = "Tu correo electrónico";
		}				
		else if (nm == "friendname"){
			nmtext = "El nombre de tu amigo";
		}			
		else if (nm == "friendmail"){
			nmtext = "El correo electrónico de tu amigo";
		}	
		else if (nm == "how_many"){
			nmtext = "¿Cuantos sereis?";
		}	
		else if (nm == "city_tupper"){
			nmtext = "Población en la que queréis hacer el tuppersex";
		}
		else if (nm == "day_tupper"){
			nmtext = "Fecha en la que queréis hacer el tuppersex";
		}
		else{
			nmtext = nm;
		}

	if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { 
	p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nmtext+' ha de contener una dirección de correo electrónica válida.\n';
      } 
      else if (test.indexOf('checked')!=-1) { 

		if (id == "iagree"){
        	if (chckd == false) errors+='- Tienes que aceptar las condiciones de uso.\n';
		}
		else if (id == "sexH"){
			if (document.getElementById("sexH").checked == false && document.getElementById("sexD").checked == false){
				errors+='- Sexo es obligatorio.\n';
			}
		}
		
      } 
      else if (test!='R') { 
	num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nmtext+' ha de ser un valor numérico.\n';
        if (test.indexOf('inRange') != -1) { 
		p=test.indexOf(':');
          	min=test.substring(8,p); max=test.substring(p+1);
          	if (num<min || max<num) errors+='- '+nmtext+' ha de ser un valor numérico entre '+min+'  '+max+'.\n';
    	} 
      } 

    } 
    else if (test.indexOf('selected')!=-1) {
		if (id == "day" && document.getElementById("day").value == ""){
			errors+='- Dia de nacimiento es obligatorio.\n';
		}
		if (id == "month" && document.getElementById("month").value == ""){
			errors+='- Mes de nacimiento es obligatorio.\n';
		}
		if (id == "year" && document.getElementById("year").value == ""){
			errors+='- Año de nacimiento es obligatorio.\n';
		}
    }	
	
	else if (test.charAt(0) == 'R') errors += '- '+nmtext+' es obligatorio.\n'; }
  } if (errors) alert('Se han encontrado los siguientes errores:\n'+errors);
  document.MM_returnValue = (errors == '');
}


function checkNIF()
  {

    nifcif = document.form1.NIF.value.substring (0, 1);

    if (EsNumero(nifcif)) {


//    if (document.form1.NIF.value.length==0) 
//    {
//      document.form1.NIF.focus();  
//      alert ("Debe facilitarnos el número de identificación fiscal.");
//      return(false);
//    }
    var letras=0;
    for (var i=0; i<document.form1.NIF.value.length; i++) 
    {
      var ch = document.form1.NIF.value.substring (i, i+1);
      if ( (ch < "0" || ch > "9") && (ch < "a" || ch > "z") && (ch < "A" || ch > "Z") )
      {
        alert("El número de identificación fiscal facilitado es erroneo.");
        document.form1.NIF.value = "";
        document.form1.NIF.focus();

        return(false);
      }
      if ( (ch >= "a" && ch <= "z") || (ch >= "A" && ch <= "Z") )
      {
        letras++;
      }  
    }
    if (letras>2)
    {
      alert("El número de identificación fiscal facilitado es erroneo.");
      document.form1.NIF.value = "";
      document.form1.NIF.focus();
      return(false);
    }

    var numNIF = document.form1.NIF.value.substring(0,8);
    var lletraNIF = document.form1.NIF.value.substring(8,9);

    var cadena = 'TRWAGMYFPDXBNJZSQVHLCKET';
    var posicion = numNIF % 23;

    var lletraNIFOK = cadena.charAt(posicion);

    if (lletraNIF != lletraNIFOK){
      alert("El número de identificación fiscal facilitado es erroneo.");
      document.form1.NIF.value = "";
      document.form1.NIF.focus();
      return(false)
    }

    return true;
 
    }
    else{


	if (validarCIF(document.form1.NIF.value)){
		return(true)
	}
	else{
		alert("El número de identificación fiscal facilitado es erroneo.");
	        document.form1.NIF.value = "";
	        document.form1.NIF.focus();
		return(false)
	}

    }
}
