<!--

// WINDOW OPENER

	window.name = "main";
	
	function openWindow(getLink, getWidth, getHeight) {
		window.open(getLink.href,"Demo","width=" + getWidth + ",height=" + getHeight);
		return false;
	}
	
// 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) { }
		}
	}

// MENU CODE

	var getSubMenu;
	var subMenuLength;
	var getActiveLink = -1;
	var indicatorTargets = new Array();
	var indicatorBase = 35;
	var indicatorOffset = -4;
	var arrowReset = null;
	
	function menuSetup() {
		if(document.getElementById("subMenu")) {
			// store submenu element
			getSubMenu = document.getElementById("subMenu");
			// store length
			subMenuLength = getSubMenu.getElementsByTagName("DD").length;
			// loop through sub menu
			calcTarget = indicatorBase;
			for(i=0;i<subMenuLength;i++) {
				// store active link
				if(getSubMenu.getElementsByTagName("DD")[i].className == "subOn") getActiveLink = i;
				// menu width + calculation
				menuWidth = getSubMenu.getElementsByTagName("DD")[i].offsetWidth;
				indicatorTargets[i] = calcTarget + Math.floor(menuWidth/2) + indicatorOffset;
				// add behaviour
				getSubMenu.getElementsByTagName("DD")[i].menuIndex = i;
				getSubMenu.getElementsByTagName("DD")[i].onmouseover = function() { submenuOver(this.menuIndex); };
				getSubMenu.getElementsByTagName("DD")[i].onmouseout = function() { submenuOut(this.menuIndex); };
				// increment
				calcTarget += menuWidth;
			}
			// add indicator div
			newDiv = document.createElement("div");
			newDiv.setAttribute("id", "indicator");
			getSubMenu.appendChild(newDiv);
			newDiv = null;
			// update position
			resetIndicator();
		}
	}
	
	function moveIndicator(getX) {
		document.getElementById("indicator").style.display = "block";
		if(document.getElementById("indicator").style.posLeft) document.getElementById("indicator").style.posLeft = getX
		else document.getElementById("indicator").style.left = getX + "px";
	}
	
	function submenuOver(getIndex) {
		clearTimeout(arrowReset);
		arrowReset = null;
		moveIndicator(indicatorTargets[getIndex]);
	}
	
	function submenuOut() {
		arrowReset = setTimeout("resetIndicator();", 50);
	}
	
	function resetIndicator() {
		if(getActiveLink >= 0) {
			moveIndicator(indicatorTargets[getActiveLink]);
		} else hideIndicator();
	}
	
	function hideIndicator() {
		document.getElementById("indicator").style.display = "none";
	}
	

// SEARCH FORM
	
	var defaultSearchText = "Enter search text here...";
	
	function isEmptyField(srcField) {
		srcText = srcField.value;
		srcText = srcText.replace(/^\s+/g, '').replace(/\s+$/g, '');
		if(srcText == "") {
			srcField.value = "";
			return true;
		} else return false;
	}
	
	function enterSearchField(mode) {
		if(mode == 1) thisField = document.getElementById("searchText")
		else thisField = document.getElementById("searchPageText");
		if(thisField.value == defaultSearchText) thisField.value = "";
	}
	
	function exitSearchField(mode) {
		if(mode == 1) thisField = document.getElementById("searchText")
		else thisField = document.getElementById("searchPageText");
		if(isEmptyField(thisField)) thisField.value = defaultSearchText;
	}

	function validateSearchForm(mode) {
		if(mode == 1) thisField = document.getElementById("searchText")
		else thisField = document.getElementById("searchPageText");
		if(isEmptyField(thisField) || thisField.value == defaultSearchText) {
			alert("You need to enter something to search for!");
			return false;
		} else return true;
	}
	
	
// SLIDER CODE

	function slidersSetup() {
		// add contact tab button
			if(document.getElementById("contactSlider")) {
				newDiv = document.createElement("div");
				newDiv.setAttribute("id", "contactSliderTab");
				document.getElementById("contactSlider").appendChild(newDiv);
				document.getElementById("contactSliderTab").innerHTML = "<a class='sliderOff' onclick=\"toggleSlider('contactSlider')\"><span>Contact us<\/span><\/a>";
				newDiv = null;
				// add properties
				document.getElementById("contactSlider").active = false;
				document.getElementById("contactSlider").baseY = 0 - document.getElementById("contactSlider").offsetHeight;
				document.getElementById("contactSlider").currentY = document.getElementById("contactSlider").baseY;
				// position sliders
				setSliderY(document.getElementById("contactSlider"),document.getElementById("contactSlider").baseY);
				// update Positions
				updateSlider(document.getElementById("contactSlider"));

			}
		// add search tab button
			if(document.getElementById("searchSlider")) {
				newDiv = document.createElement("div");
				newDiv.setAttribute("id", "searchSliderTab");
				document.getElementById("searchSlider").appendChild(newDiv);
				document.getElementById("searchSliderTab").innerHTML = "<a class='sliderOff' onclick=\"toggleSlider('searchSlider')\"><span>Search<\/span><\/a>";
				newDiv = null;
				// add properties
				document.getElementById("searchSlider").active = false;
				document.getElementById("searchSlider").baseY = 0 - document.getElementById("searchSlider").offsetHeight;
				document.getElementById("searchSlider").currentY = document.getElementById("searchSlider").baseY;
				// position sliders
				setSliderY(document.getElementById("searchSlider"),document.getElementById("searchSlider").baseY);
				// update Positions
				updateSlider(document.getElementById("searchSlider"));
			}
			// make visible
			document.getElementById("sliders").style.visibility = "visible";
	}
	
	function getIncrement(largerValue,smallerValue) {
		gap = largerValue-smallerValue;
		if(gap > 40) {
			return 40;
		} else if(gap > 20) {
			return 20;
		} else if(gap > 10) {
			return 10;
		} else if(gap > 5) {
			return 5;
		} else if(gap > 3) {
			return 3;
		} else if(gap > 2) {
			return 2;
		}  else return gap;
	}
	
	function updateSlider(getSlider) {
		if(getSlider.active && getSlider.currentY < 0) {
			newY = getSlider.currentY + getIncrement(0,getSlider.currentY);
			setSliderY(getSlider,newY);
			if(getSlider.offsetTop < 0) setTimeout("updateSlider(document.getElementById('" + getSlider.id + "'));", 40);
		} else if(!getSlider.active && getSlider.currentY > getSlider.baseY) {
			newY = getSlider.currentY - getIncrement(getSlider.currentY,getSlider.baseY);
			setSliderY(getSlider,newY);
			if(getSlider.offsetTop > getSlider.baseY) setTimeout("updateSlider(document.getElementById('" + getSlider.id + "'));", 40);
		}
	}
	
	function setSliderY(getSlider,getY) {
		if(getSlider.style.posTop) {
			getSlider.style.posTop = getY;
		} else {
			getSlider.style.top = getY + "px";
		}
		getSlider.currentY = getY;
	}
	
	function toggleSlider(getSlider) {
		if(getSlider == "contactSlider") {
			if(document.getElementById("contactSlider").active) {
				document.getElementById("contactSlider").active = false;
				// set label
				document.getElementById("contactSliderTab").getElementsByTagName("A")[0].innerHTML = "<span>Contact us<\/span>"
			} else {
				document.getElementById("contactSlider").active = true;
				if(document.getElementById("searchSlider")) document.getElementById("searchSlider").active = false;
				// set labels
				document.getElementById("contactSliderTab").getElementsByTagName("A")[0].innerHTML = "<span>Close<\/span>"
				if(document.getElementById("searchSlider")) document.getElementById("searchSliderTab").getElementsByTagName("A")[0].innerHTML = "<span>Search<\/span>"
				// set levels
				document.getElementById("contactSlider").style.zIndex = 120;
				if(document.getElementById("searchSlider")) document.getElementById("searchSlider").style.zIndex = 125;
				
			}
		} else if(getSlider == "searchSlider") {
			if(document.getElementById("searchSlider").active) {
				document.getElementById("searchSlider").active = false;
				// set label
				document.getElementById("searchSliderTab").getElementsByTagName("A")[0].innerHTML = "<span>Search<\/span>"
			} else {
				document.getElementById("searchSlider").active = true;
				if(document.getElementById("contactSlider")) document.getElementById("contactSlider").active = false;
				// set labels
				document.getElementById("searchSliderTab").getElementsByTagName("A")[0].innerHTML = "<span>Close<\/span>"
				if(document.getElementById("contactSlider")) document.getElementById("contactSliderTab").getElementsByTagName("A")[0].innerHTML = "<span>Contact us<\/span>"
				// set levels
				document.getElementById("searchSlider").style.zIndex = 120;
				if(document.getElementById("contactSlider")) document.getElementById("contactSlider").style.zIndex = 125;
				// focus and select
				document.getElementById("searchText").select();
				document.getElementById("searchText").focus();
			}
		}
		if(document.getElementById("contactSlider")) updateSlider(document.getElementById("contactSlider"));
		if(document.getElementById("searchSlider")) updateSlider(document.getElementById("searchSlider"));
	}

// 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 = hiddenContent[hiddenIndex].hideLink + document.getElementById(getElement).innerHTML;
			// 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;
		}
	}


// INIT

	function initSite() {
		menuSetup();
		slidersSetup();
	}

// -->
