//** Preload Images **//
var myimg = new Array();
function preloadimages() {
  for (i=0; i<preloadimages.arguments.length; i++) {
    myimg[i] = new Image();
    myimg[i].src = preloadimages.arguments[i];
  }
}
//preloadimages("interface/minimap_over.gif","interface/button_findhotels_over.gif", "interface/button_subscribe_over.gif", "interface/menu/01_hotels_over.gif", "interface/menu/02_luxurybreaks_over.gif", "interface/menu/03_golf_over.gif", "interface/menu/04_healthbeauty_over.gif", "interface/menu/05_restaurants_over.gif", "interface/menu/06_weddings_over.gif", "interface/menu/07_giftvouchers_over.gif", "interface/menu/08_latestnews_over.gif");


//** emailThisPage **//
function emailThisPage() {
	var sThisPage = location.pathname;
	var newsite = "http://www.macdonaldhotels.co.uk"
	location.href = newsite+"/email.asp?ID=" + sThisPage;
	// document.getElementById("basehref").getAttribute("href") + "
}


//** setDefaultDates **//
if (document.forms['search']) {
	setDefaultDates(document.forms['search']);
}


//** Popup Window **//
function popUp(URL, popWidth, popHeight, popLeft, popTop, autoCenter) {
	day = new Date();
	id = day.getTime();
	if (autoCenter == 1) {
		var popLeft = (screen.width - popWidth) / 2;
		var popTop = (screen.height - popHeight) / 2;
	}
	eval("page"+id+" = window.open(URL, '"+id+"', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width="+popWidth+",height="+popHeight+",left="+popLeft+",top="+popTop+"');");
}




function iotbs() {
	switcher = new switchManager();
};

var switcher;

//setup initialisation function
//.. gecko, safari, konqueror and generic
if(typeof window.addEventListener != 'undefined') {
	window.addEventListener('load', iotbs, false);
}
//.. opera 7
else if(typeof document.addEventListener != 'undefined') {
	document.addEventListener('load', iotbs, false);
}
//.. win/ie
else if(typeof window.attachEvent != 'undefined') {
	window.attachEvent('onload', iotbs);
}


//preferences manager
function switchManager() {
	//string for storing the overall custom classname
	//I was originally storing it in the body class name directly
	//but 1.7+ mozilla builds were not honouring the trailing whitespace we need
	this.string  = '';

	//store reference to body element
	this.body = document.getElementsByTagName('body')[0];

	//store the initial classname
	this.initial = this.body.className;

	//if the default classname is empty, add "iotbs"
	//because we need there to be at least one classname already -
	//the leading and trailing space in each custom classname is required,
	//but you can't set the body classname as " something" (beginning with a leading space)
	//because that may not work in Opera 7
	if(this.initial == '') {
		this.initial = 'itobs';
	}

	//look for a stored cookie
	this.cookie = this.read();

	//if it exists
	if(this.cookie != null) {
		//store cookie value to string
		this.string = this.cookie;

		//set new body class name
		this.body.className = this.initial + ' ' + this.string;
	}

	//*** dev
	//document.title = '<' + this.body.className.replace(/ /g,'+') + '>   [' + this.string.replace(/ /g,'+') + ']';
};

//set a cookie method
switchManager.prototype.set = function(days) {
	//format expiry date
	this.date = new Date();
	this.date.setTime(this.date.getTime() + ( days *24*60*60*1000));

	//store the string, replacing spaces with '#' so that leading spaces are preserved
	this.info = this.string.replace(/ /g,'#');

	//if the value is empty, set its expiry in the past to delete the cookie
	if(this.info == '') { this.date.setTime(0); }

	//create the cookie
	document.cookie = 'bodySwitcher=' + this.info
		+ '; expires=' + this.date.toGMTString()
		+ '; path=/';
};


//read a cookie method
switchManager.prototype.read = function() {
	//set null reference so we always have something to return
	this.cookie = null;

	//if a cookie exists
	if(document.cookie) {
		//if it's our cookie
		if(document.cookie.indexOf('bodySwitcher')!=-1) {
			//extract and store relevant information (turning '#' back into spaces)
			this.cookie = document.cookie.split('bodySwitcher=');
			this.cookie = this.cookie[1].split(';');
			this.cookie = this.cookie[0].replace(/#/g,' ');
		}
	}
	return this.cookie;
};


function changetoDefault() {
	switcher.string = 'default'
	switcher.body.className = " iotbs  ";
	switcher.set(365);
}

function changetoMedium() {
	switcher.string = 'medium';
	switcher.body.className = " iotbs  " + switcher.string +' ';
	switcher.set(365);
}

function changetoLarge() {
	switcher.string = 'large';
	switcher.body.className = " iotbs  " + switcher.string +' ';
	switcher.set(365);
}

//** Popup Window **//
function popUp(URL, popWidth, popHeight, popLeft, popTop, autoCenter) {
	day = new Date();
	id = day.getTime();
	if (autoCenter == 1) {
		var popLeft = (screen.width - popWidth) / 2;
		var popTop = (screen.height - popHeight) / 2;
	}
	eval("page"+id+" = window.open(URL, '"+id+"', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width="+popWidth+",height="+popHeight+",left="+popLeft+",top="+popTop+"');");
}

//** Popup NO SCROLLING Window **//
function popUpNS(URL, popWidth, popHeight, popLeft, popTop, autoCenter) {
	day = new Date();
	id = day.getTime();
	if (autoCenter == 1) {
		var popLeft = (screen.width - popWidth) / 2;
		var popTop = (screen.height - popHeight) / 2;
	}
	eval("page"+id+" = window.open(URL, '"+id+"', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width="+popWidth+",height="+popHeight+",left="+popLeft+",top="+popTop+"');");
}

function openLinkedOffer() {
	var pageHash = location.hash;
	pageHash = pageHash.substring(1,pageHash.length);
	if(document.getElementById(pageHash + '_link'))
	{
		var myLink = document.getElementById(pageHash + '_link');
		if(myLink.parentNode.className="offer_bar") {
			dropmenu(myLink);
		}
		else {
			displayArea(myLink, false);
		}
	}
}

function currentPage() {
	if(document.getElementById("menu_items"))
	{
		menuUL = document.getElementById("menu_items");
		for(i=0;i<menuUL.childNodes.length;i++)
		{
			if(menuUL.childNodes[i].nodeName == 'LI')
			{
				menuLI = menuUL.childNodes[i];
				for(j=0;j<menuLI.childNodes.length;j++)
				{
					if(menuLI.childNodes[j].nodeName == 'A')
					{
						
						locat = location.href;
						myHref = menuLI.childNodes[j].href;
						firstSlash = 1 + locat.indexOf('/',9);
						if((locat.length-1) == locat.lastIndexOf('/') && (myHref.length-1) != myHref.lastIndexOf('/'))
						{
							locat = locat + "index.htm";
						}
						if(locat.indexOf('business/', firstSlash) >= 0)
						{
							firstSlash = 1 + locat.indexOf('/', firstSlash);
						}
						else if(locat.indexOf('offers/', firstSlash) >= 0)
						{
							if(locat.indexOf('offers/', firstSlash) + 6 == myHref.lastIndexOf('/'))
							{
								myHref = myHref.substring(myHref.lastIndexOf('/'), myHref.length);
								locat = locat.substring(locat.lastIndexOf('/'), locat.length);
							
								if(locat.indexOf('-') > 0)
								{
									myHref = myHref.substring(0,myHref.lastIndexOf('-'));
									locat = locat.substring(0,locat.lastIndexOf('-'));
								}
							}
							else
							{
								myHref = myHref.substring(0, myHref.lastIndexOf('/'));
								locat = locat.substring(0, locat.lastIndexOf('/'));
							}
							
						}
						else if(locat.indexOf('/', firstSlash) > 0 && locat.indexOf('/dining/', 0) < 0)
						{
							myHref = myHref.substring(0,myHref.lastIndexOf('/'));
							locat = locat.substring(0,locat.lastIndexOf('/'));
						}
						else
						{
							locat = locat.substring(0,myHref.length);
						}
						if(myHref.toLowerCase() == locat.toLowerCase())
						{
							menuLI.className = "currentPage";
						}
					}
				}
			}
		}
	}
}

function randomise(elementArray) {
	var randNum = Math.floor(Math.random() * elementArray.length);
	
	
	for(i=0;i<elementArray.length;i++)
	{
		if(i != randNum)
		{
			document.getElementById(elementArray[i]).style.display = 'none';
		}
	}

}

function levelOfferDivs()
{
	levelAllDivs('top_content_', 88, 5);
	levelAllDivs('mid_content_', 73, 5);
}

function levelAllDivs(prefix, minHeight, paddBottom)
{
	if(document.getElementById(prefix + '0'))
	{
		var i = 0;
		targetHeight = minHeight;
		while(document.getElementById(prefix+i))
		{
			var currentDiv = document.getElementById(prefix+i);
			if(currentDiv.offsetHeight > targetHeight)
				targetHeight = currentDiv.offsetHeight;
			i++;
		}
		i = 0;
		while(document.getElementById(prefix+i))
		{
			var currentDiv = document.getElementById(prefix+i);
			var diff = targetHeight - currentDiv.offsetHeight;
			currentDiv.style.paddingBottom = (paddBottom + diff) +"px";
			i++;
		}
	}
}

function dropmenu(menuItem) {
	var clickedLI;
	var nextClass = "over";
	var parentUL;
	if(menuItem.parentNode.nodeName == "P" || menuItem.parentNode.nodeName == "H2")
	{
		parentUL = menuItem.parentNode.parentNode.parentNode.parentNode;
		clickedLI = menuItem.parentNode.parentNode.parentNode;
	}
	else
	{
		parentUL = menuItem.parentNode.parentNode.parentNode;
		clickedLI = menuItem.parentNode.parentNode;
	}
	if(clickedLI.className == "over") { nextClass="down"; }
	for(i=0;i<parentUL.childNodes.length;i++)
	{
		if(parentUL.childNodes[i].nodeName == "LI")
		{
			parentUL.childNodes[i].className = "down";
			for(j=0;j<parentUL.childNodes[i].childNodes.length;j++)
			{
				if(parentUL.childNodes[i].childNodes[j].nodeName == "DIV" && parentUL.childNodes[i].childNodes[j].className == "offer_table")
				{
					if(parentUL.childNodes[i].childNodes[j].style.display == "block")
					{
						hiding = true;
						hidingDiv = parentUL.childNodes[i].childNodes[j];
						hidetargetHeight = hidingDiv.offsetHeight;
						parentUL.childNodes[i].childNodes[j].style.height = hidetargetHeight + "px"
						parentUL.childNodes[i].childNodes[j].style.overflow = "hidden"; 
						hideDiv(hidingDiv, hidetargetHeight, 5);
					}
				}
			}
		}
	}
	clickedLI.className = nextClass;
	if(nextClass == "over")
	{
		for(i=0;i<clickedLI.childNodes.length;i++)
		{
			if(clickedLI.childNodes[i].nodeName == "DIV" && clickedLI.childNodes[i].className == "offer_table")
			{
				activeDiv = clickedLI.childNodes[i];
				clickedLI.childNodes[i].style.display = "block";
				showtargetHeight = clickedLI.childNodes[i].offsetHeight - 14;
				clickedLI.childNodes[i].style.overflow = "hidden";
				clickedLI.childNodes[i].style.height = "0px";
				revealDiv(activeDiv, showtargetHeight, 5);
			}
		}
	}
}

var activeDiv;
function revealDiv(myDiv, myHeight, timer)
{
	if(!hiding)
	{
		myDiv.style.display = "block";
		if(myDiv.offsetHeight < myHeight)
		{
			var currentHeight = myDiv.style.height;
			currentHeight = currentHeight.substring(currentHeight, (currentHeight.length-2));
			nextHeight = parseInt(currentHeight) + (myHeight / 8);
			if(nextHeight > myHeight)
			{
				myDiv.style.height = "100%";
				myDiv.style.overflow = "visible";
			}
			else
			{
				myDiv.style.height = nextHeight + "px";
				setTimeout("revealDiv(activeDiv, "+myHeight+", "+timer+")", timer);
			}
		}
		else
		{
			myDiv.style.height = "100%";
			myDiv.style.overflow = "visible";
		}
	}
	else
	{
		myDiv.style.display = "none";
		setTimeout("revealDiv(activeDiv, "+myHeight+", "+timer+")", timer);
	}
}

var hidingDiv;
var hiding = false;
function hideDiv(myDiv, hideHeight, timer)
{
	if(myDiv.offsetHeight > 0)
	{
		var currentHeight = myDiv.style.height;
		currentHeight = currentHeight.substring(currentHeight, (currentHeight.length-2));
		nextHeight = parseInt(currentHeight) - (parseInt(hideHeight) / 8);
		if(nextHeight < 0)
		{
			myDiv.style.display = "none";
			myDiv.style.height = "auto";
			hiding = false;
		}
		else
		{
			myDiv.style.height = nextHeight + "px";
			setTimeout("hideDiv(hidingDiv, "+hideHeight+", "+timer+")", timer);
		}
	}
	else
	{
		myDiv.style.display = "none";
		myDiv.style.height = "auto";
		hiding = false;
	}
}

function displayArea(menuItem, hide) {
	var clickedLI = menuItem.parentNode.parentNode;
	var nextClass = "over"
	if(clickedLI.className == "over") { nextClass="down"; }
	var parentUL = menuItem.parentNode.parentNode.parentNode;
	if(hide)
	{
		for(i=0;i<parentUL.childNodes.length;i++)
		{
			if(parentUL.childNodes[i].nodeName == "LI")
			{
				parentUL.childNodes[i].className = "down";
				for(j=0;j<parentUL.childNodes[i].childNodes.length;j++)
				{
					if(parentUL.childNodes[i].childNodes[j].nodeName == "DIV" && parentUL.childNodes[i].childNodes[j].className.indexOf("booking_content") >= 0)
					{
						hiding = true;
						hidingDiv = parentUL.childNodes[i].childNodes[j];
						targetHeight = hidingDiv.offsetHeight;
						parentUL.childNodes[i].childNodes[j].style.height = targetHeight + "px";
						parentUL.childNodes[i].childNodes[j].style.overflow = "hidden";
						hideDiv(hidingDiv, targetHeight, 5);
					}
				}
			}
		}
	}
	clickedLI.className = nextClass;
	if(nextClass == "over")
	{
		for(i=0;i<clickedLI.childNodes.length;i++)
		{
			if(clickedLI.childNodes[i].nodeName == "DIV" && clickedLI.childNodes[i].className.indexOf("booking_content") >= 0)
			{
				activeDiv = clickedLI.childNodes[i];
				clickedLI.childNodes[i].style.display = "block";
				targetHeight = clickedLI.childNodes[i].offsetHeight - 14;
				clickedLI.childNodes[i].style.overflow = "hidden";
				clickedLI.childNodes[i].style.height = "0px";
				revealDiv(activeDiv, targetHeight, 5);
			}
		}
	}
	else
	{
		for(i=0;i<clickedLI.childNodes.length;i++)
		{
			if(clickedLI.childNodes[i].nodeName == "DIV" && clickedLI.childNodes[i].className.indexOf("booking_content") >= 0)
			{
				hiding = true;
				hidingDiv = clickedLI.childNodes[i];
				targetHeight = hidingDiv.offsetHeight;
				clickedLI.childNodes[i].style.height = targetHeight + "px"
				clickedLI.childNodes[i].style.overflow = "hidden";
				hideDiv(hidingDiv, targetHeight, 5);
			}
		}
	}
	
}

function RouteHideImage() {
	if(document.getElementById("bottomImage1") && parent.document.getElementById("bottomImage2"))
	{
		document.getElementById("bottomImage1").style.display = "none";
		document.getElementById("bottomImage2").style.display = "none";
		document.getElementById("plannerIframe").style.width = "534px";
		document.getElementById("plannerIframe").style.height = "579px";
	}
}

function RouteShowImage() {
	if(document.getElementById("javaimages"))
	{
		document.getElementById("javaimages").innerHTML = '<p id="bottomImage1"><img src="routeplanner/RoutePlanner_img_02.jpg" alt="" /></p><p id="bottomImage2"><img src="routeplanner/RoutePlanner_img_03.jpg" alt="" /></p>';
	}
	if(document.getElementById("plannerIframe"))
	{
		document.getElementById("plannerIframe").style.width = '305px'; 
		document.getElementById("plannerIframe").style.height = '278px';
	}
}

function displayRoom(roomID, clicked)
{
	tabsDiv = document.getElementById('room_tabs');
	for(i=0;i<tabsDiv.childNodes.length;i++)
	{
		if(tabsDiv.childNodes[i].nodeName == 'UL')
		{
			tabsUL = tabsDiv.childNodes[i];
			for(j=0;j<tabsUL.childNodes.length;j++)
			{
				if(tabsUL.childNodes[j].nodeName == 'LI')
				{
					tabsUL.childNodes[j].className = '';
				}
			}
		}
	}
	clicked.parentNode.parentNode.className = 'over'
	

	under = roomID.indexOf('_');
	roomsID = roomID.substring(0,under);
	i = 1;
	while(document.getElementById(roomsID + '_' + i))
	{
		roomDiv = document.getElementById(roomsID + '_' + i);
		if((roomsID + '_' + i) == roomID)
		{
			roomDiv.style.display = 'block';
		}
		else
		{
			roomDiv.style.display = 'none';
		}
		i++;
	}
	
}
document.write('<style type="text/css">.hotel_section_right ul.drop_box li div.offer_table { display:none; }</style>');

function redeyeload()
{
	var redEyeStart = "http://reporting.macdonaldhotels.com/cgi-bin/rr/";
	var redEyeEnd = "?nourl=www.macdonaldhotels.co.uk/";

	for(var i=0;i<document.anchors.length;i++)
	{
		var oldHref = document.anchors[i].href;
		var linkName = document.anchors[i].name;
		if(linkName.indexOf('_lnk_') > 0)
		{
			linkName = linkName.replace(/_/ig,"/");
			document.anchors[i].href=redEyeStart+oldHref+redEyeEnd+linkName;
		}
	}
}


function redeyetag()
{
	var redeyedomain = 'reporting.macdonaldhotels.com';
	var nourlvalue = location.href;
	nourlvalue = nourlvalue.toLowerCase();
	if(nourlvalue.indexOf('?') > 0) { nourlvalue = nourlvalue.substring(0,nourlvalue.indexOf('?')); }
	nourlvalue = nourlvalue.replace('.com','.co.uk');
	if(nourlvalue.lastIndexOf("/") == (nourlvalue.length-1))
	{ 
		if(nourlvalue.indexOf(".co.uk/") == nourlvalue.lastIndexOf("/") - 6 || nourlvalue.indexOf(".co.uk/resorts/") == nourlvalue.lastIndexOf("/") - 14)
		{
			nourlvalue += "home.htm" 
		}
		else
		nourlvalue += "index.htm" 
	}
	var tag = 'http://' + redeyedomain + '/cgi-bin/rr.cgi/images/blank.gif?nourl=' + nourlvalue + '&norefer=' + escape(window.document.referrer);

	var enquiryID = "";
	var GETDATA = new Array();
	var sGet = window.location.search;
	if (sGet)
	{
		sGet = sGet.substr(1);
		var sNVPairs = sGet.split("&");
		for (var i = 0; i < sNVPairs.length; i++)
		{
			var sNV = sNVPairs[i].split("=");
			var sName = sNV[0];
			var sValue = sNV[1];
			if(sName = 'enquiryReference')
			{
				enquiryID = sValue;
			}
		}
	}

	if(nourlvalue.indexOf('weddings/thanks.asp') > 0 || nourlvalue.indexOf('weddings/thanks.htm') > 0)
	{
		tag += "&amp;r_wedding_enquiry=confirm&amp;f_wedding_enqref=" + enquiryID;
	}
	else if((nourlvalue.indexOf('thankyou.asp') > 0 || nourlvalue.indexOf('thankyou.htm') > 0) && nourlvalue.indexOf('/resorts/') > 0)
	{
		tag += "&amp;r_resort_enquiry=confirm&amp;f_resorts_enqref=" + enquiryID;
	}
	else if((nourlvalue.indexOf('thankyou.asp') > 0 || nourlvalue.indexOf('thankyou.htm') > 0) && nourlvalue.indexOf('/rfp/') < 0 && nourlvalue.indexOf('/golf/') < 0)
	{
		if(nourlvalue.indexOf('business/') > 0)
		tag += "&amp;r_hotel_enquiry=confirm&amp;f_hotelbus_enqref=" + enquiryID;
		else
		tag += "&amp;r_hotel_enquiry=confirm&amp;f_hotel_enqref=" + enquiryID;
	}
	else if((nourlvalue.indexOf('thankyou.asp') > 0 || nourlvalue.indexOf('thankyou.htm') > 0) && nourlvalue.indexOf('/rfp/') >= 0)
	{
		tag += "&amp;r_business_enquiry=confirm&amp;f_businessrfp_enqref=" + enquiryID;
	}
	else if((nourlvalue.indexOf('thankyou.asp') > 0 || nourlvalue.indexOf('thankyou.htm') > 0) && nourlvalue.indexOf('/golf/') >= 0)
	{
		tag += "&amp;r_golf_enquiry=confirm&amp;f_golf_enqref=" + enquiryID;
	}
	else if(nourlvalue.indexOf('thanksfortheenquiry') > 0)
	{
		tag += "&amp;r_offer_enquiry=confirm&amp;f_offer_enqref=" + enquiryID;
	}

	document.write("<img src='" + tag + "' width='1' height='1' alt='' />");
}