TW.initCarousel = function(carouselContainer){
	var pageNumberColor_on  = "url(/image/common/icons/carousel_dot_sprite.gif) no-repeat", 
   	    pageNumberColor_off = "url(/image/common/icons/carousel_dot_sprite.gif) no-repeat",
        maxItemsInCarousel  = 20;
	var listItems = $(carouselContainer+" .carousel_content li");

	listItems.each(function(index){
		var compName, compActivity, i = index+1;

		if (carouselContainer==='.row.two'){
			compName     = 'Homepage Tiger Features';
			compActivity = 'Tiger Features - Panel '+i+' Click';
		}
		else if (carouselContainer==='.row.three'){
			compName     = 'Homepage Fan Central';
			compActivity = 'Fan Central - Panel '+i+' Click';
		}

		$(this).find('a').click(
			function(){ 
				bam.tracking.track({ async:{ isDynamic:false, compName:compName, compActivity:compActivity, actionGen:true }}); 
			}
		);
	});

    //Set onLoad styles...
 	for (var i=1;i<=3;i++) {
		$(".p"+i).css({ "background" : pageNumberColor_off, "background-position" : "0 -30px" });
	} 
 		$(".p1").css({ "background" : pageNumberColor_on, "background-position" : "0 -70px" });
   //Remove any extra li items
   if(listItems.length>maxItemsInCarousel){
      var extraListItems = listItems.slice(maxItemsInCarousel);
      extraListItems.each(function(){$(this).remove();});
   }
   //Init JCarousel Lite
   $(carouselContainer+" .carousel_content").jCarouselLite({
      btnPrev   : carouselContainer+" .prev",
      btnNext   : carouselContainer+" .next",
      scroll    : 3,
      visible   : 3,
      speed     : 350,
      btnGo: [
         carouselContainer+" .pagination .p1", "null", "null",
         carouselContainer+" .pagination .p2", "null", "null",
         carouselContainer+" .pagination .p3", "null", "null"
      ],
      beforeStart : function(item, isAutoScroll){
         $(carouselContainer+" .pagination a").css({ "background" : pageNumberColor_off, "background-position" : "0 -30px" });
      },
      afterEnd : function(item, isAutoScroll){
         var itemsPerPage = 3; //should be same as visible setting
         var allItems = $(item[0]).parent().children();
         var length = allItems.length;
         //get current itemNum using item array passed in which list all
         //items currently displayed
         var itemNum = allItems.index(item[0])+1;
         // figure out what page is displayed this is tricky since this version
         // of JCarousel adds two extra pages to give the illusion of a true carousel
         itemNum = itemNum<=itemsPerPage
            ? length-itemNum-itemsPerPage*2
            : itemNum>=length-itemsPerPage
               ? itemNum-(length-itemsPerPage)
               : itemNum-itemsPerPage;
         var page = parseInt(itemNum/itemsPerPage) + (itemNum%itemsPerPage ? 1 : 0);
         $(carouselContainer+" .pagination .p"+page).css({ "background" : pageNumberColor_on, "background-position" : "0 -70px" });
      }
   }); 
      // Hover button change.
   $(carouselContainer+" .prev").hover(
      function(){ $(this).css({ "background-position" :"0 -82px" }); },
      function(){ $(this).css({ "background-position" :"0 -30px" }); }
   );
   $(carouselContainer+" .next").hover(
      function(){ $(this).css({ "background-position" :"0 -186px" }); },
      function(){ $(this).css({ "background-position" :"0 -134px" }); }
   );
};


$(document).ready(function(){
	var initScorecardTabSelected = false,
		initHeadlinesTabSelected = false;

// initialize homepage tabs
	function initTabs(tabsClass){
		var $tabs = $(tabsClass);

		$tabs.click(function () {
			var element_name = this.name,
				$thisTab     = $(this);

			$("#"+element_name).show('').siblings().hide('');
			$tabs.removeClass('active').addClass('inactive');
			$thisTab.addClass('active').removeClass('inactive');

			return false;
		});
	}

	initTabs('.tabs1_button'); // tabs 1
	initTabs('.tabs2_button'); // tabs 2


// bind async tracking
	// mediawall lead item
	var $mediaWall = $('.main_feature_wrapper');
	$mediaWall.find('.video_icon a').click(
		function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage Mediawall', compActivity:'Mediawall - Video Click', actionGen:true }}); }
	);
	$mediaWall.find('.photo_container a').click(function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage Mediawall', compActivity:'Mediawall - Photo Click', actionGen:true }}); });
	$mediaWall.find('h5 a').click(function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage Mediawall', compActivity:'Mediawall - Headline Click', actionGen:true }}); });
	$mediaWall.find('p strong a').click(function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage Mediawall', compActivity:'Mediawall - More Click', actionGen:true }}); });
	$mediaWall.find('.related_links a').click(function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage Mediawall', compActivity:'Mediawall - Related Links Click', actionGen:true }}); });
	
	// news tab
	var $newsTab = $('#tabs1_toggle1');
	$('#newstab').click(
		function(){ 
			if (!initHeadlinesTabSelected){
				initHeadlinesTabSelected=true;
				return;
			}
			bam.tracking.track({ async:{ isDynamic:true, compName:'Homepage Media Corner', compActivity:'MC Top Stories Tab Click', actionGen:true }}); 
		}
	);
	$newsTab.find('li a').click(function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage Media Corner', compActivity:'MC Top Stories Tab - Headline Click', actionGen:true }}); });
	$newsTab.find('span.more a').click(function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage Media Corner', compActivity:'MC Top Stories Tab - More Click', actionGen:true }}); });

	// videos tab
	var $videosTab = $('#tabs1_toggle2');
	$('#videostab').click(
		function(){ 
			if (!initHeadlinesTabSelected){
				initHeadlinesTabSelected=true;
				return;
			}
			bam.tracking.track({ async:{ isDynamic:true, compName:'Homepage Media Corner', compActivity:'MC Video Tab Click', actionGen:true }}); 
		}
	);
	$videosTab.find('li a').click(function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage Media Corner', compActivity:'MC Video Tab - Highlight Click', actionGen:true }}); });
	$videosTab.find('span.more a').click(function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage Media Corner', compActivity:'MC Video Tab - More Click', actionGen:true }}); });

	// photos tab
	var $photosTab = $('#tabs1_toggle3');
	$('#photostab').click(
		function(){ 
			if (!initHeadlinesTabSelected){
				initHeadlinesTabSelected=true;
				return;
			}
			bam.tracking.track({ async:{ isDynamic:true, compName:'Homepage Media Corner', compActivity:'MC Photos Tab Click', actionGen:true }}); 
		}
	);
	$photosTab.find('li a').click(function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage Media Corner', compActivity:'MC Photos Tab - Photo Click', actionGen:true }}); });
	$photosTab.find('span.more a').click(function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage Media Corner', compActivity:'MC Photos Tab - More Click', actionGen:true }}); });

	// scoreboard tab
	$('#scoretab').click(
		function(){ 
			if (!initScorecardTabSelected){
				initScorecardTabSelected=true;
				return;
			}
			bam.tracking.track({ async:{ isDynamic:true, compName:'Homepage Media Corner', compActivity:'MC Scorecard Tab Click', actionGen:true }}); 
		}
	); 
	$('#tabs2_toggle1 a').click(function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage Media Corner', compActivity:'MC Scorecard Tab - Link Click', actionGen:true }}); }); 
	
	// schedule tab 
	$('#scheduletab').click(
		function(){ 
			if (!initScorecardTabSelected){
				initScorecardTabSelected=true;
				return;
			}
			bam.tracking.track({ async:{ isDynamic:true, compName:'Homepage Media Corner', compActivity:'MC Schedule Tab Click', actionGen:true }}); 
		}
	);
	$('#tabs2_toggle2 a').click(function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage Media Corner', compActivity:'MC Schedule Tab - Link Click', actionGen:true }}); }); 

	// on tv tab
	$('#ontvtab').click(
		function(){ 
			if (!initScorecardTabSelected){
				initScorecardTabSelected=true;
				return;
			}
			bam.tracking.track({ async:{ isDynamic:true, compName:'Homepage Media Corner', compActivity:'MC On TV Tab Click', actionGen:true }}); 
		}
	);
	$('#tabs2_toggle3 a').click(function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage Media Corner', compActivity:'MC On TV Tab - Link Click', actionGen:true }}); }); 

	// tiger features
	var $carousel1 = $('.row.two .carousel_container');
	$carousel1.find('.prev').click(function(){ bam.tracking.track({ async:{ isDynamic:true, compName:'Homepage Tiger Features', compActivity:'Tiger Features - Previous Click', actionGen:true }}); });
	$carousel1.find('.next').click(function(){ bam.tracking.track({ async:{ isDynamic:true, compName:'Homepage Tiger Features', compActivity:'Tiger Features - Next Click', actionGen:true }}); });
	$carousel1.find('.pagination li a').click(function(){ bam.tracking.track({ async:{ isDynamic:true, compName:'Homepage Tiger Features', compActivity:'Tiger Features - Circle Click', actionGen:true }}); });

	// fan central
	var $carousel2 = $('.row.three .carousel_container');
	$carousel2.find('.prev').click(function(){ bam.tracking.track({ async:{ isDynamic:true, compName:'Homepage Fan Central', compActivity:'Fan Central - Previous Click', actionGen:true }}); });
	$carousel2.find('.next').click(function(){ bam.tracking.track({ async:{ isDynamic:true, compName:'Homepage Fan Central', compActivity:'Fan Central - Next Click', actionGen:true }}); });
	$carousel2.find('.pagination li a').click(function(){ bam.tracking.track({ async:{ isDynamic:true, compName:'Homepage Fan Central', compActivity:'Fan Central - Circle Click', actionGen:true }}); });

	// TWF
	var $TWF = $('.row.three .feature_list');
	$TWF.find('li a').click(function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage TWF Box', compActivity:'TWF Box - Headline Click', actionGen:true }}); });
	$TWF.find('span.more a').click(function(){ bam.tracking.track({ async:{ isDynamic:false, compName:'Homepage TWF Box', compActivity:'TWF Box - TWF.com Link Click', actionGen:true }}); });

});

