Ext.namespace("Ext.ux");Ext.ux.TabPanel=function(a){if(a.tabPosition=="left"||a.tabPosition=="right"){a.cls=a.cls||"";a.cls=a.cls+" x-tab-panel-vertical x-tab-panel-vertical-"+a.tabPosition;this.intendedTabPosition=a.tabPosition;this.verticalTabs=true;a.tabPosition="top"}Ext.ux.TabPanel.superclass.constructor.call(this,a)};Ext.extend(Ext.ux.TabPanel,Ext.TabPanel,{afterRender:function(){Ext.ux.TabPanel.superclass.afterRender.call(this);if(this.verticalTabs){this.header.setWidth(30);this.header.setHeight(this.height||this.container.getHeight())}},adjustBodyHeight:function(a){if(this.verticalTabs){this.header.setHeight(a+(this.tbar?this.tbar.getHeight():0))}return Ext.ux.TabPanel.superclass.adjustBodyHeight.call(this,a)},getFrameWidth:function(){return Ext.ux.TabPanel.superclass.getFrameWidth.call(this)+this.verticalTabs?30:0},getFrameHeight:function(){return Ext.ux.TabPanel.superclass.getFrameHeight.call(this)-(this.verticalTabs?this.header.getHeight():0)},autoSizeTabs:function(){var g=this.items.length;var b=this.tabPosition!="bottom"?"header":"footer";var c=this[b].dom[this.verticalTabs?"offsetHeight":"offsetWidth"];var a=this[b].dom[this.verticalTabs?"clientHeight":"clientWidth"];if(!this.resizeTabs||g<1||!a){return}var j=Math.max(Math.min(Math.floor((a-4)/g)-this.tabMargin,this.tabWidth),this.minTabWidth);this.lastTabWidth=j;var l=this.stripWrap.dom.getElementsByTagName("li");for(var e=0,h=l.length-1;e<h;e++){var k=l[e];var m=k.childNodes[1].firstChild.firstChild;var f=k[this.verticalTabs?"offsetHeight":"offsetWidth"];var d=m[this.verticalTabs?"offsetHeight":"offsetWidth"];m.style[this.verticalTabs?"height":"width"]=(j-(f-d))+"px"}},adjustBodyWidth:function(a){if(this.verticalTabs){if(Ext.isIE6){this.bwrap.setWidth(a-3)}return a}return Ext.ux.TabPanel.superclass.adjustBodyWidth.call(this,a)},autoScrollTabs:function(){var g=this.tabPosition=="top";var f=this.items.length;var d=this[g?"header":"footer"].dom[this.verticalTabs?"offsetHeight":"offsetWidth"];var c=this[g?"header":"footer"].dom[this.verticalTabs?"clientHeight":"clientWidth"];var e=this.stripWrap;var b=e.dom[this.verticalTabs?"offsetHeight":"offsetWidth"];var h=this.getScrollPos();var a=this.edge.getOffsetsTo(this.stripWrap)[this.verticalTabs?1:0]+h;if(!this.enableTabScroll||f<1||b<20){return}if(a<=c){e.dom.scrollLeft=0;e[this.verticalTabs?"setWidth":"setHeight"](c);if(this.scrolling){this.scrolling=false;this[g?"header":"footer"].removeClass("x-tab-scrolling");this.scrollLeft.hide();this.scrollRight.hide()}}else{if(!this.scrolling){this[g?"header":"footer"].addClass("x-tab-scrolling")}c-=e.getMargins(this.verticalTabs?"tb":"lr");e[this.verticalTabs?"setHeight":"setWidth"](c>20?c:20);if(!this.scrolling){if(!this.scrollLeft){this.createScrollers()}else{this.scrollLeft.show();this.scrollRight.show()}}this.scrolling=true;if(h>(a-c)){e.dom.scrollLeft=a-c}else{this.scrollToTab(this.activeTab,false)}this.updateScrollButtons()}},createScrollers:function(){var d=this.tabPosition=="top";var c=this.stripWrap.dom[this.verticalTabs?"offsetWidth":"offsetHeight"];var a=this[d?"header":"footer"].insertFirst({cls:"x-tab-scroller-left"});a[this.verticalTabs?"setWidth":"setHeight"](c);if(this.verticalTabs){a.setHeight(this.stripWrap.getMargins("t"))}a.addClassOnOver("x-tab-scroller-left-over");this.leftRepeater=new Ext.util.ClickRepeater(a,{interval:this.scrollRepeatInterval,handler:this.onScrollLeft,scope:this});this.scrollLeft=a;var b=this[d?"header":"footer"].insertFirst({cls:"x-tab-scroller-right"});b[this.verticalTabs?"setWidth":"setHeight"](c);if(this.verticalTabs){b.setHeight(this.stripWrap.getMargins("b"))}b.addClassOnOver("x-tab-scroller-right-over");this.rightRepeater=new Ext.util.ClickRepeater(b,{interval:this.scrollRepeatInterval,handler:this.onScrollRight,scope:this});this.scrollRight=b},getScrollWidth:function(){return this.edge.getOffsetsTo(this.stripWrap)[this.verticalTabs?1:0]+this.getScrollPos()},getScrollPos:function(){return parseInt(this.stripWrap.dom[this.verticalTabs?"scrollTop":"scrollLeft"],10)||0},getScrollArea:function(){return parseInt(this.stripWrap.dom[this.verticalTabs?"clientHeight":"clientWidth"],10)||0},scrollToTab:function(e,a){if(!e){return}var c=this.getTabEl(e);var g=this.getScrollPos(),d=this.getScrollArea();var f=Ext.fly(c).getOffsetsTo(this.stripWrap)[this.verticalTabs?1:0]+g;var b=f+c[this.verticalTabs?"offsetHeight":"offsetWidth"];if(f<g){this.scrollTo(f,a)}else{if(b>(g+d)){this.scrollTo(b-d,a)}}},scrollTo:function(b,a){this.stripWrap.scrollTo(this.verticalTabs?"top":"left",b,a?this.getScrollAnim():false);if(!a){this.updateScrollButtons()}}});
