/************************************************************************************************************
libreria: validacion.js
fecha creación:25/10/2001
autor:David Rodrigo
fecha modificación:25/10/2001
autor modificación:David Rodrigo
************************************************************************************************************/
function EsVacio(val) {
    return ((val == null) || (val.length == 0));
}
function EsNumerico(val) {
    num = parseFloat(val);
    if (val!=''+num) return false;
    return true;
}

function EsLetra(val) {
    return ( ((val >= "a") && (val <= "z")) || ((val >= "A") && (val <= "Z")) );
}

function EsDigito(val) {
    return ((val >= "0") && (val <= "9"));
}

function EsDigitos(val) {
    for(i=0;i<val.length;i++){
        if(!EsDigito(val.charAt(i))) return false;
    }
    return true;
}    

function MinCaracteres(val,num) {
    return !(val.length<num);
}

function EsEmail(val) {
    arroba = val.lastIndexOf('@');

    if ( arroba < 1 )
        return false;
    else {
    punto = val.indexOf('.', arroba);
      if ( punto < arroba + 2 ||
         punto > val.length - 2 ) {
         return false;
      }
   }
   return true;
}

function EsCIFNIF(val) {
    val = val.toUpperCase()
    if (val.charAt(0) == 'X' || EsDigito(val.charAt(0)) )
        return EsNIF(val)
    else
        return EsCIF(val);
}

function EsNIF(val) {
    val = val.toUpperCase()
    var LetrasNIF = "TRWAGMYFPDXBNJZSQVHLCKE"
    
    if (!MinCaracteres(val,8)) return false;
    Letra = val.charAt(val.length-1);
    if (LetrasNIF.indexOf(Letra) == -1) return false;
    if (val.charAt(0) == 'X')
       Numero = val.substring(1,val.length-1)
    else
       Numero = val.substring(0,val.length-1);
    if (!EsDigitos(Numero)) return false;
    Numero = parseInt(Numero,10)
    Indice = Numero-(parseInt(Numero/23,10)*23);
    if (Letra != LetrasNIF.charAt(Indice)) return false;
    return true;
}

function EsCIF(val) {
    val = val.toUpperCase();
    var LetrasCIF = "ABCDEFGHNPSQ";
    var LetrasOrganismos = "JABCDEFGHI";
    var Organismo = false;
    
    if (!MinCaracteres(val,9)) return false;
    var Letra = val.charAt(0);
    if (LetrasCIF.indexOf(Letra) == -1) return false;
    if (Letra == 'P' || Letra == 'Q' || Letra == 'S') Organismo = true;
    if (!EsDigitos(val.substr(1,val.length-2))) return false;
    var CodigoControl = val.charAt(val.length-1)

    Suma1 = parseInt( val.charAt(2), 10) + parseInt( val.charAt(4), 10) + parseInt(val.charAt(6), 10 );
    Suma2 = 0;
    for( var i = 1; i < 8; i += 2) {
         Aux = parseInt(val.charAt(i), 10) * 2;
         if (Aux > 9) 
            Suma2 = Suma2 + parseInt(Aux / 10, 10) + Aux % 10
         else
            Suma2 = Suma2 + Aux;
    }
    Suma = Suma1 + Suma2;
    Codigo = 10 - Suma % 10;
    if( Codigo > 9) Codigo = 0;
    
    if (!Organismo) {
       if (Codigo != parseInt(CodigoControl, 10)) return false; }
    else {
       if (LetrasOrganismos.charAt(Codigo) != CodigoControl ) return false; }
    
    return true;
}



function darFormatoTexto(obj){
cadena=obj.value;
cadena=cadena.replace(/[\r]/g,"<br>");
cadena=cadena.replace(/<br><br>/g,"<br>");
obj.value=cadena;
}
