﻿$().ready(function () {
    $(window).scroll(function () {
        UpdateBasketState();
    });
    UpdateBasketState();
});

function UpdateBasketState() {
    var $controlMainMenuContainer = $(".controlMainMenuContainer");
    if ($controlMainMenuContainer.length = 0) { alert("The ID doesn not exist"); }

    if (isScrolledIntoView($("#OrderButtonLink")))
    {
        $("#OrderButtonLinkTop").css("display", "none");
    }
    else {
        $("#OrderButtonLinkTop").css("display", "block");
    }

        var middleHeight = $(".siteContentContainerMiddle").height();
        var middleTop = $(".siteContentContainerMiddle").offset().top;
        var menuHeight = $(".controlMainMenuContainer").height();
        var basketHeight = $(".controlBasketContainer").height();
        var barHeight = 180;//164

        var newValue = ($(window).scrollTop());

        if (newValue < barHeight)
            newValue = 0;
        else
            newValue = newValue - barHeight;

        if (middleTop + middleHeight - newValue - menuHeight - barHeight > 0)
            $(".controlMainMenuContainer").css("marginTop", newValue + "px");


        var newBasketTop = middleTop + middleHeight - basketHeight - barHeight;
        if (basketHeight < $(window).height()) {

            if (newBasketTop - newValue > 0) {
                $("#BasketContent").css("marginTop", newValue + "px");
            }
            else {
                if (newBasketTop < 0) {
                    $("#BasketContent").css("marginTop", "0px");
                }
                else {
                    $("#BasketContent").css("marginTop", newBasketTop + "px");
                }
            }
        }
        else {
            $("#BasketContent").css("marginTop", "0px");
        }
}


function isScrolledIntoView(elem) {
    var docViewTop = $(window).scrollTop();
    var docViewBottom = docViewTop + $(window).height();

    var elemTop = $(elem).offset().top;
    var elemBottom = elemTop + $(elem).height();

    return ((docViewTop < elemTop) && (docViewBottom > elemBottom));
}
