﻿// Archivo JScript

 
        
           
            
            
            String.prototype.trim = function () 
            {
	            return this.replace(/^\s*/, "").replace(/\s*$/, "");
            }

            String.prototype.padL = function (nLength, sChar) 
            {
	            var sreturn = this;
	            while (sreturn.length < nLength) 
	            {
		            sreturn = String(sChar) + sreturn;
	            }
	            return sreturn;
            }
             
            function date_onkeydown(e) 
            {


                    var elemento = whichElement(e);
                    var formato = "dd/mm/yyyy";
	                    if (elemento.readOnly) return;
	                    var key_code = e.keyCode;
	                    var oElement = elemento;		
                        if (!e.shiftKey && !e.ctrlKey && !e.altKey) 
	                    {
		                    if ((key_code > 47 && key_code < 58) || (key_code > 95 && key_code < 106)) 
		                    {
                                if (key_code > 95) key_code -= (95-47);
		                           oElement.value = oElement.value.replace(/[_]/, String.fromCharCode(key_code));
		                    }
                            if (key_code == 8)
		                    {
			                    //if (!oElement.value.match(/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/))
				                    oElement.value = "__/__/____";
				                    /*oElement.value = oElement.value.replace
				                    (
					                    /([_\/]*)[0-9]([_\/]*)$/,
					                    function ($0, $1, $2) 
					                    {
						                    var idx = oElement.value.search(/([_\/]*)[0-9]([_\/]*)$/);
						                    if (idx >= 5) 
						                    {
							                    return $1 + "_" + $2;
						                    } 
						                    else if (idx >= 2) 
						                    {
							                    return $1 + "_" + $2;
						                    } 
						                    else 
						                    {
							                    return $1 + "_" + $2;
						                    }
					                    }//Cierra  function
				                    );//cierra replace*/
				                    e.returnValue = 0;
                            }
                        }
                        if (key_code != 9) 
	                    {
		                    //Anulo el evento
		                    if (!document.all) 			
			                    e.preventDefault();
		                    else
			                    e.returnValue = false;
                        }
               }
                function whichElement(e)
                {
	                var targ;
	                if (!e || document.all)
	                {
		                var e=window.event;
	                }
	                if (e.target)
	                {
		                targ=e.target;
	                }
	                else if (e.srcElement)
	                {
		                targ=e.srcElement;
	                }
	                if (targ.nodeType==3) // defeat Safari bug
	                {
		                targ = targ.parentNode;
	                }
	                return targ
                }

                function validarFecha(e)
                {                   
	                var elemento = whichElement(e);	               
	                var formato = "dd/mm/yyyy";
	                if (!isValideDate(elemento.value) && elemento.value.length > 0 && elemento.value !=formato )
	                {
	                    
		                //Anulo el evento
		                if (!document.all)	                                           		                    
                           e.preventDefault();
		                else		                
			                e.returnValue = false;
		                var d = new Date();
		                elemento.value = String(d.getDate()).padL(2, "0") + "/" + String(d.getMonth() + 1).padL(2, "0") + "/" + d.getFullYear();		                
		                elemento.focus();
                		
	                }
	                else
	                {  
	                     var sSeparator = "/";
		                var aDate = String(elemento.value).split(sSeparator);
		                d= new Date(aDate[1] + sSeparator + aDate[0] + sSeparator + aDate[2]) ;		                
		                if(elemento.id=="datei")
		                {		                    
		                    $('#widgetCalendar').DatePickerSetDate(d, true);
		                    d.setDate(d.getDate()+1);				
				            var m = d.getMonth();
				            m=(m < 9) ? ("0" + (1+m)) : (1+m);
				            var i = d.getDate();
				            i= (i < 10) ? ("0" + i) : i;
				            var y = d.getFullYear();						            			    
			                document.getElementById("datef").value=i+"/"+m+"/"+y;				            
			                $('#widgetCalendart').DatePickerSetDate(d, true);		
				         }
				         else				         
				         {
				            $('#widgetCalendart').DatePickerSetDate(d, true);
		                    d.setDate(d.getDate()+1);				
				         }
	                }
                }


                function isValideDate(sFecha)
                {
	                try
	                {
		                var sSeparator = "/";
		                var aDate = String(sFecha).split(sSeparator);
		                dDate= new Date(aDate[1] + sSeparator + aDate[0] + sSeparator + aDate[2]) ;

		                var nYear = (document.all ? dDate.getFullYear() : dDate.getYear() + 1900); //Tratamiento especial para Safari y Firefox

		                return (
			                Number(dDate.getDate()) == Number(aDate[0]) &&
			                Number(dDate.getMonth() + 1) == Number(aDate[1]) &&
			                Number(nYear) == Number(aDate[2]));

	                }
	                catch(e)
	                {
		                return false;
	                }
                }

