var tabcolors = new Array();

function settabcolors(set, sel, unsel) {
	tabcolors[set] = [ sel, unsel ];
}

function settab(set, tabn) {
	// Move the given tab into the tabset
	var tabsetid = "tab_" + set;
	var tabid = tabsetid + "_" + tabn;

	var tabset = document.getElementById(tabsetid);
	var tab = document.getElementById(tabid);
	var holder = document.getElementById(tabsetid + "__tabholder");
	var pane = document.getElementById(tabsetid + "__pane");
	
	if (tab == null) {
		tab = holder.firstChild;
		var newtabn = tab.id.substring(tabid.length - tabn.length);
		tabn = newtabn;
	}

	var curtab = pane.firstChild;
	if (curtab == tab) return;
	if (curtab != null) {		
		holder.appendChild(curtab);
	}
	curtab = tab;
	if (curtab != null) {
		pane.appendChild(curtab);
	}

	var samps = tabset.getElementsByTagName("samp");
	var match = tabsetid + "__header_";
	for (var i = 0; i < samps.length; i++) {
		if (samps[i].id.indexOf(match) >= 0) {
			var name = samps[i].id.substring(match.length);
			var td = samps[i].parentNode;
			var div = document.getElementById(tabsetid + '_' + name);
			if (tabn == name) {
				td.className = tabcolors[set][0];
				td.style.borderBottomWidth = 0;
				div.style.display = 'inline';
			}
			else {
				td.className = tabcolors[set][1];
				td.style.borderBottomWidth = 1;
				div.style.display = 'none';
			}
		}
	}
	
	// finally, set the cookie
	setCookie(tabsetid, tabn);
}

function settabwithcookie(set, tabn) {
	// Used to check a local cookie to determine whether the currently selected tab is different
	var name = "tab_" + set;
	var value = getCookie(name);
	if (value != null) {
		tabn = value;
	}
	settab(set, tabn);
}

function drawtabtitle(set, tab) {
	var id = "tab_" + set;
	var tabset = document.getElementById(ts);
}

//  These functions are used by new Fancy Tabs (Portal style)
function setTab(tabSetName, tabName, currentClassName) {
	//First, change current tab title
	tabTitles = document.getElementById(tabSetName + "_tab_titles").firstChild;
	for(var i = 0; i < tabTitles.childNodes.length; i = i + 1) {
		tabTitle = tabTitles.childNodes[i];
		var tabFullName = tabName + "_tab_title";
		if(tabTitle.getAttribute("id") == tabFullName) {
			tabTitle.className = currentClassName;
		}
		else {
			tabTitle.className =  "";
		}
	}
	//Next, change the current tab body to be visible
	tabs = document.getElementById(tabSetName + "_tab_bodies");
	for(var i = 0; i < tabTitles.childNodes.length; i = i + 1) {
		tab = tabs.childNodes[i];
		if(tab.id == (tabName + "_tab_body")) {
			tab.style.display = "";
		}
		else {
			tab.style.display = "none";
		}
	}
	
	//Finally, set current tab in a cookie to hold state between posts
	setHpCookie(tabSetName, tabName);
}

function setTabWithCookie(tabSetName, tabName, currentClassName) {
	var value = getHpCookie(tabSetName);
	if (value != null) {
		tabName = value;
	}
	setTab(tabSetName, tabName, currentClassName);
}

function clearOffFocusElements(elementIds) { 
	for(var i = 0; i < elementIds.length; i = i + 1) {
		var offFocusElement = document.getElementById(elementIds[i]);
		if(offFocusElement != null) { 
			offFocusElement.innerHTML = "";
		}
	}
}