var tabs = new Array();
var selTabID = -1;
var selTabName = '';
	
function qsTabsCreate()
{
	var res = '<table id="tabs" name="tabs" width="100%" border="0" cellspacing="0" cellpadding="0"><tr>',
		text;
	var n = tabs.length; 
	for (var i = 0; i < n; i++) {
		text = tabs[i][0]; 
		res += '<td width="150" height="40" align="left" valign="middle" nowrap background="/tabs/images/';
		if (i < selTabID) {
			res += 'tab_l_3d.gif" style="padding-top: 10px;"';
		} else if (i == selTabID) {
			res += 'tab_l_sel_3d.gif" style="padding-top: 6px;"';
			text = '<strong>' + text + '</strong>';
		} else {
			res += 'tab_l_after_sel_3d.gif" style="padding-top: 10px;"';
		}
// 		res += '" onClick="qsOnSelTab('+i+',\''+tabs[i][1]+'\')"><a class="tabtekst" href="javascript:qsOnSelTab('+i+',\''+tabs[i][1]+'\')">' + text + '</a></td>';
 		res += ' class="tabtekst" onClick="qsOnSelTab('+i+',\''+tabs[i][1]+'\')">' + text + '</td>';
	}
	res += '<td height="40" background="/tabs/images/tab_l10.gif">&nbsp;</td>';
	res += '</tr></table>';
	qsGetDocElem('dvTabs').innerHTML = res;
}

function qsOnSelTab(tabid,tabname)
{
	if ( (tabid < 0) || (tabid >= tabs.length) ) {
		return;
	}
	var tt = qsGetDocElem('tabcontent');
	var h = tt.scrollHeight;
	if ( (selTabID >= 0) && (selTabID < tabs.length) && (tabs[selTabID][2] != '')) {
		// before change event
		eval(tabs[tabid][2]);
	}
	qsGetDocElem('tabdummy').style.display = 'block';
	if (selTabName != '') {
		qsGetDocElem(selTabName).style.display = 'none';
	}
	selTabID = tabid;
	selTabName = tabname;
	qsTabsCreate();
	qsGetDocElem(selTabName).style.display = 'block';
	qsGetDocElem('tabdummy').style.display = 'none';
	if (tt.scrollHeight < h) {
		tt.style.height = h.toString()+ 'px';
	}
	if ( (selTabID >= 0) && (selTabID < tabs.length) && (tabs[selTabID][3] != '')) {
		// after change event
		eval(tabs[tabid][3]);
	}
}

function qsAddTab( tabDescr, tabName, beforeSelEvent, afterSelEvent )
{
	var rbeforeSelEvent = (typeof(beforeSelEvent) == "undefined") ? '' : beforeSelEvent;
	var rafterSelEvent = (typeof(afterSelEvent) == "undefined") ? '' : afterSelEvent;
	tabs.push( new Array(tabDescr, tabName, rbeforeSelEvent, rafterSelEvent) );
}