/** 
* Copyright 2005 massimocorner.com
* JavaScript library for the "tab" ColdFusion custom tag
* @author      Massimo Foti (massimo@massimocorner.com)
* @version     1.0, 2005-12-11
 */
 
function tmt_tabSwitch(tab, cssClass){
	var tabsContainer = tab.parentNode;
	var tabs = tabsContainer.getElementsByTagName("a");
	var tabPanels = tmt_tabGetPanels(tabsContainer.parentNode);
	var selectedTabIndex;
	for(var i=0; i<tabs.length; i++){
		if(tabs[i] == tab){
			// Store the index of the currentely selected tab
			selectedTabIndex = i;
			tmt_tabAppendClass(tab, cssClass);
		}
		else{
			tmt_tabRemoveClass(tabs[i], cssClass);
		}
	}
	for(var j=0; j<tabPanels.length; j++){
		// Show the selected tab, hide the rest
		tabPanels[j].style.display = (j == selectedTabIndex) ? "block" : "none";
	}
}

function tmt_tabGetPanels(tabGroupNode){
	var panelsNodes = new Array();
	var divNodes = tabGroupNode.getElementsByTagName("div");
	for(var i=0; i<divNodes.length; i++){
		if(divNodes[i].className == "tmtPanel"){
			panelsNodes[panelsNodes.length] = divNodes[i];
		}
	}
	return panelsNodes;
}

function tmt_tabAppendClass(theNode, cssClass){
	if(theNode.className.indexOf(cssClass) == -1){
		theNode.className = theNode.className + " " + cssClass;
	}
}

function tmt_tabRemoveClass(theNode, cssClass){
	var regClass = new RegExp("\\b" + cssClass);
	theNode.className = theNode.className.replace(cssClass, "");
}