// funciones de validación de formularios (Version 1.1)

function esNumero(s) {
  num=parseFloat(s)
  if (num!=''+s) return false
  return true
}

function esEntero(s) {   
  return !isNaN(s);
}

function esVacio(s){
   return ((s == null) || (s.length == 0));
}

var extras="'-" 
var numeros="0123456789"
var letras_minusculas="aábcdeéfghiíjklmnñoópqrstuúvwxyz"
var letras_mayusculas=letras_minusculas.toUpperCase()
var letras=letras_minusculas+letras_mayusculas

function esNombre (s){
  if (esVacio(s)) return false
  validos = letras+" "+extras
  for (i = 0; i < s.length; i++){   
    c = s.charAt(i);
    if (validos.indexOf(c) == -1) return false;
  }
  return true
}

function esDNI(s) {
  if (s.length<=8) return esEntero(s)
}

function esNIF(s) {
  s=s.replace("-","");
  lo=s.length
  if (lo<2 || lo>9) return false
  dni=s.substring(0,lo-1)
  if (!esDNI(dni)) return false
  letra=new Array("T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E");
  nif=s.substring(lo-1,lo).toUpperCase()
  if (nif!=letra[dni%23]) return false
  return true
}

function esNIF_NIE(s) {
  s=s.replace("-","");
  lo=s.length
  if (lo<2 || lo>9) return false
  dni=s.substring(0,lo-1)
  if (!esDNI(dni)) return false  
  letra=new Array("T","R","W","A","G","M","Y","F","P","D","X","B","N","J","Z","S","Q","V","H","L","C","K","E");
  nif=s.substring(lo-1,lo).toUpperCase()
  if (nif!=letra[dni%23]) return false
  return true
}


function esNIE(s) {
  var regExpNIE = /^[a-zA-Z]{1}[0-9]{7}[a-zA-Z]{1}$/;
  return regExpNIE.test(s);
}

function esEmail(s) {
  if (s=="") return true;
  pb=s.indexOf(' ')
  if (pb!=-1) return false
  p1=s.indexOf('@')
  if (p1<1 || p1==(s.length-1) || p1==-1) return false
  p2=s.indexOf('.');
  if (p2<1 || p2==p1+1 || p2==-1 || p2==(s.length-1)) return false
  return true
}

function esMovil(tel){
  primerdigito="6"
  if (tel.length!=9 || !esEntero(tel) || (primerdigito.indexOf(tel.charAt(0)) == -1)) 
    return false
  return true
}

function esTelefono(tel){
    if (tel=="") return false;
    num = parseInt(tel);
    if (num != '' + tel)
      return false;

    primerdigito = "689";
    if (tel.length!=9 || (primerdigito.indexOf(tel.charAt(0))==-1))
      return false;
    return true;
}

function esCPostal(e) {
  if (e=="99000") return true; //Codigo Postal establecido para Andorra
  num=(e)*1;
  if ((num < 1001) || (num > 52080) || (!esEntero(num)))
    return false;
  return true;
}
