//
// Funcion validaFecha(dia, mes, anno)
// Entrada:
//    dia    cadena    Dia del mes
//    mes    cadena    Mes del año
//    anno    cadena    Año
// Salida: booleano     Verdadero si la fecha es correcta, falso en caso contrario
//

function validaFecha(dia,mes,anno)
{
  var d,m,a, date, dateActual;

    if(dia=="" || isNaN(dia))
      return false;
      
    d=eval(dia);
    if(d<1 || d>31)
      return false;
     
    if(mes=="" || isNaN(mes))
       return false;
   
    m=eval(mes);
    if(m<1 || m>12)
       return false;
      
    if(anno=="" || isNaN(anno) || anno.length<4)
       return false;
  
    a=eval(anno);
    if(d>diasMes(m,a))
       return false;
      
    dateActual = new Date();
    date = new Date(a,m,d);
   
   
   /* if(date <= dateActual)
        return false;  */
   
    return true;
}

function validaFechaSimple(dia,mes,anno)
{
  var d,m,a, date, dateActual;

    if(dia=="" || isNaN(dia))
      return false;
      
    d=eval(dia);
    if(d<1 || d>31)
      return false;
     
    if(mes=="" || isNaN(mes))
       return false;
   
    m=eval(mes);
    if(m<1 || m>12)
       return false;
      
    if(anno=="" || isNaN(anno) || anno.length<4)
       return false;
  
    a=eval(anno);
    if(d>diasMes(m,a))
       return false;
      
   
    return true;
}

function diasMes(mes,anno)
{
  var meses=[31,28,31,30,31,30,31,31,30,31,30,31];
  var dias=meses[mes-1];
  
    if((mes==2) && (anno % 400)==0 || ((mes==2) && (anno % 4)==0 && (anno % 100)!=0))
      dias=29;
   
    return dias;
}

function dateEqualsTo(date1,date2){
    return ((date1.getDay()==date2.getDay()) && (date1.getMonth()==date2.getMonth()) && (date1.getYear()==date2.getYear()));
}


//
// Funcion validaNIFCIF(nif_cif)
// Entrada:
//    nif_cif    cadena    NIF o CIF
// Salida: booleano     Verdadero si el NIF o CIF es correcto, falso en caso contrario
//
function validaNIFCIF(nif_cif)
{
  var letrasNIF="TRWAGMYFPDXBNJZSQVHLCKE";
  var letra=nif_cif.substr(0,1);
  var dni,nPar,nImpar,i,n;

    if(!isNaN(letra))
    {
        // NIF
    if(nif_cif.length!=9)
      return false;
     
    dni=nif_cif.substr(0,8);   
    if(isNaN(dni))
       return false;
      
    dni=eval(dni) % 23;
    if(letrasNIF.substr(dni,1)!=nif_cif.substr(8,1))
       return false;
      
    return true;
    }
    else
    {
        // CIF
    if(letra<'A' || letra>'H')
       return false;
      
    if(nif_cif.length!=9)
       return false;
      
    if(isNaN(nif_cif.substr(1,8)))
       return false;
      
    nPar=0;
    for(i=2;i<7;i+=2)
      nPar+=eval(nif_cif.substr(i,1));
    nImpar=0;
   
    for(i=1;i<8;i+=2)
    {
          n=2*eval(nif_cif.substr(i,1));
      if(n>9)
        n-=9;
      nImpar+=n;
    }
   
    if( (10-((nPar+nImpar) % 10)) != eval(nif_cif.substr(8,1)) )
       return false;
      
    return true;
    }
}

//
// Funcion validaCorreo(correo)
// Entrada:
//    correo    cadena    Cadena que contiene la dirección email que se tiene que
//                      verificar
// Salida: booleano     Verdadero si la direccion es correcta, falso en caso contrario
//
function validaCorreo(correo)
{
  var pos;
 
   if((pos = correo.indexOf("@")) < 0)
     return false;
   else
     if(correo.indexOf(".",pos) <= pos + 1)
       return false;
     else
       if(correo.substr(correo.lastIndexOf(".")).length > 2)
           return true;
        else
           return false;
}
//-----------------------------------------------------------------------------              

//
// Funcion radioSeleccionado(radio)
// Entrada:
//    radio     array de radiobutton
// Salida: entero     radiobutton seleccionado ó -1 si no hay ninguno seleccionado
//
function radioSeleccionado(radio) {
    for(i=0;i<radio.length;i++)
        if(radio[i].checked) return i;
    return -1;
}


//-----------------------------------------------------------------------------

//
//Function isEmpty(cadena)
//Entrada: cadena String
//Salida: boolean true si la cadena está vacía ó false si no lo está
//
function isEmpty(cadena) {
    var i;
    for(i=0;i<cadena.length;i++)
        if(cadena[i] != ' ') return false;

    return true;
}

//-------------------------------------------------------------------------------

//Funcion validaRangoFecha


function validaRangoFecha(anno1,mes1,dia1,anno2,mes2,dia2)
{
   var result=true;

   if (mes1.length == 1)
        mes1 = "0" + mes1; 

  if (mes2.length == 1)
        mes2 = "0" + mes2;

  if (dia1.length == 1)
        dia1 = "0" + dia1;

if (dia2.length == 1)
        dia2 = "0" + dia2;

   if (anno1==anno2)
   {
      if (mes1==mes2)
      {
         if (dia1>=dia2)
         {
            result=false;
			alert("1");
         }
      }
      else if (mes1>mes2)
      {
         result=false;
			alert("2");
      }
   }
   else if (anno1>anno2)
   {
      result=false;
			alert("3");
			alert("Año 1: " + anno1);
			alert("Año 2: " + anno2);
   }
return result;
}
