function initialise() {
	navigationCurrent = null;
	navigationTimeout = null;
	initialiseNavigation();
}

function headerToggle() {
	if (document.getElementById("top").style.display != "none") {
		document.getElementById("top").style.display = "none";
		document.getElementById("heading").style.display = "none";
		switchClass(e("headerToggleButton"),"headerToggleButtonUp","headerToggleButtonDown");
	}
	else {
		document.getElementById("top").style.display = "";
		document.getElementById("heading").style.display = "";
		switchClass(e("headerToggleButton"),"headerToggleButtonDown","headerToggleButtonUp");
	}
	initialiseNavigation();
}

function initialiseNavigation() {
	if (navigator.userAgent.indexOf("MSIE") > -1 && navigator.userAgent.indexOf("Mac") > -1) return;

	n = e("menu").getElementsByTagName("a");
	for (var i = 0; i < n.length; i++) {
		if (n[i].childrenNavigation = e("nc" + n[i].id.substring(1))) {
			n[i]._x = getX(n[i]);
			n[i]._y = getY(n[i]);
			if (navigator.userAgent.indexOf("MSIE") > -1) n[i]._y += 1;		// add 1px to correct IE's border-model issues (menuChild border is 1px)
			n[i].childrenNavigation.style.left = (n[i]._x - 1) + "px";
			n[i].childrenNavigation.style.top = (n[i]._y + 30) + "px";    // height of #menu is 30px
			nc = n[i].childrenNavigation.getElementsByTagName("td");
			for (var j = 0; j < nc.length; j++) {
				nc[j].nID = n[i].id;
				nc[j].onmouseover = navigationChildMouseover;
				nc[j].onmouseout = navigationChildMouseout;
			}
		}
		n[i].onmouseover = navigationMouseover;
		n[i].onmouseout = navigationMouseout;
	}
}

function navigationMouseover() {
	if (navigationTimeout) clearTimeout(navigationTimeout);
	if (navigationCurrent) navigationDeactivate(navigationCurrent);
	navigationActivate(this.id);
}

function navigationMouseout() {
	navigationTimeout = setTimeout("navigationDeactivate(\'" + this.id + "\')",50);
}

function navigationChildMouseover() {
	if (navigationTimeout) clearTimeout(navigationTimeout);
	navigationActivate(this.nID);
	addClass(this,"highlight");
}

function navigationChildMouseout() {
	removeClass(this,"highlight");
	navigationTimeout = setTimeout("navigationDeactivate(\'" + this.nID + "\')",500);
}

function navigationActivate(navigationID) {
	navigationCurrent = navigationID;
	n = e(navigationID);
	addClass(n,"highlight");
	if (n.childrenNavigation) n.childrenNavigation.style.visibility = "visible";
}

function navigationDeactivate(navigationID) {
	navigationCurrent = null;
	n = e(navigationID);
	removeClass(n,"highlight");
	if (n.childrenNavigation) n.childrenNavigation.style.visibility = "hidden";
}



window.onload = initialise;
