// JavaScript Document
var alignVideos = false;
var totalPIVs;
var pivWidth;
var pivContWidth;
/***********************************************************
We use the initCallback callback
to assign functionality to the controls
************************************************************/
function piv_carousel_initCallback(carousel) {
    var prefix = carousel.options.prefix;
    $(prefix + "fv-view-pages a").unbind("click")
    $(prefix + "fv-view-pages a").click(function () {
        carousel.scroll(jQuery.jcarousel.intval($(this).attr("rel")));
        $(".fv-view-page-selected", this.parentNode).removeClass();
        $(this).addClass("fv-view-page-selected");
        return false;
    });

    $(prefix + "fv-view-carousel-next").unbind("click");
    $(prefix + "fv-view-carousel-next").click(function () {
        if (carousel.last != carousel.options.size) {
            carousel.next();
            if (carousel.first != carousel.prevFirst) {
                $(".fv-view-page-selected", this.parentNode).removeClass().next().addClass("fv-view-page-selected");
            }
        }
        return false;
    });

    $(prefix + "fv-view-carousel-prev").unbind("click");
    $(prefix + "fv-view-carousel-prev").click(function () {
        if (carousel.first != 1) {
            carousel.prev();
            if (carousel.first != carousel.prevFirst) {
                $(".fv-view-page-selected", this.parentNode).removeClass().prev().addClass("fv-view-page-selected");
            }
        }
        return false;
    });
    // {The following is a work around for a bug in jCarousel that messes up the width property of some div elements contained in li elements.
    //  Here, only div elements with position:absolute have messed up widths.
    var width = $(prefix + "fv-view-carousel li:first").css("width");
    $(prefix + "fv-view-carousel li .position-absolute").css("width", width);
    // }
};

function piv_carousel_itemLoadCallback(carousel) {
    /*	if(alignVideos == true){
    var pivTotalWidth = totalPIVs * pivWidth;
    jQuery(".jcarousel-list, .jcarousel-list-horizontal").width(pivContWidth);
    jQuery("#fv-view-carousel  li").width(pivContWidth/totalPIVs-10);
    }*/
}

// Ride the carousel...
function LoadCarousel(prefix) {
    jQuery(document).ready(function () {
        // variables hide tabs if div container is too small 
        prefix = "#" + prefix + "_";
        var pivScrollTotalTabs = $(prefix + "fv-view-tabs li").size();
        var currentPivScrollTab = $(prefix + "fv-view-tabs li:last");
        var pivScrollTabWidth = 142;
        var pivScrollInitiateWidth = pivScrollTabWidth * pivScrollTotalTabs + 10;
        var pivScrollWidth = $(prefix + "fv-view-container").width();

        // hide tabs if div container is too small
        for (var i = 0; pivScrollTotalTabs > i; i++) {
            // does last tab overflows the scrolling container
            if (pivScrollInitiateWidth > pivScrollWidth) {
                // hide the tab
                currentPivScrollTab.addClass("fv-view-tab-hidden");
                // update width pixels of following tab
                pivScrollInitiateWidth = pivScrollInitiateWidth - pivScrollTabWidth;
                // update selector tab to previous
                currentPivScrollTab = currentPivScrollTab.prev();
            }
        }

        //set the width of the carousel to match its parent
        $(prefix + "fv-view-carousel-container").width($(prefix + "fv-view-container").width() + 2);

        // variables for videos visible per scroll
        pivWidth = 178;
        pivContWidth = $(prefix + "fv-view-carousel-container").width() - 0;
        var videoCapacity = Math.floor(pivContWidth / pivWidth);

        // variable for pagination
        totalPIVs = $(prefix + "fv-view-carousel-container li").size();
        var totalPages = Math.ceil(totalPIVs / videoCapacity);
        var paginationHTML = "";

        // create pagination links
        if (totalPages > 1) {
            for (var i = 0; totalPages > i; i++) {
                var currentPage = i + 1;
                var scrollToVideo = ((currentPage - 1) * videoCapacity) + 1;
                var paginationLink = "<a href='javascript:void(0);' rel='" + scrollToVideo + "' index='" + i + "'>" + currentPage + "</a>"
                paginationHTML = paginationHTML + paginationLink;
            }
            // publish pagination to div
            $(prefix + "fv-view-pages").html(paginationHTML);

            // pagination current interaction
            var pivPage = $(prefix + "fv-view-pages a");
            var pivPageFirst = 0;
            var pivPageLast = totalPages - 1;
            var pivPageCurrent = $(prefix + "fv-view-pages a:first");

            pivPageCurrent.addClass("fv-view-page-selected");
        } else {
            // hide arrows
            $(prefix + "fv-view-carousel-next").hide();
            $(prefix + "fv-view-carousel-prev").hide();

            // hide pagination
            paginationHTML = "<a href='javascript:void(0);' rel='1' index='1' style='visibility:hidden;'>1</a>"
            $(prefix + "fv-view-pages").html(paginationHTML);

            alignVideos = true;
        }

        // initiate Carousel
        jQuery(prefix + "fv-view-carousel").jcarousel({
            prefix: prefix,
            visible: videoCapacity,
            scroll: videoCapacity,
            animation: "slow",
            initCallback: piv_carousel_initCallback,
            //itemLoadCallback: piv_carousel_itemLoadCallback,
            // this tells jCarousel NOT to autobuild prev/next buttons
            buttonNextHTML: null,
            buttonPrevHTML: null,
            itemFallbackDimension: 1
        });
    });
}

function FeaturedVideosLoader(idName, imageVar, linkVar, flashVars) {
    var javaText =
        "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='178' height='100'>" +
        "<param name='movie' value='http://wms.tkcarsites.com/PowerIndexedVideo/videoplayer/player.swf'' />" +
        "<param name='wmode' value='transparent' />" +
        "<param name='allowfullscreen' value='true' />" +
        "<param name='allowscriptaccess' value='always' />" +
        "<param name='flashvars' value=" + flashVars + " />" +
        "<object type='application/x-shockwave-flash' data='http://wms.tkcarsites.com/PowerIndexedVideo/videoplayer/player.swf' width='178' height='100'>" +
        "<param name='wmode' value='transparent' />" +
        "<param name='allowfullscreen' value='true' />" +
        "<param name='allowscriptaccess' value='always' />" +
        "<param name='flashvars' value=" + flashVars + " />" +
        "<div>" +
        "<a href='" + linkVar + "'><img src='" + imageVar + "' width='178px' height='100px'/></a>" +
        "</div>" +
        "</object>" +
        "</object>";
    var so = document.getElementById(idName);
    so.innerHTML = javaText;
}
