﻿
SnTUtils.RegisterNameSpace("ITU.LanguageMenu");

ITU.LanguageMenu = {
    Config: {
        RightContainer: '.top-menu-right-container .top-menu-right-2 ul.top-menu-right li a',
        RightOverlay: '.top-menu-right-overlay',
        sensitivity: 2,
        interval: 50,
        timeout: 50,
        IsOpen: false,
        Speed: 'fast',
        RightOverlayHideTimeout: 500,
        RightOverlayHover: false,
        RightContainerHover: false
    },
    Init: function (options) {

        this.Config = $.extend({}, this.Config, options);
        this.Config.RightContainer = $(this.Config.RightContainer);
        this.Config.RightOverlay = $(this.Config.RightOverlay);

        var hoverConfig = this.Config;
        hoverConfig.over = ITU.LanguageMenu.ShowOverlay;
        hoverConfig.out = function () { };

        this.Config.RightContainer.hoverIntent(hoverConfig);

        this.Config.RightOverlay.mouseleave(this.HideOverlay);
        //this.Config.RightOverlay.mouseout(this.HideOverlay);

        this.Config.RightOverlay.hover(
            function () { ITU.LanguageMenu.Config.RightOverlayHover = true; },
            function () { ITU.LanguageMenu.Config.RightOverlayHover = false; }
        );
        this.Config.RightContainer.hover(
            function () { ITU.LanguageMenu.Config.RightContainerHover = true; },
            function () { ITU.LanguageMenu.Config.RightContainerHover = false; }
        );
    },
    ShowOverlay: function () {

        if (!ITU.LanguageMenu.Config.IsOpen) {

            ITU.LanguageMenu.Config.RightOverlay.slideDown(ITU.LanguageMenu.Config.Speed, function () {

                ITU.LanguageMenu.Config.IsOpen = true;
            });
        }
    },
    HideOverlay: function () {

        setTimeout(function () {

            var config = ITU.LanguageMenu.Config;
            if (!config.RightOverlayHover && !config.RightContainerHover) {

                ITU.LanguageMenu.Config.RightOverlay.slideUp(ITU.LanguageMenu.Config.Speed, function () {

                    ITU.LanguageMenu.Config.IsOpen = false;
                });
            }
        }, ITU.LanguageMenu.Config.RightOverlayHideTimeout);
    }
};
