			function addLoadEvent(func) {
			  var oldonload = window.onload;
			  if (typeof window.onload != 'function') {
			    window.onload = func;
			  } else {
			    window.onload = function() {
			      if (oldonload) {
			        oldonload();
			      }
			      func();
			    }
			  }
			}

		function load_links() {
			if (document.getElementById && document.getElementsByTagName) {
				var myMenu = document.getElementById("menu").getElementsByTagName("A");
				if (!myMenu) { return; }
				else {
					for (var i = 0; i < myMenu.length; i++) {
						myMenu[i].onclick = navHoverStyle;
					}
					document.getElementById("menu").style.visibility = "visible";
				}
			}
		}

		// Stores the currently open UL objects
		var openMenus = new Array();

		var lastSelectedID;

		function navHoverStyle(e) {
			if (!e) var e = window.event;
			if (e.target) var tg = e.target;
			else if (e.srcElement) var tg = e.srcElement;
			
			if(tg.href && tg.href.indexOf("#") == -1)return true;

			if (tg.id) var curid = tg.id;
			if (lastSelectedID && curid  == lastSelectedID) {
				closeAll(0);
				lastSelectedID = undefined;
				return false;
			}

			var linkElm = tg;
			while (linkElm.nodeName != 'A')
				linkElm.parentNode;

			while (tg.nodeName != 'LI')
				tg = tg.parentNode;

			// Determine if and if so, which submenu items to close
			var tgParent = tg.parentNode;
			while (tgParent.nodeName != 'UL')
				tgParent = tgParent.parentNode;

			if (tgParent.id == 'menu') {
				closeAll(0);
			}
			else {
				var j = 0;
				while (openMenus[j] != tgParent) {
					j++;
				}
				closeAll(j + 1);
			}

			// Determine if the current item has a submenu and if so, open it
			for (var i = 0; i < tg.childNodes.length; i++) {
				if (tg.childNodes[i].nodeName == 'UL') {
					var subMenuElm = tg.childNodes[i];
				}
			}

			if (subMenuElm) {
				linkElm.classname = 'unfolded';
				subMenuElm.style.display = 'block';
				openMenus.push(subMenuElm);
				lastSelectedID = curid;
			}

			return false;
		}


		function closeAll(lvl) {
			var oMl = openMenus.length - 1;
			for (var i = oMl; i >= lvl; i--) {
				var linkElm = openMenus[i].previousSibling;
				while (linkElm.nodeName != 'A')
					linkElm = linkElm.previousSibling;

				linkElm.className = '';
				openMenus[i].style.display = 'none';
				openMenus.pop();
			}
		}
		
		addLoadEvent(load_links);