closedMenu=new Array();

//Initialize Menu
function iniMenu()
{
      
    if (getCookieInfo("witcherMenu") != false) {
        closedMenu = getCookieInfo("witcherMenu");
    }

    //inArray => closedMendu
    $("#leftmenu div.toggle").each(function(index) {
        MenuID = $(this).attr("id");
        if ($.inArray(MenuID,closedMenu) > -1) {
            setToggle($(this),"hide");
        } else {
            setToggle($(this),"show");
        }
    });
}

//Set Toggle State
function setToggle(theMenu,state)
{
    MenuID = theMenu.attr("id");
    if (state == "show") {
        theMenu.show();
        if ($.inArray(MenuID,closedMenu) > -1) {
            deleteArray(closedMenu,MenuID);
        }
    } else {
        theMenu.hide();
        if ($.inArray(MenuID,closedMenu) == -1) {
            closedMenu.push(MenuID);
        }      
    }
    setCookie("witcherMenu", closedMenu.join("|"), 1000*60*60*24*30);
    //Cookie expires in 30 Days
}

//Toggle Menu
function toggleMenu(MenuID)
{
    theMenu = $("#"+MenuID+"");
    if (theMenu.is(':visible')) {
        setToggle(theMenu,"hide");
    } else {
        setToggle(theMenu,"show");
    }
}

//Imitate deleteArray
function deleteArray (theArray,theValue)
{
    var i;
    for (i=0; i < theArray.length; i++) {
        // Matches identical (===), not just similar (==).
        if (theArray[i] === theValue) {
            theArray.splice(i,1);
            return true;
        }
    }
    return false;
}

  
//Set Cookie
function setCookie(cookieName, tMenuIDs, expiresIn)
{
    var expires = new Date();
    var expireDate = expires.getTime() + expiresIn;
    expires.setTime(expireDate);
    document.cookie=cookieName+"="+tMenuIDs+"; expires="+expires.toGMTString()+";";
}

//Get Information from Cookie
function getCookieInfo(cookieName)
{
    var menuData = new Array();
    if (document.cookie) {
        begin = document.cookie.indexOf(cookieName+"=");
        if (begin != -1) {
            begin += cookieName.length+1;
            end = document.cookie.indexOf(";", begin);
            if (end == -1) {
                end = document.cookie.length;
            }
            cookievalue = unescape(document.cookie.substring(begin, end));
        } else {
            return false;
        }
    } else {
        return false;
    }
    menuData = cookievalue.split('|');
    return menuData;
}
