﻿//$( function () {
function RotatingBillboard_Initialize(id)
{
    var BillboardContainer = $('#' + id);
    BillboardContainer.find(".BillboardItem").each( function (i) {
        BillboardContainer.find(".NextButton").after("<div class=\"ItemNumber\">" + (i + 1) + "</div>");
        $(this).hide();
    });
    BillboardContainer.find(".BillboardItem:first").show().addClass("Active");
    BindNavigation(BillboardContainer);
    BillboardContainer.find(".ItemNumber:last").addClass("Active");
    BillboardContainer.data("UpdateInterval", setInterval(function () { 
        BillboardContainer.find(".NextButton").triggerHandler('click');
    }, 7000));
    BillboardContainer.find(".BillboardControls").one('click', {container: BillboardContainer}, function (e) {
        clearInterval(e.data.container.data("UpdateInterval"));
    });
}
//});

function ItemNumber_Click(e)
{
    var container = e.data.container;
    $(this).unbind('click');
    var index = parseInt($(this).text(), 10) - 1;
    var newItem = container.find(".BillboardItem:eq(" + index + ")");
    if (!newItem.hasClass("Active"))
    {
        container.find(".BillboardItem.Active").removeClass("Active").fadeOut(400);
        container.find(".ItemNumber.Active").removeClass("Active");
        newItem.fadeIn(400, function () {
            $(this).addClass("Active"); //add to panel
            UnbindNavigation(container);
            BindNavigation(container);
        });
        $(this).addClass("Active"); //add to number
    }
    else
    {
        UnbindNavigation(container);
        BindNavigation(container);
    }
}

function PrevButton_Click(e)
{
    var container = e.data.container;
    $(this).unbind('click');
    var prev = container.find(".ItemNumber.Active").next(".ItemNumber");
    if (prev.length > 0)
    {
        prev.triggerHandler('click');
    }
    else
    {
        container.find(".ItemNumber:first").triggerHandler('click');
    }
}

function NextButton_Click(e)
{
    var container = e.data.container;
    $(this).unbind('click');
    var next = container.find(".ItemNumber.Active").prev(".ItemNumber");
    if (next.length > 0)
    {
        next.triggerHandler('click');
    }
    else
    {
        container.find(".ItemNumber:last").triggerHandler('click');
    }
}

//function AdjustHeight(container)
//{
//    container.find(".BillboardControls").css("padding-top", container.find(".Active").height());
//    container.find(".Active").find(".ItemImage").load( function () {
//        if ($(this).parent().height() > parseInt(container.find(".BillboardControls").css("padding-top"), 10))
//        {
//            container.find(".BillboardControls").css("padding-top", $(this).parent().height());
//        }
//    });
//}

function BindNavigation(container)
{
    container.find(".PrevButton").bind('click', {container: container}, PrevButton_Click);
    container.find(".NextButton").bind('click', {container: container}, NextButton_Click);
    container.find(".ItemNumber").bind('click', {container: container}, ItemNumber_Click);
}

function UnbindNavigation(container)
{
    container.find(".PrevButton").unbind('click');
    container.find(".NextButton").unbind('click');
    container.find(".ItemNumber").unbind('click');
}