// funcion para validar que el formato de la fecha es correcto
// el formato se supone que debe ser de la forma dd/mm/yyyy
// el aņo debe estar comprendido entre 2000 y 2500
function isValidDate(data){
    if(data.length!=10)
       return false;
    var aData = data.split("/");
    if(aData.length!=3)
       return false;
    // tomamos cada uno de los valores      
    if(isNaN(parseInt(aData[0],10)) || isNaN(parseInt(aData[1],10)) || isNaN(parseInt(aData[2],10)))
       return false;
    // ahora comprobamos los valores de los dias, meses y aņos
    yr = parseInt(aData[2],10);
    mnth = parseInt(aData[1],10);
    dy = parseInt(aData[0],10);
    if(yr <1910 || yr >2500)
        return false;
    if(mnth<1 || mnth>12)
        return false;
    // ahora hay que validar el numero de dias del mes
    if(dy<1 || dy>31)
         return false;
    switch(mnth){ 
       case 4:
       case 6:
       case 9:
       case 11:
         if(dy>30)
            return false;
       break;
       case 2:
         // hay que determinar si el aņo es bisiesto o no
         resto = yr % 4
         if(resto == 0 && dy>29)
           return false;
         else if(resto !=0 && dy >28)
            return false  
       break;   	
     }
    return true; 	      
    
 }
 
 // valida fechas del tipo mm/yyyy
 function isValidDate2(data){
    if(data.length!=7)
       return false;
    var aData = data.split("/");
    if(aData.length!=2)
       return false;
    // tomamos cada uno de los valores      
    if(isNaN(parseInt(aData[0],10)) || isNaN(parseInt(aData[1],10)) )
       return false;
    // ahora comprobamos los valores de los dias, meses y aņos
    yr = parseInt(aData[1],10);
    mnth = parseInt(aData[0],10);
    if(yr <1910 || yr >2500)
        return false;
    if(mnth<1 || mnth>12)
        return false;
    return true; 	      
 }

// funcion para validar que un campo es un valor numerico entero
  // no debe tener ningun caracter de . ni ,
 function isValidInteger (valor){
    if(valor.indexOf(".")>0 || valor.indexOf(",")>0 || isNaN(valor))
      return false;
    else 
      return true;  
  }
  
  function isValidNumber (valor){
  	// Quitar la coma y poner un punto
    cadAux = valor.replace("," , ".")
    if(valor.indexOf(".")>0  || isNaN(cadAux))
      return false;
    else 
      return true;  
  }
  
  
  
function isValidDecimal(valor) {
	// comprobar que los caracteres de una cadena son correctos	
	// numeros y .
	var validchars = "-0123456789.";
	var correcto = true;
	for (var i=0; i < valor.length; i++) {
		var letter = valor.toLowerCase().charAt(i);
		if (validchars.indexOf(letter) == -1) {
			correcto = false;
			break;
		}
	}

	if (correcto) {
		var point1Pos = valor.indexOf(".");
		var point2Pos = -1;
		if (point1Pos >= 0) {
			point2Pos = valor.indexOf(".", point1Pos + 1);
		}
		if (point2Pos >= 0 || valor.indexOf(",")>0 || isNaN(parseFloat(valor,10))) {
			correcto = false;
		}
	}
	return correcto;
}
  
