function validarNIF(nif){
if (nif.length!=9) return false;
letras = new Array();
  letras[0]  = "T";
  letras[1]  = "R";
  letras[2]  = "W";
  letras[3]  = "A";
  letras[4]  = "G";
  letras[5]  = "M";
  letras[6]  = "Y";
  letras[7]  = "F";
  letras[8]  = "P";
  letras[9]  = "D";
  letras[10] = "X";
  letras[11] = "B";
  letras[12] = "N";
  letras[13] = "J";
  letras[14] = "Z";
  letras[15] = "S";
  letras[16] = "Q";
  letras[17] = "V";
  letras[18] = "H";
  letras[19] = "L";
  letras[20] = "C";
  letras[21] = "K";
  letras[22] = "E";

  ok = true;
  primerDigito = nif.charAt(0);
  if (primerDigito=='X'){
  	empiezaX = true;
  	nif = nif.substring(1,nif.length);
  }else if (primerDigito=='Y'){
  	empiezaX = true;
  	nif = "1" + nif.substring(1,nif.length);
  }else if (primerDigito=='Z'){
  	empiezaX = true;
  	nif = "2" + nif.substring(1,nif.length);
  }else{
  	empiezaX = false;
  }
  dni=nif.substring(0,nif.length-1);
  letra=nif.charAt(nif.length-1);
  letraCorrecta = letras[ dni % 23];
  if (dni > 99999999){
    ok = false;
  } else if (!((letra>='A')&&(letra<='Z'))){
    ok = false;
  } else if(letra!=letraCorrecta) {
    ok = false;
  }
  if (ok) {
    return true;
  }else{
     return false;
  }
}
