// JavaScript Document

var jsMenu = {
	
	addListeners: function () {
		if (!document.getElementsByTagName || !document.getElementById)
			return;
		
		var divNavigation = document.getElementById("navigation");
		var arrULs = divNavigation.getElementsByTagName('ul');
		for (var u = 0; u < arrULs.length; u++) {
			if (arrULs[u].className.search(/\bjsMenu\b/) == -1)
				continue;
			var arrLIs = arrULs[u].getElementsByTagName('li');
			for (var i = 0; i < arrLIs.length; i++) {
				var objNode = arrLIs[i];
				if (objNode.nodeName.toLowerCase() == 'li' && objNode.getElementsByTagName('ul').length > 0) {
					rwScript.addEvent(objNode, 'mouseover', jsMenu.getMOverFor(objNode), false);
					rwScript.addEvent(objNode, 'mouseout', jsMenu.getMOutFor(objNode), false);
				}
			}
		}
		
		// set interval
		setInterval(jsMenu.moveMenu, 10);

		for (var i = 0; i < jsMenu.strANIM_Objects.length; i++) {
			var objSubMenu = document.getElementById(jsMenu.strANIM_Objects[i]);
			objSubMenu.style.opacity = 0; 
		//	objSubMenu.style.MozOpacity = 0; 
			objSubMenu.style.KhtmlOpacity = 0; 
			objSubMenu.style.filter = "alpha(opacity=0)";
		}

	},

// Mouse Functions
	mOver: function (e, targetElement) {
		var el = window.event ? targetElement : e ? e.currentTarget : null;
		if (!el) return;
		
		clearTimeout(el.outTimeout);

		for (var i = 0; i < el.childNodes.length; i++) {
			var node = el.childNodes[i];
			if (node.nodeName.toLowerCase() == 'ul') {
				node.style.display = 'block';
				node.style.zIndex = 99;
				
				for (var j = 0; j <= jsMenu.strANIM_Objects.length; j++) {
					if (node.id == jsMenu.strANIM_Objects[j]) {
						jsMenu.strANIM_State[j] = 'fadingIn';
					}
				}
			}
		}
	},
	getMOverFor: function (node) { return function(e) { jsMenu.mOver(e, node); }; },
	
	mOut: function (e, targetElement) {
		var el = window.event ? targetElement : e ? e.currentTarget : null;
		if (!el) return;
		el.outTimeout = setTimeout(function() { jsMenu.mOut2(el); }, 300);
		
		for (var i = 0; i < el.childNodes.length; i++) {
			var node = el.childNodes[i];
			if (node.nodeName.toLowerCase() == 'ul') {
				for (var j = 0; j <= jsMenu.strANIM_Objects.length; j++) {
					if (node.id == jsMenu.strANIM_Objects[j]) {
						node.style.zIndex = 10;
					}
				}
			}
		}
	},
	getMOutFor: function (node) { return function(e) { jsMenu.mOut(e, node); }; },

	mOut2: function (el) {
		for (var i = 0; i < el.childNodes.length; i++) {
			var node = el.childNodes[i];
			if (node.nodeName.toLowerCase() == 'ul') {
				for (var j = 0; j <= jsMenu.strANIM_Objects.length; j++) {
					if (node.id == jsMenu.strANIM_Objects[j]) {
						jsMenu.strANIM_State[j] = 'fadingOut';
					}
				}
			}
		}
	},

// Animation Functions
	moveMenu: function () {
		for (i=0; i <= jsMenu.intANIM_Objects; i++) {
			if (jsMenu.strANIM_State[i] == "none" && jsMenu.strANIM_State[i] == "full") {
				// do nothing
			} else {
				var objSubMenu = document.getElementById(jsMenu.strANIM_Objects[i]);
				
				if (jsMenu.strANIM_State[i] == 'fadingOut') {
					objSubMenu.style.zIndex = 10;
					jsMenu.intANIM_Alpha[i] -= (jsMenu.intANIM_Speed);
					if (jsMenu.intANIM_Alpha[i] <= 0) {
						jsMenu.strANIM_State[i] = 'none';
						objSubMenu.style.display = 'none';
						jsMenu.intANIM_Alpha[i] = 0;
					}
				} else if (jsMenu.strANIM_State[i] == 'fadingIn') {
					objSubMenu.style.zIndex = 99;
					jsMenu.intANIM_Alpha[i] += (jsMenu.intANIM_Speed);
					if (jsMenu.intANIM_Alpha[i] >= 100) {
						jsMenu.strANIM_State[i] = 'full';
						jsMenu.intANIM_Alpha[i] = 100;
					}
				}
				objSubMenu.style.opacity = (jsMenu.intANIM_Alpha[i] / 100); 
			//	objSubMenu.style.MozOpacity = (jsMenu.intANIM_Alpha[i] / 100); 
				objSubMenu.style.KhtmlOpacity = (jsMenu.intANIM_Alpha[i] / 100); 
				objSubMenu.style.filter = "alpha(opacity=" + jsMenu.intANIM_Alpha[i] + ")";
			}
		}
	},

	intANIM_Objects: 3,
	intANIM_Speed: 3,
	strANIM_State: ['none','none','none','none'], //,'none'
	intANIM_Alpha: [0,0,0,0], //,0
	strANIM_Objects: ['subAboutUs','subServices','subCandidates','subContactUs'] //,'subOurCommitment'

};

rwScript.addEvent(window, 'load', jsMenu.addListeners, false);
rwScript.addEvent(window, 'unload', EventCache.flush, false);

