﻿$(document).ready(function()
{
    $(function($)
    {
        var path = location.pathname.substring(1).toLowerCase();
        if (path.lastIndexOf("/") == path.length - 1)
        {
            path = path + "default.aspx";
        }

        var current;
        if (path == "default.aspx")
        {
            current = $("#Menu a[href=/" + path + "]");
        }
        else
        {
            if (path.indexOf("byohome.aspx") > 0)
            {
                current = $("#Menu a[href$=standard/content/byo/default.aspx]");
            }
            else if ((path.indexOf("testdrive.aspx") > 0) || ((path.indexOf("allbmws/compare") > 0)) || ((path.indexOf("leaseoffers.aspx") > 0)) || ((path.indexOf("/financingoffer/") > 0)))
            {
                current = $("#Menu a[href$=" + path + "]");
            }
            else
            {
                current = $("#Menu a[href*=" + path + "]");
            }
        }

        current.addClass("selectMenuItem");
        current.closest('.SubMenuModelItemsShadow').prev("a").addClass("selectMenuItem");
        current.closest('.SubMenuItemsShadow').prev("a").addClass("selectMenuItem");
    });

    $("#MenuTop .MenuLast").hover(function()
    {
        var startItem = $(this).siblings(":eq(0)");
        var startItemWidth = startItem.width();
        var parentPosWidth = startItem.parent().width();
        var leftAdjust = "-" + ((startItemWidth - parentPosWidth) - 5) + "px";
        startItem.css("left", leftAdjust)
    });

    $(".WideContainer").closest("li").children(".TopSubMenu").hover(function()
    {
        var parentPosLeft = $(this).parent().offset().left;
        var firstItemlOffset = $(".mainRow li:eq(0)").offset().left + 3;
        var leftAdjust = "-" + (parentPosLeft - firstItemlOffset) + "px";
        $(this).next().css("left", leftAdjust);
    });

    $("#imgSearchButton").click(function()
    {
        var url = $("#searchUrl").attr("value");
        var query = $("#tbSearch").attr("value");
        var search = url + query;
        document.location = search;
    });

    $("#tbSearch").focus(function()
    {
        if ($(this).val() == "Search")
        {
            $(this).val("");
        }
    });

    $("#tbSearch").blur(function()
    {
        if ($(this).val() == "")
        {
            $(this).val("Search");
        }
    });

    $("#tbSearch").keydown(function(e)
    {
        var event;
        var key;
        event = (e) ? e : window.event;

        if (event)
        {
            key = (event.charCode) ? event.charCode : (event.keyCode) ? event.keyCode : 0;
        }

        if (key && key == 13)
        {
            event.preventDefault();
            var url = $("#searchUrl").attr("value");
            var query = $(this).attr("value");
            var search = url + query;
            alert(search);
            window.location = search;
        }
    });

    if (!$.browser.msie || $.browser.version > 6)
    {
        $(".mainRow li").hover(function()
        {
            if ($(this).children("a.Vehicle:not(:contains('All BMW'))"))
            {
                var parentPosLeft = $(this).children("a.Vehicle:not(:contains('All BMW'))").parent().offset().left;
                var firstItemlOffset = $(".mainRow li:eq(0)").offset().left + 6;
                var leftAdjust = "-" + (parentPosLeft - firstItemlOffset) + "px";
                $(this).children("a.Vehicle:not(:contains('All BMW'))").next().css("left", leftAdjust);
            }
        });

        $("a.TopSubMenu").siblings().hover(
        function()
        {
            $(this).closest("li").children(".TopSubMenu").addClass("highlightMenuItem");
        },
        function()
        {
            $(this).closest("li").children(".TopSubMenu").removeClass("highlightMenuItem");
        });

        $("#Menu li .modelSubMenuTop ul li").hover(function()
        {
            var itemToMove = $(this).children(".modelSubMenuBottom");
            if (itemToMove.length)
            {
                var startItem = $(this).closest("div.SubMenuModelItemsContainer");
                var startItemHeight = startItem.height();
                var itemToMoveHeight = itemToMove.height();
                var topAdjust = ((startItemHeight - itemToMoveHeight) - (itemToMove.siblings(":eq(0)").offset().top - startItem.offset().top));
                if ($.browser.safari || $.browser.mozilla)
                {
                    topAdjust = topAdjust + 1;
                }
                topAdjust = topAdjust + "px";
                var leftAdjust = "-" + (itemToMove.siblings(":eq(0)").offset().left - startItem.offset().left - 11) + "px";
                itemToMove.css({ "top": topAdjust, "left": leftAdjust });
            }
        });

        $(".popupShadow").closest("li").hover(
        function()
        {
            var leftAdjust = 0;
            var spanWidth = 0;
            var aWidth = 0;
            if ($(this).children("span").length)
            {
                spanWidth = ($(this).children("span").width());
            }
            if (leftAdjust == 0 && $(this).children("a").length)
            {
                aWidth = ($(this).children("a").width());
            }
            leftAdjust = spanWidth + aWidth;
            if (spanWidth > 0 && aWidth > 0)
            {
                leftAdjust = leftAdjust + 4;
            }
            leftAdjust = (leftAdjust + 20) + "px";
            $(this).children(".popupShadow").css("left", leftAdjust);

            var defaultValueForpsTop = "-10px";

            if ($.browser.msie && $.browser.version < 8)
            {
                defaultValueForpsTop = "-26px";
            }

            var psTop = $(this).children(".popupShadow").css("top");
            if (psTop == defaultValueForpsTop)
            {
                var popShadowHeight = $(this).children(".popupShadow").height() - 10;
                var popShadowTop = $(this).children(".popupShadow").offset().top - 50;

                if (!$.browser.msie || $.browser.version > 7)
                {
                    if ($.browser.msie || $.browser.version > 7)
                    {
                        popShadowTop = $(this).offset().top - 60;
                    }
                    if ((popShadowHeight + popShadowTop) > 108)
                    {
                        var newTop = (108 - (popShadowHeight + popShadowTop)) + "px";
                        var newNotchTop = ((popShadowHeight + popShadowTop) - 100) + "px";
                        $(this).children(".popupShadow").css("top", newTop);
                        $(".popupMenu img", this).css("top", newNotchTop);
                    }
                }
                else
                {
                    popShadowHeight = ($(".popupShadow a", this).length) * ($(".popupShadow a", this).css("line-height").replace("px", "")) + 12;
                    popShadowTop = $(this).offset().top - 40;

                    if ((popShadowHeight + popShadowTop) > 128)
                    {
                        var newTop = (113 - (popShadowHeight + popShadowTop)) + "px";
                        var newNotchTop = ((popShadowHeight + popShadowTop) - 121) + "px";
                        $(this).children(".popupShadow").css("top", newTop);
                        $(".popupMenu img", this).css("top", newNotchTop);
                    }
                }
            }
        });
    }
});
