/*******************************
 Validación del nif. Por Carlitos. carlosbernad@teleline.es
 Si usas este script, deja intactas estas líneas (créditos). Vale?
 También te agradecería un e-mail con tus comentarios.
*******************************/


function isValidCif(abc){
  par = 0;
  non = 0;
  letras = "ABCDEFGHKLMNPQS";
  let = abc.charAt(0);
  if (abc.length!=9) {
    alert('El Cif debe tener 9 dígitos');
    return false;
  }
  if (letras.indexOf(let.toUpperCase())==-1) {
    alert("El comienzo del Cif no es válido");
    return false;
  }
  for (zz=2;zz<8;zz+=2) {
    par = par+parseInt(abc.charAt(zz));
  }
  
  for (zz=1;zz<9;zz+=2) {
    nn = 2*parseInt(abc.charAt(zz));
    if (nn > 9) nn = 1+(nn-10);
      non = non+nn;
    }
  parcial = par + non;
  control = (10 - ( parcial % 10));
  if (control==10) control=0;

  if (control!=abc.charAt(8)) {
    alert("El Cif no es válido");
    return false;
  }
  //alert("El Cif es válido");
  return true;
}

function isValidNif(abc){
  dni=abc.substring(0,abc.length-1);
  let=abc.charAt(abc.length-1);
  
  if (!isNaN(let)) {
    alert('Falta la letra');
    return false;
  }else{
    cadena = "TRWAGMYFPDXBNJZSQVHLCKET";
    posicion = dni % 23;
    letra = cadena.substring(posicion,posicion+1);
    if (letra!=let.toUpperCase()){
      alert("Nif no válido");
      return false;
    }
  }
  //alert("Nif válido")
  return true;
}
 

function isValidEmail(str){
  var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
  return (filter.test(str));
}
 

function isValidTelef(num){
  if(num.length < 9){
    return false;
  }else if(isNaN( num )){
    return false;
  }else{
    return true;
  }
}
 

function isValidDateFormat(str){
  var filter=/^(\d{1,2}\/\d{1,2}\/\d{2})$/i;
  return (filter.test(str));
}

function isAlphaNumeric(str){
  if(trimSpace(str).length == 0 || str.search(/[^a-zA-Z0-9 ]/g) != -1 )
    return false;
  else
    return true;
}