// Set dropdown menus to inactive - onload makes them active

	var menuSystemActive = false;

// Set the window name

	window.name = "main";

// onload triggers

	function homepageTrigger() {
		menuSystemActive = true;
		revealAccountPanel();
	}
	
	function subpageTrigger() {
		menuSystemActive = true;
		revealAccountPanel();
	}


// Function to make DIV area act as its child A tag

	function doDivLink(getDiv) {
		if(document.getElementsByTagName) {
			newLocation = getDiv.getElementsByTagName('A').item(0).href;
			newTarget = getDiv.getElementsByTagName('A').item(0).target;
			if(newTarget == "_blank") {
				window.open(newLocation);
			} else window.location = newLocation;
		}
	}
	
	function clearDivLink() {
		if(document.getElementsByTagName) return false;
	}


// Browser detection bits

	if(navigator.userAgent.indexOf("Opera")!=-1) GetBrowserType = "opera"
	else if(navigator.appName == "Microsoft Internet Explorer") GetBrowserType = "ie"
	else if(navigator.appName == "Netscape") 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";


// Account panel reveal

	function revealAccountPanel() {
		positionAccountPanel(67);
		document.getElementById("accountPanel").style.display = "block";
		delayCounter = 20;
		delayIncrement = 20;
		panelHeight = 67;
		while(panelHeight > 40) {
			setTimeout("positionAccountPanel(" + panelHeight + ");",delayCounter);
			delayCounter += delayIncrement;
			panelHeight -= 2;
		}
		setTimeout("positionAccountPanel(40)",delayCounter);
		delayCounter += delayIncrement;
		setTimeout("positionAccountPanel(39)",delayCounter);
		delayCounter += delayIncrement;
		setTimeout("positionAccountPanel(38)",delayCounter);
	}
	
	function positionAccountPanel(getHeight) {
		if(GetBrowserType == "ns" || GetBrowserType == "opera") {
			document.getElementById("accountPanel").style.top = getHeight + "px";
		} else {
			document.getElementById("accountPanel").style.posTop = getHeight;
		}
	}


// Menu Stuff

	storeMenuIndex = null;
	storeButtonState = null;
	storeThisElement = null;
	menuActive = false;
	menuTimeout = null;
	
	function getMenuClass(src,hoverState) {
		if(src.className.indexOf("firstMenu") > -1) {
			if(hoverState) return "MenuOver firstMenu"
			else {
				if(storeButtonState) return "MenuOn firstMenu"
				else return "MenuOff firstMenu";
			}
		} else if(src.className.indexOf("lastMenu") > -1) {
			if(hoverState) return "MenuOver lastMenu"
			else {
				if(storeButtonState) return "MenuOn lastMenu"
				else return "MenuOff lastMenu";
			}
		} 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) {
				storeMenuIndex = menuIndex;
				storeButtonState = buttonState;
				storeThisElement = thisElement;
				thisElement.className = getMenuClass(thisElement,true);
				
				// work out menu bar width
				menuAreaWidth = -10;
				for(i=0;i<MenuTotal;i++) {
					menuAreaWidth += document.getElementById('menu'+i).offsetWidth;
				}
				
				if(SubMenuStrings[menuIndex]) {
					
					// Work out menu position
					SubMenuWidth = document.getElementById('dropDownMenu').offsetWidth;
					MenuOffset = document.getElementById('headerArea').offsetLeft + document.getElementById('menuArea').offsetLeft;
					ButtonOffset = thisElement.offsetLeft;
					xPos = ButtonOffset + MenuOffset;
					MenuAlign = "alignLeft";
					//align div
					if(menuIndex == 0) {
						xPos += 1;
					} else if(menuIndex == (MenuTotal-1)) {
						// last menu position aligned right
						xPos = (MenuOffset + menuAreaWidth) - (SubMenuWidth-12);
						MenuAlign = "alignRight";
					} else if((ButtonOffset + SubMenuWidth) > menuAreaWidth) {
						// menu position aligned right
						ButtonOffset = thisElement.offsetLeft + thisElement.offsetWidth;
						xPos = (ButtonOffset + MenuOffset) - (SubMenuWidth-8);
						MenuAlign = "alignRight";
					} else {
						xPos -= 7;
					}
				
					// Write menu links
					buildMenu = "<DIV class='" + MenuAlign + "'><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) {
			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 doNoLink() {
		if(menuSystemActive) {
			clearTimeout(menuTimeout);
		}
	}
	
	function refreshMenu() {
		if(menuSystemActive && safariMode) document.getElementById('dropDownMenu').style.zIndex += 1;
	}


// Discount roundels

	function addDiscountLabel(itemID,getDiscount) {
		targetItem = document.getElementById(itemID);
		coverEdgeOffset = targetItem.getElementsByTagName("IMG")[0].offsetLeft;
		targetSpan = document.getElementById(itemID + "_discount");
		targetSpan.innerHTML = "<span id='" + itemID + "_roundel' class='discountSmall'><span>" + getDiscount + "% off<\/span><\/span>";
		// work out roundel offset
		if(coverEdgeOffset < 6) roundelOffset = coverEdgeOffset
		else roundelOffset = coverEdgeOffset - 6;
		// Set position of roundel
		if(GetBrowserType == "ns" || GetBrowserType == "opera") {
			document.getElementById(itemID + "_roundel").style.right = roundelOffset + "px";
		} else {
			document.getElementById(itemID + "_roundel").style.posRight = roundelOffset;
		}
	}
