// 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;
	}
	
	function subpageTrigger() {
		menuSystemActive = true;
	}


// 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";


// 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('centeredPage').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
						ButtonOffset = thisElement.offsetLeft + thisElement.offsetWidth;
						xPos = (ButtonOffset + MenuOffset) - (SubMenuWidth-9);
						MenuAlign = "alignRight";
					} else if((ButtonOffset + SubMenuWidth) > menuAreaWidth) {
						// menu position aligned right
						ButtonOffset = thisElement.offsetLeft + thisElement.offsetWidth;
						xPos = (ButtonOffset + MenuOffset) - (SubMenuWidth-10);
						MenuAlign = "alignRight";
					} else {
						xPos -= 9;
					}
				
					// 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) {
			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);
		}
	}
	

// Sig Image functions

	var imageIndex = 0;
	var imageTotal = 0;
	var imageLinks = new Array();
	var imagePaths = new Array();
	var imageTitles = new Array();
	var activeImage = 2;
	var inactiveImage = 1;
	
	function nextSigImage() {
		imageIndex +=1;
		if(imageIndex >= imageTotal) imageIndex = 0;
	}
	
	function getSigImageString(addTrigger) {
		temp = "";
		if(imageLinks[imageIndex] != "") temp += "<a href='" + imageLinks[imageIndex] + "'>";
		temp += "<img src='" + imagePaths[imageIndex] + "' alt='" + imageTitles[imageIndex] + "' width='690' height='350' border='0' style='zIndex:1' onload='triggerSigImage()'>";
		if(imageLinks[imageIndex] != "") temp += "<\/a>";
		return temp;
	}
		
	function triggerSigImage() {
		exitCaption();
		if(Spry) {
			if(activeImage == 1) {
				// fade out top div
				Spry.Effect.DoFade(document.getElementById("sigImage1"), {duration: 2000, from: 100, to: 0, toggle: false, finish: function() {displayTopDiv(false);doCaption();} });
				activeImage = 2;
				inactiveImage = 1;
			} else {
				// fade in top div
				Spry.Effect.DoFade(document.getElementById("sigImage1"), {duration: 2000, from: 0, to: 100, toggle: false, finish: function() {displayTopDiv(true);doCaption();} });
				activeImage = 1;
				inactiveImage = 2;
			}
		} else {
			if(activeImage == 1) {
				// hide top div
				document.getElementById("sigImage1").style.display = "none";
				doCaption();
				activeImage = 2;
				inactiveImage = 1;
			} else {
				// show top div
				document.getElementById("sigImage1").style.display = "block";
				doCaption();
				activeImage = 1;
				inactiveImage = 2;
			}
		}
		// trigger next change
		setTimeout("nextSigImage();changeSigImage()",8000);
	}
	
	function displayTopDiv(displayMode) {
		if(displayMode) document.getElementById("sigImage1").style.display = "block"
		else document.getElementById("sigImage1").style.display = "none";
	}
	
	
	function changeSigImage() {
		document.getElementById("sigImage" + inactiveImage).innerHTML = getSigImageString();
	}
	
	var sigImageTextWidth = 0;
	var sigImageTextX = 520;
	var sigImageTextXtarget = 520;
	
	function doCaption() {
		// put caption off-screen
		setCaptionPos(520);
		sigImageTextX = 520;
		if(imageTitles[imageIndex] !="") {
			// change text and get width
			document.getElementById('sigImageTitleText').innerHTML = imageTitles[imageIndex];
			sigImageTextWidth = document.getElementById('sigImageTitleText').offsetWidth;
			sigImageTextXtarget = 520 - (sigImageTextWidth+20);
			enterCaption();
		}
	}
	
	function setCaptionPos(getX) {
		if(GetBrowserType == "ns" || GetBrowserType == "opera") {
			document.getElementById('sigImageTitle').style.left = getX + "px";
		} else {
			document.getElementById('sigImageTitle').style.posLeft = getX;
		}
	}
	
	function enterCaption() {
		xDiff = sigImageTextX - sigImageTextXtarget;
		if(xDiff > 0) {
			if(xDiff > 10) {
				sigImageTextX -= 10;
				setCaptionPos(sigImageTextX);
				setTimeout("enterCaption();",20);
			} else {
				sigImageTextX = sigImageTextXtarget;
				setCaptionPos(sigImageTextX);
			}
		}
	}
	
	function exitCaption() {
		xDiff = 520 - sigImageTextX;
		if(xDiff > 0) {
			if(xDiff > 10) {
				sigImageTextX += 10;
				setCaptionPos(sigImageTextX);
				setTimeout("exitCaption();",20);
			} else {
				sigImageTextX = 520;
				setCaptionPos(sigImageTextX);
			}
		}
	}
		
