salmon.namespace.addNamespace("hottershoes.TabSetCollection");

hottershoes.TabSetCollection = {
	init: function() {
		$("ul.tabNavigation").show();
		$(".tab .tabTitles").hide();
		var tabsets = $(".tabset");
		for(var i = 0;i<tabsets.length;i++) {
			hottershoes.TabSetCollection.tabSet = new hottershoes.TabSetCollection.TabSet(tabsets[i]);
		}
	},
	TabSet: function(tabset) {
		var tabActivators = "";
		var tabActivatorCssClass = "selected";
		var tabCssClass = "unselected";
		init();
		function init() {
			var selectedTab = "";
			tabActivators = $("a.tabActivator",tabset);
			for (var i=0; i < tabActivators.length; i++) {
				tabActivators[i].relatedTab = document.getElementById(tabActivators[i].hash.slice(1));
				tabActivators[i].onclick = tabClicked;
				if ( $(tabActivators[i]).hasClass(tabActivatorCssClass) ) {
					selectedTab = tabActivators[i].relatedTab;
				}			
			}
			hideAllTabs(selectedTab);
			hideEmptyTabs();
		}
		function hideAllTabs(nodeToIgnore) {
			for ( var i = tabActivators.length-1; i >= 0; i--) {
				if (tabActivators[i].relatedTab != nodeToIgnore) {
					$(tabActivators[i]).removeClass(tabActivatorCssClass);
					$(tabActivators[i].relatedTab).addClass(tabCssClass);
				}
			}
		}
		function tabClicked() {
			hideAllTabs(this.relatedTab);
			$(this).addClass(tabActivatorCssClass);
			$(this.relatedTab).removeClass(tabCssClass);
			$(this).blur();
			return false;
		}
		function hideEmptyTabs(){
			var isFirst = false;
			for (var i=0; i < tabActivators.length; i++) {
				var tabName = $(tabActivators[i]).attr("href");
				if($(tabName + " .tabDetails").length>0){
					var tabText = $(tabName + " .tabDetails").text();
					tabText = tabText.replace(/ /g,"");
					tabText = tabText.replace(/\n/g,""); 
					tabText = tabText.replace(/\t/g,"");
					if(tabText.length == 0){
						if($(tabName + " .tabDetails img").length>0){
							if(!isFirst){
								isFirst = true
								$(tabActivators[i]).addClass("selected");
								$(tabName).removeClass("unselected");
								$(tabActivators[i],tabName).parent().addClass("first");
							}
						} else {
							$(tabActivators[i],tabName).css({display:"none"});
							$(tabName).addClass("unselected");
						}
					} else {
						if(!isFirst){
							isFirst = true
							$(tabActivators[i]).addClass("selected");
							$(tabName).removeClass("unselected");
							$(tabActivators[i],tabName).parent().addClass("first");
						}
					}
				}
			}
		}
	}
}

$(document).ready(function(){ hottershoes.TabSetCollection.init(); });
