﻿//to have a menuitem with no subitems you still have to put a empty ul in it <ul class="submenu"></ul> so arrays stay in sync

var contractall_default= false; //Should all submenus be contracted by default? (true or false)

var menu, titles, submenus;
var heights = new Array();

var n = navigator.userAgent;

function sidemenu_expandall(){
    if (typeof menu!="undefined"){
	    for(i=0; i<Math.max(titles.length, submenus.length); i++){
		    submenus[i].style.display="block";
	    }
    }
}

function sidemenu_contractall(){
    if (typeof menu!="undefined"){
	    for(i=0; i<Math.max(titles.length, submenus.length); i++){
		    titles[i].className = "menutitle";
		    submenus[i].style.display="none";
	    }
    }
}

function CheckURLMenuItem()
{
	if(document.URL.match("om="))
	{ 
		OpenMenu=document.URL.slice(document.URL.indexOf("om=")+3,document.URL.indexOf("om=")+5);
		SubMenuItem=0;
	}
}

function init(){
    menu = getElementsByClassName("sdmenu", "div", document)[0];
    titles = getElementsByClassName("menutitle", "div", menu);
    submenus = getElementsByClassName("submenu", "ul", menu);

	menu.parentNode.noWrap = menu.parentNode.noWrap? !menu.parentNode.noWrap: menu.parentNode.noWrap;
	if ( (/Chrome/.test(n)) || (/Opera/.test(n)) || (/Firefox/.test(n)) )  menu.style.marginLeft = "10px";

	CheckURLMenuItem();    

	URLstr = "";
    for(i=0; i<Math.max(titles.length, submenus.length); i++) 
    {
        var titlelink =  titles[i].getElementsByTagName("A"); 
		// Adding om (OpenMenu) URL string to hyperlinks without landing pages
		if( document.URL.match("om=") )
		{
			URLstr = document.URL.slice(0, document.URL.indexOf("?om="));
		}
		else URLstr = document.URL;
		
		if( titlelink[0].href.match("om=") )
		{
			titlelink[0].href = titlelink[0].href.slice(0, titlelink[0].href.indexOf("?om="));
		}
						
		if( (titlelink[0].href == URLstr) || (titlelink[0].href == URLstr+"#") )
		{
			if(i<10) titlelink[0].href = URLstr+"?om=0"+(i+1);
			else titlelink[0].href = URLstr+"?om="+(i+1);
		}
		// End of adding om URL String
    }

    if(typeof OpenMenu!="undefined"  && OpenMenu > 0 && !contractall_default)
    {
       OpenMenu = OpenMenu -1;
       if(OpenMenu < titles.length)
       {      
			sidemenu_contractall();    
			titles[OpenMenu].className = "activemenutitle";
			if(submenus[OpenMenu].innerHTML.replace(/^\s*|\s*$/g,"") != "")
			{
				showmenu(OpenMenu);
				if(typeof SubMenuItem!="undefined"  && SubMenuItem > 0 )
				{    
					SubMenuItem = SubMenuItem -1;
					var subitems = submenus[OpenMenu].getElementsByTagName("LI");
	                   
					if(subitems.length > SubMenuItem  && SubMenuItem  > -1)
					{                               
						var activeitem = subitems[SubMenuItem].getElementsByTagName("A");  
						if(typeof activeitem!="undefined")
							activeitem[0].className="ActiveItem";
					}
				}         
			}
		}
    }
}

function showmenu(sm) {
    submenus[sm].style.display = "block";
}

function getElementsByClassName(strClassName, strTagName, oElm){
    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)
}

window.onload = init;
