﻿function toggleMenu(e)
{
    e = e || window.event;
    var menuItem = e.target || e.srcElement;
    if (menuItem.href == "" || menuItem.href == null)
    {
        while (menuItem.tagName.toLowerCase() != "li" && menuItem.parentNode)
            menuItem = menuItem.parentNode;
        if (menuItem.getElementsByTagName("ul").length)
            menuItem.className = (menuItem.className == "plus") ? "minus" : "plus";
    }
}
function initMenu(id)  /* assigns classes to the leftMenu list items based on whether they have children */
{
    var element = document.getElementById(id);
    if (element)
    {
        var links = element.getElementsByTagName("a");
        for (var i = 0; i < links.length; i++)
        {
            if (links[i].href == location.href)
            {
                links[i].className = "currentPage";
                showParent(links[i]);
            }
        }
        var listItems = element.getElementsByTagName("li");
        for (var i = 0; i < listItems.length; i++)
        {
            if (listItems[i].getElementsByTagName("ul").length && listItems[i].className != "minus")
                listItems[i].className = "plus";
        }
    }
}
function showParent(el)
{
    while ((el = el.parentNode) && el.className != "toggle_menu")
    {
        if (el.tagName.toLowerCase() == "li" && el.getElementsByTagName("ul").length)
            el.className = "minus";
    }
}

function initNavMenu(e)
{
    initMenu("navMenu");
    stopListening("window", "load", initNavMenu);
}

function listen(el, evt, fn)
{
    if (el.addEventListener)
        el.addEventListener(evt, fn, false);
    else if (el.attachEvent)
        el.attachEvent("on" + evt, fn);
}
function stopListening(el, evt, fn)
{
    if (el.removeEventListener)
        el.removeEventListener(evt, fn, false);
    else if (el.detachEvent)
        el.detachEvent("on" + evt, fn);
}
listen(window, "load", initNavMenu);

