/*

Harvard University Library - Open Collections Program

JavaScript Rollover Menu Code
Originally by James Edwards and Jason Karl Davis, modified by Kevin Bombino for OCP

Original Copyright Notice:

list menu script by Brothercake (http://www.brothercake.com/)
you may use the code providing this message remains intact

*/

function menuInitTrigger(menuTrigger) {
	var menuMenu = null;
	if(menuTrigger.firstChild && menuTrigger.firstChild.nextSibling) {
		menuMenu = menuTrigger.childNodes[2];
	}
	menuTrigger.onmouseover = function() {
		this.menuShowMenu();
	}
	menuTrigger.onmouseout = function(e) {
                
		this.menuHideMenu(e);
	}
	menuTrigger.menuShowMenu = function() {
		if(menuMenu != null) {
			menuMenu.style.marginTop = (0-menuTrigger.offsetHeight)+'px';
			menuMenu.style.visibility = 'visible';
		}
	}
	menuTrigger.menuHideMenu = function(e) {
		if(!e) { e = window.event; }
		if(!menuTrigger.contains(e.relatedTarget || e.toElement)) {
			if(menuMenu != null) {
				menuMenu.style.visibility = 'hidden';
			}
		}
	}
	if(!(menu.macie||menu.winie)) {
		//contains method by jkd (http://www.jasonkarldavis.com/)
		menuTrigger.contains = function(node) {
			if (node == null) { return false; }
			if (node == this) { return true; }
			else { return this.contains(node.parentNode); }
		}
	}
}
function menuNavbar(ulTree) {
	menu.nav = this;
	menu.tree = ulTree;
	if(menu.winie) {
		menu.html = menu.tree.innerHTML;
		menu.html = menu.html.replace(/<([\/]?)li/ig,'<$1div');
		menu.tree.innerHTML = menu.html;
	}
 	(menu.xdom) ? menu.tagNames = 'li' : (menu.winie) ? menu.tagNames = 'DIV' : menu.tagNames = 'LI';
 	menu.listItems = menu.tree.getElementsByTagName(menu.tagNames);
 	menu.listLen = menu.listItems.length;
 	for(i=0; i<menu.listLen; i++) {
 		menuInitTrigger(menu.listItems[i]);
	}
}
var tree = null;
var menu = new Object;
menu.ua = navigator.userAgent.toLowerCase();
menu.op6 = (menu.ua.indexOf("opera 6")!=-1||menu.ua.indexOf("opera/6")!=-1)?true:false;
menu.dom = (typeof document.getElementById!="undefined"&&typeof document.createElement!="undefined"&&!menu.op6)?true:false;
menu.winie = (menu.dom&&typeof document.all!="undefined"&&typeof window.opera=="undefined")?true:false;
menu.macie = (menu.winie&&menu.ua.indexOf("mac")!=-1)?true:false;if(menu.macie){menu.winie=false;}
menu.xdom = (menu.dom&&typeof document.write=='undefined')?true:false;
window.onload = function() {
	if (menu.dom) {
		tree = document.getElementById('menu');
		if(tree != null) {
			menu.nav = new menuNavbar(tree)
		}
	}
}
