//Funciones para la validación de la hora y fecha
	var formato     = 'dd/mm/yyyy';
	var FechaLength ;

	function daysInFebruary (year){
		// February has 29 days in any year evenly divisible by four,
	    // EXCEPT for centurial years which are not also divisible by 400.
	    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
	}
	
	function DaysArray(n) {
		for (var i = 1; i <= n; i++) {
			this[i] = 31
			if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
			if (i==2) {this[i] = 29}
	   } 
	   return this
	}
	
	function isDate(dtStr){
		var dtCh= "/";
		var minYear=1900;
		var maxYear=5000;
		var daysInMonth = DaysArray(12);
		var bool        = false;
		
		var pos1	= dtStr.indexOf(dtCh);
		var pos2	= dtStr.indexOf(dtCh, pos1 +1 );
	
		// Declaring valid date character, minimum year and maximum year
	
		if (formato != ''){

			//formato dd/mm/yyyy
			if (formato.substring(0,2).toLowerCase() == "dd" && formato.substring(3,5).toLowerCase() == "mm" && formato.substring(6,10).toLowerCase() == "yyyy") 
			{
				bool= true;
				var strDay   = dtStr.substring(0,pos1);
				var strMonth  	= dtStr.substring(pos1+1,pos2);
			}
			
			//formato mm/dd/yyyy
			if (formato.substring(0,2).toLowerCase() == "mm" && formato.substring(3,5).toLowerCase() == "dd" && formato.substring(6,10).toLowerCase() == "yyyy")
			{

				bool 		= true;
				var strMonth 	= dtStr.substring(0,pos1);
				var strDay	= dtStr.substring(pos1+1,pos2);
			}

			if (bool == true)
			{		
				var strYear	= dtStr.substring(pos2+1,pos2+5);
				strYr		= strYear
				FechaLength      = pos2 + 5;
				
				if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
				if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
				for (var i = 1; i <= 3; i++) {
					if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
				}
				month=parseInt(strMonth)
				day=parseInt(strDay)
				year=parseInt(strYr)
				if (pos1==-1 || pos2==-1){
					alert('El formato de la fecha debe ser : '+ formato);
					return false;
				}

				if (strMonth.length<1 || month<1 || month>12){
					alert("El mes no es correcto.  Por favor digite un mes válido.");
					return false;
				}
				if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
					alert("El día no es correcto.  Por favor digite un día valido.");
					return false;
				}
				if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
					alert("El año no es correcto.  Por favor ingrese un digito válido entre "+minYear+" y "+maxYear);
					return false;
				}
				
				if (dtStr.indexOf(dtCh,pos2+1)!=-1 ){
					
					return false;
				}
			}
			else
			{	
				alert('El formato de fecha: '+ formato +' no se puede validar, aplica sólo para dd/mm/yyyy o mm/dd/yyyy');
				return false;
			}
			return true;
		}
		else
		{
			alert('El formato de la Fecha no se encuentra especificado en el parámetro: FormatoFecha.');
			return false;
		}
	}
	
	function EsNumerico(s){
		 var i;
	    for (i = 0; i < s.length; i++){   
	        var c = s.charAt(i);
	        if (((c < "0") || (c > "9"))) return false;
	    }

	    return true;
	}