// JavaScript Document
//dropdown.js
//January 27, 2011
var compatible = (document.getElementsByTagName && document.createElement);
		if (compatible)
		document.write("<link type=\"text/css\" rel=\"stylesheet\" href=\"css/navstyles.css\" />")// if javascript is enabled, writes a new style sheet for the fold out
		
		
function initDropdown() {
	document.getElementById('dropdown').onmouseover = openMenu;
	
}

function openMenu(e) {
	var evt = e || window.event;
	var tgt = evt.target || evt.srcElement;
	while (tgt.nodeName !== 'LI') {
		if (tgt.nodeName === 'HTML') {
			return;
		}
		tgt = tgt.parentNode;
		
	}
	var nested = tgt.getElementsByTagName('ul')[0];
	if (nested) {
		nested.className = 'open';
		tgt.onmouseout = function (e) {
			var evt = e || window.event;
			var related = evt.relatedTarget || evt.toElement;
			if (!nested.contains(related)) {
				nested.className = '';
				tgt.onmouseout = null;
			}
		}
	}
}

/* Bloody Firefox STILL doesn't support contains */

if (window.Node && Node.prototype && !Node.prototype.contains) {
	Node.prototype.contains = function (arg) {
		return !!(this.compareDocumentPosition(arg) & 16)
	}

}
/** ULTRA-SIMPLE EVENT ADDING **/
	function addEventSimple(obj,evt,fn) {
		if (obj.addEventListener)
			obj.addEventListener(evt,fn,false);
		else if (obj.attachEvent)
			obj.attachEvent('on'+evt,fn);
	}
	
	function removeEventSimple(obj,evt,fn) {
		if (obj.removeEventListener)
			obj.removeEventListener(evt,fn,false);
		else if (obj.detachEvent)
			obj.detachEvent('on'+evt,fn);
	}
	
	addEventSimple(window,"load",initDropdown);
/*
var compatible = (document.getElementsByTagName && document.createElement);
		if (compatible)
		document.write("<link type=\"text/css\" rel=\"stylesheet\" href=\"css/navstyles.css\" />")// if javascript is enabled, writes a new style sheet for the fold out
		
function initNavigation() {
		var lists = document.getElementsByTagName('ul');
		
		for (var i=0;i<lists.length;i++) {
			if (lists[i].className != 'menutree') continue;//checks for lists with the className menutree
			lists[i].onmouseover = navMouseOver;
			lists[i].onmouseout = navMouseOut;
			var listItems = lists[i].getElementsByTagName('li');
			for (var j=0;j<listItems.length;j++) {
				var test = listItems[j].getElementsByTagName('ul')[0];
				if (test) {
					listItems[j].firstChild.onfocus = navMouseOver;
					listItems[j].relatedItem = test;
				}
			}
		}
	}
	
	var currentlyOpenedMenus = new Array();
	var currentlyFocusedItem;
	
	function navMouseOver(e) {
		alert('hi');
		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';
			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;
	}
	
	addEventSimple(window,"load",initNavigation);
	
	function addEventSimple(obj,evt,fn) {
		if (obj.addEventListener)
			obj.addEventListener(evt,fn,false);
		else if (obj.attachEvent)
			obj.attachEvent('on'+evt,fn);
	}
	
	function removeEventSimple(obj,evt,fn) {
		if (obj.removeEventListener)
			obj.removeEventListener(evt,fn,false);
		else if (obj.detachEvent)
			obj.detachEvent('on'+evt,fn);
	}
	
	/** PUSH AND SHIFT FOR IE5 **/
	
/*	function Array_push() {
		var A_p = 0
		for (A_p = 0; A_p < arguments.length; A_p++) {
			this[this.length] = arguments[A_p]
		}
		return this.length
	}
	
	if (typeof Array.prototype.push == "undefined") {
		Array.prototype.push = Array_push
	}
	
	function Array_shift() {
		var A_s = 0
		var response = this[0]
		for (A_s = 0; A_s < this.length-1; A_s++) {
			this[A_s] = this[A_s + 1]
		}
		this.length--
		return response
	}
	
	if (typeof Array.prototype.shift == "undefined") {
	Array.prototype.shift = Array_shift
	}	*/
