/**************************/
/* Menu Initialization and
/* event handlers.
/* Author: Matt White 
/* Company: Earthtalk Studios
/**************************/

var timerId;
var hideDelay = 1;
var selected = ["tn_club", "sn_lodges"];
var isSafari = (navigator.vendor == "Apple Computer, Inc.");

Array.prototype.contains = function(element) {
	for(i = 0;i < this.length;i++) if(element == this[i]) return true;
	return false;
}

function showNav(element) {
	hideAll();
	clearTimeout(timerId);
	document.getElementById("subnav").style.display = "block";
	document.getElementById(element).style.display = "block";
}
function doHide(element) {
	document.getElementById("subnav").style.display = "none";
	document.getElementById(element).style.display = "none";
}
function hideNav(section) { 
	timerId = setTimeout("doHide('" + section + "')", hideDelay * 1000);
}
function hideAll() {
	var navNodes = document.getElementById("subnav").childNodes;
	for(var i = 0;i < navNodes.length; i++) {
		if(navNodes[i].nodeName == "DIV") navNodes[i].style.display = "none";
	}
}
function doHover(e) {
	if(getEventSource(e).childNodes[0].nodeValue.indexOf("-") < 0) {
		var node = getEventSource(e);
		if (node.originalText == null) node.originalText = node.innerHTML;
		node.innerHTML = "&ndash; " + getEventSource(e).childNodes[0].nodeValue + " &ndash;";
	}
}
function doRollout(e) {
	var element = getEventSource(e);
	var currentValue = element.childNodes[0].nodeValue;
	element.innerHTML = element.originalText;
}
function showSelf(e) {
	showNav(getEventSource(e).parentNode.id);
}
function hideSelf(e) {
	hideNav(getEventSource(e).parentNode.id);
}
function initNav() {
	topNavMenus = document.getElementById("navigation").childNodes;
	for(var i = 0; i < topNavMenus.length;i++) if(selected.contains(topNavMenus[i].id)) topNavMenus[i].className = "sel";
	
	subNavMenus = document.getElementById("subnav").childNodes;
	for(var i = 0; i < subNavMenus.length; i++) {
		var curMenu = subNavMenus[i];
		if(curMenu.nodeName == "DIV") {
			curMenu.onmouseover = showSelf;
			curMenu.onmouseout = hideSelf;
			
			var menuItems = curMenu.childNodes;
			for(var j = 0; j < menuItems.length; j++) {
				var curMenuItem = menuItems[j];
				if(curMenuItem.nodeName == "A") {
					if(selected.contains(curMenuItem.id)) {
						curMenuItem.innerHTML = "&ndash; " + curMenuItem.innerHTML + " &ndash;";
					} else {
						curMenuItem.onmouseover = doHover;
						curMenuItem.onmouseout = doRollout;
					}
				}
			}
		}
	}
}
function getEventSource(e) {
	if (! e) e = event;
	if(isSafari && e.target.nodeName == "#text") return e.target.parentNode; //Dealing with Safari's inconsistent event model.
	return e.target || e.srcElement;
}
window.onload = initNav;