var activeTab = '';
var alignTabElements = true;
var anchorInserted = false;
var visibleTabs = new Array();
 
function generateVisibleTabs() {
	var tabstart = '<div class="tabHead"><table id="tabContainer" cellpadding="0"><tr><td class="tabStart"><div></div></td>';
	var tabend = '<td class="tabEnd"><div></div></td></tr></table></div>';
	var tabcontent = '';
	for(var i=0; i<tabpagenames.length; i++) {
		var tabchecker = getElementsByAttributeValue(document.body, "tabs", tabpagenames[i].split('|')[1]);
		if(tabchecker.length && tabchecker[0].innerHTML && trim(tabchecker[0].innerHTML) != '') {
			visibleTabs.push(i);
		}
	}
	for(var i=0; i<visibleTabs.length; i++) {
		tabcontent += '<td id="tab_'+tabpagenames[visibleTabs[i]].split('|')[1]+'" onclick="activateTab(\''+tabpagenames[visibleTabs[i]].split('|')[1]+'\')" class="tabI">'+tabpagenames[visibleTabs[i]].split('|')[0]+'</td>';
		if(i<visibleTabs.length-1) tabcontent+='<td class="tabBetween"><div></div></td>';
	}
	return tabstart+tabcontent+tabend;
}

function setFirstVisibleTab() {
	if(visibleTabs.length) getTab(visibleTabs[0]);
}

function generateTabs() {
	var tabstart = '<div class="tabHead"><table id="tabContainer" cellpadding="0"><tr><td class="tabStart"><div></div></td>';
	var tabend = '<td class="tabEnd"><div></div></td></tr></table></div>';
	var tabcontent = '';
	for(var i=0; i<tabpagenames.length; i++) {
		tabcontent += '<td id="tab_'+tabpagenames[i].split('|')[1]+'" onclick="activateTab(\''+tabpagenames[i].split('|')[1]+'\')" class="tabI">'+tabpagenames[i].split('|')[0]+'</td>';
		if(i<tabpagenames.length-1)
			tabcontent+='<td class="tabBetween"><div></div></td>';
	}
	return tabstart+tabcontent+tabend;
}

function activateTab(tabId, pageload) {
	allElements = getElementsByClassName(document, 'tabcontent');
	if(tabId=='All') {
		activeElements = allElements;
	}
	else {
		activeElements = getElementsByAttributeValue(document, 'tabs', tabId);
	}
	if (!anchorInserted) {
	    if (activeElements.length > 0) {
			if(!document.getElementById('jumplist_col1')){
				var tmp = document.createElement('div');
				tmp.className = 'anchorInserted';
				tmp.innerHTML = '&nbsp;';
				activeElements[0].parentNode.insertBefore(tmp, activeElements[0])
			}
		}
		anchorInserted = true;
	}
	for(var i=0; i<allElements.length; i++)	allElements[i].style.display = 'none';
	clearers = getElementsByClassName(document, 'clearer');
	for(var i=0; i<clearers.length; i++) clearers[i].parentNode.removeChild(clearers[i]);
	paraCount=0;
	for(var i=0; i<activeElements.length; i++) {
		if(activeElements[i].className.indexOf('tabpara')!=-1) {
			paraCount++;
			if(paraCount==3 && alignTabElements) {
				clearer = document.createElement('div');
				clearer.className = 'clearer';
				activeElements[i].parentNode.insertBefore(clearer, activeElements[i])
				paraCount=1;
			}
		}
		else paraCount=0;
		activeElements[i].style.display = 'block';
	}
	if(activeTab) document.getElementById('tab_'+activeTab).className = 'tabI';
	activeTab = tabId;
	document.getElementById('tab_'+activeTab).className = 'tabA';
	if(window.reorderjumplist) reorderjumplist();
	if(window.sitestaturlcounter && window.sitestat){	// sitestat-call
		if(!pageload) sitestat(sitestaturlcounter+'.'+tabId);
	}
}

function getElementsByClassName(node, classname) {
	var a = [];
	var re = new RegExp('\\b' + classname + '\\b');
	var els = node.getElementsByTagName("*");
	for(var i=0,j=els.length; i<j; i++)
		if(re.test(els[i].className)) a.push(els[i]);
	return a;
}

function getElementsByAttributeValue(node, attrib, value) {
	var elements = new Array();
	if(node) {
		if(node.tagName && node.getAttribute(attrib) && node.getAttribute(attrib).indexOf(value) != -1)
			elements[elements.length] = node;
	}
	if(node.hasChildNodes) {
		for(var x=0; x<node.childNodes.length; x++) {
			var childElements = getElementsByAttributeValue(node.childNodes[x], attrib, value);
			for(var i=0; i<childElements.length; i++)
				elements[elements.length] = childElements[i];
		}
	}
	return elements;
}
function trim(str) {
   return str.replace(/^\s*|\s*$/g,"");
}
function reorderjumplist(){
	if(document.getElementById('jumplist_col1')){
		var jumps = new Array();
		var activeJumpsCount = 0;
		var links = document.getElementsByTagName('a');
		for(var i=0,l=links.length; i<l; ++i) {
			if (links[i].className == 'jumplist') {
				var jump = links[i].parentNode;
				if (jump) {
					jumps.push(jump);
					if (jump.style.display != 'none') ++activeJumpsCount;
				}
			}
		}
		for(var i=0,j=0,l=jumps.length; i<l; ++i) {
			var td = document.getElementById(((j < (activeJumpsCount)/2) || (activeJumpsCount<3))? 'jumplist_col1': 'jumplist_col2');
			td.appendChild(jumps[i]);
			if (jumps[i].style.display != 'none') ++j;
		}
	}	
}