/*	Credit: Jeremy Keith, http://www.alistapart.com/stories/domtricks2/	*/addLoadEvent(bakeMenus);function bakeMenus() {	// Forget it IE, no nice menus for you.    var agt		  = navigator.userAgent.toLowerCase();    var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));        if (!is_ie) {		menus = getElementByClass("dl", "hovermenu");			for (i = 0; i < menus.length; i++) {			menus[i].setAttribute("class", "fancymenu");			addEvent(menus[i], "mouseover", menuHoverIn);			addEvent(menus[i], "mouseout", menuHoverOut);			addEvent(menus[i], "click", menuDisplay);		}	}}function menuHoverIn() {	this.setAttribute("class", "fancymenu hotmenu");}function menuHoverOut() {	this.setAttribute("class", "fancymenu");}function menuDisplay() {	removeEvent(this, "mouseover", menuHoverIn);	removeEvent(this, "mouseout", menuHoverOut);	removeEvent(this, "click", menuDisplay);	this.setAttribute("class", "fancymenu activatedmenu");	thisMenu = this;	addEvent(this, "click", menuHide);	addEvent(document, "click", menuHide);}function menuHide() {	removeEvent(document, "click", menuHide);	removeEvent(thisMenu, "click", menuHide);	thisMenu.setAttribute("class", "fancymenu");	addEvent(thisMenu, "mouseover", menuHoverIn);	addEvent(thisMenu, "mouseout", menuHoverOut);	addEvent(thisMenu, "click", menuDisplay);}/*Unobtrusively attach script to the onLoad eventhttp://simon.incutio.com/archive/2004/05/26/addLoadEvent*/function addLoadEvent(func) {	var oldonload = window.onload;	if (typeof window.onload != 'function') {		window.onload = func;	} else {		window.onload = function() {			oldonload();			func();		}	}}// Add an eventListener to browsers that can do it somehow.// Originally by the amazing Scott Andrew.// Stolen in kind from the equally amazing Stuart Langridge.function addEvent(obj, evType, fn){	if (obj.addEventListener) {		obj.addEventListener(evType, fn, true);		return true;	} else if (obj.attachEvent) {		var r = obj.attachEvent("on"+evType, fn);		return r;	} else {		return false;	}}// And let's have the ability to undo it too, shall we?function removeEvent(obj, evType, fn){	if (obj.removeEventListener) {		obj.removeEventListener(evType, fn, true);		return true;	} else if (obj.detachEvent) {		var r = obj.detachEvent("on"+evType, fn);		return r;	} else {		return false;	}}/*Get Element by ClassAdapted from Stuart Langridge, kryogenix.org*/function getElementByClass(htmlElement, myClass) {	// build a list of all named elements	elementList = document.getElementsByTagName(htmlElement);	// break if unsupported	if (!document.getElementsByTagName) return;	var results = new Array();		for (i = 0; i < elementList.length; i++) {		thisElement = elementList[i];		if (((' '+thisElement.className+' ').indexOf(' '+myClass+' ') != -1)) {			results.push(thisElement);		}	}	return results;}
