function TieneDatos(dato)
{
   if (dato == "") return(false);
   var espacios, caracter;
   var i;	
   espacios = 0;
   for (i==0;i<=(dato.length - 1);i++)
   {
      caracter=dato.charAt(i);
      if (caracter == " ")
         espacios = espacios++;
   }   
   if (espacios == dato.length )
   {
      return(false);     
   }
   return(true);
}

function ValidarTexto(obj)
{
   var caracter;
   var texto;
   var i;
   texto = obj.value;
   if (!TieneDatos(texto)) 
   {
      obj.focus();
      return(false);
   } 
   for (i=0;i<=(texto.length -1); i++)
   {
       caracter = texto.charAt(i);
       if (! (((caracter >= "a") && (caracter <= "z")) || ((caracter >= "A") && (caracter <= "Z")) ||
          (caracter == "_") || (caracter == "ñ") || (caracter == "Ñ") ||(caracter == "ª") || (caracter == "º") ||
          (caracter == "á") || (caracter == "é") || (caracter == "í") || (caracter == "ó") || (caracter >= "ú") ||
          (caracter == "Á") || (caracter == "É") || (caracter == "Í") || (caracter == "Ó") || (caracter >= "Ú") ||
          (caracter == "ü") || (caracter == ",") || (caracter == ".") || (caracter == "/") || (caracter == "'")  ||
          (caracter == " ") ))
       {
             obj.focus();
             return(false); 
       }
   }
       return(true); 
}

function ValidarEntero(obj)
{
   
   var caracter;
   var entero;
   var i;
   entero = obj.value;
   if (!TieneDatos(entero)) 
   {
      obj.focus();
      return(false);
   }     
   for (i=0;i<=(entero.length - 1); i++)
   {
       caracter = entero.charAt(i);
       if (! ((caracter >= "0") && (caracter <= "9"))) 
       {
          obj.focus();
          return(false); 
       }
   }
   return(true);
}

function ValidarEnteroTexto(dato)
{
   var caracter;
   var i;
   for (i=0;i<=(dato.length - 1); i++)
   {
       caracter = dato.charAt(i);
       if (! ((caracter >= "0") && (caracter <= "9"))) 
          return(false); 
   }
   return(true);
}

function ValidarCorreo(obj)
{
   var correo;
   correo = obj.value;
   if (!TieneDatos(correo)) 
   {
      obj.focus();
      return(false);
   }     
   var arroba1= correo.indexOf("@");
   var arroba2= correo.lastIndexOf("@");

   if ( (arroba1 == -1) || (arroba1 != arroba2) )
   {
      obj.focus();
      return(false); 
   }
   var strAntes, strDespues;
   strAntes =correo.substring(0, arroba1);
   strDespues =correo.substring((arroba1+1),correo.length);
   if ((strAntes.length == 0) || (strDespues.length == 0))
   {
      obj.focus();
      return(false); 
   }	
   var punto = correo.indexOf(".");
   strDespues =correo.substring((punto+1),correo.length);
   if (strDespues.length > 3)
   {
      obj.focus();
      return(false); 
   }	
   if ( (punto - arroba1) == 1)
   {
      obj.focus();
      return(false); 
   }	

   return(true);
}

function ValidarDecimal(obj)
{
   var decimal;
   decimal=obj.value;
   if (!TieneDatos(decimal))
   {
      obj.focus();
      return(false);
   }
   var coma1, coma2;
   coma1= decimal.indexOf(",");
   coma2= decimal.LastindexOf(",");
   if (!(coma1 == coma2))
   {
      obj.focus();
      return(false);  
   }
   var parteEntera, parteDecimal;
   parteEntera = decimal.substring(0,coma1);
   parteDecimal = decimal.substring((coma1+1), decimal.length);
   if ((!ValidarEntero(parteEntera)) || (!ValidarEntero(parteDecimal)))
        {
           obj.focus();
           return(false);
        }
}
function Bisiesto(nAnio)
{
  if(((nAnio % 4 == 0) && nAnio % 100 != 0) || nAnio % 400 == 0 )
   return (false);
}
function ValidarFecha(obj)
{
   var fec;
   fec=obj.value;
   if (!TieneDatos(fec))
   {
      obj.focus();
      return(false);
   }
   var barra1, barra2;
   barra1=fec.indexOf("/");
   barra2=fec.lastIndexOf("/");	
   if ((barra1 == - 1) || (barra2 == -1) || (barra1==0) || (barra1 == barra2) || ((barra1+1) == barra2) || ((barra2+1) = fec.length) )
   {
      obj.focus();
      return(false);
   }

   var strDia, strMes, strAno;
   strDia = fec.substring(0,barra1);
   strMes = fec.substring((barra1+1),barra2); 
   strMes = fec.substring((barra2+1),fec.length); 

   if ((strDia == "0") || (strMes == "0") || (strDia == "00") || (strMes == "00"))
   {
      obj.focus();
      return(false);
   }
   if(strAno.length != 4)
   {
      obj.focus();
      return(false);
   }

  if (fec.substring(0,1) == "0")
      strDia = fec.substring(1,barra1);   
   else
      strDia = fec.substring(0,barra1);
      
   if (fec.substring((barra1+1),(barra1+2)) == "0")
      strMes = fec.substring((barra1+2),barra2);   
   else
      strMes = fec.substring((barra1+1),barra2);

   if (fec.substring((barra2+1),(barra2+2)) == "0")
   {
       if (fec.substring((barra2+2),(barra2+3)) == "0")           
       {
          if (fec.substring((barra2+3),(barra2+4)) == "0")           
          {
             strAno = fec.substring((barra2+4), fec.length)
          }
          else
          { 
              strAno = fec.substring((barra2+3), fec.length)
          }
       } 
       else
       { 
          strAno = fec.substring((barra2+2), fec.length)
       }      
   }    
   else
   { 
       strAno = fec.substring((barra2+1), fec.length)
   }

   if ((!ValidarEntero(strDia)) || (!ValidarEntero(strMes)) || (!ValidarEntero(strAno)))
   {
      obj.focus();
      return(false);		
   }

   var intDia, intMes, intAno;
   intDia = parseInt(strDia);
   intMes = parseInt(strMes);
   intAno = parseInt(strAno)
   var correcto = true;
   if ((intMes == 4) || (intMes == 6) || (intMes == 9) || (intMes == 11))
   {
      if (intDia>30) 
      {
         correcto = false;  
      }
   }
   else
   {
      if (intMes != 2 )
      {
         if (intDia>30) 
         {
            correcto = false;  
         }
      }   
      else
      {
         if (bisiesto(intAnio)) 
         {
            if (intDia > 29)
            {
               correcto = false;  

            }
         }   
         else
         {
            if (intDia>28) 
            {
               correcto = false;  
            }  
         }
      }
   }
   if (intMes > 12)
   {
      correcto = false;
   }
   
   if (!correcto)
   {
      obj.focus();
      return false;
   }

   var cadena, dia, mes, ano;
   dia = intdia;
   mes = intMes;
   ano = intAno;
   if (intDia < 10)
      dia = "0" + intDia;   
   if (intMes < 10)
      mes = "0" + intMes;   
   if (intAno < 1000)
      ano = "0" + intAno;   
   if (intAno < 100)
      ano = "00" + intAno;   
   if (intAno < 10)
      ano = "000" + intAno;   

   cadena = dia + "/" + mes + "/" + ano;

   return(true);
}
function ValidarNif(obj)
{
   var nif;
   nif = obj.value;
   if( nif.length < 8)
   {
      obj.focus();
      return (false);
   } 
   if ((!ValidarEnteroTexto(nif.substring(0,nif.length -1 ))) || ValidarEnteroTexto(nif.substring((nif.length - 1),nif.length)) )
   {
      obj.focus();
      return (false);
   }
   return(true);
}
function ValidarCif(obj)
{
   var cif;
   cif = obj.value;
   if( cif.length < 8)
   {
      obj.focus();
      return (false);
   } 
   if (ValidarEnteroTexto(cif.substring(0,1)) || (!ValidarEnteroTexto(cif.substring(1,cif.length))))
   {
      obj.focus();
      return (false);
   }
   return(true);
}

function ValidarFechasSelect(intDia, intMes, intAno)
{
   var correcto = true;
   if ((intMes == 4) || (intMes == 6) || (intMes == 9) || (intMes == 11))
   {
      if (intDia>30) 
         correcto = false;  
   }
   else
   {    
      if (intMes != 2 )
      {
         if (intDia>30) 
            correcto = false;  
      }
      else
      {
        if (Bisiesto(intAno)) 
        { 
           if (intDia > 29)
              correcto = false;  
        }
        else
           if (intDia>28) 
              correcto = false;  
      }
   }
   if (!correcto)
      return(false);
   else
      return(true);
}

