function DaError(form_object, input_object, obj_type, mensaje)
{
       alert(mensaje);
       
       if (obj_type == "RADIO" || obj_type == "CHECKBOX") {
            if (input_object[0])
                input_object[0].focus();
            else
                input_object.focus();
        }
        else input_object.focus();
        
        if (obj_type == "TEXT" || obj_type == "PASSWORD") input_object.select();
        return false;
}

function TieneValor(obj, obj_type)
{

    if (obj_type == "TEXT" || obj_type == "PASSWORD" || obj_type == "TEXTAREA")
    {
        
        if ((obj.value.length == 0) || (obj.value.replace(/ /g, '') == ''))
            return false;
        else
            return true;
        }
    else if (obj_type == "SELECT")
    {
        if (obj.selectedIndex == 0)
            return false;
        else
            return true;
    }
    else if (obj_type == "RADIO" || obj_type == "CHECKBOX")
    {
        if (obj[0])
        {
            for (i=0; i < obj.length; i++)
                {
            if (obj[i].checked)
                return true;
            }
        }
        else
        {
            if (obj.checked)
                return true;
            else
                return false;
        }
        return false;
    }
}

function HoraValida(Cadena)
{
    var Hora= new String(Cadena)    // Crea un string
    
    var mm = new String(Hora.substring(Hora.lastIndexOf(":")+1,Hora.length))
    var hh = new String(Hora.substring(0,Hora.indexOf(":")))
    
    if (isNaN(hh)|| parseInt(hh)<0 || parseInt(hh)>23)
    {
        return false
    }
    if (isNaN(mm)|| parseInt(mm)<0 || parseInt(mm)>59)
    {
        return false
    }
    
    return true
}
    
function FechaValida(Cadena)
{
    var Fecha= new String(Cadena)   // Crea un string
    // Cadena Año
    var Ano= new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length))
    // Cadena Mes
    var Mes= new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")))
    // Cadena Día
    var Dia= new String(Fecha.substring(0,Fecha.indexOf("/")))
    
    // Valido el año
    if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900){
        return false
    }
    // Valido el Mes
    if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){
        return false
    }
    // Valido el Dia
    if (isNaN(Dia) || parseFloat(Dia)<1 || parseFloat(Dia)>31){
        //alert ('mal dia');
        return false
    }
    if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {
        if (Mes==2 && Dia > 28 || Dia>30) {
           // alert ('mal mes/dia');
            return false
        }
    }
    return true
}
 
 
function LetraNIF (dni) {
  cadena="TRWAGMYFPDXBNJZSQVHLCKET"
  posicion = dni % 23
  letra = cadena.substring(posicion,posicion+1)
  
  return letra
}

function VerificaNIF(nif)
{
    letra1=nif.substring(nif.length-1,nif.length)
    dni = nif.substring(0, nif.length-1)
    if (!isNaN(dni))
    {
       letra2 = LetraNIF(dni)
       return (letra2==letra1)
    }
    else return false;
}


function VerificaCIF(texto){
        var pares = 0;
        var impares = 0;
        var suma;
        var ultima;
        var unumero;
        var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I");
        var xxx;

        texto = texto.toUpperCase();

        var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g);
         if (!regular.exec(texto)) return false;

         ultima = texto.substr(8,1);

         for (var cont = 1 ; cont < 7 ; cont ++){
             xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0";
             impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));
             pares += parseInt(texto.substr(cont,1));
         }
         xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0";
         impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1));

         suma = (pares + impares).toString();
         unumero = parseInt(suma.substr(suma.length - 1, 1));
         unumero = (10 - unumero).toString();
         if(unumero == 10) unumero = 0;

         if ((ultima == unumero) || (ultima == uletra[unumero]))
             return true;
         else
             return false;

    }


function VerificarEmail(email){
    
    //expresion regular
        var b=/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/

        //comentar la siguiente linea si no se desea que aparezca el alert()
      //  alert("Email "+email + ' -- ' + (b.test(email)?"":"no ") + "válido.")

        //devuelve verdadero si validacion OK, y falso en caso contrario
        return b.test(email)
}

function solonumero(e){
key=(document.all) ? e.keyCode : e.which; //codigo de tecla.
if ((key >= 48 && key <= 57) || key==8 || key==0){//si no es numero
return true;
}
else return false;
}


//Compara Obj1 con obj2 y da error

function fechaMayorOIgualQue(fec0, fec1){
    var bRes = false;
    var sDia0 = fec0.value.substr(0, 2);
    var sMes0 = fec0.value.substr(3, 2);
    var sAno0 = fec0.value.substr(6, 4);
    var sDia1 = fec1.value.substr(0, 2);
    var sMes1 = fec1.value.substr(3, 2);
    var sAno1 = fec1.value.substr(6, 4);
    
    if (sAno0 > sAno1) bRes = true;
    else
    {
     if (sAno0 == sAno1)
     {
       if (sMes0 > sMes1) bRes = true;
       else
       {
         if (sMes0 == sMes1)
         {
             if (sDia0 >= sDia1) bRes = true;
         }
       }
     }
    }
    return bRes;
   }

   // Validacion de ficheros

function comprueba_extension(archivo, extensiones) {
    //extensiones_permitidas = new Array(".gif", ".jpg", ".doc", ".pdf");
   //recupero la extensión de este nombre de archivo
     extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase();
     //compruebo si la extensión está entre las permitidas
     permitida = false;
     for (var i = 0; i < extensiones.length; i++) {
      if (extensiones[i] == extension) {
         permitida = true;
         break;
        }
    }

    return permitida;
}