
function hayPunto(cadena,desde) {
   if(cadena.length-1<desde) return false;
   else {
      for(j=0; j<cadena.length; j++) {
         if(cadena.charAt(j)==".") return true;
      }
      return false;
   }
}


function checkMail(objeto) {
   for(i=0; i<objeto.value.length; i++) {
      if(objeto.value.charAt(i)=="@") return hayPunto(objeto.value, i+2);
   }
   return false;
}


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;
    campo.value = quitarEspacios(""+campo.value);
    
    return (campo.value.length == 0);
}

function quitarEspacios(cadena) {
   if (cadena.length>0) {
      posFinEspacios = 0;
      for(j=0; j<cadena.length && cadena.charAt(j)==" "; j++) posFinEspacios++;
      return cadena.substring(posFinEspacios,cadena.length);
   }
   return "";
}

/**********************************************************************************/
/***************  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))+'>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))+'>12')) {
    		return("El mes no es válido (dd/mm/aaaa)");
    	}
    
    	if (eval(parseInt(fecha.substring(6,10))+'<0')) {
    		return("La fecha no es válida (dd/mm/aaaa)");
    	}
    
    	if (eval(parseInt(fecha.substring(6,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))+'>29') ) {
    	  if (eval(parseInt(fecha.substring(3,5))+'==2')) {
    		return("La fecha no es válida (dd/mm/aaaa)");
    	  }
    	}
    	if (eval(parseInt(fecha.substring(0,2))+'>30') && (eval(parseInt(fecha.substring(3,5))+'==4') || eval(parseInt(fecha.substring(3,5))+'==6') || eval(parseInt(fecha.substring(3,5))+'==9') || eval(parseInt(fecha.substring(3,5))+'==11'))  ) {
    		return("La fecha no es válida (dd/mm/aaaa)");
    	}
    
    	if ( eval(parseInt(fecha.substring(3,5))+'==2') ) {
    	    elAnyo = parseInt(fecha.substring(6,10))
    	    if ( (eval(elAnyo+'%4!=0')) && (eval(elAnyo+'%100==0')) && (eval(elAnyo+'%400!=0'))) {
        		if (eval(parseInt(fecha.substring(0,2))+'>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));
     mes = parseInt(fecha.substring(3,5));
     ano = parseInt(fecha.substring(6,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("El mes tiene menos de 30 dias");          
      if ((mes==2) && ((ano%4) != 0) && (ano%100 == 0) && (ano%400!= 0)) return("El ańo es bisiesto, el més tiene menos de 28 dias");
     }
     
        
    return "ok"
}


function horaCorrecta(cadena) {
   // hh:mm
   // 01234

   if(cadena!='') {  //SI LA CADENA NO ES VACIA .. SI LO ES DEVUELVE TRUE
      if(cadena.length!=5) return false;  //LA CADENA NO MIDE 5 (hh:mm)
      else {   //LA CADENA MIDE 5
         if(cadena.charAt(2)!=':') return false; //EN LA POS. 2 NO ESTÁN LOS :
         else {
            //COMPRUEBO QUE LA HORA SEA NUMÉRICA
            for(i=0; i<2; i++) {
               encontrado = false;
               for(j=0; j<10 && !encontrado; j++) {
                  if(j==cadena.charAt(i)) encontrado = true;
               }
               if(!encontrado) return false;
            }
            //COMPRUEBO QUE LOS MINUTOS SEAN NUMÉRICOS
            for(i=3; i<5; i++) {
               encontrado = false;
               for(j=0; j<10 && !encontrado; j++) {
                  if(j==cadena.charAt(i)) encontrado = true;
               }
               if(!encontrado) return false;
            }
            //COMPRUEBO LAS 24 HORAS y LOS 60 MINUTOS --- RANGO
            
            
            if(eval(parseInt(cadena.substring(0,2))+">23") || eval(parseInt(cadena.substring(3,5))+">59")) return false;
            if(eval(parseInt(cadena.substring(0,2))+"<0") || eval(parseInt(cadena.substring(3,5))+"<0")) return false;
         }
      }
   } 
   
   //TODO CORRECTO
   return true;
}

function cambiarAXHTML(scadena){
	
	scadenaAntes = '';

	while (scadenaAntes!=scadena){
		scadenaAntes = scadena;
		scadena = scadena.replace('<br>','<br/>');
		scadena = scadena.replace('\n','<br/>');
	}
	
	return scadena;
}
