window.onload = function() {
	setupMenu();
}

function detectOldIE() {
	var oldIE = false;
	if(navigator.userAgent.indexOf("MSIE") != -1) {
		var pattern = /MSIE (\d+)\.\d+/i;
		var version = pattern.exec(navigator.userAgent);
		if(version[1] < 7) {
			oldIE = true;
		}
	}
	return oldIE;
}

function getEventSourceObject(evt) {
	return (evt.srcElement ? evt.srcElement : evt.target);	
}

function addEvent(obj, evType, fn) {
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, false);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		return false;
	}
}

function setupMenu() {
	if(document.getElementById) {
		// fix alpha PNG if IE 6.0 or older
		if(detectOldIE()) {
			document.styleSheets[0].addRule('div#menu ul li ul li img', 'behavior: url(js/iepngfix.htc)');
			var navRoot = document.getElementById('menu').firstChild;
			for(var k = 0; k < navRoot.childNodes.length; k++) {
				node = navRoot.childNodes[k];
				node.onmouseover = function() { this.className+= ' over'; }
				node.onmouseout  = function() { this.className = this.className.replace(' over', ''); }
				//alert(node);
				if(node.nodeName == 'LI') {
					//node.onmouseover = function() { thiss.className+= ' over'; }
				} 
			}
		}
		
		var liObjs;	
		var ulObjs  = document.getElementById('menu').getElementsByTagName('ul');
		for(var i = 0; i < ulObjs.length; i++) {
			if(ulObjs[i].className == 'submenu') {
				// position the submenu
				ulObjs[i].style.left = (ulObjs[i].parentNode.parentNode.getElementsByTagName('a')[0].offsetLeft - 4) + "px";
				
				// border top
				var borderTop      = document.createElement("LI");
				var borderTopImage = document.createElement("IMG");
				borderTopImage.src = "image/menu_dd_top.gif";
				borderTop.appendChild(borderTopImage);
				ulObjs[i].insertBefore(borderTop, ulObjs[i].firstChild);
				
				// border bottom
				var borderBottom      = document.createElement("LI");
				var borderBottomImage = document.createElement("IMG");
				borderBottomImage.src = "image/menu_dd_bottom.png";
				borderBottom.appendChild(borderBottomImage);
				ulObjs[i].appendChild(borderBottom);
				
				// register event handlers
				var liObjs = ulObjs[i].getElementsByTagName('li');
				for(var j = 0; j < liObjs.length; j++) {
					addEvent(liObjs[j], 'mouseover', showMenu);
					addEvent(liObjs[j], 'mouseout', hideMenu);
				}
			}
		}
	}
}

function showMenu( evt ) {
	var srcObj  = getEventSourceObject(evt);
	var menuObj = srcObj.parentNode.parentNode.parentNode.getElementsByTagName('a')[0];
	menuObj.className = 'active';
}

function hideMenu( evt ) {
	var srcObj  = getEventSourceObject(evt);
	var menuObj = srcObj.parentNode.parentNode.parentNode.getElementsByTagName('a')[0];
	menuObj.className = '';
}

function forceShowMenu() {
	this.className+= ' over';
}

