hideDelay = 300;
fadeTime = 300;
fadeSteps = 20;

curMenu = '';
timer = '';
timerFade = '';
curStep = 0;
originalOpacity = 1;

function showMenu(mememe) {
	if (curMenu != '') {
		clearTimeout(timer);
		clearTimeout(timerFade);
		if (curMenu != mememe) {
			hideAll();
		}
	} else {
		originalOpacity = document.getElementById(mememe).style.opacity;
	}
	if (document.getElementById(mememe).style.display != "block") {
		document.getElementById(mememe).style.display = "block";
	}
	if (document.getElementById(mememe).style.opacity != originalOpacity) {
		document.getElementById(mememe).style.opacity = originalOpacity;
	}
	if (document.getElementById(mememe).style.filter != "alpha(opacity=" & originalOpacity*100 & ")") {
		document.getElementById(mememe).style.filter = "alpha(opacity=" & originalOpacity*100 & ")";
	}
	curMenu = mememe;
}

function hideMenu() {
	timer = setTimeout("fadeMenu()",hideDelay);
}

function fadeMenu() {
	opacityFactor = (fadeSteps-curStep)/fadeSteps;
	document.getElementById(curMenu).style.opacity = opacityFactor;
	document.getElementById(curMenu).style.filter = "alpha(opacity=" + ((opacityFactor)*100) + ")";

	if (curStep < fadeSteps) {
		curStep++;
		timerFade = setTimeout("fadeMenu()",fadeTime/fadeSteps);
	} else {
		hideAll();
	}
}

function hideAll() {
	curStep = 0;
	if (curMenu != '') {
		document.getElementById(curMenu).style.display = "none";
		document.getElementById(curMenu).style.opacity = "1";
		document.getElementById(curMenu).style.filter = "alpha(opacity=100)";
	}
}

sfHover = function() {
	// var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	if (document.getElementById("nav")) {
		var sfEls = document.getElementById("nav").getElementsByTagName("TD");
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				this.className+=" sfhover";
			}
			sfEls[i].onmouseout=function() {
				this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			}
		}
	
		var sfEls = document.getElementById("nav").getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				this.className+=" sfhover";
			}
			sfEls[i].onmouseout=function() {
				this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			}
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);