Ext.namespace('Ext.ux.InlineToolbarTabPanel');
Ext.ux.InlineToolbarTabPanel = function(config) {
    Ext.apply(this, config);
    Ext.ux.InlineToolbarTabPanel.superclass.constructor.call(this, config);
};
 
Ext.extend(Ext.ux.InlineToolbarTabPanel, Ext.TabPanel, {
    inlineToolbar: null
    , toolbar: null
    , headerToolbar: true
    , titleCollapse: false
    , hideCollapseTool: true
    , afterRender: function() {
        Ext.ux.InlineToolbarTabPanel.superclass.afterRender.call(this);
        if (!Ext.isEmpty(this.toolbar))
            this.setToolbar(this.toolbar);
    }
    , onResize : function() {
        Ext.ux.InlineToolbarTabPanel.superclass.onResize.apply(this, arguments);
        if (Ext.isEmpty(this.inlineToolbar)) return;
        
        var w = arguments[0]-this.tbContainer.getSize().width;
        var h = this.header.getHeight();
        
//        if (this.headerToolbar) w-=1;
        if (this.headerToolbar) h-=3;
        
        this.header.setWidth(w);
        this.inlineToolbar.setHeight(h);
        this.tbContainer.setHeight(h);
    }                
    , getToolbar : function() {
        return this.inlineToolbar;
    }
    , setToolbar : function(obj) {
        var tbStyle = {style: 'border-width:0px;' + (this.headerToolbar? 'padding:0px;background:transparent none;': '')};
        var cls;
        this.toolbar = obj;
        
        if (this.headerToolbar)
            cls = 'x-tab-panel-header' + (this.border? '':
                ' x-tab-panel-noborder x-tab-panel-header-noborder');
        else
            cls = 'x-tab-strip-wrap x-tab-strip-top';
        
        this.tbWrap = this.header.insertSibling({
            style: 'float:right;width:auto;z-index:99;border-left-width:0px;'
            , cls: cls
        });
        
        this.tbContainer = this.tbWrap.createChild({
            style: 'border-left-width:0px;border-top-width:0px;'
            , tag: this.headerToolbar? 'ul': 'div'
            , cls: this.headerToolbar? 'x-tab-strip-top': 'x-tab-right x-tab-panel-header'
        });
        
        this.header.setStyle({borderrightwidth:'0px'});
        
        Ext.apply(this.toolbar, tbStyle);
        this.inlineToolbar = new Ext.Toolbar(this.toolbar);
        
        if (!this.headerToolbar) {
            this.inlineToolbar.removeClass('x-toolbar');
            this.inlineToolbar.addClass('x-tab-strip-inner');
        }
        
        this.inlineToolbar.render(this.tbContainer);
        this.onResize(this.getSize().width);
    }
}); 