// JavaScript Document

var mainMenu = {
	
	addListeners: function () {
		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', mainMenu.getMOverFor(objNode), false);
					rwScript.addEvent(objNode, 'mouseout', mainMenu.getMOutFor(objNode), false);
					
					// Set Work Title Link Click Events
					arrAs = objNode.getElementsByTagName('a');
					for (var j = 0; j < arrAs.length; j++) {
						var objLink = arrAs[j];
						if (objLink.className == 'workTitle') {
							rwScript.addEvent(objLink, 'click', mainMenu.getTitleClick(objLink), false);
							continue;
						}
					}
				} else {
					// Set Image Rollover Events
					if (arrLIs[i].getElementsByTagName('img').length > 0) {
						var arrIMGs = arrLIs[i].getElementsByTagName('img');
						var objIMG = arrIMGs[0];
						if (objIMG) {
							rwScript.addEvent(objIMG, 'mouseover', mainMenu.getMOverImg(objIMG), false);
							rwScript.addEvent(objIMG, 'mouseout', mainMenu.getMOutImg(objIMG), false);
						}
					}
				}
				
			}
		}
	},
	
	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';
				if (el.className == "workTitleLI") {
					el.style.backgroundImage = "url('images/bgMenuTitle.gif')";
				}
			}
		}
	},
	getMOverFor: function (node) { return function(e) { mainMenu.mOver(e, node); }; },
	
	mOut: function (e, targetElement) {
		var el = window.event ? targetElement : e ? e.currentTarget : null;
		if (!el) return;
		el.outTimeout = setTimeout(function() { mainMenu.mOut2(el); }, 300);
	},

	mOut2: function (el) {
		for (var i = 0; i < el.childNodes.length; i++) {
			var node = el.childNodes[i];
			if (node.nodeName.toLowerCase() == 'ul') {
				node.style.display = 'none';
				if (el.className == "workTitleLI") {
					el.style.backgroundImage = "none";
				}
			}
		}
	},
	getMOutFor: function (node) { return function(e) { mainMenu.mOut(e, node); }; },

// Work Title Changes
	titleClick: function (e, targetElement) {
		var el = window.event ? targetElement : e ? e.currentTarget : null;
		if (!el) return;
		
		clearTimeout(el.clickTimeout);
		objParent = el.parentNode;
		
		for (var i = 0; i < objParent.childNodes.length; i++) {
			var node = objParent.childNodes[i];
			if (node.nodeName.toLowerCase() == 'ul') {
				node.style.backgroundColor = '#ebcf75';
				el.clickTimeout = setTimeout(function() { mainMenu.titleClear(el); }, 700);
			}
		}
	},
	
	titleClear: function (el) {
		objParent = el.parentNode;

		for (var i = 0; i < objParent.childNodes.length; i++) {
			var node = objParent.childNodes[i];
			if (node.nodeName.toLowerCase() == 'ul') {
				node.style.backgroundColor = 'transparent';
			}
		}
	},
	getTitleClick: function (node) { return function(e) { mainMenu.titleClick(e, node); }; },

// Image Changes
	imgOver: function (e, targetElement) {
		var el = window.event ? targetElement : e ? e.currentTarget : null;
		if (!el) return;
		
		var strSRC = el.src;
		var strNewSRC = strSRC.replace(/tn2/, 'tn');
		el.src = strNewSRC;
	},
	getMOverImg: function (node) { return function(e) { mainMenu.imgOver(e, node); }; },

	imgOut: function (e, targetElement) {
		var el = window.event ? targetElement : e ? e.currentTarget : null;
		if (!el) return;
		
		var strSRC = el.src;
		var strNewSRC = strSRC.replace(/tn/, 'tn2');
		el.src = strNewSRC;
	},
	getMOutImg: function (node) { return function(e) { mainMenu.imgOut(e, node); }; }

};

rwScript.addEvent(window, 'load', mainMenu.addListeners, false);
rwScript.addEvent(window, 'unload', EventCache.flush, false);
