function DHTMLTab(container, items)
{
	this.container = container;
	this.items = items;
	this.selectedTab;
	this.backgroundColorSelectedItem = "#507e1b";
	this.backgroundColor = "#86a46e";
	this.tabHeight = "22px";

	this.Build = DHTMLTab_Build;
	this.GetTabLabel = DHTMLTab_GetTabLabel;
	this.GetTabContent = DHTMLTab_GetTabContent;
	this.UnSelectTab = DHTMLTab_UnSelectTab;
	this.SelectTab = DHTMLTab_SelectTab;
	this.SelectTabByIndex = DHTMLTab_SelectTabByIndex;
}

function DHTMLTab_SelectTabByIndex(index)
{
	var td = this.container.childNodes[0].childNodes[0].childNodes[0].childNodes[index];
	this.SelectTab(td);
}

function DHTMLTab_GetTabLabel(i)
{
	var label = this.items[i].code;
	var td = document.createElement("td");
	td.jDHTMLTab = this;
	td.nowrap = "nowrap";
	td.style.fontSize = "10pt";
	td.style.paddingBottom = "1px";
	if (i < this.items.length - 1)
	{
		td.style.paddingRight = "1px";
	}
	td.style.cursor = "pointer";
	td.onclick = DHTMLTab_TabClick;
	var d1 = document.createElement("div");
	d1.style.width = "100%";
	d1.style.backgroundColor = this.backgroundColor;
	d1.style.color = "white";
	d1.style.height = this.tabHeight;
	td.appendChild(d1);
	var d2 = document.createElement("div");
	d2.style.paddingLeft = "7px";
	d2.style.paddingTop = "2px";
	d2.style.width = "70px";
	d2.innerHTML = label;
	d1.appendChild(d2);
	return td;
}


function DHTMLTab_SelectTab(selTab)
{
	if (this.selectedTab != null)
	{
		this.UnSelectTab();
	}
	this.selectedTab = selTab;

	this.selectedTab.childNodes[0].style.backgroundColor = this.backgroundColorSelectedItem;
	//selectedTab.style.fontWeight = "bold";
	this.selectedTab.style.paddingBottom = "0px";
	var div = this.items[this.selectedTab.cellIndex].control.parentNode;
	div.style.display = "inline";
	div.style.height = (this.selectedTab.parentNode.parentNode.parentNode.clientHeight - this.selectedTab.clientHeight) + "px";
}

function DHTMLTab_UnSelectTab()
{
	this.selectedTab.style.fontWeight = "";
	this.selectedTab.childNodes[0].style.backgroundColor = this.backgroundColor;
	this.selectedTab.style.paddingBottom = "1px";
	var div = this.items[this.selectedTab.cellIndex].control.parentNode;
	div.style.display = "none";
}

function DHTMLTab_GetTabContent(i)
{
	var control = this.items[i].control;
	if (control != undefined)
	{
		var d = document.createElement("div");
		d.jDHTMLTab = this;
		d.style.display = "none";
		d.style.border = "1px " + this.backgroundColorSelectedItem + " solid";
		if ((parseInt(this.container.style.width)-2) > 0)
		{
			d.style.width = (parseInt(this.container.style.width)-2) + "px";
		}
		if ((parseInt(this.container.style.height) - parseInt(this.tabHeight)) > 0)
		{
			d.style.height = (parseInt(this.container.style.height) - parseInt(this.tabHeight)) + "px";
		}
		d.style.position = "absolute";
		d.style.float = "left";
		d.appendChild(control);
		return d;
	}
	return null;
}

function DHTMLTab_Build()
{
	var tbl = document.createElement("table");
	tbl.width = this.container.style.width;
	tbl.height = this.container.style.height;
	tbl.cellPadding = 0;
	tbl.cellSpacing = 0;
	tbl.style.position = "absolute";
	this.container.appendChild(tbl);
	var tb = document.createElement("tbody");
	tbl.appendChild(tb);

	var tr1 = document.createElement("tr");
	tr1.height = this.tabHeight;
	tb.appendChild(tr1);

	var tr2 = document.createElement("tr");
	tb.appendChild(tr2);
	var td2 = document.createElement("td");
	td2.style.width = "100%";
	if ((parseInt(this.container.style.height) - parseInt(this.tabHeight)-3) > 0)
	{
		td2.style.height = (parseInt(this.container.style.height) - parseInt(this.tabHeight)-3) + "px";
	}
	td2.colSpan = this.items.length+1;
	td2.vAlign = "top";
	tr2.appendChild(td2);
	for (var i=0; i<this.items.length; i++)
	{
		var lbl = this.GetTabLabel(i);
		if (lbl)
		{
			tr1.appendChild(lbl);
		}
		var tc = this.GetTabContent(i);
		if (tc)
		{
			td2.appendChild(tc);
		}
	}
	var td1 = document.createElement("td");
	td1.style.width = "99%";
	tr1.appendChild(td1);
}


function DHTMLTab_TabClick(e)
{
	e = _getEvent(e);
	var eOwner = e.srcElement?e.srcElement:e.target;
	var td = null;
	var tmpOwner = eOwner;
	while (td == null)
	{
		if (tmpOwner.tagName == "TD")
		{
			td = tmpOwner;
		}
		tmpOwner = tmpOwner.parentNode;
	}
	td.jDHTMLTab.SelectTab(td);
}

function _getEvent(e)	{
	return (e)?e:window.event;
}


function addEvent(elm, evType, fn, useCapture) {
 if (elm.addEventListener) {
  elm.addEventListener(evType, fn, useCapture);
  return true;
 }
 else if (elm.attachEvent) {
  var r = elm.attachEvent('on' + evType, fn);
  return r;
 }
 else {
  elm['on' + evType] = fn;
 }
}

