// Adapted from quirksmode.org http://www.quirksmode.org/book/printable/dropdown.txt

var compatible = (document.getElementsByTagName && document.createElement);

if (compatible)
	document.write('<link rel="stylesheet" type="text/css" href="css/navstyles.css" media="screen" />')

function init_dropdown() {
	var nav = document.getElementById('nav');
	var nav_items = nav.getElementsByTagName('li');
	nav.onmouseover = navMouseOver;
	nav.onmouseout = navMouseOut;
	for (var i=0; i<nav_items.length; i++) {
		var test = nav_items[i].getElementsByTagName('ul')[0];
		if (test) {
			nav_items[i].firstChild.onfocus = navMouseOver;
			nav_items[i].relatedItem = test;
		}
	}
}

var currentlyOpenedMenus = new Array();
var currentlyFocusedItem;

function navMouseOver(e) {
	var evt = e || window.event;
	var evtTarget = evt.target || evt.srcElement;
	if (evtTarget.nodeName == 'UL') return;
	while (evtTarget.nodeName != 'LI')
		evtTarget = evtTarget.parentNode;
	foldMenuIn(evtTarget);
	if (evtTarget.relatedItem && !evtTarget.relatedItem.opened) {
		evtTarget.className = 'highlight';
		evtTarget.relatedItem.className = 'foldOut';
		evtTarget.relatedItem.opened = true;
		currentlyOpenedMenus.push(evtTarget.relatedItem);
	}
}

function navMouseOut(e) {
	var evt = e || window.event;
	var relatedNode = evt.relatedTarget || evt.toElement;
	foldMenuIn(relatedNode);
}

function foldMenuIn(targetNode) {
	if (!targetNode) return;
	var newCurrentlyOpenedMenus = new Array();
	for (var i=0;i<currentlyOpenedMenus.length;i++) {
		if (!containsElement(currentlyOpenedMenus[i],targetNode)) {
			currentlyOpenedMenus[i].className = '';
			currentlyOpenedMenus[i].parentNode.className = '';
			currentlyOpenedMenus[i].opened = false;
		}
		else
			newCurrentlyOpenedMenus.push(currentlyOpenedMenus[i]);
	}
	currentlyOpenedMenus = newCurrentlyOpenedMenus;
}

function containsElement(obj1,obj2) {
	while (obj2.nodeName != 'HTML') {
		if (obj2 == obj1) return true;
		obj2 = obj2.parentNode;
	}
	return false;
}

DKI.addEventSimple(window,'load',init_dropdown);

