function ValidDate(fecha)
{
   if (fecha.value != "" ) {
       var fec_err=h_err=dia=mes=anio=hh=minutos=segundos=0;
       var mesaux = 0;
       fec_err = (((fecha.value.substring(2,3) == "/") ||
       (fecha.value.substring(2,3) == "/")) &&
       ((fecha.value.substring(5,6) == "/") ||
       (fecha.value.substring(5,6) == "/")))? "0":"1";

       if (IsUnsignedInt(fecha.value.substring(0,2))) {
           dia = fecha.value.substring(0,2);
	   } else { fec_err = 1}
	   
       mesaux = fecha.value.substring(3,5);
	   mesaux = mesaux.toUpperCase();
	   
	   if (mesaux == '01') { mesaux = '01';};
	   if (mesaux == '04') { mesaux = '04' };
	   if (mesaux == '08') { mesaux = '08' };
	   if (mesaux == '12') { mesaux = '12' };
       if (mesaux == '01' || mesaux == '02' || mesaux == '03' || mesaux == '04' ||
           mesaux == '05' || mesaux == '06' || mesaux == '07' || mesaux == '08' ||
           mesaux == '09' || mesaux == '10' || mesaux == '11' || mesaux == '12') {
           mes = mesaux;
       }  else { fec_err = 1}

       if (IsUnsignedInt(fecha.value.substring(6,10))) {
           anio = fecha.value.substring(6,10);
	   } else {fec_err = 1 }

       if (anio < 1000) { fec_err=1 }

       if ((dia > 31 || mes > 12 || dia <= 0 || mes <= 0 ) ||
           ((!LeapYear(anio)) && mes == '02' && dia > 28) || ((LeapYear(anio)) && mes == '02' && dia > 29)
           ||(fec_err == 1)||((mes == 04 || mes == 06 || mes == 09 || mes == 11) && dia > 30)) {
           alert("La Fecha no es Valida. El formato es DD/MM/AAAA");
	       fecha.value = "";
           fecha.focus();
           return false;
       } else { 
	       fecha.value = dia + '/' + mes + '/' + anio;
	   }
   }
   return true;
}

//------------------------------------------------------------------------------
                 
function IsUnsignedInt(campo)
{
   for(var i = 0; i < campo.length - 1; i++)
   {
       var pos = campo.charAt(i);
       if (pos < "0" || pos > "9") {
           // alert("Por favor, asegurese de ingresar un número entero sin signo");
           return false; 
       }
   }
   return true
}

//------------------------------------------------------------------------------

function LeapYear(anio)
{ 
   if ((anio % 400) == 0) {
        return true }
   if ((app = anio % 100) == 0) {
        return true}
   if ((app = anio % 4) == 0) {
        return true
   } else {
        return false}
}