<!--

// Set dropdown menus to inactive - onload makes them active

	var menuSystemActive = false;
	

// Set the window name

	window.name = "main";


// onload triggers

	function pageTrigger() {
		if(graphicVersion) {
			menuSystemActive = true;
			// tab checking
			buildTabs();
			// flash text replacement
			flashReplaceTitles();
			// banner set up
			setupBanners();
			// ie6 fix for buyButton rollover
			if(GetBrowserType == "ie") {
				if(document.getElementById("buyPanelButton")) {
					var buyButton = document.getElementById("buyPanelButton");
					buyButton.onmouseover = function() {
						buyButton.getElementsByTagName("SPAN")[0].style.visibility = "visible";
					}
					buyButton.onmouseout = function() {
						buyButton.getElementsByTagName("SPAN")[0].style.visibility = "hidden";
					}
				}
			}
			// fix for submit forms by hitting 'return'
			inputSubmitByReturn();
		}
		// set up tickets panel (if it exists in the page)
		try { displayTicketPrices(); } catch(e) { }
	}
	
// fix for submit forms by hitting 'return'

	function addInputSubmitEvent(form, input) {
		input.onkeydown = function(e) {
			e = e || window.event;
			if (e.keyCode == 13) {
				form.submit();
				return false;
			}
		};
	}

	function inputSubmitByReturn() {
		var forms = document.getElementsByTagName('form');
		for (var i=0;i < forms.length;i++) {
			var inputs = forms[i].getElementsByTagName('input');
			for (var j=0;j < inputs.length;j++) {
				addInputSubmitEvent(forms[i], inputs[j]);
			}
		}
	}
	
// back to top function
	
	function toTop() {
		window.scroll(0,0);
		return false;
	}


// Buy panel functions

	function buyPanelSubmit() {
		document.getElementById("buyPanelForm").submit();
	}
	
	function togglePurchaseSelect(getMode) {
		var myDropDowns;
		if(getMode) {
			if(document.getElementById("purchaseSelect")) document.getElementById("purchaseSelect").style.visibility = "visible";
			if(document.getElementById("ticketTypes")) {
				myDropDowns = document.getElementById("ticketTypes").getElementsByTagName("SELECT");
				for (var i=0; i<myDropDowns.length; i++) myDropDowns[i].style.visibility = "visible";
			}
		} else {
			if(document.getElementById("purchaseSelect")) document.getElementById("purchaseSelect").style.visibility = "hidden";
			if(document.getElementById("ticketTypes")) {
				myDropDowns = document.getElementById("ticketTypes").getElementsByTagName("SELECT");
				for (var i=0; i<myDropDowns.length; i++) myDropDowns[i].style.visibility = "hidden";
			}
		}
	}

// Function to check if a field string is empty
	
	function isEmptyField(srcField) {
		srcText = srcField.value;
		srcText = srcText.replace(/^\s+/g, '').replace(/\s+$/g, '');
		if(srcText == "") {
			srcField.value = "";
			return true;
		} else return false;
	}
	
	
// Email address validation
	
	function isValidEmail(src) {
		var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
		var regex = new RegExp(emailReg);
		return regex.test(src);
	}
	
	
// Image size checking + resizing

	function checkImageSize(srcImage,maxWidth,maxHeight) {
		if(document.images) {
			getWidth = srcImage.width;
			getHeight = srcImage.height;
			if(getWidth>maxWidth || getHeight>maxHeight) {
				widthVariance = maxWidth/getWidth;
				heightVariance = maxHeight/getHeight;
				if(widthVariance<=heightVariance) scalePercentage = getWidth/maxWidth;
				else scalePercentage = getHeight/maxHeight;
				srcImage.width = getWidth/scalePercentage;
				srcImage.height = getHeight/scalePercentage;
			}
		}
	}


// Print function

	function printPage() {
		if(window.print) {
			window.print();
		} else {
			alert("Your browser does not support the javascript 'print' function.\nPlease use your operating system's print menu to print this page.")
		}
		return false;
	}
	
	
// Banner Animation Code

	var bannerArea = null;
	var bannerList = null;
	var bannerCurrent = 0;
	var bannerWidth = 496;
	var bannerSpeed = 35;
	var bannerCurrSpeed = bannerSpeed;
	var bannerEasing = 1.32;
	
	function setupBanners() {
		if (document.getElementById("bannerArea")) {
			// Build list of banners
			bannerArea = document.getElementById("bannerArea");
			bannerList = bannerArea.getElementsByTagName("DD");
			if (bannerList.length > 0) {
				for (var i=0; i<bannerList.length; i++) {
					// Move all banners off the side and set them to visible
					setBannerPos(i,bannerWidth);
					bannerList[i].style.display = "block";
				}
				// Slide in the first banner
				setTimeout("slideBanner(true,0)", 1000);
			}
		}
	}
	
	function slideBanner(inOut,bannerID) {
		if (inOut) {
			var currX = getBannerPos(bannerID);
			currX -= bannerCurrSpeed;
			if ((bannerCurrSpeed - bannerEasing) > 1) bannerCurrSpeed -= bannerEasing; else bannerCurrSpeed = 1;
			if (currX > 0) {
				setBannerPos(bannerID,currX);
				setTimeout("slideBanner(true," + bannerID + ")", 30);
			} else {
				setBannerPos(bannerID,0);
				setTimeout("nextBanner(" + bannerID + ")", 6000);
				bannerCurrSpeed = 1;
			}
		} else {
			var currX = getBannerPos(bannerID);
			currX += bannerCurrSpeed;
			if ((bannerCurrSpeed + bannerEasing) < bannerSpeed) bannerCurrSpeed += bannerEasing; else bannerCurrSpeed = bannerSpeed;
			if (currX < bannerWidth) {
				setBannerPos(bannerID,currX);
				setTimeout("slideBanner(false," + bannerID + ")", 30);
			} else {
				setBannerPos(bannerID,bannerWidth);
				setTimeout("showBanner(" + bannerID + ")", 1000);
			}
		}
	}
	
	function nextBanner(bannerID) {
		if (bannerList.length > 1) slideBanner(false,bannerID);
	}
	
	function showBanner(bannerID) {
		slideBanner(true,bannerID == (bannerList.length - 1) ? 0 : bannerID + 1);
	}
	
	function setBannerPos(bannerID,bannerX) {
		if (bannerList[bannerID].style.posLeft) bannerList[bannerID].style.posLeft = bannerX;
		else bannerList[bannerID].style.left = bannerX + "px";
	}
	
	function getBannerPos(bannerID) {
		return bannerList[bannerID].offsetLeft;
	}


// Menu Stuff

	if(navigator.userAgent.indexOf("Opera")!=-1) GetBrowserType = "opera"
	else if(navigator.appName == "Microsoft Internet Explorer") GetBrowserType = "ie"
	else if(navigator.appName == "Netscape") GetBrowserType = "ns";
	
	// playstation
	if(navigator.userAgent.indexOf("PLAYSTATION 3")!=-1) GetBrowserType = "ns";
	
	safariMode = false;
	if(navigator.userAgent.indexOf("AppleWebKit")!=-1) safariMode = true;
	
	GetBrowserPlatform = "";
	if(navigator.userAgent.indexOf("Mac_PowerPC")!=-1 || navigator.userAgent.indexOf("Macintosh")!=-1) GetBrowserPlatform = "mac";
	
	// iphone + ipod safari
	iphoneMode = false;
	if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) iphoneMode = true;
	
	storeMenuIndex = null;
	storeButtonState = null;
	storeThisElement = null;
	menuActive = false;
	menuTimeout = null;
	
	function getMenuClass(src,hoverState) {
		if(src.className.indexOf("first") > -1) {
			if(hoverState) return "firstMenuOver"
			else {
				if(storeButtonState) return "firstMenuOn"
				else return "firstMenuOff";
			}
		} else if(src.className.indexOf("last") > -1) {
			if(hoverState) return "lastMenuOver"
			else {
				if(storeButtonState) return "lastMenuOn"
				else return "lastMenuOff";
			}
		} else {
			if(hoverState) return "MenuOver"
			else {
				if(storeButtonState) return "MenuOn"
				else return "MenuOff";
			}
		}
	}
	
	function showMenu(menuIndex,buttonState,thisElement) {
		if(menuSystemActive) {
			cancelHideMenu();
			if(menuActive && menuIndex!= storeMenuIndex) doHideMenu();
			if(!menuActive) {
				// hide purchaseSelect in ie6
				if(navigator.userAgent.indexOf("MSIE 5")!=-1 || navigator.userAgent.indexOf("MSIE 6")!=-1) togglePurchaseSelect(false);
				// create dropdown
				storeMenuIndex = menuIndex;
				storeButtonState = buttonState;
				storeThisElement = thisElement;
				thisElement.className = getMenuClass(thisElement,true);
				
				if(SubMenuStrings[menuIndex]) {
					
					// Work out menu position
					SubMenuWidth = document.getElementById('DropDownMenu').offsetWidth;
					MenuOffset = document.getElementById('centredPage').offsetLeft + document.getElementById('menuArea').offsetLeft;
					MenuAreaWidth = document.getElementById('menuArea').offsetWidth;
					ButtonOffset = thisElement.offsetLeft;
					xPos = ButtonOffset + MenuOffset - (siteArea == "corporate" ? 26 : 9);
					MenuAlign = "left";
					if((ButtonOffset + SubMenuWidth) > MenuAreaWidth) {
						// Work menu position aligned right to next spacer div
						ButtonOffset = thisElement.offsetLeft + thisElement.offsetWidth;
						xPos = ((ButtonOffset + MenuOffset) - (SubMenuWidth) + (siteArea == "corporate" ? -15 : 1));
						MenuAlign = "right";
					}
				
					// Write menu links
					buildMenu = "<div align='" + MenuAlign + "'><div id='DropDownMenuTop'></div><dl>" + SubMenuStrings[menuIndex] + "</dl></div>";
					document.getElementById('DropDownMenu').innerHTML = buildMenu;
					
					// Set position of menu + make visible
					if(GetBrowserType == "ns" || GetBrowserType == "opera") {
						document.getElementById('DropDownMenu').style.left = xPos + "px";
					} else {
						document.getElementById('DropDownMenu').style.posLeft = xPos;
					}
					document.getElementById('DropDownMenu').style.zIndex = 100;
					document.getElementById('DropDownMenu').style.visibility = "visible";
				
				}
				menuActive = true;
			}
		}
	}
	
	function hideMenu() {
		if(menuSystemActive) {
			refreshMenu();
			menuTimeout = setTimeout("doHideMenu();",200);
		}
	}
	
	function doHideMenu() {
		if(menuSystemActive && storeThisElement != null) {
			// hide purchaseSelect in ie6
			if(navigator.userAgent.indexOf("MSIE 5")!=-1 || navigator.userAgent.indexOf("MSIE 6")!=-1) togglePurchaseSelect(true);
			// hide menu
			storeThisElement.className = getMenuClass(storeThisElement,false);
			document.getElementById('DropDownMenu').style.visibility = "hidden";
			storeMenuIndex = null;
			storeButtonState = null;
			storeThisElement = null;
			menuActive = false;
		}
	}
	
	function cancelHideMenu() {
		if(menuSystemActive) {
			clearTimeout(menuTimeout);
			menuTimeout = null;
		}
	}
	
	function refreshMenu() {
		if(menuSystemActive && safariMode) document.getElementById('DropDownMenu').style.zIndex += 1;
	}
	
	// Function to track links with Google Analytics
	function trackLink(linkSrc) {
		try { pageTracker._trackPageview(linkSrc); } // New Google tracking code
		catch(e) {
			try { urchinTracker(linkSrc); } // Legacy Google tracking code
			catch(e) { }
		}
	}
	
	function menuAreaClick(menuIndex,buttonState,thisElement) {
		if(menuSystemActive) {
			if(menuActive && storeMenuIndex == menuIndex) {
				// go to first url in submenu
				firstLink = document.getElementById('DropDownMenu').getElementsByTagName("A")[0];
				firstLinkURL = firstLink.href.toString();
				firstLinkTarget = firstLink.target.toString();
				firstLinkTracking = firstLink.getAttribute("onclick").toString();
				// do tracking if required
				if (firstLinkTracking.indexOf("trackLink") > -1) {
					// get tracking code
					var regex = new RegExp(".*trackLink\\('([^']*)'.*");
					trackingCode = regex.exec(firstLinkTracking)[1];
					trackLink(trackingCode);
				}
				// page load
				if(firstLinkTarget == "_blank") {
					window.open(firstLinkURL);
				} else {
					window.location = firstLinkURL;
				}
				// close menu
				doHideMenu();
				return false;
			} else {
				// show menu
				showMenu(menuIndex,buttonState,thisElement);
				return false;
			}
		} else {
			return true;
		}
	}


	// Hide a div and write a link to show/hide it

	var hiddenContent = new Array();
	var hiddenIndex = 0;
	
	function hideContent(getElement, getShowMessage, getHideMessage) {
		if(document.getElementById(getElement)) {
			// store element
			hiddenContent[hiddenIndex] = new Object();
			hiddenContent[hiddenIndex].element = getElement;
			// build show link
			hiddenContent[hiddenIndex].showLink = "<p><a href='javascript:toggleHiddenContent(" + hiddenIndex + ",true)'>" + getShowMessage + "<\/a><\/p>";
			// build hide link
			hiddenContent[hiddenIndex].hideLink = "<p><a href='javascript:toggleHiddenContent(" + hiddenIndex + ",false)'>" + getHideMessage + "<\/a><\/p>";
			// store content in array
			hiddenContent[hiddenIndex].content = document.getElementById(getElement).innerHTML + hiddenContent[hiddenIndex].hideLink;
			// call toggle function
			toggleHiddenContent(hiddenIndex,false);
			// increment
			hiddenIndex += 1;
		}
	}
	
	function toggleHiddenContent(getIndex, getDisplayMode) {
		if(getDisplayMode) {
			// show content
			document.getElementById(hiddenContent[getIndex].element).innerHTML = hiddenContent[getIndex].content;
		} else {
			// hide content
			document.getElementById(hiddenContent[getIndex].element).innerHTML = hiddenContent[getIndex].showLink;
		}
	}


// Fading Image Panel Code

	var activePanel = "A";
	var totalImages;
	var topPanel;

	function setupImagePanel() {
		totalImages = qImages.length;
		// setup CSS
		document.getElementById("panelA").style.width = qImageWidth + "px";
		document.getElementById("panelA").style.height = qImageHeight + "px";
		document.getElementById("panelB").style.width = qImageWidth + "px";
		document.getElementById("panelB").style.height = qImageHeight + "px";
		// set top panel
		topPanel = document.getElementById("panelA");
		// populate panel B
		document.getElementById("panelB").innerHTML = "<p id=\"panelImageB\" class=\"panelImage\"><\/p>";
		buildPanel("B");
	}
	
	function buildPanel(panelLetter) {
		qIndex += 1;
		if(qIndex >= totalImages) qIndex = 0;
		// image
		writeImageCode = "";
		if(qURLs[qIndex] != "") writeImageCode = "<a href=\"" + qURLs[qIndex] + "\" target=\"_" + qTargets[qIndex] + "\">";
		writeImageCode += "<img src=\"" + qImages[qIndex] + "\" alt=\"" + qAlts[qIndex] + "\" width=\"" + qImageWidth + "\" height=\"" + qImageHeight + "\" border=\"0\" onload=\"imageDelay();\" \/>";
		if(qURLs[qIndex] != "") writeImageCode += "<\/a>";
		// populate
		document.getElementById("panelImage" + panelLetter).innerHTML = writeImageCode;
	}
	
	function imageDelay() {
		// set timeout
		setTimeout("swapImagePanels();",5000);
	}
	
	function swapImagePanels() {
		if(activePanel=="A") {
			if(Spry) {
				Spry.Effect.DoFade(topPanel, {duration: 2000, from: 100, to: 0, toggle: false, finish: function() {setTopPanelDisplay(false);buildPanel("A");}});
			} else {
				setTopPanelDisplay(false);
				buildPanel("A");
			}
			activePanel = "B";
		} else {
			setTopPanelDisplay(true);
			if(Spry) {
				Spry.Effect.DoFade(topPanel, {duration: 2000, from: 0, to: 100, toggle: false, finish: function() {buildPanel("B");refreshIeContent();}});
			} else {
				buildPanel("B");
			}
			activePanel = "A";
		}
	}
	
	function setTopPanelDisplay(getMode) {
		if(getMode) topPanel.style.display = "block"
		else topPanel.style.display = "none";
	}
	
	function refreshIeContent() {
		// fix for ie cleartype rendering
		if(navigator.appName == 'Microsoft Internet Explorer') topPanel.style.removeAttribute('filter');
	}


// -->