function TM_switchTabs(tabSelectorObject, tabPanelsId, tabSelectorId) {
	if ((typeof tabSelectorObject) == "object") {
		tabSelectorObjectList = tabSelectorObject.parentNode.getElementsByTagName("div");
		tabInterSelectorObjectList = tabSelectorObject.parentNode.getElementsByTagName("span");
	}
	if ((typeof tabSelectorObject) == "number") {
		tabSelectorObjectList = document.getElementById(tabSelectorId).getElementsByTagName("div");
		tabInterSelectorObjectList = document.getElementById(tabSelectorId).getElementsByTagName("span");
		tabSelectorObject = tabSelectorObjectList[tabSelectorObject];
	}
	tabPanelObjectsRawList = document.getElementById(tabPanelsId).getElementsByTagName("div");
	tabPanelObjectsList = new Array;
	for (var scan = 0; scan < tabPanelObjectsRawList.length; scan++) {
		if(tabPanelObjectsRawList[scan].parentNode.id == tabPanelsId) {
			dummy = tabPanelObjectsList.push(tabPanelObjectsRawList[scan]);
		}
	}
	for (var scan = 0; scan < tabSelectorObjectList.length; scan++) {
		if (tabSelectorObjectList[scan] != tabSelectorObject) {
			tabSelectorObjectList[scan].className = "tab_back";
			tabPanelObjectsList[scan].className = "tabPanel_back";
			if (scan > 0) {
				tabInterSelectorObjectList[scan].className = "tab_middle_left_back";
				if (tabSelectorObjectList[scan-1] == tabSelectorObject) {
					tabInterSelectorObjectList[scan].className = "tab_middle_left_front";
				}
			} else {
				tabInterSelectorObjectList[scan].className = "tab_left_end_back";
			}
		} else {
			tabSelectorObjectList[scan].className = "tab_front";
			tabPanelObjectsList[scan].className = "tabPanel_front";
			if (scan > 0) {
				tabInterSelectorObjectList[scan].className = "tab_middle_right_front";
			} else {
				tabInterSelectorObjectList[0].className = "tab_left_end_front";
			}
			if (scan == tabSelectorObjectList.length-1) {
				tabInterSelectorObjectList[tabInterSelectorObjectList.length-1].className = "tab_right_end_front";
			} else  {
				tabInterSelectorObjectList[tabInterSelectorObjectList.length-1].className = "tab_right_end_back";
			}
		}
	}
}
function TM_switchTabsRemote(){
	hashString = window.location.hash;
	if (hashString) {
		var pathDelimiter = "~";
		var tabPath = hashString.split(pathDelimiter);
		for (var tabPathScan = 0; tabPathScan < tabPath.length; tabPathScan++){
			if(tabPath[tabPathScan].indexOf("#")) tabPath[tabPathScan] = "#"+tabPath[tabPathScan];
			namedTabIndex = document.getElementsByName(tabPath[tabPathScan]);
			if(namedTabIndex.length) {
				functionCallParameter = namedTabIndex[0].parentNode.getAttribute("onClick");
				if(functionCallParameter) {
					functionCallParameterSearchReg = /TM_switchTabs[ ]*?\([ ]*?this,[ ]*?'([a-zA-Z0-9\-]*)'/;
					functionCallParameterSearchReg.exec(functionCallParameter);
					if(RegExp.$1.length) {
						TM_switchTabs(namedTabIndex[0].parentNode, RegExp.$1);
					}
				}
			}
		}
	}
}
function TM_getActiveTab(tabPanelsGroupId) {
	var tabPanelObjectsRawList = new Array();
	tabPanelObjectsRawList = document.getElementById(tabPanelsGroupId).getElementsByTagName("div");
	for(var scan=0; scan<tabPanelObjectsRawList.length; scan++) {
		if (tabPanelObjectsRawList[scan].className.search(/_front/) != -1
			&& tabPanelObjectsRawList[scan].parentNode.getAttribute("id") == tabPanelsGroupId
		) return tabPanelObjectsRawList[scan];
	}
	return false;
}
