Ext.namespace('Ext.ux.InlineToolbarTabPanel');
Ext.ux.InlineToolbarTabPanel = Ext.extend(Ext.TabPanel, {
enableTabScroll:false

,onRender : function(ct, position){
	Ext.TabPanel.superclass.onRender.call(this, ct, position);
	
	if(this.plain){
		var pos = this.tabPosition == 'top' ? 'header' : 'footer';
		this[pos].addClass('x-tab-panel-'+pos+'-plain');
	}

	var st = this[this.stripTarget];
	var stripDom = st.dom;
	var tabs = '<td style="width:100%;border-right:0px;"><div id="td_tabs" style="height:26px;"></div></td>';
	var tbars = this.initialConfig.toolbars;
	var leftTbar, rightTbar;
	for (var i=0, maxi=tbars.length; i<maxi; i++) {
		if (tbars[i].align.toLowerCase() == 'left') {
			leftTbar = tbars[i];
		} else {
			rightTbar = tbars[i];
		}
	}

	var tbarWidth = (leftTbar == undefined ? 0 : leftTbar.width-1) + (rightTbar == undefined ? 0 : rightTbar.width-1)
	var tabWidth = parseInt(stripDom.style.width,10);

//	stripDom.style.width = (this.width-tbarWidth-2).toString() + 'px';
	stripDom.style.width = ((this.width || this.el.getWidth())-tbarWidth-2).toString() + 'px';
   
	var scrolloffset = 0;
	for(var i=0;i<this['header'].dom.childNodes.length;i++){
		if(stripDom.childNodes[i].className.indexOf('x-tab-scroller-right') >= 0 || stripDom.childNodes[i].className.indexOf('x-tab-scroller-left') >= 0){
			scrolloffset = scrolloffset + 19;
		}
	}
    
	var leftTbarId = (leftTbar) ? leftTbar.id : 'leftTbar';
	var rightTbarId = (rightTbar) ? rightTbar.id : 'rightTbar';
	var style = "border-top:1px solid #8DB2E3;margin:-2px;height:26px;";
	var leftTool = '<td><div id="'+leftTbarId+'" class="x-tab-toolbar-wrap" style="border-left:1px solid #8DB2E3;'+style+'"></div></td>';
	var rightTool = '<td><div id="'+rightTbarId+'" class="x-tab-toolbar-wrap" style="border-right:1px solid #8DB2E3;'+style+'"></div></td>';
	var tableStart = '<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>';
	var tableEnd = '</tr></table>';
	var table = tableStart + (leftTbar?leftTool:'') + tabs + (rightTbar?rightTool:'') + tableEnd;
	var parentNode = stripDom.parentNode;
	parentNode.removeChild(this[this.stripTarget].dom);
	Ext.DomHelper.insertFirst(parentNode, table);
	var tabs = Ext.get("td_tabs");
	tabs.dom.appendChild(stripDom);
	if (leftTbar) {
		new Ext.Panel({
			renderTo:leftTbarId
			,border:false
			,width:leftTbar.width
			,tbar: leftTbar.tbar
			,height:0
		});
	}
	if (rightTbar) {
			new Ext.Panel({
			renderTo:rightTbarId
			,border:false
			,width:rightTbar.width-1
			,tbar: rightTbar.tbar
			,height:0
		});
	}	   

	this.stripWrap = st.createChild({cls:'x-tab-strip-wrap', cn:{
	  tag:'ul', cls:'x-tab-strip x-tab-strip-'+this.tabPosition}});
//	this['stripWrap'].dom.style.width = (this.width-tbarWidth-scrolloffset-2).toString() + 'px';    	   
	this['stripWrap'].dom.style.width = ((this.width || this.el.getWidth())-tbarWidth-scrolloffset-2).toString() + 'px';    	   
	
	this.stripSpacer = st.createChild({cls:'x-tab-strip-spacer'});
	
	this.strip = new Ext.Element(this.stripWrap.dom.firstChild);
	
	this.edge = this.strip.createChild({tag:'li', cls:'x-tab-edge'});
	this.strip.createChild({cls:'x-clear'});
	
	this.body.addClass('x-tab-panel-body-'+this.tabPosition);
	
	if(!this.itemTpl){
	  var tt = new Ext.Template(
		  '<li class="{cls}" id="{id}"><a class="x-tab-strip-close" onclick="return false;"></a>',
		  '<a class="x-tab-right" href="#" onclick="return false;"><em class="x-tab-left">',
		  '<span class="x-tab-strip-inner"><span class="x-tab-strip-text {iconCls}">{text}</span></span>',
		  '</em></a></li>'
	  );
	  tt.disableFormats = true;
	  tt.compile();
	  Ext.TabPanel.prototype.itemTpl = tt;
	}

	this.items.each(this.initTab, this);
}  

,adjustBodyWidth : function(w){
//	if(this.header){
//		this.header.setWidth(w);
//	}
	if(this.footer){
	  	this.footer.setWidth(w);
	}
	return w;
}	

});
Ext.reg('inlinetoolbartabpanel',Ext.ux.InlineToolbarTabPanel);