﻿function initShoppingcartOverviewDropdown() {

    $(function () {
        var shoppingCart = $('.header .widget.shoppingcartdropdown');

        var nextActionTimeout = null;

        function setNextAction(action, duration) {
            if (nextActionTimeout)
                clearTimeout(nextActionTimeout);

            nextActionTimeout = action ? setTimeout(action, duration ? duration : 250) : null;
        }

        $('.header .widget.shoppingcartoverviewdropdown .shoppingcart').hover(function () {
            setNextAction();

            shoppingCart.stop().fadeIn(100);
        },
        function () {
            setNextAction(function () {
                shoppingCart.stop().fadeOut(500);
            });
        });

        shoppingCart.hover(function () {
            setNextAction();

            shoppingCart.stop().fadeIn(100);
        },
        function () {
            setNextAction(function () {
                shoppingCart.stop().fadeOut(500);
            });
        });

        Sys.Application.get_events().addHandler('onCartItemAdded', function () {
            setNextAction();

            shoppingCart.stop().fadeIn(100);

            setNextAction(function () {
                shoppingCart.stop().fadeOut(500);
            }, 5 * 1000);
        });
    });
}
