﻿// JScript File
var oDateTxtBox = 'FlightDate';
var DateTxtID ;

function SetCalendarDate(e,a,DateTxtID)
    {
        if (document.getElementById(DateTxtID) != null)
        {
            var datevalue = document.getElementById(DateTxtID);
            e._selectedDate = convertStrtoDate(datevalue.value);
        }
        e._popupBehavior.set_positioningMode(AjaxControlToolkit.PositioningMode.BottomLeft);
           if (!this._isOpen) 
           {
            if (this._enabled) 
                this.show();
           } 
           else 
           {
            this.hide();
           }

       // $find('CalendarExtender1').set_popupPosition(AjaxControlToolkit.PositioningMode.BottomLeft);
    }
    
    function convertStrtoDate(strdate)
    {
         
        var dt1   = parseInt(strdate.substring(0,2),10); 
        var mon1  = parseInt(strdate.substring(3,5),10);
        var yr1   = parseInt(strdate.substring(6,10),10); 
        var dt = new Date(yr1, mon1-1, chkDigit(dt1));
        return dt;
    }

    function CheckInDate(objDate)
    {  
        var todayDate = new Date();
        var objDateName = objDate + "_FlightDate";
        
        if (sender._selectedDate.setDate(sender._selectedDate.getDate()) < todayDate.setDate(todayDate.getDate()-1) ) 
        {
            sender._selectedDate.setDate(sender._selectedDate.getDate()); 
            alert("Please select greater than current date or Future date.");
            var todayDateNew = new Date();
            document.getElementById(objDateName).value =  (todayDateNew.getDate()) + "/" + chkDigit((todayDateNew.getMonth() + 1)) + "/" + todayDateNew.getFullYear(); 
            sender._selectedDate.setDate(todayDateNew.getDate()); 
      
        }

    }
    function ToggleReturnCalendar(oTxt,blnEnabeled)
    {
          var ArrivalDate = oTxt + '_' + 'FlightDate';
          var oArrivalDate = document.getElementById(ArrivalDate) ;
          var CalendarImage = oTxt + '_' + 'idCalendarImage';
          var oCalendarImage = document.getElementById(CalendarImage);
          
          if (oArrivalDate != null)
          {
              if (blnEnabeled == true)
              {
                oArrivalDate.disabled = false;
                oCalendarImage.disabled = false;
              }
              else
              {
                oArrivalDate.disabled = true;
                oCalendarImage.disabled = true;
              }
          }
 
    }
    function AddDateInchkOutDate(oDepDate,oArrDate,blnAddDate)
    {
      oDepDate = oDepDate + "_" + oDateTxtBox;
      oArrDate = oArrDate + "_" + oDateTxtBox;
      var oDDate = document.getElementById(oDepDate);
      var oADate = document.getElementById(oArrDate);
     
//      var dt1   = parseInt(oDDate.value.substring(0,2),10); 
//      var mon1  = parseInt(oDDate.value.substring(3,5),10);
//      var yr1   = parseInt(oDDate.value.substring(6,10),10); 
//      var dt2   = parseInt(oADate.value.substring(0,2),10); 
//      var mon2  = parseInt(oADate.value.substring(3,5),10); 
//      var yr2   = parseInt(oADate.value.substring(6,10),10); 
      
      var DDate = convertStrtoDate(oDDate.value);
      var ADate = convertStrtoDate(oADate.value);
      var diff1 = datedifference(DDate,ADate);
      
      
      if (diff1 < 0)
      {
       
        if (blnAddDate == false)
        {
            alert('You have selected a date prior to the departure date. Please amend.');  
            ADate = dateAdd('d',7,DDate);
            oADate.value = chkDigit((ADate.getDate())) + "/" + chkDigit((ADate.getMonth() + 1)) + "/" + ADate.getFullYear();  
        }
        else
        {
            ADate = dateAdd('d',7,DDate);
            oADate.value = chkDigit((ADate.getDate())) + "/" + chkDigit((ADate.getMonth() + 1)) + "/" + ADate.getFullYear();  
        }
       // alert(oADate.value);
       
        
      }
      else if (diff1 >= 0 && diff1 < 7) 
      {
       // alert(blnAddDate);
        if (blnAddDate == true)
        {
            ADate = dateAdd('d',7,DDate);
            oADate.value = chkDigit((ADate.getDate())) + "/" + chkDigit((ADate.getMonth() + 1)) + "/" + ADate.getFullYear();   
        }
      }
      
    }

   function chkDigit(i)
    {
	    var str = i+'';
	    if((str.length) == 1)
	    {
		    str = '0'+str;
	    }
	    return str;
    }
    function setCalendarPosition(sender,args)
    {
        //sender._popupBehavior = new $create(AjaxControlToolkit.PopupBehavior, { parentElement : elt }, {}, {}, this._popupDiv);
//        alert(DateTxtID);
//        var datevalue = document.getElementById(DateTxtID);
//    var dt1   = parseInt(datevalue.value.substring(0,2),10); 
//    var mon1  = parseInt(datevalue.value.substring(3,5),10);
//    var yr1   = parseInt(datevalue.value.substring(6,10),10); 
//    
//    var dt = new Date(yr1, mon1-1, dt1);
//    dt = new Date(chkDigit((dt.getMonth() + 1)) + "/" + (dt.getDate()) + "/" + dt.getYear());
//    sender._selectedDate.setDate(dt.getDate());
        sender._popupBehavior.set_positioningMode(AjaxControlToolkit.PositioningMode.BottomLeft);

    }
    function dateAdd(p_Interval, p_Number, p_Date)
    {
        //if(!isDate(p_Date)){return "invalid date: '" + p_Date + "'";}
        if(isNaN(p_Number)){return "invalid number: '" + p_Number + "'";} 

        p_Number = new Number(p_Number);
        var dt = new Date(p_Date);
        switch(p_Interval.toLowerCase()){
        case "yyyy": {// year
        dt.setFullYear(dt.getFullYear() + p_Number);
        break;
        }
        case "q": { // quarter
        dt.setMonth(dt.getMonth() + (p_Number*3));
        break;
        }
        case "m": { // month
        dt.setMonth(dt.getMonth() + p_Number);
        break;
        }
        case "y": // day of year
        case "d": // day
        case "w": { // weekday
        dt.setDate(dt.getDate() + p_Number);
        break;
        }
        case "ww": { // week of year
        dt.setDate(dt.getDate() + (p_Number*7));
        break;
        }
        case "h": { // hour
        dt.setHours(dt.getHours() + p_Number);
        break;
        }
        case "n": { // minute
        dt.setMinutes(dt.getMinutes() + p_Number);
        break;
        }
        case "s": { // second
        dt.setSeconds(dt.getSeconds() + p_Number);
        break;
        }
        case "ms": { // second
        dt.setMilliseconds(dt.getMilliseconds() + p_Number);
        break;
        }
        default: {
        return "invalid interval: '" + p_Interval + "'";
        }
        }
        return dt;
    }


function datedifference(fromdate, todate)
{
    var startingdate=new Date(1997, 5, 11); //Month is 0-11 in JavaScript
    var today=new Date();
    //Get 1 day in milliseconds
    var one_day=1000*60*60*24;

    //Calculate difference btw the two dates, and convert to days
    return Math.ceil((todate.getTime()- fromdate.getTime())/(one_day));

}