if (typeof Jane == 'undefined') {
    var Jane = {};
}

Jane.Menu = {

    _hideIntervalId : null,

    _navElement : null,

    _hideOthers : function (item) {
        var divList = Jane.Menu._navElement.getElementsByTagName('div');
        for (var i=0; i < divList.length; i++) {
            if (divList[i].className == 'dropdown'
                && divList[i].id != item.id)
            {
                divList[i].style.display = 'none';
            }
        }
    },

    _getDropdown : function (itemName) {
        return document.getElementById('dropdown_'+itemName);
    },

    show : function (itemName) {
        clearInterval(Jane.Menu._hideIntervalId);
        Jane.Menu._hideIntervalId = null;
        var dropdown = Jane.Menu._getDropdown(itemName);
        Jane.Menu._hideOthers(dropdown);
        dropdown.style.display = 'block';
    },

    hide : function (itemName) {
        var dropdown = Jane.Menu._getDropdown(itemName);
        Jane.Menu._hideIntervalId = setInterval(
            function () {
                dropdown.style.display = 'none';
            },
            500
        );
    },

    _buildOnmouseover : function (itemName) {
        return function () {
            Jane.Menu.show(itemName);
        }
    },

    _buildOnmouseout : function (itemName) {
        return function () {
            Jane.Menu.hide(itemName);
        }
    },


    init : function (navId) {
        Jane.Menu._navElement = document.getElementById(navId);        
        var navChildDivs = Jane.Menu._navElement.getElementsByTagName('div');
        var itemNameList = [];
        for (var i=0; i < navChildDivs.length; i++) {
            if (navChildDivs[i].className != 'menuItem') {
                continue;
            }
            var itemChildDivs = navChildDivs[i].getElementsByTagName('div');
            if (! itemChildDivs.length) {
                continue;
            }
            var itemName = itemChildDivs[0].id.substr('dropdown_'.length);
            for (var j=0; j < itemChildDivs.length; j++) {
                if (itemChildDivs[j].className == 'dropdownHeader'
                    || itemChildDivs[j].className == 'dropdownItems') 
                {
                    itemChildDivs[j].onmouseover = Jane.Menu._buildOnmouseover(itemName);
                    itemChildDivs[j].onmouseout = Jane.Menu._buildOnmouseout(itemName);
                }
            }
            var itemChildAnchors = navChildDivs[i].getElementsByTagName('a');
            itemChildAnchors[0].onmouseover = Jane.Menu._buildOnmouseover(itemName);
        }
        
    }


}
