﻿<!--
var homePageBanners = new HomePageBanners();
var homePageInterval = 5000;
var homePageFlyoutInterval = 150;
var homePageBannerTimer = null;
var homePageFlyoutTimer = null;

function HomePageBannersStart() {
    if (homePageBanners) {
        if (!homePageBanners.IsRotating) {
            homePageBanners.IsRotating = true;
            homePageBannerTimer = setInterval("homePageBanners.MoveForward()", homePageInterval);

            //$("#HomePageSlider .slideStopBtn").css({ "display": "" });
            //$("#HomePageSlider .slideStartBtn").css({ "display": "none" });
        }
    }
}

function HomePageBannersStop() {
    if (homePageBanners) {
        if (homePageBanners.IsRotating) {
            homePageBanners.IsRotating = false;
            clearInterval(homePageBannerTimer);

            //$("#HomePageSlider .slideStopBtn").css({ "display": "none" });
            //$("#HomePageSlider .slideStartBtn").css({ "display": "" });
        }
    }
}

function HomePageBannersShow(source) {
    if (homePageBanners) {
        homePageBanners.IsRotating = false;
        clearInterval(homePageBannerTimer);

        homePageBanners.MoveTo(source);

        //$("#HomePageSlider .slideStopBtn").css({ "display": "none" });
        //$("#HomePageSlider .slideStartBtn").css({ "display": "" });
    }
}

function HomePageBanners() {
    this.Banners = new Array();
    this.IsRotating = false;

    this.MoveForward = function() {
        for (var i = 0; i < this.Banners.length; i++) {
            var current = this.Banners[i];

            if (current.IsActive) {
                var next = this.Banners[0];
                if (i < this.Banners.length - 1) {
                    next = this.Banners[i + 1];
                }

                current.Hide();
                next.Show();
                break;
            }
        }
    }

    this.MoveBackward = function() {
        for (var i = 0; i < this.Banners.length; i++) {
            var current = this.Banners[i];

            if (current.IsActive) {
                var next = this.Banners[this.Banners.length - 1];
                if (i > 0) {
                    next = this.Banners[i - 1];
                }

                current.Hide();
                next.Show();
                break;
            }
        }
    }

    this.MoveTo = function(source) {
        var current = null;
        var next = null;

        for (var i = 0; i < this.Banners.length; i++) {
            var banner = this.Banners[i];
            if (banner.IsActive) {
                current = banner;
            }

            if (banner.Link == source.target) {
                next = banner;
            }

            if ((current) && (next)) {
                break;
            }
        }

        if ((current) && (next)) {
            current.Hide();
            next.Show();
        }
    }
}

function HomePageBanner(link, banner) {
    this.Link = link;
    this.Banner = banner;
    this.IsActive = false;

    this.Show = function() {
        this.IsActive = true;
        this.Link.className = "showOffer";
        this.Banner.attr("class", "showOffer");
    }

    this.Hide = function() {
        this.IsActive = false;
        this.Link.className = "hideOffer";
        this.Banner.attr("class", "hideOffer");
    }

    this.Append = function(target, isActive) {
        // add a li to the ul target
        var listItem = document.createElement("li");
        listItem.appendChild(this.Link);

        $(listItem).mouseover(HomePageBannersShow);
        $(listItem).mouseout(HomePageBannersStart);

        $(target).append(listItem);

        if (isActive) {
            this.Link.className = "showOffer";
        } else {
            this.Link.className = "hideOffer";
        }

        this.IsActive = isActive;
    }
}

function HomePageFlyoutHideAll(sourceId, targetId) {
    $("#flyouts").children("div[id != '" + targetId + "']").css({ 'display': 'none' });
    $(".homeLeftNav LI.plus[id != '" + sourceId + "']").attr("class", "plus");

    if (sourceId != "homeWineInfo") {
        $("#homeWineInfo").attr("class", "homeLeftNav");
    }
}

function HomePageFlyoutHide(sourceId, targetId) {
    var source = document.getElementById(sourceId);
    var target = document.getElementById(targetId);

    if (sourceId == "homeWineInfo") {
        source.className = "homeLeftNav";
    } else {
        source.className = "plus";
    }

    target.style.display = "none";
}

function HomePageFlyout(source, target, hoverOnCss) {
    $(source).mouseover(function () {
        if (this) {
            var sourceid = this.id;
            var targetId = this.id + "_Fly";

            clearTimeout(homePageFlyoutTimer);
            HomePageFlyoutHideAll(sourceid, targetId);

            var position = $(this).position();
            var top = position.top + 1;
            var className = "plus " + hoverOnCss;

            if (this.id == "homeWineInfo") {
                top = position.top;
                className = hoverOnCss;
            }

            $(this).attr("class", className);
            $(target).css({ "top": top, "left": position.left + 203, "display": "" });
        }
    });

    $(source).mouseout(function () {
        if (this) {
            clearTimeout(homePageFlyoutTimer);

            var targetId = this.id + "_Fly";
            homePageFlyoutTimer = setTimeout("HomePageFlyoutHide('" + this.id + "', '" + targetId + "')", homePageFlyoutInterval);
        }
    });

    $(target).mouseover(function () {
        clearTimeout(homePageFlyoutTimer);

        var className = "plus " + hoverOnCss;
        if (source.id == "homeWineInfo") {
            className = hoverOnCss;
        }

        $(source).attr("class", className);
        $(this).css({ "display": "" });
    });

    $(target).mouseout(function () {
        if (this) {
            clearTimeout(homePageFlyoutTimer);

            var sourceId = this.id.replace("_Fly", "");
            homePageFlyoutTimer = setTimeout("HomePageFlyoutHide('" + sourceId + "', '" + this.id + "')", homePageFlyoutInterval);
        }
    });
}

$(document).ready(function () {
    HomePageFlyout("#wine90U20", "#wine90U20_Fly", "homeLeftNavMenuItemHover");
    HomePageFlyout("#wineDeals", "#wineDeals_Fly", "homeLeftNavMenuItemHover");
    HomePageFlyout("#wineFineWine", "#wineFineWine_Fly", "homeLeftNavMenuItemHover");
    HomePageFlyout("#wineType", "#wineType_Fly", "homeLeftNavMenuItemHover");
    HomePageFlyout("#wineStyleNav", "#wineStyleNav_Fly", "homeLeftNavMenuItemHover");
    HomePageFlyout("#wineRegion", "#wineRegion_Fly", "homeLeftNavMenuItemHover");
    HomePageFlyout("#wineRating", "#wineRating_Fly", "homeLeftNavMenuItemHover");
    HomePageFlyout("#giftOccasion", "#giftOccasion_Fly", "homeLeftNavMenuItemHover");
    HomePageFlyout("#homeWineInfo", "#homeWineInfo_Fly", "homeLeftNavOver");

    var offers = $("#HomePageSlider .offerBanners A");
    if (offers) {
        for (var i = 0; i < offers.length; i++) {
            var banner = $(offers[i]);
            var offer = banner.parent();
            var title = banner.attr("title");
            var href = banner.attr("href");
            var image = banner.children("IMG:first");

            $(image).mouseover(HomePageBannersStop);
            $(image).mouseout(HomePageBannersStart);

            var link = document.createElement("a");
            link.innerHTML = title;
            link.href = href;
            link.setAttribute("title", title);

            var banner = new HomePageBanner(link, offer);
            if (i == 0) {
                banner.Append("#HomePageSlider .offerMenu", true);
            } else {
                banner.Append("#HomePageSlider .offerMenu", false);
            }
            homePageBanners.Banners.push(banner);
        }
    }

   //$("#HomePageSlider .slideStartBtn").click(HomePageBannersStart);
    //$("#HomePageSlider .slideStopBtn").click(HomePageBannersStop);
    $(".slideNextBtn").click(function() {
        HomePageBannersStop();

        if (homePageBanners) {
            homePageBanners.MoveForward();
        }
    });
    $(".slidePrevBtn").click(function() {
        HomePageBannersStop();

        if (homePageBanners) {
            homePageBanners.MoveBackward();
        }
    });

    $(HomePageBannersStart);
});
//-->
