if(menu == null) var menu = {
    cookieName: "menuExpand",   // имя переменой в cookie
    cookieSplit: / |,|;/        // разделители значений в переменной
};

/**
 * обрабатывает клик по пункту меню, сворачивает/разворачивает
 * @param arg string id пункта меню
 */
menu.switchDisplay = function(arg) {
    var e = document.getElementById(arg);
    var curDisplay = e.style.display;

    if(curDisplay == "" || curDisplay == "block") {
        e.style.display = "none";
        menu.collapseToCookie(arg);
    } else {
        e.style.display = "block";
        menu.expandToCookie(arg);
    }
};

/**
 * разворачивает пункты меню, которые есть в списке cookie
 */
menu.expand = function() {
    var cVal = cookie.read(menu.cookieName);
    if(cVal == null) return;

    var arr = cVal.split(menu.cookieSplit);

    for(var key in arr) {
        var val = arr[key];
        var e = document.getElementById(val);
        if(e != null) e.style.display = "block";
    }
};

/**
 * добавляет пункт меню в список развернутых
 * @param arg string id пункта меню
 */
menu.expandToCookie = function(arg) {
    var cVal = cookie.read(menu.cookieName);
    if(cVal == null) {
        cookie.create(menu.cookieName, arg, 7);
    } else {
        var arr = cVal.split(menu.cookieSplit);

        for(var key in arr) {
            var val = arr[key];
            if(val == arg) return;
        }

        arr.push(arg);

        var join = arr.join(" ");
        cookie.create(menu.cookieName, join, 7);
    }
};

/**
 * удаляет пункт меню из списка развернутых
 * @param arg string id пункта меню
 */
menu.collapseToCookie = function(arg) {
    var cVal = cookie.read(menu.cookieName);
    if(cVal == null) return;

    var arr = cVal.split(menu.cookieSplit);

    for(var key in arr) {
        var val = arr[key];
        if(val == arg) arr.splice(key, 1);
    }

    var join = arr.join(" ");
    cookie.create(menu.cookieName, join, 7);
};

