﻿// JScript File
        // Removes leading whitespaces
        function LTrim( value ) {
	
	        var re = /\s*((\S+\s*)*)/;
	        return value.replace(re, "$1");
	
        }

        // Removes ending whitespaces
        function RTrim( value ) {
	
	        var re = /((\s*\S+)*)\s*/;
	        return value.replace(re, "$1");
	
        }

        // Removes leading and ending whitespaces
        function trim( value ) {
	
	        return LTrim(RTrim(value));
	
        }        
        function checkBlanck(str1,str2)
		{     
		  
		     var sd =document.forms[0][str1].value;
		     var ed =document.forms[0][str2].value;
		     if(trim(sd) == "")
                {
                    alert('From date can not be blank.');            
                    return false;
                }
		     if(trim(ed) == "")
                {
                    alert('To date can not be blank.');            
                    return false;
                }
		     var yy = sd.substring(6,10);
		     var yy1=ed.substring(6,10);
		     var mm=sd.substring(3,5);
		     var mm1=ed.substring(3,5);


             var RegExPattern =/^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
                 
           if((ed.match(RegExPattern))&&(sd.match(RegExPattern)))
            {
                /***** This Commented Code Is Applicable When Above Regular Expression is not available.**********/
            
                              //sd=sd.replace(/^[\s]+/,'').replace(/[\s]+$/,'').replace(/[\s]{2,}/,' ');
                             //ed=ed.replace(/^[\s]+/,'').replace(/[\s]+$/,'').replace(/[\s]{2,}/,' '); 
                            ////if(sd=="" || ed=="")
                            //{alert("PLEASE SELECT START/END DATE PROPERLY");return false;}		       
                            //if(sd.length !=10 || ed.length!=10)
                            //{alert("PLEASE SELECT START/END DATE PROPERLY");return false;}
                            //else{
                            //var i;var ii;var c;var c1;
                            //c=sd.charAt(2);c1=sd.charAt(5);i=ed.charAt(2);ii=ed.charAt(2);                      
                            //if ((c!="/")||(c1!="/")||(i!="/")||(ii!="/"))
                            //{alert("Please Inter Date in correct Formate");return false;}
                            //}
           /***************************************************************************************************/                   		           
              if(yy>yy1)	
                   {alert("From Date [Year] Cannot be greater than To Date.");return false;}                          
              if(yy==yy1){
                   {if(mm > mm1){alert("From Date [Month] Cannot be greater than To Date.");return false;}} 
              if(mm==mm1)      
                    {if(sd>ed){alert("From Date [Day] Cannot be greater than To Date."); return false;}}
                    }
            }               
            else
            {  
                alert("From / To Date Is Not Correct.");
                return false;
            }      
              
       }
       
       
       //****these function is specifically for LEave application page to setup calendar according to leave type selected
    function SetupCalWithTime()
    {
    /*alert("SetupCalWithTime");*/
    
       var ddlVal=document.getElementById("DropDownLeaveType").value;
       
       //alert(ddlVal);
        
        if(ddlVal=="1") //Full Day
        {
           var cal = new Zapatec.Calendar.setup({
		   inputField     :    "txtStartDate",     // id of the input field
		   ifFormat       :    "%d/%m/%Y",     // format of the input field
		   button         :    "imgCal",  // What will trigger the popup of the calendar
		   timeInterval   :     15,
		   showsTime      :     false		
		   });
		
		  var cal1 = new Zapatec.Calendar.setup({
		  inputField     :    "txtEndDate",     // id of the input field
		  ifFormat       :    "%d/%m/%Y",     // format of the input field
		  button         :    "imgCal1",  // What will trigger the popup of the calendar
		  timeInterval   :     15,
		  showsTime      :     false
		  });
		
		//we also want to remove any time value if stored with date
		  var dateFrmCtrl=document.getElementById("txtStartDate");
		
		  var dateFrm=dateFrmCtrl.value;
		
		  dateFrm=trim(dateFrm);
		
		  if(dateFrm!="")
		  {		
		     if(dateFrm.length>10)
		     {		   
		        dateFrmCtrl.value=dateFrm.substring(0,10);		      
		     }		  
		  }
		
		  var dateToCtrl=document.getElementById("txtEndDate");	
		  
		  var dateTo=dateToCtrl.value;
		
		  dateTo=trim(dateTo);
		
		  if(dateTo!="")
		  {		
		     if(dateTo.length>10)
		     {		   
		         dateToCtrl.value=dateTo.substring(0,10);		      
		     }		  
		  }
        }
        else if(ddlVal=="2")//half day
        {
          var cal = new Zapatec.Calendar.setup({
		  inputField     :    "txtStartDate",     // id of the input field
		  ifFormat       :    "%d/%m/%Y %l:%M %p",     // format of the input field
		  button         :    "imgCal",  // What will trigger the popup of the calendar
		  timeInterval   :     15,
		  showsTime      :     true			  	
		  });
		
		  var cal1 = new Zapatec.Calendar.setup({
		  inputField     :    "txtEndDate",     // id of the input field
		  ifFormat       :    "%d/%m/%Y %l:%M %p",     // format of the input field
		  button         :    "imgCal1",  // What will trigger the popup of the calendar
		  timeInterval   :     15,
		  showsTime      :     true		  
		  });
		
		  var dateFrmCtrl=document.getElementById("txtStartDate");
		
		  var dateFrm=dateFrmCtrl.value;
		
		  dateFrm=trim(dateFrm);
		
		  if(dateFrm!="")
		  {		
		     if(dateFrm.length<=10)
		     {		   
		        dateFrmCtrl.value=dateFrm +" 12:00 AM";		      
		     }		  
		  }
		
		  var dateToCtrl=document.getElementById("txtEndDate");
		  dateToCtrl.value =dateFrmCtrl.value;
		 
//		  var dateTo=dateToCtrl.value;
//		
//		  dateTo=trim(dateTo);
//		
//		  if(dateTo!="")
//		  {		
//		     
//		     if(dateTo.length<=10)
//		     {			    	   
//		        dateToCtrl.value=dateTo +" 12:00 AM";	      
//		     }		  
//		  }
        
        }
    }
    
    function SetEndDate()
    {
       var dateToCtrl=document.getElementById("txtEndDate");
		 
		 var dateFrm=document.getElementById("txtStartDate").value;
		 
		 var ddlVal=document.getElementById("DropDownLeaveType").value;
		 		
		 if(ddlVal=="2") //half day
		 {
		  if(dateFrm!="")
		  {		
		     if(dateFrm.length>10)
		     {			    	   
		        dateFrm=dateFrm.substring(0,10);      
		     }	
		     dateToCtrl.value=dateFrm;	  
		  }
		}
    }   
    
    
    function CheckDatesOnChange()
    {
       var dateFrmCtrl=document.getElementById("txtStartDate");
       var dateToCtrl=document.getElementById("txtEndDate");
		 
       var dateFrm =  dateFrmCtrl.value;     
       var dateTo  =  dateToCtrl.value; 
       
       //take date only
                var DateShortFrm=dateFrm.substring(0,10);
                var DateShortTo=dateTo.substring(0,10);
                
	   
	   var ddlVal=document.getElementById("DropDownLeaveType").value;
	   
	   if(ddlVal=="2") //half day
	   {        	       
	       
	         if(dateFrm.length<18)
	         { 
	            alert("Please specify time also in Start Time");
	            dateToCtrl.value=DateShortFrm;
	         }	   
	         
	         if(dateTo.length<18)
	         { 
	            alert("Please specify time also in End Time");
	            dateToCtrl.value=DateShortFrm;
	         }	       

            try
            {       
             if(dateTo!="")
             {
                
                if(DateShortFrm!=DateShortTo)
                {
                   alert("Date for Start time and End time should be same for Half day leave");
	                dateToCtrl.value=DateShortFrm;
                }              
	       	          	 
	       	         	         
	            var dtmFrm=new Date(dateFrm);
	            var dtmTo=new Date(dateTo);
	         
//	           if(dtmFrm>=dtmTo)
//	           {
//	             alert("Start time should be less than End Time for Half day leaves");
//	             dateToCtrl.value=DateShortFrm;
//	           }	     
	         }   
	         
	       }
	       catch(err)
	       {
	          alert("Please check date and time format");
	          dateToCtrl.value=DateShortFrm;
	       }   
	            
	   }
    }
    
    
    function CheckDates()
    {
       var dateFrm =  document.getElementById("txtStartDate").value;     
       var dateTo  =   document.getElementById("txtEndDate").value; 
	   
	   var ddlVal=document.getElementById("DropDownLeaveType").value;
	   
	   if(ddlVal=="2") //half day
	   {        	       
	       
	         if(dateFrm.length<18)
	         { 
	            alert("Please specify time also in Start Time");
	            return false;
	         }	         
       }
            try
            {       
             if(dateTo!="")
             {           	 
	       	         	         
	            var dtmFrm=new Date(dateFrm);
	            var dtmTo=new Date(dateTo);
	         
	           if(ddlVal=="2" && dtmFrm>=dtmTo)
	           {
	             alert("Start time should be less than End Time");
	             return false;
	           }	     
	         }   
	         
	       }
	       catch(err)
	       {
	          alert("Please check date and time format");
	          return false;
	       }   
	            
	   
    }
    //***************************************     
     


