/* Simple menu. concept from http://javascript-array.com/scripts/simple_drop_down_menu/
								I entirely rewrote and added init()

		This is a sort of placeholder script.
		It's not very robust

								*/
var etMenu = {
	/* TWEAKABLES */
	menuId:"mega-dropdowns",
	dropdownClassName:"dropdown",
	highlightedClassName:"highlighted",
	timeout:500,
	/* INIT VARS */
	close_t:null,
	curMenuItem:null,
	/* */
	init: function () {
		//Mostly taken from scripts made at eTheory
		if(document.getElementById && document.getElementById(etMenu.menuId)){
			var container = document.getElementById(etMenu.menuId);
			var as = container.getElementsByTagName('a');
			var aslist = "";
			for(j in as){
				if (as[j] && as[j].nodeType && as[j].nodeType == 1 && as[j].parentNode.parentNode.id == etMenu.menuId){
					var keyId = "etMenuDropdown_"+j;
					as[j].id = keyId;
					if(as[j].addEventListener){
						as[j].addEventListener('mouseover', function(){etMenu.show(this.id+"_div");},false);
						as[j].addEventListener('mouseout', function(){etMenu.startCloseTimer();},false);
					} else {
						as[j].onmouseover = new Function('etMenu.show(this.id+"_div");');
						as[j].onmouseout = etMenu.startCloseTimer;
					}
					var divs = as[j].parentNode.getElementsByTagName('div');
					var menuDiv = false;
					for(i in divs){
						if (divs[i] && divs[i].className && divs[i].className == etMenu.dropdownClassName){
							menuDiv = divs[i];
						}
					}
					if(menuDiv){
						menuDiv.id = keyId+"_div";
						if(menuDiv.addEventListener){
							menuDiv.addEventListener('mouseover', function(){etMenu.cancelCloseTimer();},false);
							menuDiv.addEventListener('mouseout', function(){etMenu.startCloseTimer();},false);
						} else {
							menuDiv.onmouseover = etMenu.cancelCloseTimer;
							menuDiv.onmouseout = etMenu.startCloseTimer;
						}
					}
				}
			}
		}
	},
	//these functions rewritten from concept as above.
	show: function(id){
		etMenu.cancelCloseTimer();
		etMenu.hide('current');
		if (document.getElementById(id)){
			etMenu.curMenuItem = id;
			document.getElementById(id).style.display = "block";
			//in case className is already set. this part of the script is very fragile
			if (!document.getElementById(id).parentNode.className.match(etMenu.highlightedClassName)){
				document.getElementById(id).parentNode.className += " "+etMenu.highlightedClassName;
			}
		}
	},
	hide: function(id){
		if (id == "current"){id = etMenu.curMenuItem}
		if (document.getElementById(id)){
			var curElement = document.getElementById(id);
			document.getElementById(id).parentNode.className = document.getElementById(id).parentNode.className.replace(etMenu.highlightedClassName, "");
			document.getElementById(id).style.display = "none";

			etMenu.curMenuItem = null;
		}
	},
	startCloseTimer: function(){
		etMenu.close_t = window.setTimeout("etMenu.hide('current')", etMenu.timeout);
	},
	cancelCloseTimer: function(){
		if(etMenu.close_t) {
			window.clearTimeout(etMenu.close_t);
			etMenu.close_t = null;
		}
	}
}

