var lastmenu=null;
var tmMouseOut=null;
var clearMenuTimeout=250;
function clearMenu() {
	tmMouseOut=null;
	if(lastmenu!=null && lastmenu!='undefined') {
	   	lastmenu.className=lastmenu.className.replace(new RegExp(" sfhover\\b"), "");
	   	lastmenu=null;
	}
}

sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
//			if(lastmenu!=null) tarea.value = "+++ OVER last:" + lastmenu.innerHTML.substring(0,lastmenu.innerHTML.indexOf('\n')) + ":" +tarea.value +"\n\n";
//			tarea.value = "+++ OVER this:" + this.innerHTML.substring(0,this.innerHTML.indexOf('\n')) + ":" +tarea.value +"\n\n";
			if(tmMouseOut!=null) { clearTimeout(tmMouseOut); tmMouseOut=null; }
			if(lastmenu!=null) {
				var strLastMenu = lastmenu.innerHTML;
				var strThisMenu = this.innerHTML;
				if(strLastMenu.substring(0,strLastMenu.indexOf('\n'))!=strThisMenu.substring(0,strThisMenu.indexOf('\n'))) {
					lastmenu.className=lastmenu.className.replace(new RegExp(" sfhover\\b"), "");
				}
			}
			lastmenu=null;
			if(this.className.indexOf("sfhover")<0) this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
//			if(lastmenu!=null) tarea.value = "+++ OUT last:" + lastmenu.innerHTML + ":" +tarea.value +"\n\n";
//			tarea.value = "+++ OUT this:" + this.innerHTML + ":" +tarea.value +"\n\n"
			lastmenu=this;
			if(tmMouseOut!=null) { clearTimeout(tmMouseOut); tmMouseOut=null; }
			tmMouseOut=setTimeout('clearMenu()',clearMenuTimeout);
		}
	}
}

if (window.attachEvent) window.attachEvent("onload", sfHover);
