﻿var cutDay
var txtCheckIn;
var txtCheckOut;
function BookHotel()
{
      var dateString="04/08/2011";
      var myDate = new Date(dateString);
      var dateString1=getObjSW("txtDepartureDate").value;     
      var newDate1= new Date(dateString1);   
      
      var dateReturnString=getObjSW("txtReturningDate").value;
      var newReturnDate1= new Date(dateReturnString);
      
       if(getObjSW("ddlLeavingFrom").selectedIndex==-1 || getObjSW("ddlGoingTo").selectedIndex==-1 || getObjSW("txtDepartureDate").value=="")
            return false;
            
         if(getObjSW("rdTripTypeReturn").checked)
         {
            if(getObjSW("ddlReturnTo").selectedIndex==-1 || getObjSW("txtReturningDate").value=="")
                return false;
         }
            
      if(myDate<= newDate1)
      {
          alert("Bus reservations past April 7tsh will begin shortly, please check back soon.");
        return false;  
      }
       if(myDate<= newReturnDate1 && getObjSW("rdTripTypeReturn").checked==true)
      {
          alert("Bus reservations past April 7th will begin shortly, please check back soon.");
        return false;  
      }
     getCutOffValues();
     var cur = new Date();
     var currentDate = new Date((cur.getMonth() + 1) + "/" + cur.getDate() + "/" + cur.getFullYear());

     if (cutDay != 0 && Math.floor(((newDate1 - currentDate) / (60 * 60 * 24)) / 1000) <= (parseInt(cutDay, 10) - 1)) 
     {
         getObjSW("dvMessage").innerHTML = "You must call Perimeter directly for reservations within " + (24 * parseInt(cutDay, 10)) + " hours.<br /><br />Telephone: 604-717-6600<br />Toll-Free: 1-888-717-6606";
         ShowInvalidPromoCodeDiv('350', '180', 'dvReservationCutOffMessage');
         return false;
     }
     
//     if(cutDay!=0  && newDate1.getDate()==currentDate.getDate() && newDate1.getMonth()==currentDate.getMonth()
//        &&  newDate1.getFullYear()==currentDate.getFullYear())
//     {
//         //getObjSW("dvMessage").innerHTML="Please call Perimeter Reservations at 604-717-6600 or 1-888-717-6606 to make a bus reservation for today travel";         
//       ShowInvalidPromoCodeDiv('350','180','dvReservationCutOffMessage');
//           return false;
//     }
//     var tomorrowDate =new Date(addDays((cur.getMonth() + 1) + "/" + cur.getDate() + "/" + cur.getFullYear(),1));
//     if(cutDay==2  && (newDate1.getDate() == tomorrowDate.getDate() && newDate1.getMonth()== tomorrowDate.getMonth()))
//     {
//       //getObjSW("dvMessage").innerHTML="Please call Perimeter Reservations at 604-717-6600 or 1-888-717-6606 to make a bus reservation for tomorrow travel";       
//       ShowInvalidPromoCodeDiv('350','180','dvReservationCutOffMessage'); 
//       return false;
//     }
     var strLeavingFrom = getObjSW("ddlLeavingFrom").options[getObjSW("ddlLeavingFrom").selectedIndex].text;
         var strGoingTo =  getObjSW("ddlGoingTo").options[getObjSW("ddlGoingTo").selectedIndex].text;
         var strReturnTo= getObjSW("ddlReturnTo").options[getObjSW("ddlReturnTo").selectedIndex].text;
         var strLeavingFromValue = getObjSW("ddlLeavingFrom").value;
         var strGoingToValue =  getObjSW("ddlGoingTo").value;
         var strReturnToValue = getObjSW("ddlReturnTo").value;
         var strJourneyType=getObjSW("rdTripTypeReturn").checked?"1":"0";         
         var departDate=getObjSW("txtDepartureDate").value;
         var returnDate=getObjSW("txtReturningDate").value;
          if(getObj("txtPromoCode")!=null)
         var promocode=getObjSW("txtPromoCode").value;
         
         CreateXmlHttp();
       
            // If browser supports XMLHTTPRequest object
          if(XmlHttp)
          {
	         //Setting the event handler for the response	  
	         XmlHttp.onreadystatechange = HandleResponseBookNow;  
             //Initializes the request object with GET (METHOD of posting), 
	         //Request URL and sets the request as asynchronous.
	         XmlHttp.open("POST", "NewAjax.aspx",  true); 
	         this.XmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded')                		
	         //Sends the request to server	       
	         XmlHttp.setRequestHeader("Connection", "close");
	         XmlHttp.send("LeavingFrom="+strLeavingFrom+"&GoingTo="+strGoingTo+"&ReturnTo="+strReturnTo+
	         "&LeavingFromValue="+strLeavingFromValue+"&GoingToValue="+strGoingToValue+"&ReturnToValue="+strReturnToValue
	         + "&JourneyType=" + strJourneyType + "&departureDate=" + departDate + "&returnDate=" + returnDate
	         + "&PromoCode=" + promocode);
           }
           return false;
           
    }
function HandleResponseBookNow()
      {
        if(XmlHttp.readyState == 4)
	    {	 // To make sure valid response is received from the server, 200 means response received is OK
		    if(XmlHttp.status == 200)
		    {
		        if(XmlHttp.responseText=="Invalid")
		          //alert('The Promo Code you have entered is not valid.  Please try again by clicking the Ok button or click here to make your reservation without a promo code.');
		          ShowInvalidPromoCodeDiv('350','180','dvInvalidPromoCode'); 
		        else
		            window.location.href='select-your-bus';
 	        }
		    else
		    {
		      alert("There was a problem retrieving data from the server." );
		    }
	     }
      }

  function buttonMouseOverOut(obj,color)
    {
        obj.style.backgroundColor = color;    
    } 
    
       
     var XmlHttp;    
     //Creating and setting the instance of appropriate XMLHTTP Request object to a “XmlHttp” variable  
     function CreateXmlHttp()
     {
           //netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");

	      //Creating object of XMLHTTP in IE
	      try
	      {
		    XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	      }
	      catch(e)
	      {
		    try
		    {
			    XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		    } 
		    catch(oc)
		    {
		        XmlHttp = null;
		    }
	      }
	      //Creating object of XMLHTTP in Mozilla and Safari 
	      if(!XmlHttp && typeof XMLHttpRequest != "undefined") 
	      {
		    XmlHttp = new XMLHttpRequest();
	      }
      }
      
      function fillGoingTo(type)
      {       
       var requestUrl = "";
       var fromId
       getObj('dvReturnTrip').style.display="none";
       getObj('dvMaskFilePopup').style.display="none";
       if(type=="2")
       {          
        //if(document.getElementById("ddlLeavingFrom").value=="2")        
        fromId=getObj("ddlLeavingFrom").options[getObj("ddlLeavingFrom").selectedIndex].value;
        requestUrl = "Ajax.aspx?Flag=2&FromId=" + fromId;
       }
       else
       {        
        fromId=getObj("ddlGoingTo").options[getObj("ddlGoingTo").selectedIndex].value;
        requestUrl = "Ajax.aspx?Flag=3&FromId=" + fromId;
       }
                        
       CreateXmlHttp();
    	
      // If browser supports XMLHTTPRequest object
      if(XmlHttp)
      {  
	   //Setting the event handler for the response
	   if(type=="2")
	     XmlHttp.onreadystatechange = HandleResponse;
	   else
	     XmlHttp.onreadystatechange = HandleResponseDropLocation;
                    		 
	     //Initializes the request object with GET (METHOD of posting), 
	     //Request URL and sets the request as asynchronous.
	     XmlHttp.open("GET", requestUrl,  true);
                    		
	     //Sends the request to server
	     XmlHttp.send(null);
       }       
     }
     
     function fillDDlHeader()
      {   
       var requestUrl = "";
       requestUrl = RelativePath()+"NewAjax.aspx?FillDropDownsHeader=2";     
       CreateXmlHttp();
    	
      // If browser supports XMLHTTPRequest object
      if(XmlHttp)
      {  
	   //Setting the event handler for the response
	   
	     XmlHttp.onreadystatechange = HandleResponseDDl;
                    		 
	     //Initializes the request object with GET (METHOD of posting), 
	     //Request URL and sets the request as asynchronous.
	     XmlHttp.open("GET", requestUrl,  true);
                    		
	     //Sends the request to server
	     XmlHttp.send(null);
       }       
     }
     
    function RelativePath()
    {
        var url = self.location.href;
        url = url.toLowerCase();
        var path = '';
        
        // determine the server   
        var local = '/localhost/';
        var server = 'server/';
        var live = 'perimeterbus.com'
        var test = 'perimeter-com.sitepreview.ca'
        
        if(url.lastIndexOf(local) > 1)
            path = "http://localhost/perimeterbusphase2/";  
        else if(url.lastIndexOf(live) > 1)
            path = "http://www.perimeterbus.com/";
        else if (url.lastIndexOf(test) > 1)
            path = "http://perimeter-com.sitepreview.ca/";
        return path;
    }

                    
   //Called when response comes back from server
   function HandleResponse()
   {  
	// To make sure receiving response data from server is completed	
	if(XmlHttp.readyState == 4)
	{	 // To make sure valid response is received from the server, 200 means response received is OK
		if(XmlHttp.status == 200)
		{		  
		  fillList(XmlHttp.responseXML.documentElement);
//		  getObj('btnBook').disabled=false;            		 
		 
		  getObj("hdnGoingTo").value=getObj("ddlGoingTo").value + "?" + getObj("ddlGoingTo").options[getObj("ddlGoingTo").selectedIndex].text;
          getObj("hdnReturnTo").value=getObj("ddlReturnTo").value+ "?" + getObj("ddlReturnTo").options[getObj("ddlReturnTo").selectedIndex].text;
	      getObj('btnBook').disabled=false;
		  //fillList(XmlHttp.responseXML.documentElement);
 	    }
		else
		{
		  alert("There was a problem retrieving data from the server." );
		}
	 }
    }
                       
   function HandleResponseDropLocation()
   {
     // To make sure receiving response data from server is completed	
	 if(XmlHttp.readyState == 4)
	 {	 // To make sure valid response is received from the server, 200 means response received is OK
		if(XmlHttp.status == 200)
		{	 
		  fillDropOffLocations(XmlHttp.responseXML.documentElement);
		  getObj("hdnGoingTo").value=getObj("ddlGoingTo").value + "?" + getObj("ddlGoingTo").options[getObj("ddlGoingTo").selectedIndex].text;
          getObj("hdnReturnTo").value=getObj("ddlReturnTo").value+ "?" + getObj("ddlReturnTo").options[getObj("ddlReturnTo").selectedIndex].text;
		  //fillList(XmlHttp.responseXML.documentElement);
 	    }
		else
		{
		 alert("There was a problem retrieving data from the server." );
		}
	  } 
   }           
   
   function HandleResponseDDl()
   {
     // To make sure receiving response data from server is completed
	 if(XmlHttp.readyState == 4)
	 {	 // To make sure valid response is received from the server, 200 means response received is OK
		if(XmlHttp.status == 200)
		{
		  fillDDl(XmlHttp.responseXML.documentElement);
		  //getCutOffValues();
 	    }
		else
		{
		 alert("There was a problem retrieving data from the server." );
		}
	  } 
   }
   
   function fillDDl(ListItems)
   {
  
    var listBoxGoingTo = getObj('ddlGoingTo');
    var listBoxReturnTo=getObj('ddlReturnTo');    
     var listBoxLeavingFrom = getObj('ddlLeavingFrom');   
	//Clears the state combo box contents.
	for (var count = listBoxGoingTo.options.length-1; count >-1; count--)
	{
	    listBoxGoingTo.options[count] = null;
	}
	for (var count = listBoxReturnTo.options.length-1; count >-1; count--)
	{
		listBoxReturnTo.options[count] = null;
	}
	for (var count = listBoxLeavingFrom.options.length-1; count >-1; count--)
	{
		listBoxLeavingFrom.options[count] = null;
	}
	
	listBoxLeavingFromText = ListItems.getElementsByTagName('Table');
	listGoingToText = ListItems.getElementsByTagName('Table');
	listReturnToText = ListItems.getElementsByTagName('Table2');
	
	for (var count = 0; count < listBoxLeavingFromText.length; count++)
	{
	    textValueName = GetInnerText(listBoxLeavingFromText[count].getElementsByTagName('Place_Name')[0]);
	    valueMember=GetInnerText(listBoxLeavingFromText[count].getElementsByTagName('Place_Id')[0]);	   
        optionItemName = new Option( textValueName, 
        valueMember,  false, false);
        listBoxLeavingFrom.options[listBoxLeavingFrom.length] = optionItemName;
	 }
	 	          
	for (var count = 0; count < listGoingToText.length; count++)
	{
	    textValueName = GetInnerText(listGoingToText[count].getElementsByTagName('Place_Name')[0]);
	    valueMember=GetInnerText(listGoingToText[count].getElementsByTagName('Place_Id')[0]);	   
        optionItemName = new Option( textValueName, 
        valueMember,  false, false);
        listBoxGoingTo.options[listBoxGoingTo.length] = optionItemName;
	 }
	 for (var count = 0; count < listReturnToText.length; count++)
	 {
	    textValueName = GetInnerText(listReturnToText[count].getElementsByTagName('Place_Name')[0]);
	    valueMember=GetInnerText(listReturnToText[count].getElementsByTagName('Place_Id')[0]);
        optionItemName = new Option( textValueName, 
        valueMember,  false, false);
        listBoxReturnTo.options[listBoxReturnTo.length] = optionItemName;  
     }
     
     fillGoingTo('2');
   }              
   function fillList(ListItems)
   {
    var listBox = getObj('ddlGoingTo');
    var listBoxReturnTo=getObj('ddlReturnTo');
       
	//Clears the state combo box contents.
	for (var count = listBox.options.length-1; count >-1; count--)
	{
	    listBox.options[count] = null;
	}
	for (var count = listBoxReturnTo.options.length-1; count >-1; count--)
	{
		listBoxReturnTo.options[count] = null;
	}
	
	listText = ListItems.getElementsByTagName('Table');
	listReturnToText = ListItems.getElementsByTagName('Table1');
	for (var count = 0; count < listText.length; count++)
	{
	    textValueName = GetInnerText(listText[count].getElementsByTagName('Place_Name')[0]);
	    valueMember=GetInnerText(listText[count].getElementsByTagName('Place_Id')[0]);
        optionItemName = new Option( textValueName,
        valueMember,  false, false);
        listBox.options[listBox.length] = optionItemName;
	 }
	 for (var count = 0; count < listReturnToText.length; count++)
	 {
	    textValueName = GetInnerText(listReturnToText[count].getElementsByTagName('Place_Name')[0]);
	    valueMember=GetInnerText(listReturnToText[count].getElementsByTagName('Place_Id')[0]);
        optionItemName = new Option( textValueName, 
        valueMember,  false, false);
        listBoxReturnTo.options[listBoxReturnTo.length] = optionItemName;  
     }
   }
   function fillDropOffLocations(ListItems)
   {
     listTextRetunnTo=ListItems.getElementsByTagName('Table');
     var listBoxReturnTo= getObj('ddlReturnTo');
     for (var count = listBoxReturnTo.options.length-1; count >-1; count--)
	 {
	    listBoxReturnTo.options[count] = null;
	 }
     for (var count = 0; count < listTextRetunnTo.length; count++)
	 {
	    textValueName = GetInnerText(listTextRetunnTo[count].getElementsByTagName('Place_Name')[0]);
	    valueMember=GetInnerText(listTextRetunnTo[count].getElementsByTagName('Place_Id')[0]);
        optionItemName = new Option( textValueName, 
        valueMember,  false, false);
        listBoxReturnTo.options[listBoxReturnTo.length] = optionItemName; 
     }
   } 
   function GetInnerText (node)
   {
      return (node.textContent || node.innerText || node.text) ;
   }
   function SetInnerText (node,val)
   {
      if(node.textContent)
      {
        node.textContent=val;
      }
      else if(node.innerText)
        node.innerText=val;
      else if(node.text)
        node.text=val;
   }
   function setReturnPlace()
   {
        getObj("hdnReturnTo").value=getObj("ddlReturnTo").value+ "?" + getObj("ddlReturnTo").options[getObj("ddlReturnTo").selectedIndex].text;
   }
   function ShowReturnDate(val)
    {
        if(val==true)
        {
            getObj('trReturnTo').style.display="";
            getObj('trReturnCal').style.display="";
        }
        else
        {
            getObj('trReturnTo').style.display="none";
            getObj('trReturnCal').style.display="none";
        }
    }
                                    
  function showReturnDiv()
    {
        var browser =window.navigator.userAgent;    
        if(getObjSW('ddlLeavingFrom').value=="2" && (getObjSW('ddlGoingTo').value=="6" || getObjSW('ddlGoingTo').value=="3"))
        {           
            var msg;
            if(getObjSW('ddlGoingTo').value=="6")
                msg="Squamish";
            else
                msg="Whistler";
                        
            if(navigator.appName!="Microsoft Internet Explorer")
            {             
              getObjSW('lblReturnTrip').textContent="If you depart from Downtown Vancouver for " + msg +" you must return to Vancouver Airport (YVR). Do you want to book a trip from Downtown Vancouver to " + msg + " to Vancouver Airport (YVR)?";
            }
            else
            {                
                getObjSW('lblReturnTrip').innerText="If you depart from Downtown Vancouver for " + msg + " you must return to Vancouver Airport (YVR). Do you want to book a trip from Downtown Vancouver to " + msg + " to Vancouver Airport (YVR)?";
            }
            getObjSW('dvMaskFilePopup').style.display="block";
            getObjSW('dvReturnTrip').style.display="block";
            getObjSW('dvMaskFilePopup').style.width=document.documentElement.clientWidth+"px";
            getObjSW('dvMaskFilePopup').style.height=document.documentElement.clientHeight+"px";
        }
        else
        {
            var isChecked=false;              
           if(getObjSW("rdTripTypeOneWay").checked==true)
                    isChecked=true;            
            if(isChecked==true)
            {              
                getObjSW('dvMaskFilePopup').style.display="none";
                getObjSW('dvReturnTrip').style.display=="none";
            }
        }
    }
    
    function getAnswer(str)
    { 
        if(str==true)
        {
            getObjSW('ddlReturnTo').value="1";
            if(getObjSW("rdTripTypeOneWay").checked)
                ShowReturnDate(true);            
		    getObjSW("rdTripTypeReturn").checked=true;		 	  
                
           getObjSW('btnBook').disabled=false;         
        }
        else
        {
            var reservationType=getObjSW("rdTripTypeOneWay").checked;
            if(reservationType==true)
            {
                ShowReturnDate(false);
            }
            getObjSW('btnBook').disabled=true;
        }
        getObjSW('dvReturnTrip').style.display="none";
        getObjSW('dvMaskFilePopup').style.display="none";        
        return false;
    }
    function SetMonth(objtxtchin,objtxtchout)
    {
        txtCheckIn=objtxtchin;
        txtCheckOut=objtxtchout;
       getCutOffValues();
       
    }
    function SetMonthNew(objtxtchin,objtxtchout)
    {
     var firstShowCheckinDate = 0;
        currentDate=getCurrentDate.getDate() + firstShowCheckinDate;
        firstDateTextBox=objtxtchin;
        secondDateTextBox=objtxtchout;
        month[0]="January"
        month[1]="February"
        month[2]="March"
        month[3]="April"
        month[4]="May"
        month[5]="June"
        month[6]="July"
        month[7]="August"
        month[8]="September"
        month[9]="October"
        month[10]="November"
        month[11]="December"

        var ddlValue="";
	    var monthValue="";
	    var	endDate	= new Date (currentYear,currentMonth+1,1);
	    endDate	= new Date (endDate	- (24*60*60*1000));
	    var numDaysInMonth = endDate.getDate();
	    var curMonth=currentMonth;
	    var curDate=currentDate;
	    var curYear=currentYear;
        
        if((currentDate +2)-numDaysInMonth>0)
	    {
	        curDate=currentDate-numDaysInMonth;
	        if(currentMonth==11)
	        {
	            curMonth=0;
	            curYear=curYear+1;
	        }
	        else
	            curMonth=currentMonth+1;
	    }
        for(i=currentMonth;i<12;i++)
        {
            var arrivalObject=new Option(month[i]+", "+currentYear);
            var arrivalLength = getObjSW("arrivalMonthYear").options.length;
            getObjSW("arrivalMonthYear").options[arrivalLength]=arrivalObject;
    	    
            if(i<9)
                monthValue="0"+(i+valueFormat);
            else
                monthValue=i+valueFormat;
    	        
            if(valueFormat=="0")
            {
               if(i==9)
                    monthValue="09";
            }
    	    
            ddlValue=currentYear+""+monthValue;
            getObjSW("arrivalMonthYear").options[arrivalLength].value=ddlValue;            
        }
        if(curMonth<10)
            getObjSW("arrivalMonthYear").value= currentYear+"0" + curMonth;
        else
            getObjSW("arrivalMonthYear").value= currentYear+"" + curMonth;
        for(j=0;j<=currentMonth;j++)
        {
            var nextYear=currentYear+1;
            var arrivalObject=new Option(month[j]+", "+nextYear);
            var arrivalLength = getObj("arrivalMonthYear").options.length;
            getObjSW("arrivalMonthYear").options[arrivalLength]=arrivalObject;           
            if(j<9)
               monthValue="0"+(j+valueFormat);
            else
               monthValue=j+valueFormat;
    	    
            if(valueFormat=="0")
            {
               if(j==9)
                    monthValue="09";
            }    	    
            ddlValue=nextYear+""+monthValue;
            getObjSW("arrivalMonthYear").options[arrivalLength].value=ddlValue;    
        }
        if(parseInt(curMonth,10)<10)
    	    getObjSW("arrivalMonthYear").value= curYear+"0"+curMonth;
    	else
    	    getObjSW("arrivalMonthYear").value= curYear+""+curMonth;
	    if(curDate==1)
	        getObjSW("arrivalMonthYear").remove(getObjSW("arrivalMonthYear").options.length-1)
        var arrivalMonth=getObjSW("arrivalMonthYear").value.substring(4,6);
	    var arrivalYear=getObjSW("arrivalMonthYear").value.substring(0,4);
	    var newdate=addDays((parseInt(arrivalMonth,10) +1) + '/' + curDate + '/'  + arrivalYear,cutDay)
	    var newDate1= new Date(newdate);
	    if(parseInt(newDate1.getMonth(),10)<10)
	        getObjSW("arrivalMonthYear").value=newDate1.getFullYear() + "0"+ newDate1.getMonth();
	    else
	        getObjSW("arrivalMonthYear").value=newDate1.getFullYear() + ""+ newDate1.getMonth();
	    //getActualDate(currentDate,arrivalMonth,arrivalYear);	
	    arrivalMonth=getObjSW("arrivalMonthYear").value.substring(4,6);
	    arrivalYear=getObjSW("arrivalMonthYear").value.substring(0,4);
	    
	    var	endDate1= new Date (newDate1.getFullYear(),(parseInt(newDate1.getMonth(),10)+1),1);
	   endDate1	= new Date (endDate1 - (24*60*60*1000));
	   numDaysInMonth = endDate1.getDate();
	   fillDay(newDate1.getDate() ,newDate1.getMonth(),newDate1.getFullYear(),"arrivalDay",numDaysInMonth);
	    //fillDay(curDate+2,arrivalMonth,arrivalYear,"arrivalDay",31);
	    fillDepartureMonth();
	    fillDepartureDate();
	    fillTextBox();        
        init();
        fillDDlHeader();
    }
    function fillDepartureDate()
    {    
    emptyControl("departureDay");    
    var departureYear=getObjSW("departureMonthYear").value.substring(0,4);
	var departureMonth=getObjSW("departureMonthYear").value.substring(4,6);
	var arrivalYear=getObjSW("arrivalMonthYear").value.substring(0,4);
	var arrivalMonth=getObjSW("arrivalMonthYear").value.substring(4,6);
	var dayValue=parseInt(getObjSW("arrivalDay").value)+1;	
	var chdate=new Date(departureYear,departureMonth-valueFormat,dayValue)	
	//If user select date from returning date calendar 
	// This is logic so that user can select same return and departure date
	//in case of	
  
    if(caltype==secondDateTextBox)
	{	    
	    if(dateSelected!=null)
	        dayValue=dateSelected;
	}	
	
	if(dayValue!=chdate.getDate())
	{
	    dayValue=1;
	}
    if(departureMonth!=arrivalMonth)
       dayValue=1;    
    if((departureMonth==arrivalMonth) && (arrivalYear!=departureYear))
       dayValue=1;   
    var endDepartureDate=31;
	if(getObjSW("departureMonthYear").selectedIndex==getObjSW("departureMonthYear").options.length-1)
        endDepartureDate=currentDate;
	fillDay(dayValue,departureMonth,departureYear,"departureDay",endDepartureDate);
}

function getCutOffValues()
{
     var requestUrl = "";
     requestUrl = "Ajax.aspx?Setting=1&Id=1&Type=Reservation cut off&Status=1&Crud=2&" + Math.random();     
     CreateXmlHttp();
     
     if(XmlHttp)
     {        
        XmlHttp.onreadystatechange = HandleCutOffValues;
         //Initializes the request object with GET (METHOD of posting), 
         //Request URL and sets the request as asynchronous.
         XmlHttp.open("GET", requestUrl,  true);
         //Sends the request to server
         XmlHttp.send(null);
     } 
}
function HandleCutOffValues()
{
     if(XmlHttp.readyState == 4)
	    {	 // To make sure valid response is received from the server, 200 means response received is OK
		    if(XmlHttp.status == 200)
		    {
		       var dataSet;
               var data=XmlHttp.responseXML.documentElement;
		        dataSet= data.getElementsByTagName('Table');
		        cutDay=GetInnerText(dataSet[0].getElementsByTagName('PR_SystemValue')[0]);	       
		        SetMonthNew(txtCheckIn,txtCheckOut);
		    }
		}
}

function addDays(s,noOfDays) 
    {
        var dateArray = s.split('/');
        var sdate = new Date(dateArray[2],dateArray[0]-1,dateArray[1]);

    // figure out date 7 days from the date using time functions
        var newdate = new Date(sdate.getTime() + (noOfDays * 86400000));

    // return value
        return (newdate.getMonth()+1) + '/' + newdate.getDate() + '/' + newdate.getYear();
    }
    
      function showdeadcenterdiv(Xwidth,Yheight,divid) { 
// First, determine how much the visitor has scrolled 

var scrolledX, scrolledY; 
if( self.pageYoffset ) { 
scrolledX = self.pageXoffset; 
scrolledY = self.pageYoffset; 
} else if( document.documentElement && document.documentElement.scrollTop ) { 
scrolledX = document.documentElement.scrollLeft; 
scrolledY = document.documentElement.scrollTop; 
} else if( document.body ) { 
scrolledX = document.body.scrollLeft; 
scrolledY = document.body.scrollTop; 
} 

// Next, determine the coordinates of the center of browser's window 

var centerX, centerY; 
if( self.innerHeight ) { 
centerX = self.innerWidth; 
centerY = self.innerHeight; 
} else if( document.documentElement && document.documentElement.clientheight ) { 
centerX = document.documentElement.clientWidth; 
centerY = document.documentElement.clientheight; 
} else if( document.body ) { 
centerX = document.body.clientWidth; 
centerY = document.body.clientHeight; 
} 

// Xwidth is the width of the div, Yheight is the height of the 
// div passed as arguments to the function: 
var leftoffset = scrolledX + (centerX - Xwidth) / 2; 
var topoffset = scrolledY + (centerY - Yheight) / 2; 
// the initial width and height of the div can be set in the 
// style sheet with display:none; divid is passed as an argument to // the function 
//var o=document.getElementById(divid); 
var o=getObjSW(divid);
var r=o.style; 
r.position='absolute'; 
r.top = topoffset + 'px'; 
r.left = leftoffset + 'px';
if (window.navigator.userAgent.indexOf("Firefox") <= -1)
    r.top = (centerY - 1000)+ 'px'; 
   //r.top = centerY + 'px'

    
//r.display = "block"; 
} 