﻿<!--

	var isIE = navigator.appName.indexOf("Microsoft") != -1;

// Set dropdown menus to inactive - onload makes them active

	var menuSystemActive = false;
	var dynamicMenuFormActive = false;
	
// detection of platforms

	// iphone + ipod safari
	var touchMode = false;
	if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) touchMode = true;
	
// image preload settings

	var preloadArray = new Array();
	var preloadCount = 0;
	function addPreloadImage(imgSrc) {
		preloadArray[preloadCount] = imgSrc;
		preloadCount +=1;
	}
	if(navigator.userAgent.indexOf("MSIE 5")!=-1 || navigator.userAgent.indexOf("MSIE 6")!=-1) {
		addPreloadImage("/images/common/menu/megamenu-bg-1col.gif");
		addPreloadImage("/images/common/menu/megamenu-bg-2col.gif");
	} else {
		addPreloadImage("/images/common/menu/megamenu-bg-1col.png");
		addPreloadImage("/images/common/menu/megamenu-bg-2col.png");
	}
	

// onload triggers

	function pageTrigger() {
		if(graphicVersion) {
			menuSystemActive = true;
			// fix for submit forms by hitting 'return'
			inputSubmitByReturn();
			setupMenuSearchForms();
			// tabbed content
			buildTabs();
			buildMediaTabs();
			// clickable panels
			initClickablePanels();
			// main image alt tag
			//if(document.getElementById("mainImage")) setupMainImageAlt();
			// preload images
			var cache = [];
			for (i=0;i<preloadArray.length;i++) {
				var cacheImage = document.createElement('img');
				cacheImage.src = preloadArray[i];
				cache.push(cacheImage);
			}
			// jquery setup
			$(function() {
				// galleries
				$("a[rel=image_gallery_group]").fancybox({
					'cyclic'			: true,
					'transitionIn'		: 'elastic',
					'transitionOut'		: 'elastic',
					'overlayOpacity'	: 0.8,
					'overlayColor'		: '#1b3052',
					'titlePosition'		: 'over',
					'titleFormat': function(title, currentArray, currentIndex, currentOpts) {
						return '<span id="fancybox-title-over">' + (siteLanguage == 'en' ? 'Image ' : '图像 ') + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
					}
				});
				$("a[rel=video_gallery_group]").click(function() {
					$.fancybox({
						'padding'		: 0,
						'autoScale'		: true,
						'transitionIn'	: 'elastic',
						'transitionOut'	: 'elastic',
						'overlayOpacity': 0.8,
						'overlayColor'	: '#1b3052',
						'title'			: this.title,
						'width'			: 480,
						'height'		: 380,
						'href'			: this.href.replace(new RegExp("watch\\?v=", "i"), 'v/') + "&rel=0&autoplay=1",
						'type'			: 'swf',
						'swf'			: {
							 'wmode'		: 'transparent',
							'allowfullscreen'	: 'true'
						}
					});
					return false;
				});
				$("a[rel=plan_gallery_group]").fancybox({
					'cyclic'			: true,
					'transitionIn'		: 'elastic',
					'transitionOut'		: 'elastic',
					'overlayOpacity'	: 0.8,
					'overlayColor'		: '#1b3052',
					'titlePosition'		: 'over',
					'titleFormat': function(title, currentArray, currentIndex, currentOpts) {
						return '<span id="fancybox-title-over">' + (siteLanguage == 'en' ? 'Image ' : '图像 ') + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
					}
				});
				// modal windows
				$(".emailModal").click(function() {
					$.fancybox({
						'href'				: this.href.replace(/\/tools\//gi,"\/inpage-tools\/"),
						'overlayOpacity'	: 0.8,
						'overlayColor'		: '#1b3052',
						'width'				: 750,
						'height'			: 420,
						'autoScale'			: false,
						'hideOnOverlayClick': false,
						'type'				: 'iframe'
					});
					return false;
				});
				$(".favModal").click(function() {
					$.fancybox({
						'href'				: this.href.replace(/\/tools\//gi,"\/inpage-tools\/"),
						'overlayOpacity'	: 0.8,
						'overlayColor'		: '#1b3052',
						'width'				: 410,
						'height'			: 150,
						'autoScale'			: false,
						'hideOnOverlayClick': false,
						'type'				: 'iframe'
					});
					return false;
				});
				$(".contactModal").click(function() {
					$.fancybox({
						'href'				: this.href.replace(/\/tools\//gi,"\/inpage-tools\/"),
						'overlayOpacity'	: 0.8,
						'overlayColor'		: '#1b3052',
						'width'				: 750,
						'height'			: 510,
						'autoScale'			: false,
						'hideOnOverlayClick': false,
						'type'				: 'iframe'
					});
					return false;
				});
				$(".interestModal").click(function() {
					$.fancybox({
						'href'				: this.href.replace(/\/tools\//gi,"\/inpage-tools\/"),
						'overlayOpacity'	: 0.8,
						'overlayColor'		: '#1b3052',
						'width'				: 750,
						'height'			: 600,
						'autoScale'			: false,
						'hideOnOverlayClick': false,
						'type'				: 'iframe'
					});
					return false;
				});
			});
		}
	}
	
// 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]);
			}
		}
	}
	
// form field validation function

	function validateField(getField,getMode,getFormAreaID) {
		isValid = true;
		switch(getMode) {
			case "req":
				if(isEmptyField(getField)) isValid = false;
				break;
			case "email": {
				if(!isValidEmail(getField.value)) isValid = false;
				break;
			}
			case "reqEmail": {
				if(!isValidEmail(getField.value)) isValid = false;
				if(isEmptyField(getField)) isValid = false;
				break;
			}
			case "reqDropDown":
				if(getField.options[getField.selectedIndex].value == "") isValid = false;
				break;
		}
		if(isValid) {
			document.getElementById(getFormAreaID).className = "formArea okay";
		} else {
			document.getElementById(getFormAreaID).className = "formArea error";
		}
	}
	
// back to top function
	
	function toTop() {
		window.scroll(0,0);
	}
	
// menu search form functions

	var initSearchText;
	if(siteLanguage == "cn") {
		initSearchText = "品牌/型号/关键字";
	} else initSearchText = "Brand/Model/Keyword";
	
	function setupMenuSearchForms() {
		// behaviours
		if(document.getElementById("menuNewSearchForm")) {
			allSelects = document.getElementById("menuNewSearchForm").getElementsByTagName("SELECT");
			if(allSelects.length > 0) {
				for(i=0;i<allSelects.length; i++) {
					allSelects[i].onfocus = function() {dynamicMenuFormActive = true;};
					allSelects[i].onblur = function() {dynamicMenuFormActive = false;};
				}
			}
		}
		if(document.getElementById("menuUsedSearchForm")) {
			allSelects = document.getElementById("menuUsedSearchForm").getElementsByTagName("SELECT");
			if(allSelects.length > 0) {
				for(i=0;i<allSelects.length; i++) {
					allSelects[i].onfocus = function() {dynamicMenuFormActive = true;};
					allSelects[i].onblur = function() {dynamicMenuFormActive = false;};
				}
			}
		}
	}
	
	function enterSearchText(getField,getMode) {
		if(getMode) {
			// focus
			if(getField.value == initSearchText) getField.value = "";
			getField.className = "searchText searchTextActive";
		} else {
			// blur
			if(isEmptyField(getField)) {
				getField.value = initSearchText;
				getField.className = "searchText";
			} else {
				getField.className = "searchText searchTextActive";
			}
		}
	}
	
	function checkFormSelects(getFormType, getNewUsed, getSelect) {
		switch(getSelect) {
			case 'minPrice':
				thisSelectedIndex = document.getElementById(getFormType + getNewUsed + "MinPrice").selectedIndex;
				if(document.getElementById(getFormType + getNewUsed + "MaxPrice").selectedIndex < thisSelectedIndex) document.getElementById(getFormType + getNewUsed + "MaxPrice").selectedIndex = thisSelectedIndex;
				break;
			case 'maxPrice':
				thisSelectedIndex = document.getElementById(getFormType + getNewUsed + "MaxPrice").selectedIndex;
				if(document.getElementById(getFormType + getNewUsed + "MinPrice").selectedIndex > thisSelectedIndex) document.getElementById(getFormType + getNewUsed + "MinPrice").selectedIndex = thisSelectedIndex;
				break;
			case 'minLength':
				thisSelectedIndex = document.getElementById(getFormType + getNewUsed + "MinLength").selectedIndex;
				if(document.getElementById(getFormType + getNewUsed + "MaxLength").selectedIndex < thisSelectedIndex) document.getElementById(getFormType + getNewUsed + "MaxLength").selectedIndex = thisSelectedIndex;
				break;
			case 'maxLength':
				thisSelectedIndex = document.getElementById(getFormType + getNewUsed + "MaxLength").selectedIndex;
				if(document.getElementById(getFormType + getNewUsed + "MinLength").selectedIndex > thisSelectedIndex) document.getElementById(getFormType + getNewUsed + "MinLength").selectedIndex = thisSelectedIndex;
				break;
		}
	}
	
	function validateSearchForm(getForm) {
		getNewUsed = getForm['mode'].value;
		getFormType = getForm['formType'].value;
		alertMessage = "";
		// checkboxes
		if(!document.getElementById(getFormType + getNewUsed + "SearchPower1").checked && !document.getElementById(getFormType + getNewUsed + "SearchPower2").checked) alertMessage += "\nYou must select POWER, SAIL or both.";
		// return
		if(alertMessage == "") {
			return true;
		} else {
			alert(alertMessage);
			return false;
		}
	}
	
	function searchSubmit(getSubmit) {
		var submitForm = getSubmit.parentNode.parentNode;
		if(validateSearchForm(submitForm)) submitForm.submit();
	}
	
// panel link clicker

	var allClickPanels = new Array();

	function initClickablePanels() {
		if(document.getElementsByClassName) {
			findClickPanels = document.getElementsByClassName("clickablePanel");
		} else {
			findClickPanels = getElementsByClass("clickablePanel",document,"div");
		}
		if(findClickPanels.length > 0) {
			for(i=0;i<findClickPanels.length;i++) {
				allClickPanels[i] = new clickPanel(findClickPanels[i],i);
			}
		}
	}
	
	function clickPanel(getPanel, getIndex) {
		this.panel = getPanel;
		this.index = getIndex;
		if(this.panel.getElementsByTagName('A')[0]) {
			// get link details
			this.panel.newLocation = this.panel.getElementsByTagName('A')[0].href;
			this.panel.newTarget = this.panel.getElementsByTagName('A')[0].target;
			// set behaviour
			this.panel.onclick = function() {
				if(this.newTarget == "_blank") {
					window.open(this.newLocation);
				} else {
					window.location = this.newLocation;
				}
			}
			// cancel link action
			this.panel.getElementsByTagName('A')[0].onclick = function() {return false};
			// set cursor style
			this.panel.style.cursor = "pointer";
		}
	}



// ticket panel functions
	
	function toggleFormElements(getMode) {
		if((navigator.userAgent.indexOf("MSIE 5")!=-1 || navigator.userAgent.indexOf("MSIE 6")!=-1) && document.getElementById('reservationForm')) {
			if(getMode) {
				//document.getElementById('rooms').style.visibility = "visible";
				//document.getElementById('adults').style.visibility = "visible";
				//document.getElementById('children').style.visibility = "visible";
			} else {
				//document.getElementById('rooms').style.visibility = "hidden";
				//document.getElementById('adults').style.visibility = "hidden";
				//document.getElementById('children').style.visibility = "hidden";
			}
		}
	}
	
// pop-up window opener

	window.name = "main";

	function openWindow(srcLink,wWidth,wHeight) {
		if(srcLink) {
			if(wWidth && wHeight) {
				window.open(srcLink, '', 'toolbar=no,menubar=yes,scrollbars=yes,resizable=yes,width=' + wWidth + ',height=' + wHeight);
			} else {
				window.open(srcLink, '', 'toolbar=no,menubar=yes,scrollbars=yes,resizable=yes');
			}
			return false;
		}
	}

// Function to retun the length of an object (number of keys/value pairs)

	function oCount(myObject) { var counter = 0; for(keys in myObject) counter++; return counter; }
	
// Function to sort an object by its keys

	function oSort(myObject) {
		var sortedKeys = new Array();
		var sortedObj = new Object();
		for (var i in myObject) sortedKeys.push(i);
		sortedKeys.sort();
		for (var i in sortedKeys) sortedObj[sortedKeys[i]] = myObject[sortedKeys[i]];
		return sortedObj;
	}

// 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 Loader functions

	// Cross-browser implementation of element.addEventListener()
	function addListener(element, type, expression, bubbling)
	{
	  bubbling = bubbling || false;
	  if(window.addEventListener)	{ // Standard
		element.addEventListener(type, expression, bubbling);
		return true;
	  } else if(window.attachEvent) { // IE
		element.attachEvent('on' + type, expression);
		return true;
	  } else return false;
	}
	
	var ImageLoader = function(url){
	  this.url = url;
	  this.image = null;
	  this.loadEvent = null;
	};
	
	ImageLoader.prototype = {
	  load:function(){
		this.image = document.createElement('img');
		var url = this.url;
		var image = this.image;
		var loadEvent = this.loadEvent;
		addListener(this.image, 'load', function(e){
		  if(loadEvent != null){
			loadEvent(url, image);
		  }
		}, false);
		this.image.src = this.url;
	  },
	  getImage:function(){
		return this.image;
	  }
	};
	
	
// 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;
			}
		}
	}

// Menu Stuff
	var dynamicMenuHolder;
	var dynamicMenu;
	var dynamicMenuIndicator;
	var dynamicMenuContent;
	var onIndicator;
	var menuFocus = "button";
	var storeMenuIndex = null;
	var storeButtonState = null;
	var storeThisElement = null;
	var menuActive = false;
	var menuTimeout = null;
	var submenuTimeout = null;
	
	function getMenuClass(src,hoverState) {
		if(hoverState) return "menuOver"
		else {
			if(storeButtonState) return "menuOn"
			else return "menuOff";
		}
	}
	
	function setPos(getObject,getX,getY) {
		getX = Math.floor(getX);
		getY = Math.floor(getY);
		if(getObject.style.posTop) {
			getObject.style.posLeft = getX;
			getObject.style.posTop = getY;
		} else {
			getObject.style.left = getX + "px";
			getObject.style.top = getY + "px";
		}
	}
	
	function showMenu(menuIndex,buttonState,buttonLeft,buttonWidth,thisElement) {
		if(menuSystemActive) {
			clearTimeout(submenuTimeout);
			cancelHideMenu();
			if(menuActive && menuIndex != storeMenuIndex) {
				if(document.getElementById("submenu" + menuIndex)) {
					// switch submenu content off
					if(document.getElementById("submenu" + storeMenuIndex)) document.getElementById("submenu" + storeMenuIndex).style.display = "none";
					// turn off old button
					storeThisElement.className = getMenuClass(storeThisElement,false);
				} else {
					doHideMenu();
				}
			}
			if(!menuActive) {
				// get elements
				dynamicMenuHolder = document.getElementById("dynamicMenuHolder");
				dynamicMenu = document.getElementById("dynamicMenu");
				dynamicMenuIndicator = document.getElementById("dynamicMenuIndicator");
				dynamicMenuContent = document.getElementById("dynamicMenuContent");
				onIndicator = document.getElementById("menuOnIndicator");
				menuActive = true;
			}
			//activation
			if(onIndicator) onIndicator.style.display = "none";
			storeMenuIndex = menuIndex;
			storeButtonState = buttonState;
			storeThisElement = thisElement;
			thisElement.className = getMenuClass(thisElement,true);
			if(document.getElementById("submenu" + menuIndex)) {
				// Set menu class based on number of columns
				dynamicMenu.className = "menu" + menuCols[menuIndex] + "col";
				// Set zIndex + make visible
				dynamicMenu.style.zIndex = 1000;
				dynamicMenu.style.display = "block";
				// Set horizontal position
				xOffset = (parseFloat(dynamicMenuHolder.offsetWidth) - parseFloat(dynamicMenu.offsetWidth)) * ((menuIndex)/(menuTotal-1)) + 9;
				setPos(dynamicMenu,xOffset,129);
				// hide visitDate in ie6
				toggleFormElements(false);
				// gap position
				setPos(dynamicMenuIndicator,(buttonLeft - xOffset) + Math.floor((buttonWidth)/2) - 16,0);
				// switch submenu content on
				document.getElementById("submenu" + menuIndex).style.display = "block";
				document.getElementById("submenu" + menuIndex).style.position = "relative";
				switch(menuCols[menuIndex]) {
					case 1:
					document.getElementById("submenu" + menuIndex).style.width = 500 + "px";
					break;
					case 2:
					document.getElementById("submenu" + menuIndex).style.width = 750 + "px";
					break;
				}
				// rollover behaviour
				dynamicMenu.onmouseover = function() {
					menuFocus = "menu";
					showMenu(menuIndex,buttonState,buttonLeft,buttonWidth,thisElement);
				}
				dynamicMenu.onmouseout = function() {
					if(menuFocus == "menu") {
						menuFocus = 'button';
						submenuTimeout = setTimeout("hideMenu('button');",50);
					}
				}
			} else {
				dynamicMenu.style.display = "none";
			}
	}
}
	
	function hideMenu(getTrigger) {
		if(menuSystemActive) {
			if(getTrigger=="button" && menuFocus=="button") menuTimeout = setTimeout("doHideMenu();",100);
		}
	}
	
	function doHideMenu() {
		if(menuSystemActive && storeThisElement != null && !dynamicMenuFormActive) {
			// show visitDate in ie6
			toggleFormElements(true);
			// hide menu
			storeThisElement.className = getMenuClass(storeThisElement,false);
			// switch submenu content off
			if(document.getElementById("submenu" + storeMenuIndex)) document.getElementById("submenu" + storeMenuIndex).style.display = "none";
			dynamicMenu.style.display = "none";
			storeMenuIndex = null;
			storeButtonState = null;
			storeThisElement = null;
			menuActive = false;
			// cancel behaviours
			dynamicMenu.onmouseover = null;
			dynamicMenu.onmouseout = null;
			//show on indicator again
			if(onIndicator) onIndicator.style.display = "block";
		}
	}
	
	function cancelHideMenu() {
		if(menuSystemActive) {
			clearTimeout(menuTimeout);
			clearTimeout(submenuTimeout);
			menuTimeout = null;
		}
	}
	
	function menuAreaClick(menuIndex,buttonState,buttonLeft,buttonWidth,thisElement) {
		if(menuSystemActive) {
			if(touchMode && menuActive && storeMenuIndex == menuIndex) {
				// hide menu
				doHideMenu();
				return false;
			} else if(menuActive && storeMenuIndex == menuIndex) {
				// close menu
				doHideMenu();
				return true;
			} else {
				// show menu
				showMenu(menuIndex,buttonState,buttonLeft,buttonWidth,thisElement);
				return false;
			}
		} else {
			return true;
		}
	}
	
	
// 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) { }
		}
	}
	
// add a getElementByClass function for browsers that don't support getElementsByClassName
		
	// getElementsByClass(class string, optional DOM node, optional html tag)
	function getElementsByClass(searchClass,node,tag) {
		var classElements = new Array();
		if ( node == null )
			node = document;
		if ( tag == null )
			tag = '*';
		var els = node.getElementsByTagName(tag);
		var elsLen = els.length;
		var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
		for (ii = 0, j = 0; ii < elsLen; ii++) {
			if ( pattern.test(els[ii].className) ) {
				classElements[j] = els[ii];
				j++;
			}
		}
		return classElements;
	}
	
	
// main image alt tag animated text

	var mainImageContainer;
	var mainImageAltString;
	var mainImageAltContainer;

	function setupMainImageAlt() {
		mainImageContainer = document.getElementById("mainImage");
		mainImageAltString = mainImageContainer.getElementsByTagName("IMG")[0].getAttribute("alt");
		var newdiv = document.createElement("div");
   		newdiv.setAttribute("id", "mainImageAlt");
		mainImageContainer.appendChild(newdiv);
		mainImageAltContainer = document.getElementById("mainImageAlt");
		writeMainImageAlt(mainImageAltString);
		mainImageContainer.onmouseover = function() {
			// move up
			if($) {
				$(mainImageAltContainer).stop(true,false);
				$(mainImageAltContainer).animate({top:'255px'}, 150);
			} else {
				setPos(mainImageAltContainer,0,255);
			}
		}
		mainImageContainer.onmouseout = function() {
			// move down
			if($) {
				$(mainImageAltContainer).stop(true,false);
				$(mainImageAltContainer).animate({top:'280px'}, 150);
			} else {
				setPos(mainImageAltContainer,0,280);
			}
		}
	}
	
	function writeMainImageAlt(rawString) {
		if(document.getElementById("mainImageAlt")) {
			if(rawString.indexOf("&copy;") > 0) {
				mainImageAltContainer.innerHTML = "<span><strong>" + rawString.split("&copy;")[0] + "<\/strong>&nbsp;&copy;" + rawString.split("&copy;")[1] + "<\/span>";
			} else if(rawString.indexOf("©") > 0) {
				mainImageAltContainer.innerHTML = "<span><strong>" + rawString.split("©")[0] + "<\/strong>&nbsp;&copy;" + rawString.split("©")[1] + "<\/span>";
			} else {
				mainImageAltContainer.innerHTML = "<span><strong>" + rawString + "<\/strong><\/span>";
			}
		}
	}
	
	
	
// tabbed content functions

	var tabOn = 0;
	var tabTextOn = "";
	var allTabDivs = new Array;
	var allTabTitles = new Array;
	var allTabContent = new Array;
	var allVRcontent = new Array();
	
	function buildTabs() {
		if(document.getElementById("tabArea")) {
			// Get location query (to check for turning tabs on and off)
			var queryArray = new Array;
			queryArray = document.location.search.substring(1).split("&");
			if (queryArray.length > 0) {
				for (var i in queryArray) {
					// Look for tab numbers
					if (queryArray[i].toLowerCase().indexOf("tabnum") >= 0) {
						var querySplit = new Array;
						querySplit = queryArray[i].split("=");
						if (querySplit.length > 0) { tabOn = parseInt(querySplit[1]) - 1; break; }
					}
					// Look for tab names
					if (queryArray[i].toLowerCase().indexOf("tabname") >= 0) {
						var querySplit = new Array;
						querySplit = queryArray[i].split("=");
						if (querySplit.length > 0) { tabTextOn = unescape(querySplit[1].toLowerCase()); break; }
					}
				}
			}
			// find tabbedContent
			if(document.getElementsByClassName) {
				allTabDivs = document.getElementsByClassName("tabbedContent");
			} else {
				allTabDivs = getElementsByClass("tabbedContent",document,"div");
			}
			if(allTabDivs.length > 0) {
				// See if a tab name is specified and find the tab number associated with it
				if(tabTextOn != "") {
					for(i=0;i<allTabDivs.length;i++) {
						if(document.all) allTabTitles[i] = allTabDivs[i].getElementsByTagName("H2")[0].innerText.toString();
						else allTabTitles[i] = allTabDivs[i].getElementsByTagName("H2")[0].textContent.toString();
						if(tabTextOn == allTabTitles[i].toLowerCase()) { tabOn = i; break; }
					}
				}
				// loop through, get data, and hide all but chosen tab (first tab is default)
				for(i=0;i<allTabDivs.length;i++) {
					// tab title
					if(document.all) {
						allTabTitles[i] = allTabDivs[i].getElementsByTagName("H2")[0].innerText.toString();
					} else {
						allTabTitles[i] = allTabDivs[i].getElementsByTagName("H2")[0].textContent.toString();
					}
					// hide content?
					if(i == tabOn) {
						allTabDivs[i].className = "tabbedContent contentVisible";
					} else {
						allTabDivs[i].className = "tabbedContent contentHidden";
					}
				}
			}
			// Build tabs
			var myTabs = "<div id='tabButtons'><dl>";
			for (i=0; i<allTabDivs.length; i++) {
				if (i == tabOn) {
					myTabs += "<dd id='tab" + i + "' class='tab tabOn'>";
				} else {
					myTabs += "<dd id='tab" + i + "' class='tab tabOff'>";
				}
				myTabs += "<a href='javascript:doTab(" + i + ");'><span class='tabContent'>" + allTabTitles[i] + "<\/span><\/a><\/dd>";
			}
			myTabs += "</dl><\/div>";
			document.getElementById("tabArea").innerHTML += myTabs;
			
			// do list item count if favourites page
			if(document.location.toString().indexOf("\/misc\/favourites.aspx") > 0) {
				onTab = -1;
				for (i=0; i<allTabDivs.length; i++) {
					itemCount = allTabDivs[i].getElementsByTagName("H3").length;
					if(itemCount > 0 && onTab < 0) onTab = i;
					document.getElementById("tab"+i).getElementsByTagName("SPAN")[0].innerHTML += " (" + itemCount + ")";
				}
				// turn on first populated tab
				if(onTab >= 0) doTab(onTab);
			}
			
		}
	}
	
	function doTab(getTab) {
		// check tab is different from current active tab
		if(getTab != tabOn) {
			// get elements again for IE
			if(document.getElementsByClassName) {
				allTabDivs = document.getElementsByClassName("tabbedContent");
			} else {
				allTabDivs = getElementsByClass("tabbedContent",document,"div");
			}
			// hide old content and change old tab class
			allTabDivs[tabOn].className = "tabbedContent contentHidden";
			document.getElementById("tab"+tabOn).className = "tab tabOff";
			// show new content and change new tab class
			allTabDivs[getTab].className = "tabbedContent contentVisible";
			document.getElementById("tab"+getTab).className = "tab tabOn";
			// store new tab
			tabOn = getTab;
		}
	}
	
// 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 = "<div id=\"panelImageB\" class=\"panelImage\"><\/div>";
		buildPanel("B");
	}
	
	function buildPanel(panelLetter) {
		qIndex += 1;
		if(qIndex >= totalImages) qIndex = 0;
		// image
		writeImageCode = "<img src=\"" + qImages[qIndex] + "\" alt=\"" + qAlts[qIndex] + "\" width=\"" + qImageWidth + "\" height=\"" + qImageHeight + "\" onload=\"imageDelay();\" \/>";
		// populate
		document.getElementById("panelImage" + panelLetter).innerHTML = writeImageCode;
	}
	
	function imageDelay() {
		// set timeout
		setTimeout("swapImagePanels();",2000);
	}
	
	function swapImagePanels() {
		if(activePanel=="A") {
			if($) {
  				$(topPanel).fadeOut(2000, function() {
    				// Animation complete.
					setTopPanelDisplay(false);
					// update alt string
					writeMainImageAlt(qAlts[qIndex]);
					// build next panel
					buildPanel("A");
  				});
			} else {
				setTopPanelDisplay(false);
				buildPanel("A");
			}
			activePanel = "B";
		} else {
			setTopPanelDisplay(true);
			if($) {
  				$(topPanel).fadeOut(0);
  				$(topPanel).fadeIn(2000, function() {
    				// Animation complete.
					// update alt string
					writeMainImageAlt(qAlts[qIndex]);
					// build next panel
					buildPanel("B");
  				});
			} else {
				buildPanel("B");
			}
			activePanel = "A";
		}
	}
	
	function setTopPanelDisplay(getMode) {
		if(getMode) topPanel.style.display = "block"
		else topPanel.style.display = "none";
	}



// expander functions

	var expanders = new Array();
	var expanderOpenLabels = new Array();
	var expanderCloseLabels = new Array();

	function toggleExpander(expanderIndex) {
		if(!expanders[expanderIndex]) {
			expanders[expanderIndex] = true;
			document.getElementById("xControl" + expanderIndex).getElementsByTagName("A")[0].className = "expanderClose";
			document.getElementById("xControl" + expanderIndex).getElementsByTagName("A")[0].getElementsByTagName("STRONG")[0].innerHTML = expanderCloseLabels[expanderIndex];
			if($) {
				$(("#xContent" + expanderIndex)).stop(false,false);
				$(("#xContent" + expanderIndex)).slideUp(0);
				$(("#xContent" + expanderIndex)).slideDown(1000);
			} else {
				document.getElementById("xContent" + expanderIndex).style.display = "block";
			}
		} else {
			expanders[expanderIndex] = false;
			document.getElementById("xControl" + expanderIndex).getElementsByTagName("A")[0].className = "expanderOpen";
			document.getElementById("xControl" + expanderIndex).getElementsByTagName("A")[0].getElementsByTagName("STRONG")[0].innerHTML = expanderOpenLabels[expanderIndex];
			if($) {
				$(("#xContent" + expanderIndex)).stop(false,false);
				$(("#xOpen" + expanderIndex)).slideDown(0);
				$(("#xContent" + expanderIndex)).slideUp(0);
			} else {
				document.getElementById("xContent" + expanderIndex).style.display = "none";
			}
		}
	}

// -->
