d=document;l=(d.layers)?1:0;op=navigator.userAgent.toLowerCase().indexOf('opera')!=-1;
function gE(e,f){if(l){f=(f)?f:self;V=f.document.layers;if(V[e])return V[e];for(W=0;i<W.length;W++)return(gE(e,V[W]));}if(d.all)return d.all[e];return d.getElementById(e);}
function sE(e){if(l)e.visibility='show';else e.style.visibility='visible';}
function hE(e){if(l)e.visibility='hide';else e.style.visibility='hidden';}
function MM_openBrWindow(theURL,winName,features) {window.open(theURL,winName,features);}
function toggle(id){var x=document.getElementById(id);if(x.style.display=='none'){x.style.display='';}else{x.style.display='none';}}
function post_link(){ var t,z,c=arguments.length;if(c>0){t="<form action='"+arguments[0]+"' method='post' name='postlinkfrm' id='postlinkfrm'>";for(i=1;i<c;i+=2)t+="<input type='hidden' name='"+arguments[i]+"' value='"+arguments[i+1]+"'>";t+="</form>";z=document.getElementById("postlinkdiv");if(z){z.innerHTML=t;document.forms["postlinkfrm"].submit();}}}
/***********************************************
* Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
var rootdomain="http://www.key-res.com";
var zlist = Array("group","country","state","city","property");
var last_from, last_to, grp_code;
// Modified ajax return handler - specific to datebox select lists
		function loadpage(page_request, containerid)
		{
		var cc = document.getElementById(containerid);
		var ll = document.getElementById(containerid+"_row");
			if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
			{
				if(page_request.responseText == "<option>No Results</option>\n")
				{
					ll.style.display = "none";
					sl_change(last_from, get_next(last_to));
				}
				else
				{
					show_from(last_to);
					cc.innerHTML=page_request.responseText;
				}
			}
		}
		
		// gets the next select list that is to be used in the sequence for the datebox
		// uses global var: 	zlist
		function get_next(w)
		{
			for(a=0;a<zlist.length;a++)
				if(zlist[a] == w)
					return zlist[a+1];
			return "";
		}
		
		// Shows and clears the contents of all the select lists from (and including) the passed identifier
		// uses global var: 	zlist
		function show_from(w)
		{
		var t = false;
			for(a=0;a<zlist.length;a++)
			{
				if(zlist[a] == w)
					t = true;
				if(t)
				{
				var cc = document.getElementById("select_"+zlist[a]);
				var ll = document.getElementById("select_"+zlist[a]+"_row");
					ll.style.display = "";
					cc.innerHTML = "";
				}
			}
		}
		
		// event handler for select list change	
		function sl_change(w,x)
		{
			if(x == undefined)
				q = get_next(w);
			else
				q = x;
			cur_data = document.DateSelect["select_"+w].value;
			if(w=="group")
				grp_code = cur_data;
			last_from = w;
			last_to = q;
			ajaxpage(rootdomain+"/dave/ajax_datebox.php?cur_item="+w+"&cur_data="+cur_data+"&grp_code="+grp_code+"&nxt="+q,"select_"+q);
		}
function ajaxpage(url, containerid)
		{
			var page_request = false;
			if (window.XMLHttpRequest) // if Mozilla, Safari etc
				page_request = new XMLHttpRequest();
			else if (window.ActiveXObject)
			{ // if IE
				try 
				{
					page_request = new ActiveXObject("Msxml2.XMLHTTP");
				} 
				catch (e)
				{
					try
					{
						page_request = new ActiveXObject("Microsoft.XMLHTTP");
					}
					catch (e)
					{}
				}
			}
			else
				return false;
			page_request.onreadystatechange=function()
			{
				loadpage(page_request, containerid);
			}
			page_request.open("GET", url, true);
			page_request.send(null);
		}
var loadedobjects="";
function loadobjs()
		{
			if (!document.getElementById)
				return
			for (i=0; i<arguments.length; i++)
			{
				var file=arguments[i]
				var fileref=""
				if (loadedobjects.indexOf(file)==-1)
				{ //Check to see if this object has not already been added to page before proceeding
					if (file.indexOf(".js")!=-1)
					{ //If object is a js file
						fileref=document.createElement("script")
						fileref.setAttribute("type","text/javascript");
						fileref.setAttribute("src", file);
					}
					else if (file.indexOf(".css")!=-1)
					{ //If object is a css file
						fileref=document.createElement("link")
						fileref.setAttribute("rel", "stylesheet");
						fileref.setAttribute("type", "text/css");
						fileref.setAttribute("href", file);
					}
				}
				if (fileref!="")
				{
					document.getElementsByTagName("head").item(0).appendChild(fileref)
					loadedobjects+=file+" " //Remember this object as being already added to page
				}
			}
		} 
		
		
			// for NN4/IE4
	if (self.screen) {     
					width = screen.width
					height = screen.height
	}
	// for NN3 w/Java
	else if (self.java) {   
	
				 var javakit = java.awt.Toolkit.getDefaultToolkit();
				 var scrsize = javakit.getScreenSize();       
				 width = scrsize.width; 
				 height = scrsize.height; 
	}
	else {
	// N2, E3, N3 w/o Java (Opera and WebTV)
	width = 480
	height = 640 
	}
	 //-->
	var whichWidth = width;
	
	
	
	// for NN4/IE4
	if (self.screen) {     
					width = screen.width
					height = screen.height
	}
	// for NN3 w/Java
	else if (self.java) {   
	
				 var javakit = java.awt.Toolkit.getDefaultToolkit();
				 var scrsize = javakit.getScreenSize();       
				 width = scrsize.width; 
				 height = scrsize.height; 
	}
	else {
	// N2, E3, N3 w/o Java (Opera and WebTV)
	width = 480
	height = 640 
	}
	 //-->
	var whichWidth = width;



  /******************************
  * Editable section -- Start --
  ******************************/
  // DATE SETTINGS - EDIT AS REQUIRED
  var daysinAdvance = 1; // Sets default days in advance from current date
  var numberNights = 2;  // Sets default number of nights
  var numberYears = 3; // Sets default number of years to display in year select list
  var numberNightsMin = 2; // Sets minimum number of nights accepted
  //var numberNightsMax = 7; // Sets maximum number of nights accepted
  var imgDir = "images/"; // Directory for the dynamic calendar script and images. Trailing slash must be included.

  // FLAG SETTINGS ON/OFF - SET TO 1 FOR ON & 0 FOR OFF
  var wdDisplay = 1; //weekday display
  var numberNightsDisplay = 1; //number of nights display
  var departDateDisplay = 0; //departure dates display
  var departDateUpdate = 0; //auto update departure date

  // WEEK DAY AND NUMBER NIGHTS TEXT - EDIT TEXT AS REQUIRED
  var wdArray = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
  var nightTxt = " Night";
  var nightsTxt = " Nights";

  // ERROR MESSAGE TEXT - EDIT TEXT AS REQUIRED
  var invalidDateTxt = "Invalid Arrival Date. Please check number of days selected";
  var invalidDatePriorTxt = "Arrival Date selected is prior to Today's date. Please change...";
  var invalidNightsTxt = "Sorry, reservations under "+numberNightsMin+" nights are not accepted.";

  /******************************
  * Editable section -- End --
  ******************************/

  /**************************************************
  * DO NOT CHANGE JAVASCRIPT SETTINGS BELOW THIS LINE
  **************************************************/
  //Days in each month Array
  var aNumDays = new Array (31,0,31,30,31,30,31,31,30,31,30,31);

  //Cancel out if no departure date display
  if(departDateDisplay == 0) {
    numberNightsDisplay = 0;
    departDateUpdate = 0;
  }

  //Sets dates selected from dyncalendar
  function calendarCallback(day, month, year, objName, formName) {
    if(objName == "calendarArrive"){
      document.forms[formName].fd.selectedIndex = day-1;
      document.forms[formName].fm.selectedIndex = month-1;
      document.forms[formName].fy.selectedIndex = year - document.forms[formName].fy.options[0].text;
      updateDates(document.forms[formName]);
      if(wdDisplay == 1 && departDateDisplay == 1) setWkd(formName, 1);
    }else{  //objName == calendarDepart
      document.forms[formName].td.selectedIndex = day-1;
      document.forms[formName].tm.selectedIndex = month-1;
      document.forms[formName].ty.selectedIndex = year - document.forms[formName].ty.options[0].text;
      if(wdDisplay == 1 && departDateDisplay == 1) setWkd(formName, 1);
    }
  }

  //Update form with selected dates
  function updateDates(form, loadDates) {
    //check Leap Year
    if(form.fm.selectedIndex==1)  {
      var leapYear  = new Date (form.fy.options[form.fy.selectedIndex].text,form.fm.selectedIndex+1,1);
      var leapYear  = new Date (leapYear  - (24*60*60*1000));
      var numDaysInMonth = leapYear.getDate();
    }else{
      var numDaysInMonth = aNumDays[form.fm.selectedIndex];
    }
    // Update departure date only when loading the form and/or departDateUpdate is set to 1
    if(loadDates == 1 || departDateUpdate == 1) {
      var selectDate = new Date(form.fy.options[form.fy.selectedIndex].text, form.fm.selectedIndex, form.fd.selectedIndex);
      var setDate = new Date(selectDate.getTime() + ((numberNights+1) * 86400000));
      var setDay = setDate.getDate();
      var setMonth = setDate.getMonth();
      var setYear = setDate.getFullYear() - form.fy.options[0].text;
      var checkinDate = new Date(form.fy.options[form.fy.selectedIndex].text,form.fm.selectedIndex,form.fd.selectedIndex+1);
      var checkoutDate = new Date(form.ty.options[form.ty.selectedIndex].text,form.tm.selectedIndex,form.td.selectedIndex+1);
      if(checkinDate > checkoutDate) {
        if(setYear == form.ty.length) {
          form.td.options[30].selected=1;
          form.tm.options[11].selected=1;
          form.ty.options[form.ty.length-1].selected=1;
        } else {
          form.td.options[setDay-1].selected=1;
          form.tm.options[setMonth].selected=1;
          form.ty.options[setYear].selected=1;
        }
      }
    }
    if(form.fd.selectedIndex+1 > numDaysInMonth) {
      alert(invalidDateTxt);
      form.fd.selectedIndex = numDaysInMonth-1;
    }
  }

  function setWkd(form, calendar) {
    // change form object if returned from calendar
    if(calendar) form = document.forms[form];
    for (var i = 0; i < form.fy.length; i++) {
      if (form.fy.options[i].selected) var fyear = form.fy.options[i].text;
      if (departDateDisplay == 1 && form.ty.options[i].selected) var tyear = form.ty.options[i].text;
    }
    var checkinDate = new Date(fyear,form.fm.selectedIndex,form.fd.selectedIndex+1);
    if (departDateDisplay == 1) var checkoutDate = new Date(tyear,form.tm.selectedIndex,form.td.selectedIndex+1);
    var numNights = Math.round((checkoutDate - checkinDate) / 86400000);
    if (numNights == 1) numNights += nightTxt;
    else numNights += nightsTxt;
    //Set Days of the week display
    if(wdDisplay == 1 && document.getElementById) {
      document.getElementById('inWd').firstChild.nodeValue = '(' + wdArray[checkinDate.getDay()] + ')';
      if (departDateDisplay == 1) document.getElementById('outWd').firstChild.nodeValue = '(' + wdArray[checkoutDate.getDay()] + ')';
    }
    //Set number of nights display
    if(numberNightsDisplay == 1 && document.getElementById) document.getElementById('lengthStay').firstChild.nodeValue = numNights;
  }

  //Load current dates on form load
  function LoadDates(form) {
    var curDate = new Date();
    var setDate = new Date(curDate.getTime() + (daysinAdvance * 86400000));
    var setDay = setDate.getDate();
    var setMonth = setDate.getMonth();
    var setYear = setDate.getFullYear() - form.fy.options[0].text;
    // Set Arrival Dates
    form.fd.selectedIndex = setDay-1;
    form.fm.selectedIndex = setMonth;
    form.fy.selectedIndex = setYear;
    // Set the Departure Dates
    updateDates(form, departDateDisplay);
	 
	 //i commented this line out//////////////////////////////////////////////////////////////////////
    //if(wdDisplay == 1 || numberNightsDisplay == 1) setWkd(form);
  }

  //Load current dates on form load
  function checkDates(form) {
    var curDate = new Date();
    for (var i = 0; i < form.fy.length; i++) {
      if (form.fy.options[i].selected) var fyear = form.fy.options[i].text;
      if (departDateDisplay == 1 && form.ty.options[i].selected) var tyear = form.ty.options[i].text;
    }
    var checkinDate = new Date(fyear,form.fm.selectedIndex,form.fd.selectedIndex+2);
    if (departDateDisplay == 1) {
      var checkoutDate = new Date(tyear,form.tm.selectedIndex,form.td.selectedIndex+2);
      var numNights = Math.round((checkoutDate - checkinDate) / 86400000);
    } else {
      var numNights = form.numnights.selectedIndex+1;
    }
    if(checkinDate.getTime() < curDate.getTime()) {
      alert(invalidDatePriorTxt);
      return false;
    }
    if(numNights < 1) {
      alert(invalidDepartTxt );
      return false;
    }
    if(numNights < numberNightsMin) {
      alert(invalidNightsTxt);
      return false;
    }
    /*if(numNights > numberNightsMax) {
      alert(invalidNightsTxt);
      return false;
    }*/
  }

  //Generate years options for year select list
  function year_option(form){
    curDate = new Date();
    curYear = curDate.getFullYear();
    for(i = curYear ; i <= curYear+(numberYears-1) ; i++ ){
      document.write('<option value="' + i + '">' + i + '</option>');
    }
  }
  
  
  
/*function gotoResForm(form) {
	if(form.mstcode.options[i].selected == 'RESFORM'){
document.DateSelect.action="include/resform_agent.php";
  } else {
document.DateSelect.action="http://www.globekey.com/reserve.php";
  }
}
function setAction() {
    if(form.mstcode.options[i].selected == "RESFORM"){  
  document.DateSelect.action = document.DateSelect.mstcode.options[document.DateSelect.mstcode.selectedIndex].value;
	   return true;
	else{
	
		}
}
*/
