<!-- This document created by WebScripter 2.0 copyright Code Generation 1998 -->


   fnumeros="0123456789";
   var separadorfecha="/";
   ferror= new creaferror();  
   ferrores= new Array();
  
   ferrores[1]="Campo vacio no contiene ningún valor ";
   ferrores[2]="Carácter ilegal en una fecha";
   ferrores[3]="Faltan separadores en una fecha";
   ferrores[4]="Año incorrecto en una fecha";
   ferrores[5]="Mes incorrecto en una fecha";
   ferrores[6]="Día incorrecto en una fecha";
   ferrores[7]="Carácter ilegal en una hora";
   ferrores[8]="Faltan separadores en una hora";
   ferrores[9]="Hora incorrecta en una hora";
   ferrores[10]="Minutos incorrectos en una hora";
   ferrores[11]="Segundos incorrectos en una hora";
  
   // Crea un objeto que guarda un indice a la posición y al mensaje de ferror
   function creaferror()
   {
   this.valor=0;
   this.posicion=0;
   return this
   }
  
   // Determina si un caracter es un número
   function fnumero(car)
   {
   return (fnumeros.indexOf(car)>=0)
   }
   
   // Determina si un año es bisiesto
   function bisiesto(anio) 
   {
   if (((anio % 4 == 0) && anio % 100 != 0) || anio % 400 == 0) 
      return true;
   return false;
   }

   // Comprueba si una fecha es correcta
   function compruebafecha(contenido,ferror)
   {
   
   if ((contenido.length==0))
      {
      ferror.valor=1;
      ferror.posicion=1; 
      return false;
      } 
   var nsep=0;
   // Comprobación de la sintáxis de una fecha 
   for (var i=0; i<contenido.length; ++i)
      {
      var car=contenido.charAt(i);
      if (!fnumero(car)&&car!=separadorfecha)
         {
         ferror.valor=2;
         ferror.posicion=i+1; 
         return false;
         } 
      if (car==separadorfecha)
        nsep++ 
      }
   if (nsep!=2)
      {
      ferror.valor=3;
      ferror.posicion=i+1; 
      return false;
      }
   // Comprobación de la semántica de una fecha
   var pos1=contenido.indexOf(separadorfecha);
   var dia=contenido.substring(0,pos1);
   var pos2=contenido.indexOf(separadorfecha,pos1+1);
   var mes=contenido.substring(pos1+1,pos2); 
   var anio=contenido.substring(pos2+1,10);
   if (anio<0||anio>2010)
      {
      ferror.valor=4;
      ferror.posicion=6; 
      return false;
      } 
   if (mes<1||mes>12)
      {
      ferror.valor=5;
      ferror.posicion=4;
      return false;
      }
   if ((dia<1 || dia>31)||(mes==4&&dia>30)||(mes==6&&dia>30)
         ||(mes==9&&dia>30)||(mes==11&&dia>30)
         ||(mes==2&&bisiesto(anio)&&dia>29)
         ||(mes==2&&!bisiesto(anio)&&dia>28)
         )
      {
      ferror.valor=6;
      ferror.posicion=2;
      return false;
      } 
   return true 
   }
   

  



