//var hideTop = 0;

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;
	}
}

var menuHeightGlobal;

function setupMenu() {
	if(document.getElementById) {
		// fix alpha PNG if IE 6.0 or older
		if(detectOldIE()) {
			var navRoot = document.getElementById('products-bottom').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', ''); }
				if(node.nodeName == 'LI') {
					//node.onmouseover = function() { thiss.className+= ' over'; }
				} 
			}
		}
		
		var liObjs;	
		var ulObjs  = document.getElementById('products-bottom').getElementsByTagName('ul');
		var menuHeight = 0;
		var submenuCount = 0;
		for(var i = 0; i < ulObjs.length; i++) {
			if(i == 0) {
				menuHeight = ulObjs[i].offsetHeight;
				menuHeightGlobal = menuHeight;
			}
			if(ulObjs[i].className == 'submenu') {
				
				// position the submenu
				ulObjs[i].style.left = (ulObjs[i].parentNode.parentNode.getElementsByTagName('a')[0].offsetLeft + 365) + "px";
				ulObjs[i].style.top = (submenuCount * -24) + "px";
				ulObjs[i].style.height = menuHeight + "px";

				// register event handlers				
				addEvent(ulObjs[i].parentNode.getElementsByTagName('a')[0], 'mouseover', expandMenu);
				addEvent(ulObjs[i].parentNode.getElementsByTagName('a')[0], 'mouseout', stopPropagation);
				
				addEvent(ulObjs[i], 'mouseover', showMenu2);
				addEvent(ulObjs[i], 'mouseout', hideMenu2);					
				
				var liObjs = ulObjs[i].getElementsByTagName('li');
				for(var j = 0; j < liObjs.length; j++) {
					addEvent(liObjs[j], 'mouseover', showMenu);
					addEvent(liObjs[j], 'mouseout', hideMenu);
				}				
				submenuCount++;
			}
		}
	}
}

function setupMenuTop() {
	if(document.getElementById) {
		// fix alpha PNG if IE 6.0 or older
		if(detectOldIE()) {
			var navRoot = document.getElementById('products-top').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', ''); }
				if(node.nodeName == 'LI') {
					//node.onmouseover = function() { thiss.className+= ' over'; }
				} 
			}
		}
		
		var liObjs;	
		var ulObjs  = document.getElementById('products-top').getElementsByTagName('ul');
		var menuHeight = 0;
		var submenuCount = 0;
		for(var i = 0; i < ulObjs.length; i++) {
			if(i == 0) {
				//menuHeight = ulObjs[i].offsetHeight;
				menuHeight = menuHeightGlobal;
			}
			if(ulObjs[i].className == 'submenu') {
				// position the submenu
				ulObjs[i].style.left = (ulObjs[i].parentNode.parentNode.getElementsByTagName('a')[0].offsetLeft + 365) + "px";
				ulObjs[i].style.top = (submenuCount * -24) + "px";
				ulObjs[i].style.height = menuHeight + "px";

				// register event handlers				
				addEvent(ulObjs[i].parentNode.getElementsByTagName('a')[0], 'mouseover', expandMenuTop);
				addEvent(ulObjs[i].parentNode.getElementsByTagName('a')[0], 'mouseout', stopPropagation);
				var liObjs = ulObjs[i].getElementsByTagName('li');
				for(var j = 0; j < liObjs.length; j++) {
					addEvent(liObjs[j], 'mouseover', showMenu);
					addEvent(liObjs[j], 'mouseout', hideMenu);
				}
				addEvent(ulObjs[i], 'mouseover', showMenu2);
				addEvent(ulObjs[i], 'mouseout', hideMenu2);					
				submenuCount++;
			}
		}
	}
}

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

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


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

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

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

function expandMenu( evt ) {
	var srcObj  = getEventSourceObject(evt);
	var liObjs = srcObj.parentNode.getElementsByTagName('li');
	var menuContainer = document.getElementById('products-bottom');	
	if(liObjs.length > 0) {
		var a = srcObj.parentNode.parentNode.offsetHeight;
		var b =  (liObjs.length * 24);
		menuContainer.style.height =  (a > b ? a : b) + "px";
	} else {
		menuContainer.style.height = srcObj.parentNode.parentNode.offsetHeight + "px";
	}	
	stopPropagation(evt);
}

function collapseMenu() {
	var menuContainer = this;
	menuContainer.style.height = menuContainer.getElementsByTagName('ul')[0].offsetHeight + "px";
}


function expandMenuTop( evt ) {
	var srcObj  = getEventSourceObject(evt);
	var liObjs = srcObj.parentNode.getElementsByTagName('li');
	var menuContainer = document.getElementById('products-top');	
	if(liObjs.length > 0) {
		var a = srcObj.parentNode.parentNode.offsetHeight;
		var b =  (liObjs.length * 24);
		menuContainer.style.height =  (a > b ? a : b) + "px";
	} else {
		menuContainer.style.height = srcObj.parentNode.parentNode.offsetHeight + "px";
	}	
	stopPropagation(evt);
}
/*
function collapseMenuTop() {
	var menuContainer = document.getElementById('products-top');
	menuContainer.style.height = menuContainer.getElementsByTagName('ul')[0].offsetHeight + "px";
}
*/

function stopPropagation(evt) {
	var event = evt || window.event;
	if (event.stopPropagation) {
		event.stopPropagation();
	} else {
		event.cancelBubble = true;
	}		
}

addLoadEvent(setupMenu);
addLoadEvent(setupMenuTop);

function hideTopMenu() {

		var alma = document.getElementById('products-top');
		alma.style.display = 'none';
}


