﻿jQuery(document).ready(function () {
    $('#featuredCarousel').show();
    $('#featuredCarousel').jcarousel({
        scroll: 4,
        itemLastInCallback: LastInHandler,
        initCallback: InitCarouselDots
    });

    initDateList();

    $("#learnMoreLink").mouseover(function (e) {
        overLink = true;
        overBox = false;
    });

    $("#learnMoreLink").mouseout(function (e) {
        overLink = false;
        outTimer = setTimeout("featureMouseout()", 100);
    });

    $("#buyTicketsLink").mouseover(function (e) {
        overLink = true;
        overBox = false;
    });

    $("#buyTicketsLink").mouseout(function (e) {
        overLink = false;
        outTimer = setTimeout("featureMouseout()", 100);
    });

    $("#featuredCarousel .featuredItem").mouseover(function (e) {
        clearTimeout(outTimer);
        var featuredItem = e.target;
        if ($(e.target).hasClass("featuredItem") == false) {
            featuredItem = $(e.target).closest(".featuredItem");
        }

        var overBox = true;
        var overLink = false;
        $("#learnMoreLink").attr("href", "");
        $("#buyTicketsLink").attr("href", "");
        //var itemInfo = $(featuredItem).attr("title");
        var itemInfo = $(featuredItem).children("input").val();
        var splitInfo = itemInfo.split("|");
        $("#learnMoreLink").attr("href", splitInfo[0]);
        $("#learnMoreLink").show();
        $("#learnMoreLink").css('top', $(featuredItem).offset().top - 27);
        $("#learnMoreLink").css('left', $(featuredItem).offset().left + 12);

        $("#buyTicketsLink").attr("href", splitInfo[1]);
        $("#buyTicketsLink").show();
        $("#buyTicketsLink").css('top', $(featuredItem).offset().top + $(featuredItem).height());
        $("#buyTicketsLink").css('left', $(featuredItem).offset().left + 12);
    });

    $("#featuredCarousel .featuredItem").mouseout(function (e) {
        overBox = false;
        outTimer = setTimeout("featureMouseout()", 100);
    });

    // Check to make sure that the innerfade plugin is loaded
    if (jQuery.innerfade) {
        if ($(".sponsorsList .sponsorItem").length > 1) {
            // Init the innerfade plugin if there is more than one sponsor to rotate
            $(".sponsorsList").innerfade({
                speed: 'slow',
                timeout: 2000,
                type: 'sequence',
                containerheight: '220px'
            });
        } else {
            // If there is only one sponsor then just display it.
            $(".sponsorsList .sponsorItem").show();
        }
    }
});

var overLink = false;
var overBox = false;
var outTimer = null;

function featureMouseout()
{
    if (overLink == false && overBox == false) {
        $("#learnMoreLink").hide();
        $("#buyTicketsLink").hide();
    }
}

function processSelectedDate(dateText, inst)
{
    $.ajax({
        type: "POST",
        url: "/CalOfEvents.asmx/GetEvents",
        data: "{'requestedDate': '" + dateText + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            if (msg.d.indexOf("<h3>") < 0) {
                window.location = msg.d;
            } else {
                AjaxSucceeded(msg);
            }
        },
        error: AjaxFailed
    });
}

function AjaxSucceeded(result)
{
    $.fancybox({
        content: result.d,
        overlayOpacity: 0.85,
        width: 300,
        height: 300,
        autoDimensions: false
    });
}

function AjaxFailed(result)
{
    alert(result.status + ' ' + result.statusText);
}

var calendarEvents = [];

function initDateList()
{
    $.ajax({
        type: "POST",
        url: "/CalOfEvents.asmx/GetEventDateList",
        data: "",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            calendarEvents = eval(msg.d);
            $('#datepicker').datepicker({
                inline: true,
                dayNamesMin: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
                beforeShowDay: initActiveDays,
                onSelect: processSelectedDate
            });
            $('.sponsorBox').show();
        },
        error: AjaxFailed
    });
}

function initActiveDays(date)
{
    var curDate = new Date();
    for (i = 0; i < calendarEvents.length; i++) {
        if (date.getMonth() == calendarEvents[i][0] - 1 && date.getDate() == calendarEvents[i][1] && date.getFullYear() == calendarEvents[i][2]) {
            return [true, "prodType" + calendarEvents[i][3], ""];
        }
    }
    return [true, ""]; //enable all other days
}

var oldDotNum = 0;

function LastInHandler(inst, li, index)
{
    var dotNum = Math.ceil(index / 4);
    dotNum = dotNum - 1;
    var dots = $(".carouselDots li");
    for (var i = 0; i < dots.length; i = i + 1) {
        if (i == dotNum) {
            $($(dots[oldDotNum]).find("img")).attr("src", "/images/home/ark_rep_main_promo_white_dot.gif");
            $($(dots[i]).find("img")).attr("src", "/images/home/ark_rep_main_promo_blue_dot.gif");
            oldDotNum = i;
        }
    }
}

function InitCarouselDots() {
    var dotsElm = $(".carouselDots");
    var carouselItems = $("#featuredCarousel li");
    for (var i = 0; i < carouselItems.length; i = i + 4) {
        dotsElm.append('<li><img src="/images/home/ark_rep_main_promo_white_dot.gif" width="6" height="6" alt="" /></li>');
    }

    $(".jcarousel .jcarousel-item").animate({ "padding-left": "-=997px" }, 2000, "easeOutCirc");
}

/***** photo gallery related *****/
var thumbContainerID = 'photoThumbs';
var prevNavID = 'prevNav';
var nextNavID = 'nextNav';

jQuery(document).ready(function () {
    var colCount = Math.ceil($('#' + thumbContainerID + ' ul li').length / 2);
    var colWidth = $('#' + thumbContainerID).width();
    var curScrollPos = 0;
    var maxScrollPos = colWidth * (colCount - 1);

    disableNavLink(prevNavID);
    if (colCount < 2) {
        disableNavLink(nextNavID);
    }

    $('#' + nextNavID).click(function (e) {
        e.preventDefault();
        curScrollPos = $('#' + thumbContainerID).scrollLeft();
        if (curScrollPos < maxScrollPos) {
            $('#' + thumbContainerID).scrollTo((curScrollPos + colWidth) + 'px', 600, { onAfter: function () {
                if ($('#' + thumbContainerID).scrollLeft() == maxScrollPos) {
                    disableNavLink(nextNavID);
                }
                enableNavLink(prevNavID);
            }
            });
        }
    });

    $('#' + prevNavID).click(function (e) {
        e.preventDefault();
        curScrollPos = $('#' + thumbContainerID).scrollLeft();
        if (curScrollPos > 0) {
            $('#' + thumbContainerID).scrollTo((curScrollPos - colWidth) + 'px', 600);
            if ($('#' + thumbContainerID).scrollLeft() == maxScrollPos) {
                disableNavLink(prevNavID);
            }
            enableNavLink(nextNavID);
        }
    });

    $('#' + thumbContainerID + ' .thumbItem a').click(function (e) {
        e.preventDefault();
        selectImage(this);
    });

    initFirstImage();
});

function disableNavLink(linkID)
{
    $('#' + linkID).addClass('disabled');
}

function enableNavLink(linkID) {
    $('#' + linkID).removeClass('disabled');
}

function initFirstImage()
{
    var firstItem = $('#' + thumbContainerID + ' .thumbItem')[0];
    var firstImg = $(firstItem).find('a');
    selectImage(firstImg);
}

function selectImage(selectedItem) {
    var imgSrc = $(selectedItem).attr('href');
    var imgDesc = $(selectedItem).attr('title');
    $('.largePhoto').attr('src', imgSrc);
    $('.photoDescription').html(imgDesc);
}
