﻿var timerHideBasketTopMenu;
function hideBasketTopMenu(event)
{
    var divTopMenuMyBasketRef = $('divTopMenuMyBasket');
    var divBasketTopRef = $('divBasketTop');

    if (!isOverElement(event, divTopMenuMyBasketRef) && !isOverElement(event, divBasketTopRef) && divBasketTopRef.style.display != 'none' && timerHideBasketTopMenu == null)
    {
        timerHideBasketTopMenu = setTimeout(
                                                function()
                                                {
                                                    closeBasketTopMenu();
                                                },
                                                2000
                                            );
    }
}

function divTopMenuBasketClick()
{
    closeOpenedTopMenus();

    if ($('divBasketTop').style.display == 'none')
        openBasketTopMenu();
    else
        closeBasketTopMenu();
}

function openBasketTopMenu()
{
    var divTopMenuMyBasketRef = $('divTopMenuMyBasket');
    var divBasketTopRef = $('divBasketTop');

    setImgMenuArrow($('imgTopMenuMyBasket'), true);

    divTopMenuMyBasketRef.onmouseout = null;
    divTopMenuMyBasketRef.stopObserving('mouseout');
    bgTopMenuMouseOver(divTopMenuMyBasketRef);
    document.observe('mousemove', hideBasketTopMenu);

    new Effect.BlindDown(
                            divBasketTopRef,
                            {
                                duration: 0.3,
                                afterUpdate: function()
                                {
                                    setPositionDivBasketTop();
                                },
                                afterFinish: function()
                                {
                                    setPositionDivBasketTop();
                                }
                            }
                        );
}

function closeBasketTopMenu()
{
    var divTopMenuMyBasketRef = $('divTopMenuMyBasket');
    var divBasketTopRef = $('divBasketTop');

    setImgMenuArrow($('imgTopMenuMyBasket'), false);
    divTopMenuMyBasketRef.observe('mouseout', function() { bgTopMenuMouseOut(divTopMenuMyBasketRef); });
    document.stopObserving('mousemove', hideBasketTopMenu);
    new Effect.BlindUp(divBasketTopRef, { duration: 0.3, afterFinish: function() { bgTopMenuMouseOut(divTopMenuMyBasketRef); } });
}

function basketTopMenuMouseOver()
{
    timerHideBasketTopMenu = clearTimeout(timerHideBasketTopMenu);
}

function setPositionDivBasketTop()
{
    var divTopMenuMyBasketRef = $('divTopMenuMyBasket');
    var divBasketTopRef = $('divBasketTop');

    divBasketTopRef.style.left = getElementActualLeft(divTopMenuMyBasketRef) + divTopMenuMyBasketRef.offsetWidth - divBasketTopRef.offsetWidth + 'px';
    divBasketTopRef.style.top = getElementActualTop(divTopMenuMyBasketRef) + divTopMenuMyBasketRef.offsetHeight + 1 + 'px';
}

