﻿/// <reference path="jquery-1.4.4.min.js" />
/// <reference path="Woopt.Startup.js" />

TeaserHelper = function () {
    this.TeaserItems = null;
    this.TeaserArrow = null;
    this.TeaserItemsImage = null;
    this.IntervalHandle = null;
    this.Container = null;
}

TeaserHelper.prototype = {
    Initialize: function () {
        teaserHelper.Container = $j("#TeaserContainer");
        teaserHelper.TeaserItems = $j(".TeaserItem", teaserHelper.Container);
        teaserHelper.TeaserItemsImage = $j("#TeaserItemsImage", teaserHelper.Container);

        teaserHelper.TeaserItemsImage.click(teaserHelper.HandleTeaserImageClick);

        // Appending red arrow above teaser-image.
        // [MB]
        teaserHelper.TeaserArrow = $j("<img src=\"/Images/Layout/Header/RedTeaserArrow.png\" alt=\"\" />");
        teaserHelper.TeaserArrow.css({
            "position": "absolute",
            "top": "23px",
            "right": "-6px"
        });
        $j(".TeaserItem.Selected").append(teaserHelper.TeaserArrow);

        teaserHelper.StartAnimation();
    },

    HandleTeaserImageClick: function (e) {
        var selectedItem = $j(".TeaserItem.Selected", teaserHelper.Container);
        var linkTitle = $j(".LinkTitle", selectedItem);

        if ((selectedItem.length > 0) && (linkTitle.length > 0)) {
            window.location = "/Woopee/" + selectedItem.attr("ItemId") + "/" + linkTitle.html();

            e.preventDefault();
            e.stopPropagation();
        }
    },

    StartAnimation: function () {
        teaserHelper.IntervalHandle = window.setInterval(function () {
            teaserHelper._SelectItem();
        }, 7000);
    },

    _SelectItem: function (newIdx, selectedItem) {
        var selectedItem = $j(".TeaserItem.Selected", teaserHelper.Container);

        if ((newIdx !== 0) && (!newIdx)) {
            var currentIdx = teaserHelper.TeaserItems.index(selectedItem);

            var newIdx = currentIdx + 1;
            if (newIdx >= teaserHelper.TeaserItems.length)
                newIdx = 0;
        }

        selectedItem.removeClass("Selected");
        teaserHelper.TeaserArrow.remove();
        var nextItem = $j(teaserHelper.TeaserItems[newIdx]);
        nextItem.addClass("Selected").append(teaserHelper.TeaserArrow);
        teaserHelper.TeaserItemsImage.attr("src", nextItem.attr("RelatedImage"));
    },

    StopAnimation: function () {
        if (teaserHelper.IntervalHandle)
            window.clearInterval(teaserHelper.IntervalHandle);
    },

    GoToItem: function (woopeeId) {
        teaserHelper.StopAnimation();

        var pos = teaserHelper.TeaserItems.index($j(".TeaserItem[ItemId=" + woopeeId + "]", teaserHelper.Container));
        teaserHelper._SelectItem(pos);

        teaserHelper.StartAnimation();
    }
}

var teaserHelper = new TeaserHelper();
