var gnReqVersion   = 8;  // Required flash version
var llDomLoaded    = false;  // DOM not loaded yet

/*** Standard Functions ***/
function getElementsByClassName(lcClassName) {
	var laElements = (document.body.all)? document.body.all : document.body.getElementsByTagName("*");
	var laReturnElements = new Array();
	var lcTest = new RegExp("(^|\\s)" + lcClassName.replace(/\-/g, "\\-") + "(\\s|$)");  // Build RegExp and escape '-'
	var loElement;
	for(var i = 0; i < laElements.length; i++) {
		loElement = laElements[i];
		if(lcTest.test(loElement.className)) {
			laReturnElements[laReturnElements.length] = loElement;  // Avoid 'push' method for IE 5.0
		};
	};
	return (laReturnElements);
};
/**************************/

/*** Replace 'new window' links ***/
function linkReplace() {
	if(window.RegExp) {
		var lcReplace = /(<a)([^>]*)(name=\"_blank)|(name=_blank)(:?)([\w-]*)([^>]*)/ig;
		document.body.innerHTML = document.body.innerHTML.replace(lcReplace, "$1$2name=\"$6\"$7 onclick=\"javascript:window.open(this.getAttribute('href'));return false;\"");
	};
};
/**********************************/

/*** Setup functions to run after DOM is loaded ***/
function addDOMLoadEvent(func) {
	// Run function if DOM is loaded
	if(llDomLoaded) {
		func();
		return;
	}
	var oldOnDOMLoadEvents = window.onDOMLoadEvents;
	if(typeof window.onDOMLoad != "function") {
		window.onDOMLoadEvents = func;
	} else {
		window.onDOMLoadEvents = function() {
			if(oldOnDOMLoadEvents) {
				oldOnDOMLoadEvents();
			};
			func();
		};
	};
};
function onDOMLoad() {
	// quit if this function has already been called
	if (llDomLoaded) return;
	// flag this function so we don't do the same thing twice    
	llDomLoaded = true;
	if(typeof window.onDOMLoad == "function") onDOMLoadEvents();
};

if(document.addEventListener) document.addEventListener('DOMContentLoaded', onDOMLoad, false);

// for Internet Explorer (using conditional comments)
/*@cc_on @*/
/*@if (@_win32)
	document.write("<script id=\"IE_onDOMLoad\" defer src=\"javascript:void(0)\;\"><\/script>");
	var script = document.getElementById("IE_onDOMLoad");
	script.onreadystatechange = function() {
		if (this.readyState == "complete") {
			onDOMLoad(); // call the onload handler
		};
	};
/*@end @*/

/* for Safari */
if (/KHTML|WebKit/i.test(navigator.userAgent)) { // sniff
	var _timer = setInterval(function() {
		if (/loaded|complete/.test(document.readyState)) {
			onDOMLoad(); // call the onload handler
		}}, 1);
	};
	
/* for other browsers */
window.onload = onDOMLoad;
/**************************************************/

// set Loaded functions
addDOMLoadEvent(linkReplace);

function getQueryVariable(variable) {
	var query = window.location.search.substring(1);
	var vars = query.split("&");
	for (var i=0; i<vars.length; i++) {
		var pair = vars[i].split("=");
		if (pair[0] == variable) {
			return pair[1];
		};
	};
	return "";
};
function loadGoogleMap() {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(54.784417,-1.53506), 13);
		map.addControl(new GSmallMapControl());
		
		// Create Bannatyne Hotel marker icon
		var icon = new GIcon();
		icon.image = "http://hotel.bannatyne.co.uk/durham/images/marker.png";
		icon.shadow = "http://hotel.bannatyne.co.uk/durham/images/marker-shadow.png";
		icon.iconSize = new GSize(111, 46);
		icon.shadowSize = new GSize(111, 46);
		icon.iconAnchor = new GPoint(6, 20);
		icon.infoWindowAnchor = new GPoint(16, 5);

		map.addOverlay(new GMarker(map.getCenter(), icon));
	};
};
function setTodaysDate() {
	var loForm = document.getElementById("booking");
	var ldDate = new Date();
	loForm.day.options[ldDate.getDate() - 1].selected = true;
	loForm.month.options[ldDate.getMonth()].selected = true;
	loForm.month.options[ldDate.getFullYear() - 2007].selected = true;
};
function setDetails() {
	document.getElementById("dateTxt").innerHTML = document.getElementById("date").value = getQueryVariable("day") + " " + getQueryVariable("month") + " " + getQueryVariable("year");
	document.getElementById("roomsTxt").innerHTML = document.getElementById("rooms").value = getQueryVariable("rooms");
	document.getElementById("nightsTxt").innerHTML = document.getElementById("nights").value = getQueryVariable("nights");
	document.getElementById("childrenTxt").innerHTML = document.getElementById("children").value = getQueryVariable("children");
	document.getElementById("adultsTxt").innerHTML = document.getElementById("adults").value = getQueryVariable("adults");
};