//FROM WITHIN toggleMenu EACH PROCEDURE CAN BE CALLED VIA this KEYWORD UNLESS = FUNCTION TO CARRY OUT EVENT/ACTION
var toggleMenu = {
	//sContainerClass="main" & sHiddenClass="hidden"
	init : function(sContainerClass, sHiddenClass) {
		if (!document.getElementById || !document.createTextNode) {return;} // Check for DOM support
		var arrMenus = this.getElementsByClassName(document, 'ul', sContainerClass);
		var arrSubMenus, oSubMenu, oLink, arrListItems, selectedlistitem, leftnavclicked;

		//SET VARIABLE TO DETERMINE CURRENT CLASSIFICATION NO. (TOP LEVEL MENU LINKID)
		var classificationid="link"+this.getQuerystring("classificationid"); //SET STRING TO PARAMETER NAME

                //ITERATES THROUGH ALL MAIN MENUS (arrMenus = qty of separate <UL>)
		for (var i = 0; i < arrMenus.length; i++) {
			//GET REFERENCE TO INTERNAL <UL> HEADERS
			arrSubMenus = arrMenus[i].getElementsByTagName('ul');

                        //GET REFERENCE TO INTERNAL <LI> ELEMENTS
                        arrListItems = arrMenus[i].getElementsByTagName('li');

                        //ITERATE THROUGH EACH TOP LEVEL MENU ELEMENT
			for (var j = 0; j < arrListItems.length; j++) {
                           selectedlistitem = arrListItems[j].getElementsByTagName('a')[0];

                           if (selectedlistitem.id=="link"+this.getQuerystring("groupid"))
                           {
                              leftnavclicked=document.getElementById(selectedlistitem.id);
                              leftnavclicked.style.fontWeight="bold";

                           }
                           else if (selectedlistitem.id==this.getQuerystring("rangeid"))
                           {
                              leftnavclicked=document.getElementById(selectedlistitem.id);
                              leftnavclicked.style.fontWeight="bold";
                           }
                           else if (selectedlistitem.id==this.getQuerystring("range"))
                           {
                              leftnavclicked=document.getElementById(selectedlistitem.id);
                              leftnavclicked.style.fontWeight="bold";
                           }
                        }

                        //ITERATE THROUGH EACH TOP LEVEL MENU ELEMENT
			for (var j = 0; j < arrSubMenus.length; j++) {
				//GET REFERENCE TO <LI>
				oSubMenu = arrSubMenus[j];

				//GET REFERENCE TO CURRENT TOP LEVEL LINK <A> MENU ITEM IN <LI>
				oLink = oSubMenu.parentNode.getElementsByTagName('a')[0];

				//alert(oSubMenu.parentNode.getElementsByTagName('a')[0]);// - GETS ACTUAL LINK

                                //TREAT FURNITURE RANGE LIST SLIGHTLY DIFFERENT
                                if (oLink.id=="ranges")
                                {
				   //ONLY RUN AND HIDE MENU IF LOCATION NOT furniture-ranges.asp
				   if (this.getQuerystring("range")=="")
                                   {
				       //WHEN TOP LEVEL MENU ITEM CLICKED SHOW/HIDE SUBMENU ITEMS
				       //oLink.onclick = function(){toggleMenu.toggle(this.parentNode.getElementsByTagName('ul')[0], sHiddenClass); return false;}
				       //oLink.title="Click to show/hide submenu";
				       this.toggle(oSubMenu, sHiddenClass);
				   }
				   else
			   	   {
                                      //SETS COLOUR OF FURNITURE RANGES ON furniture-ranges.asp
				      //oLink.title="Click to display ALL products in this category"
                                      leftnavclicked=document.getElementById(oLink.id);
                                      leftnavclicked.style.fontWeight="bold";
				   }
                                }
                                else
                                {
				   //ONLY RUN THIS IF NOT CURRENT CLASSIFICATION AS HIDES EACH SUBMENU
				   if (oLink.id!=classificationid)
                                   {
				       //WHEN TOP LEVEL MENU ITEM CLICKED SHOW/HIDE SUBMENU ITEMS
				       //oLink.onclick = function(){toggleMenu.toggle(this.parentNode.getElementsByTagName('ul')[0], sHiddenClass); return false;}
				       //oLink.title="Click to show/hide submenu";
				       this.toggle(oSubMenu, sHiddenClass);
				   }
				   else
			   	   {
                                      //SETS COLOUR OF SELECTED CLASSIFICATION
				      //oLink.title="Click to display ALL products in this category";
                                      leftnavclicked=document.getElementById(oLink.id);
                                      leftnavclicked.style.fontWeight="bold";
				   }
                                }
			}
		}
	},
	toggle : function(el, sHiddenClass) {
		var oRegExp = new RegExp("(^|\\s)" + sHiddenClass + "(\\s|$)");
		el.className = (oRegExp.test(el.className)) ? el.className.replace(oRegExp, '') : el.className + ' ' + sHiddenClass; // Add or remove the class name that hides the element
	},
/* 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)
	},

	getQuerystring : function querystring(ji) {
	    hu = window.location.search.substring(1);
	    gy = hu.split("&");
	    for (i=0;i<gy.length;i++) 
	    {
	        ft = gy[i].split("=");
	        if (ft[0] == ji) 
                    {
                       //UNESCAPE - CORRECTS ENCODED URL
	               return unescape(ft[1]);
	            }
	    }
	    return ""
	}
};

toggleMenu.addEvent(window, 'load', function(){toggleMenu.init('menu','hidden');});
