﻿var menu = new Class({
    Binds: ["_hideAll", "_showSub", "_addEvents", "_positionateAll", "_positionate"],
    initialize: function () {
        this._hideAll();
        window.addEvent("load", this._positionateAll);
    },
    _positionateAll: function () {
        var linkArray = $("menu").getElements("a.m");
        linkArray.each(this._positionate, this);
        linkArray.each(this._addEvents, this);
        if ($("content"))
            $("content").addEvent("mouseenter", this._hideAll);
    },
    _positionate: function (linkElt) {
        var submenu = $("sm_" + linkElt.get("id"));
        if (!submenu) return;
        var pos = linkElt.getPosition($("menu"));
        submenu.setStyles({ "left": pos.x });
    },
    _addEvents: function (linkElt) {
        var menuID = linkElt.get("id");
        var submenuID = "sm_" + menuID;
        linkElt.addEvent("mouseenter", this._showSub.pass([submenuID, menuID]));
        var submenu = $(submenuID);
        if (!submenu) return;
        submenu.addEvent("mouseleave", this._hideAll);
    },
    _showSub: function (submenuID, menuID) {
        this._hideAll();
        //$(menuID).set("class", "m active");
        if ($(submenuID))
            $(submenuID).setStyle("display", "block");
    },
    _hideAll: function () {
//        $("menu").getElements("a.m").each(function (menuElt) {
//            if (menuElt.hasClass("active")) {
//                menuElt.set("class", "m");
//            }
//        });
        $("menu").getElements("div.submenuContainer").setStyle("display", "none");
    }
});
window.addEvent("domready", function () { new menu(); });

