﻿
//
// MainMenu.js
// for ~/Controls/MainMenu.ascx
//

/// <reference path="../Edentity.Global.js" />
/// <reference path="../External/jquery-1.3.2-vsdoc2.js" />


Edentity.RegisterNamespace("Whiskas.Controls.MainMenu");

(function(MM, $) {

    var timeout = 500;
    var closetimer = 0;
    var ddmenuitem = null;

    MM.OnOpen = function() {

        jsddm_canceltimer();
        Whiskas.Controls.MainMenu.OnClose();
        ddmenuitem = $(this).find('ul').eq(0).show();
        ddmenuitem.parent().addClass('Selected');

        $('div.Div', ddmenuitem.parent()).addClass('LeftImage');
        $('div.Div', ddmenuitem.parent().next()).addClass('RightImage');
    };

    MM.OnClose = function() {
        if (ddmenuitem) {
            ddmenuitem.parent().removeClass('Selected');
            ddmenuitem.hide();

            $('div.Div', ddmenuitem.parent()).removeClass('LeftImage');
            $('div.Div', ddmenuitem.parent().next()).removeClass('RightImage');
        };
    }

    MM.OnTimer = function() {
        closetimer = window.setTimeout("Whiskas.Controls.MainMenu.OnClose()", timeout);
    }

    function jsddm_canceltimer() {
        if (closetimer) {
            window.clearTimeout(closetimer);
            closetimer = null;
        }
    }

    function fixSubMenuFill(ulMainMenuItems) {
        var smw = 183; // 183px is the width of the dropdown menu
        $('#' + ulMainMenuItems + ' > li').each(function() {
            var mmw = $(this).width() + 13; // 13px is the width of the rounded corner
            $('div.SubMenuTop', $(this)).css('margin-left', mmw);
            $('div.SubMenuTop', $(this)).width(smw - mmw);
            //alert($('div.SubMenuTop', $(this)).css('margin-left'));
        });
    }

    MM.OnInit = function(ulMainMenuItems) {
        var lis = $('#' + ulMainMenuItems + ' > li');
        lis.bind('mouseover', Whiskas.Controls.MainMenu.OnOpen);
        lis.bind('mouseout', Whiskas.Controls.MainMenu.OnTimer);

        //Fix width for IE6
        if (jQuery.browser.msie && jQuery.browser.version.indexOf('6') == 0) {
            var width = 0;
            lis.each(function() {
                width += $(this).width();
            });
            $('#' + ulMainMenuItems).parent().width(width);
        }

        fixSubMenuFill(ulMainMenuItems);

        //Show the main menu after fixed
        $('#' + ulMainMenuItems).parent().css('visibility', 'visible');
    };

    document.onclick = Whiskas.Controls.MainMenu.OnClose;

})(Whiskas.Controls.MainMenu, jQuery);
