function Tab(uid)
{
	this.uid=uid
	this.section=null
	this.index=0
	this.width=0
	this.widthSelected=0
	this.height=0
	this.heightSelected=0
	this.parent=null;
}

Tab.prototype.buildTab=function buildTab()
{
	var out='<DIV'
	+' CLASS="'+((this.parent.selectedTab==this.uid)?'tabSelected':'tab')+'"'
	+' id="tab_'+this.uid+'"'
	+' STYLE="'
	+'height:'+sizes.tab.innerHeight+'px;"'
	+' onClick="'+this.section.getCallStr()+'.showSection()"'
	+' onMouseDown="'+this.section.parent.getCallStr()+'.sectionDragStart(\''+this.section.uid+'\',event)"'
	+'><SPAN '
	+' id="tabLable_'+this.uid+'"'
	+' CLASS="'+((this.parent.selectedTab==this.uid)?'tabLableSelected':'tabLable')+'"'
	+'><NOBR>'+this.lable+'</NOBR></SPAN></DIV>'
	return out
}

function Tabs()
{
	this.tabs={}
	this.tabsOrder=[]
	this.group=''
	this.selectedTab=''
	this.width=0;
}

Tabs.prototype.addTab=function addTab(obj)
{
	var tab=this.tabs[obj.uid]=new Tab(obj.uid)
	tab.parent=this;
	tab.lable=obj.name
	tab.section=obj;
	tab.index=this.tabsOrder.length;
	this.tabsOrder[tab.index]=obj.uid
	this.group=obj.parent;
	
	document.getElementById('tabs_'+obj.parent.uid).innerHTML=this.buildTabs(obj)
	this.setWidth(obj)
}	

Tabs.prototype.removeTab=function removeTab(obj)
{
	delete this.tabs[obj.uid];
	document.getElementById('tabs_'+obj.parent.uid).innerHTML=this.buildTabs(obj)
	this.setWidth(obj)
}

Tabs.prototype.setWidth=function setWidth(obj)
{
	this.width=0;
	for(x in this.tabs)
	{
		this.width+=document.getElementById('tab_'+x).offsetWidth+sizes.tab.marginWidth
	}
	obj.parent.minWidth=this.width+sizes.tabs.outerAllWidth+((floatFix)?sizes.tabSelected.borderLeft+sizes.tabSelected.paddingLeft:sizes.tabSelected.outerLeft)
	//obj.parent.minWidth=this.width+sizes.tabs.outerAllWidth+sizes.container.outerWidth+((floatFix)?sizes.tab.marginLeft+sizes.tab.paddingLeft:4)
}


Tabs.prototype.buildTabs=function buildTabs(obj)
{
	var x,out='';
	var group=this.group
	this.width=0;
	for(x in this.tabs)
	{
		out+=this.tabs[x].buildTab()
	}
	return out;
}


Tabs.prototype.deselectTab=function deselectTab(obj)
{
	var element
	if(this.selectedTab)
	{
		if(element=document.getElementById('tab_'+this.selectedTab))element.className='tab';
		if(element=document.getElementById('tabLable_'+this.selectedTab))element.className='tabLable';
	}
	this.selectedTab=''
	this.setWidth(obj);
}

Tabs.prototype.toggleSelectTab=function toggleSelectTab(obj)
{
	var element
	if(this.selectedTab)
	{
		if(element=document.getElementById('tab_'+this.selectedTab))element.className='tab';
		if(element=document.getElementById('tabLable_'+this.selectedTab))element.className='tabLable';
	}
	if(obj.uid!=this.selectedTab)
	{
		if(element=document.getElementById('tab_'+obj.uid))element.className='tabSelected';
		if(element=document.getElementById('tabLable_'+obj.uid))element.className='tabLableSelected';
		this.selectedTab=obj.uid;
	}else this.selectedTab=''
	this.setWidth(obj);
}

Tabs.prototype.selectTab=function selectTab(obj)
{
	var element
	if(this.selectedTab)
	{
		if(element=document.getElementById('tab_'+this.selectedTab))element.className='tab';
		if(element=document.getElementById('tabLable_'+this.selectedTab))element.className='tabLable';
	}
	if(element=document.getElementById('tab_'+obj.uid))element.className='tabSelected';
	if(element=document.getElementById('tabLable_'+obj.uid))element.className='tabLableSelected';
	this.selectedTab=obj.uid;
	this.setWidth(obj);
}


