// 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) {
	
	carousel.prev();
    jQuery('.jcarousel-control a').bind('click', function() {
		carousel.scroll(jQuery.jcarousel.intval(jQuery(this).attr("rel")));
        return false;
    });
	
	jQuery('#piv-carousel-next').bind('click', function() {
        carousel.next();
        return false;
    });

    jQuery('#piv-carousel-prev').bind('click', function() {
        carousel.prev();
        return false;
    });

};
function piv_carousel_itemLoadCallback(carousel) {
/*	if(alignVideos == true){
		var pivTotalWidth = totalPIVs * pivWidth;
		jQuery('.jcarousel-list, .jcarousel-list-horizontal').width(pivContWidth);
		jQuery('#piv-carousel  li').width(pivContWidth/totalPIVs-10);
	}*/
}
// Ride the carousel...
function Loadarousel()
{
    jQuery(document).ready(function() {
    	
    	
	    // variables hide tabs if div container is too small 
	    var pivScrollTotalTabs		= $('#piv-scroll-tabs li').size();
	    var currentPivScrollTab		= $('#piv-scroll-tabs li:last');
	    var pivScrollTabWidth		= 142;
	    var pivScrollInitiateWidth  = pivScrollTabWidth * pivScrollTotalTabs + 10;
	    var pivScrollWidth			= $('#piv-control-container-wrap').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('hidePivTab');
			    // 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
	    $('#piv-scroll-wapper').width($('#piv-control-container-wrap').width()+2);
    	

	    // variables for videos visible per scroll						
	    pivWidth 			= 178;
	    pivContWidth 		= $("#piv-scroll-wapper").width() - 0;
	    var videoCapacity	= Math.floor(pivContWidth/pivWidth);	
    	
	    // variable for pagination
	    totalPIVs			= $('#piv-scroll-wapper 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 *(videoCapacity) - videoCapacity + 1;
			    var paginationLink 	= "<a href='javascript:void(0);' rel='" + scrollToVideo + "' index='" + i + "'>"+currentPage+"</a>"
			    paginationHTML 		= paginationHTML + paginationLink;
		    }
		    // publish pagination to div
		    $('.jcarousel-control').html(paginationHTML);
    		
    		
    		
    		
    		
    		
		    // pagination current interaction
		    var pivPage			= $('.jcarousel-control a');
		    var pivPageFirst 	= 0;
		    var pivPageLast 	= totalPages - 1;
		    var pivPageCurrent 	= $('.jcarousel-control a:first');
    		
		    pivPageCurrent.addClass('currentPivPage');
    		
		    $('.jcarousel-control a').click(function(){		
			    pivPageCurrent.removeClass('currentPivPage');
			    pivPageCurrent = $(this).addClass('currentPivPage');
		    });
    		
		    $('#piv-carousel-prev').click(function(){
			    if(pivPageCurrent.attr("index") != pivPageFirst){
				    pivPageCurrent.removeClass('currentPivPage');
				    pivPageCurrent = pivPageCurrent.prev();
				    pivPageCurrent = pivPageCurrent.addClass('currentPivPage');
			    }
		    });
    		
		    $('#piv-carousel-next').click(function(){
			    if(pivPageCurrent.attr("index") != pivPageLast){
				    pivPageCurrent.removeClass('currentPivPage');
				    pivPageCurrent = pivPageCurrent.next();
				    pivPageCurrent = pivPageCurrent.addClass('currentPivPage');
			    }
		    });
    			
    			
	    } else {
		    // hide arrows
		    $('#piv-carousel-next').hide();
		    $('#piv-carousel-prev').hide();
    		
		    // hide pagination
		    paginationHTML = "<a href='javascript:void(0);' rel='1' index='1' style='visibility:hidden;'>1</a>"
		    $('.jcarousel-control').html(paginationHTML);
    		
		    alignVideos = true;
	    }
	    // initiate Carousel
        jQuery("#piv-carousel").jcarousel({
		    visible: videoCapacity,
            scroll: videoCapacity,
            initCallback: piv_carousel_initCallback,
		    itemLoadCallback:piv_carousel_itemLoadCallback,
            // this tells jCarousel NOT to autobuild prev/next buttons
            buttonNextHTML: null,
            buttonPrevHTML: null
        });
    });
}

