/***************************************/
// jQuery Tabber
// By Jordan Boesch
// www.boedesign.com
// Dec 25, 2007 (Merry Christmas!)
/***************************************/

(function($){
		$.jtabber = function(params){
				// parameters
			    var tabContainerWrapCl = params.tabContainerWrapCl;
				var tabHeaderContainerCl = params.tabHeaderContainerCl;				    
				var tabHeaderSelectedCl = params.tabHeaderSelectedCl;				
				var tabContainerCl = params.tabContainerCl;
				var tabContainerSelectedCl =params.tabContainerSelectedCl; 
				var tabContainerSelectedCallback=params.tabContainerSelectedCallback;
								
				var showDefaultTab = params.showDefaultTab;
				var effect = params.effect;
				var effectSpeed = params.effectSpeed;
				
				var tabContainerWrapCls = $('.'+tabContainerWrapCl);
				
				tabContainerWrapCls.each(function(index){
					var theContainerWrap =$(this);
					var tabContainerCls=theContainerWrap.children('.'+tabContainerCl);
					var tabHeaderContainerCls=theContainerWrap.children('.'+tabHeaderContainerCl);
					var tabHeaderContainerCllis=tabHeaderContainerCls.children('li');
					
					// If we want to show the first block of content when the page loads
					if(!isNaN(showDefaultTab)){
						showDefaultTab--;
						tabHeaderContainerCllis.eq(showDefaultTab).addClass(tabHeaderSelectedCl);						
						tabContainerCls.eq(showDefaultTab).css('display','block');
					}
					
					// each anchor
					tabHeaderContainerCllis.each(function(index){
						var theTabHeaderContainerClli =$(this);
						theTabHeaderContainerClli.click(function(){
							tabHeaderContainerCllis.removeClass(tabHeaderSelectedCl);
							// hide all content
							tabContainerCls.removeClass(tabContainerSelectedCl);
							tabContainerCls.css('display','none');
							
							//消除绑定事件
							var thechildren=theContainerWrap.children();
							thechildren.each(function(index){
								$(this).unbind("ajaxStart");
								$(this).unbind("ajaxStop");								
							});

							tabContainerCls.unbind("ajaxStop");						
							
							// now lets show the desired information
							theTabHeaderContainerClli.addClass(tabHeaderSelectedCl);
							var tabContainerSelected = tabContainerCls.eq(index);
							
							tabContainerSelected.addClass(tabContainerSelectedCl);
							tabContainerSelected.css('display','block');  
							if (typeof tabContainerSelectedCallback =="function"){
								tabContainerSelectedCallback(tabContainerSelected);
							}
							return true;
						})
					})
				})
		}
	
})(jQuery);	
