﻿/// <reference path="../Edentity.Global.js" />
/// <reference path="../External/jquery-1.4.1-vsdoc.js" />


Edentity.RegisterNamespace("Shoppers.Controls.MainMenu");

(function(MM, $) {

    var timeout = 500;
    var closetimer = 0;
	var mainMenu = null;
    var subMenuItem = null;

    MM.OnInit = function(ulMainMenuItems) {		
		mainMenu = $('#' + ulMainMenuItems).parent();	
        var lis = $('#' + ulMainMenuItems + ' > li');
		lis.hoverIntent(getConfiguration());
    };
	
	MM.AddMenuItem = function(elem) {
		elem.hoverIntent(getConfiguration());
	}

    MM.OnOpen = function() {

		var li = $(this),
			leftPos = mainMenu.position().left;
			
        jsddm_canceltimer();
        Shoppers.Controls.MainMenu.OnClose();
        subMenuItem = li.find('.SubMenu').show();	
		subMenuItem.css('left', leftPos);
        subMenuItem.parent().addClass('Selected');
		
        $('a.MenuItem img:first', li).hide().next().show();
    };

    MM.OnClose = function() {
        if (subMenuItem) {
			var li = subMenuItem.parent();
            li.removeClass('Selected');
            subMenuItem.hide();

            $('a.MenuItem img:first', li).show().next().hide();
        }
    };

    MM.OnTimer = function() {
        closetimer = window.setTimeout("Shoppers.Controls.MainMenu.OnClose()", timeout);
    };
	
	function getConfiguration() {
		return {
			over: Shoppers.Controls.MainMenu.OnOpen,
			out: Shoppers.Controls.MainMenu.OnTimer,
			timeout: 10
		};
	}

    function jsddm_canceltimer() {
        if (closetimer) {
            window.clearTimeout(closetimer);
            closetimer = null;
        }
    };

    document.onclick = Shoppers.Controls.MainMenu.OnClose;

})(Shoppers.Controls.MainMenu, jQuery);

