var keepopen = false;
var openel = false;
var persistmenu="yes" //enum 'yes'/'no'. yes = (id="sub1", id="sub2", etc) no = id="sub"
var persisttype="sitewide" //enter "sitewide" for menu to persist across site, "local" for this page only

if (document.getElementById) { 
    document.write('<style type="text/css">\n')
    document.write('.submenu{display: none;}\n')
    document.write('</style>\n')
}

function SwitchMenu(obj) {
    if(document.getElementById) {
        var el = document.getElementById(obj);
        var ar = document.getElementById("masterdiv").getElementsByTagName("span"); 
        if(el.style.display != "block") { 
            for (var i=0; i<ar.length; i++) {
                if (ar[i].className=="submenu") 
                    ar[i].style.display = "none";
            }
            el.style.display = "block";
            if (openel && !keepopen) SwitchMenu(openel);
            openel = obj;
        }else{
            el.style.display = "none";
            openel = false;
        }
    }
}

function get_cookie(Name) { 
    var search = Name + "=";
    var returnvalue = "";
    if (document.cookie.length > 0) {
        offset = document.cookie.indexOf(search);
        if (offset != -1) { 
            offset += search.length;
            end = document.cookie.indexOf(";", offset);
            if (end == -1) end = document.cookie.length;
                returnvalue=unescape(document.cookie.substring(offset, end));
        }
    }
    return returnvalue;
}

function onloadfunction() {
    var inc=1;
    while (document.getElementById("sub"+inc)) {
        if (persistmenu=="yes") {
            var cookiename=(persisttype=="sitewide")? "switchmenu"+inc++ : window.location.pathname;
            var cookievalue=get_cookie(cookiename);
            if (cookievalue) SwitchMenu(cookievalue);
        }
    }
}

function savemenustate() {
    var inc=1, blockid="";
    while (document.getElementById("sub"+inc)) {
        if (document.getElementById("sub"+inc).style.display=="block") {
            blockid="sub"+inc;
            var cookiename=(persisttype=="sitewide")? "switchmenu"+inc : window.location.pathname;
            var cookievalue=(persisttype=="sitewide")? blockid+";path=/" : blockid;
            document.cookie=cookiename+"="+cookievalue;
            var has_opendivs = true;
        } else {
            var cookiename=(persisttype=="sitewide") ? "switchmenu"+inc : window.location.pathname;
            var cookievalue=(persisttype=="sitewide") ? ";path=/" : blockid;
            document.cookie=cookiename+"="+cookievalue;
        }
        inc++;
    }
    if (!has_opendivs) {
        inc=1;
        while (document.getElementById("sub"+inc)) {
            var cookiename=(persisttype=="sitewide")? "switchmenu"+inc++ : window.location.pathname;
            var cookievalue=(persisttype=="sitewide")? ";path=/" : blockid;
            document.cookie=cookiename+"="+cookievalue;
        }
    }
}

if (window.addEventListener)
    window.addEventListener("load", onloadfunction, false)
else if (window.attachEvent)
    window.attachEvent("onload", onloadfunction)
else if (document.getElementById)
    window.onload=onloadfunction

if (persistmenu=="yes" && document.getElementById)
    window.onunload=savemenustate
