// -- for Internet Explorer - stops background flickering --//
   /*@cc_on 
	@if (@_win32)
	try {
	  document.execCommand('BackgroundImageCache', false, true);
	} catch(e) {}
	@end
@*/
// -- addLoadEvent function from http://simonwillison.net --//
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}
//---- NAVIGATION ROLLOVERS & MENU EVENTS ----//

addLoadEvent(setupNav);

function setupNav(){
	var nItems = new Array();
	if(n = document.getElementById("navigation")){
	nItems = n.getElementsByTagName("a");
	for(i=0;i<nItems.length;i++){
		navImg = nItems[i].getElementsByTagName("img");
		if(navImg[0]){
			if(navImg[0].src.indexOf("-on")==-1){
				nItems[i].stored = navImg[0].id;
				nItems[i].onmouseover = imgRoll;
				nItems[i].onmouseout = imgOff;
			}
		}
	}
	}
	
}



if(document.images){
nav01Roll = new Image();
nav01Roll.src = "../cust/images/nav_01_on.jpg";
nav01Off = new Image();
nav01Off.src = "../cust/images/nav_01_off.jpg";

nav02Roll = new Image();
nav02Roll.src = "../cust/images/nav_02_on.jpg";
nav02Off = new Image();
nav02Off.src = "../cust/images/nav_02_off.jpg";

nav03Roll = new Image();
nav03Roll.src = "../cust/images/nav_03_on.jpg";
nav03Off = new Image();
nav03Off.src = "../cust/images/nav_03_off.jpg";

nav04Roll = new Image();
nav04Roll.src = "../cust/images/nav_04_on.jpg";
nav04Off = new Image();
nav04Off.src = "../cust/images/nav_04_off.jpg";

nav05Roll = new Image();
nav05Roll.src = "../cust/images/nav_05_on.jpg";
nav05Off = new Image();
nav05Off.src = "../cust/images/nav_05_off.jpg";

nav06Roll = new Image();
nav06Roll.src = "../cust/images/nav_06_on.jpg";
nav06Off = new Image();
nav06Off.src = "../cust/images/nav_06_off.jpg";

}

function imgRoll(){
	var n = this.stored;
	if(document.getElementById(n)){
		document.getElementById(n).src = eval(n+"Roll").src;
	}
}

function imgOff(){
	var n = this.stored;
	if(document.getElementById(n)){
		document.getElementById(n).src = eval(n+"Off").src;	
	}
}
//---- DATEPICKER ----//   

addLoadEvent(function() {
	if (document.getElementById("sd")){
  		//datePickerController(window, 'load', initialiseInputs);
		initialiseInputs();
	}
});

function makeTwoChars(inp) {
        return String(inp).length < 2 ? "0" + inp : inp;
}

function initialiseInputs() {
        // Clear any old values from the inputs (that might be cached by the browser after a page reload)
        document.getElementById("sd").value = "";
        document.getElementById("ed").value = "";

        // Add the onchange event handler to the start date input
        document.getElementById("sd").onchange = setReservationDates;
        
        setLowRangeToBeSixWeeksAfterToday();
}
function setLowRangeToBeSixWeeksAfterToday() {
        if(!("sd" in datePickerController.datePickers)) {
                setTimeout("setLowRangeToBeSixWeeksAfterToday()", 50);
                return;
        }
        
        var dt = new Date();
        dt.setDate(dt.getDate() +  (6 * 7));
        
        var stringDt = dt.getFullYear() + String(makeTwoChars(dt.getMonth())) + makeTwoChars(dt.getDate());

        datePickerController.datePickers["sd"].setRangeLow(stringDt);
        datePickerController.datePickers["ed"].setRangeLow(stringDt);
}

function setReservationDates(e) {
        // Check the associated datePicker object is available (be safe)
        if(!("sd" in datePickerController.datePickers)) {
                return;
        }
        
        // Check the value of the input is a date of the correct format
        var dt = datePickerController.dateFormat(this.value, datePickerController.datePickers["sd"].format.charAt(0) == "m");
        
        // If the input's value cannot be parsed as a valid date then return
        if(dt == 0) return;

        // Grab the value set within the endDate input and parse it using the dateFormat method
        // N.B: The second parameter to the dateFormat function, if TRUE, tells the function to favour the m-d-y date format
        var edv = datePickerController.dateFormat(document.getElementById("ed").value, datePickerController.datePickers["ed"].format.charAt(0) == "m");

        // Grab the end date datePicker Objects
        var ed = datePickerController.datePickers["ed"];

        ed.setRangeLow( dt );
        
        // If theres a value already present within the end date input and it's smaller than the start date
        // then clear the end date value
        if(edv < dt) {
                document.getElementById("ed").value = "";
        }
}