
function checkNumerico(cad_num) {
	ok=1;
	check="0123456789,"
	for (i=0;i<cad_num.length && ok==1;i++) {
		ok=0;
		for (j=0;j<check.length && ok==0;j++) {
			if (check.charAt(j) == cad_num.charAt(i))
				ok=1;
		}
	}			
		if (ok==0) {
			return "-1"
	    }
	    else {
			return cad_num;
		}
}	

      	
      	
function esNulo(campo) {
    if (campo == null) return true;
    return (campo.value.length == 0);
}

/**********************************************************************************/
/***************  Funciones para la validación de la hora  ***********************/
/**********************************************************************************/

function comprobar_hora(campo)
{
	hora = campo.value
	
	if (esNulo(campo)) return "ok";
	if (comprobarFechaAux(hora,"0123456789:")==0) return("La hora no es válida (hh:mm)");
	
	if (hora.length>0)
	{
		if(eval('"' + hora.substring(1,2)+'"=='+ '":"')) {
           hora = "0" + hora;
           campo.value = hora;
      }

     	if (comprobarFechaAux(hora.substring(0,2),"0123456789")==0) return("La hora no es válida (hh:mm)");
     	if (comprobarFechaAux(hora.substring(3,5),"0123456789")==0) return("La fecha no es válida (hh:mm)");

		if (eval(parseInt(hora.substring(0,2),10)+'>23')) {
    		return("La hora no es válida (hh:mm)");
    	}
    	
    	if (eval(parseInt(hora.substring(0,2),10)+'<0')) {
    		return("La hora no es válida (hh:mm)");
    	}
      
      if (eval(parseInt(hora.substring(3,5),10)+'>59')) {
    		return("La hora no es válida (hh:mm)");
    	}
     
      if (eval(parseInt(hora.substring(3,5),10)+'<0')) {
    		return("La hora no es válida (hh:mm)");
    	}
    	
    	return "ok";
	}
}

/**********************************************************************************/
/***************  Funciones para la validación de la fecha  ***********************/
/**********************************************************************************/

function comprobarFechaAux(texto,valores) {

     ok=1;
     check=valores;
     for (i=0;i<texto.length && ok==1;i++) {
    	ok=0;
    	for (j=0;j<check.length && ok==0;j++) {
    		if (check.charAt(j) == texto.charAt(i))
    			ok=1;
    	}
     }			
     return(ok);

}


function comprobar_fecha(campo) {

    fecha = campo.value;

    if (esNulo(campo)) return "ok";

    if (comprobarFechaAux(fecha,"0123456789/")==0) return("La fecha no es válida (dd/mm/aaaa)");
    

    if(fecha.length>0) {
    
        if(eval('"' + fecha.substring(1,2)+'"=='+ '"/"')) {
            fecha = "0" + fecha;
            campo.value = fecha;
        }


        if(eval('"' + fecha.substring(4,5)+'"=='+ '"/"')) {
            fecha = ""+fecha.substring(0,3)+"0"+fecha.substring(3,9);
            campo.value = fecha;
        }
        
        if(fecha.length==8) {
            fecha = ""+fecha.substring(0,6) + "20" + fecha.substring(6,8);
            campo.value = fecha;
        }
        
        
        
        
        
    
        if (eval('"' + fecha.substring(2,3)+'"!='+ '"/"' )) {
    		return("La fecha no es válida (dd/mm/aaaa)");
    	}
    
    	
    	if (eval('"' + fecha.substring(5,6)+'"!='+ '"/"' ))  {
    		return("La fecha no es válida (dd/mm/aaaa)");
    	}



        
        if (comprobarFechaAux(fecha.substring(0,2),"0123456789")==0) return("La fecha no es válida (dd/mm/aaaa)");
        if (comprobarFechaAux(fecha.substring(3,5),"0123456789")==0) return("La fecha no es válida (dd/mm/aaaa)");
        if (comprobarFechaAux(fecha.substring(6,10),"0123456789")==0) return("La fecha no es válida (dd/mm/aaaa)");



		if (eval(fecha.substring(0,2)+'<1')) {
    		return("El día del mes es menor de 1 (dd/mm/aaaa)");
    	}

    	if (eval(parseInt(fecha.substring(0,2),10)+'>31')) {
    		return("El día del mes no es válido (dd/mm/aaaa)");
    	}
    
    
    
        
    	if (fecha.substring(3,5)<"01") {
    		return("El mes es menor de 1 (dd/mm/aaaa)");
    	}
    
    	if (eval(parseInt(fecha.substring(3,5),10)+'>12')) {
    		return("El mes no es válido (dd/mm/aaaa)");
    	}
    
    	if (eval(parseInt(fecha.substring(6,10),10)+'<0')) {
    		return("La fecha no es válida (dd/mm/aaaa)");
    	}
    
    	if (eval(parseInt(fecha.substring(6,10),10)+'<1800')) {
    		return("La fecha no es válida (dd/mm/aaaa) El año debe ser mayor de 1800");
    	}
    
    	if (eval(parseInt(fecha.substring(0,2),10)+'>29') ) {
    	  if (eval(parseInt(fecha.substring(3,5),10)+'==2')) {
    		return("La fecha no es válida (dd/mm/aaaa)");
    	  }
    	}
    	if (eval(parseInt(fecha.substring(0,2),10)+'>30') && (eval(parseInt(fecha.substring(3,5),10)+'==4') || eval(parseInt(fecha.substring(3,5),10)+'==6') || eval(parseInt(fecha.substring(3,5),10)+'==9') || eval(parseInt(fecha.substring(3,5),10)+'==11'))  ) {
    		return("La fecha no es válida (dd/mm/aaaa)");
    	}
    
    	if ( eval(parseInt(fecha.substring(3,5),10)+'==2') ) {
    	    elAnyo = parseInt(fecha.substring(6,10),10)
    	    if ( (eval(elAnyo+'%4!=0')) && (eval(elAnyo+'%100==0')) && (eval(elAnyo+'%400!=0'))) {
        		if (eval(parseInt(fecha.substring(0,2),10)+'>28') ) {
        			return("La fecha no es válida (dd/mm/aaaa), Año bisiesto");
        		}
    	    }
    	}
    }
        
        // Comprobación de fecha valida. 
                                      
     dia = parseInt(fecha.substring(0,2),10);
     mes = parseInt(fecha.substring(3,5),10);
     ano = parseInt(fecha.substring(6,10),10);
                                          
     if (fecha.length<10) return("La fecha no es válida (dd/mm/aaaa)");
                                          
     if (dia<0 || dia>31) return false;
     if (mes<0 || mes>12) return false;
     if (ano<0) return false;
        	
     // Años Bisiestos y Meses con más de 29 dias
     
       	
     if (dia>28)
     {
      if ((dia>30) && (mes == 4 || mes ==6 || mes == 9 || mes == 11)) return false;          
      if ((mes==2) && ((ano%4) != 0) && (dia>28)) return false;
     }
     
        
    return ("ok")
}

function compara_horas(hora1,hora2)
{
	h1 = parseInt(hora1.substring(0,2),10);
	m1 = parseInt(hora1.substring(3,5),10);
	
	h2 = parseInt(hora2.substring(0,2),10);
	m2 = parseInt(hora2.substring(3,5),10);
	
	if (h1>h2) return("mayor");
	if (h1<h2) return("menor");
	if (m1>m2) return("mayor");
	if (m1<m2) return("menor");
	return("igual");
}

function compara_fechas(fecha1, fecha2)
{
	  // Comparacion de fechas
                                      
     dia1 = parseInt(fecha1.substring(0,2),10);
     mes1 = parseInt(fecha1.substring(3,5),10);
     ano1 = parseInt(fecha1.substring(6,10),10);
     
     dia2 = parseInt(fecha2.substring(0,2),10);
     mes2 = parseInt(fecha2.substring(3,5),10);
     ano2 = parseInt(fecha2.substring(6,10),10);
     
     if (ano1>ano2) return ("mayor");
     
     if (ano1<ano2) return ("menor");
     
     if (mes1>mes2) return ("mayor");
     
     if (mes1<mes2) return ("menor");
     
     if (dia1>dia2) return ("mayor");
     
     if (dia1<dia2) return ("menor");
	  
     return ("igual");
     
}