fantasyhome = (function($){	
	_navbuttons = function(){			
		var isfirstclick=true;		
		var setContent = function(e,idx){
			var $target = $(e.target);	
			var $container = $target.closest(".tab_module");
			var $activeContent = $container.find(".tab_module_content:eq("+idx+")");		
			var compName = 	$container.find(".navbuttons").attr("compName");
			if(compName==="")compName="MLB Tab Navigation";
			$activeContent.siblings(".tab_module_content").hide();
			$activeContent.fadeIn();
		};		
		var $doc = $(document); 
		$doc.selector = "ul.navbuttons li";
        $doc.live("click", function(e) {	
			var $li = $(this);			
			if($li.parent().children().length > 1) {
				var idx = $li.parent().children("li").index($li);								
				$li.find("div").andSelf().addClass("tb_on");
				$li.siblings().removeClass("tb_on").find("li,div").removeClass("tb_on");	
				setContent(e,idx);	
				var key = $li.parent().attr("id");			
			}	
        });
		$("ul.navbuttons li").each(function(){				
			var old_html = $(this).html();
			var new_html = "<div class='tb_left'></div><div class='tb_mid'>" + old_html + "</div><div class='tb_right'></div>";					
			$(this).html(new_html).show();				
		});				
		$("ul.navbuttons").each(function(){		
			isfirstclick=true;
			var $container = $(this),
				$items = $container.find("li");			
			if ($items.length > 1) {				
				var $default_tab = $container.find("li.tab_module_nav_default");								
				if($default_tab.length>0) {
					$container.find("li").css("cursor","pointer");
					$default_tab.find("div.tb_mid").click();
					isfirstclick=false;
				}else{					
					var rand = Math.floor(Math.random() * $items.length);
					$container.find("li").css("cursor","pointer").end()
					.find("li:eq("+rand+")").find("div.tb_mid").click();
					isfirstclick=false;
				}
			} else {
				$(this).closest(".tab_module").find(".tab_module_content").fadeIn();	
			}			
		});
	},
	
	_carousel = function(){
   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   = 18;
   var listItems = $(".carousel_content li");
    //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
   $(".carousel_content").jCarouselLite({
      btnPrev   : ".prev",
      btnNext   : ".next",
      scroll    : 1,
      visible   : 6,
      speed     : 350,
      btnGo: [
         ".pagination .p1", "null", "null",
         ".pagination .p2", "null", "null"
      ],
      beforeStart : function(item, isAutoScroll){
         $(".pagination a").css({ "background" : pageNumberColor_off, "background-position" : "0 -30px" });
      },
      afterEnd : function(item, isAutoScroll){
         var itemsPerPage = 6; //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);
         $(".pagination .p"+page).css({ "background" : pageNumberColor_on, "background-position" : "0 -70px" });
      }
   });
   // Hover button change.
 	$(".prev").hover(
      function(){ $(this).css({ "background-position" :"0 -276px" }); },
      function(){ $(this).css({ "background-position" :"0 -184px" }); }
   );
   $(".next").hover(
      function(){ $(this).css({ "background-position" :"0 -92px" }); },
      function(){ $(this).css({ "background-position" :"0 0px" }); }
   );
},
		
	_self = {
		init: function(){		
			_navbuttons();
			_carousel();		
		}	
	}	
	return _self;			
})(jQuery);
$(function() { fantasyhome.init(); });
