/* 
#
# Horizontal menu v.1.0
#
# Horizontal menu based on Roger Johansson's accesible menu.
#
*/
var arrMenus = new Array();
var toggleMenuH = {
	init : function(sContainerClass, sHiddenClass, sTag, sOverParent) {
		if (!document.getElementById || !document.createTextNode) {return;} // Check for DOM support
		var arrSubMenus, oSubMenu, oLink;
		arrMenus = this.getElementsByClassName(document, 'ul', sContainerClass);
		for (var i = 0; i < arrMenus.length; i++) {
			arrSubMenus = arrMenus[i].getElementsByTagName('ul');
			for (var j = 0; j < arrSubMenus.length; j++) {
				oSubMenu = arrSubMenus[j];
				oLink = oSubMenu.parentNode.getElementsByTagName('a')[0];
				oLink.onclick = function(){toggleMenuH.toggle(this.parentNode.parentNode.getElementsByTagName('ul')[0], sHiddenClass, sTag, sOverParent, true); return false;}
				this.toggle(oSubMenu, sHiddenClass, sTag, sOverParent, false);
			}
		}	
	},

	toggle : function(el, sHiddenClass, sTag, sOverParent, bHide) {
		if(bHide == true) this.hideAll(el, sHiddenClass, sOverParent)
		var oRegExp = new RegExp("(^|\\s)" + sHiddenClass + "(\\s|$)");
		var oRegExpParent = new RegExp("(^|\\s)" + sOverParent + "(\\s|$)");
		eval("t = el.parentNode.getElementsByTagName('"+sTag+"')[0].getElementsByTagName('a')[0]");		
		if(oRegExp.test(el.className)){
			el.className = el.className.replace(oRegExp, '');
			t.className = t.className + ' ' + sOverParent;
		}
		else{
			el.className = el.className + ' ' + sHiddenClass;
			t.className = t.className.replace(oRegExpParent, '');
		}		
	},
	
/* 
addEvent function from http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html
*/
	addEvent : function(obj, type, fn) {
		if (obj.addEventListener)
			obj.addEventListener(type, fn, false);
		else if (obj.attachEvent) {
			obj["e"+type+fn] = fn;
			obj[type+fn] = function() {obj["e"+type+fn](window.event);}
			obj.attachEvent("on"+type, obj[type+fn]);
		}
	},
/*
Written by Jonathan Snook, http://www.snook.ca/jonathan
Add-ons by Robert Nyman, http://www.robertnyman.com
*/
	getElementsByClassName : function(oElm, strTagName, strClassName){
	    var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
	    var arrReturnElements = new Array();
	    strClassName = strClassName.replace(/\-/g, "\\-");
	    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	    var oElement;
	    for(var i=0; i<arrElements.length; i++){
	        oElement = arrElements[i];      
	        if(oRegExp.test(oElement.className)){
	            arrReturnElements.push(oElement);
	        }   
	    }
	    return (arrReturnElements)
	},
/*
Written by Jorge Hoya, http://www.nosoynadie.net
*/
    hideAll : function(el, sHiddenClass, sOverParent){
		for(i = 0; i < arrMenus.length; i++){
			arrSubMenus = arrMenus[i].getElementsByTagName('ul');
			for (var j = 0; j < arrSubMenus.length; j++) {
				oSubMenu = arrSubMenus[j];
				if(el !== oSubMenu){
					var oRegExp = new RegExp("(^|\\s)" + sHiddenClass + "(\\s|$)");
					if(!oRegExp.test(oSubMenu.className)) {oSubMenu.className = oSubMenu.className + ' ' + sHiddenClass;}
					t = oSubMenu.parentNode.getElementsByTagName('span')[0].getElementsByTagName('a')[0];
					var oRegExpP = new RegExp("(^|\\s)" + sOverParent + "(\\s|$)");
					if(oRegExpP.test(t.className)) {t.className = t.className.replace(oRegExpP, "");}
				}
			}
		}
	},
/*
Written by Jorge Hoya, http://www.nosoynadie.net
IE6 hack to match the width of the menu and submenu
*/	
	equalWidth : function (oElm, strClassFather, strClassChild){
		arrMenus = this.getElementsByClassName(document, oElm, strClassFather);
		if(arrMenus[0]){
			var dWidth = parseInt(arrMenus[0].offsetWidth);
			arrSubMenus = this.getElementsByClassName(document, oElm, strClassChild);
			for(var j=0; j<arrSubMenus.length;j++){
				oSubMenu = arrSubMenus[j];
				oSubMenu.style.width = dWidth + 'px';
			}
		}
	}
};

/* Beginning of the process */
toggleMenuH.addEvent(window, 'load', function(){
	toggleMenuH.init('first_menu', 'hidden', 'span', 'select');
	toggleMenuH.equalWidth('ul','first_menu', 'second_menu');
	})
toggleMenuH.addEvent(window, 'resize', function(){toggleMenuH.equalWidth('ul','first_menu', 'second_menu')})