<!--

numeros="0123456789";
separadorfecha="/";
var separadorhora=":";
var error= 0;  
errores= new Array();

errores[1]="El campo está vacio. Debe contener algún valor";
errores[2]="Carácter no válido en la fecha";
errores[3]="Faltan separadores en la fecha";
errores[4]="Año incorrecto en la fecha";
errores[5]="Mes incorrecto en la fecha";
errores[6]="Día incorrecto en la fecha";
errores[7]="Carácter no válido en la hora";
errores[8]="Faltan separadores en la hora";
errores[9]="Hora incorrecta en la hora";
errores[10]="Minutos incorrectos en la hora";
errores[11]="Segundos incorrectos en la hora";
  

// Determina si un caracter es un número
function numero(car)
{
  return (numeros.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,requerido)
{
  if ((contenido.length==0))
  {
	if (!requerido) return true;
	else {
      		error=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 (!numero(car)&&car!=separadorfecha)
         {
         error=2;
         return false;
         } 
      if (car==separadorfecha)
        nsep++ 
  }
  if (nsep!=2)
  {
	error=3;
	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>9999 || anio=="")
  {
	error=4;
	return false;
  } 
  if (mes<1||mes>12)
  {
	error=5;
	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)
     )
  {
	error=6;
	return false;
  } 
  return true 
}



// Comprueba si una hora es correcta  *************************************
function compruebahora(contenido,requerido)
{
  if ((contenido.length==0))
  {
	if (!requerido) return true;
	else {
		error=1;
		return false;
	}
  };

  var nsep=0; 
  // Comprobación de la sintáxis de una hora 
  for (var i=0; i<contenido.length; ++i)
  {
    var car=contenido.charAt(i);
    if (!numero(car) && car!=separadorhora)
    {
      error=7;
      return false;
    } 
    if (car==separadorhora)
      nsep++ 
  }
  if (nsep!=1)  // si hubiese segundos nsep!=2
  {
    error=8;
    return false;
  }
  // Comprobación de la semántica de una hora 
  var pos1=contenido.indexOf(separadorhora);
  var horas=contenido.substring(0,pos1);
// var pos2=contenido.indexOf(separadorhora,pos1+1);
  var minutos=contenido.substring(pos1+1,contenido.length);   //(pos1+1,pos2);
 // var segundos=contenido.substring(pos2+1,10);
  if (horas>24||horas.length>2)
  {
    error=9;
    return false;
  } 
  if (minutos>59||minutos.length>2)
  {
    error=10;
    return false;
  }
 // if (segundos>59||segundos.length>2)
 // {
 //   error=11;
 //   return false;
 // } 
  return true 
}
//-->
