/* * Ext JS Library 1.1 Beta 1 * Copyright(c) 2006-2007, Ext JS, LLC. * licensing@extjs.com * * http://www.extjs.com/license */ Ext.TabPanel=function(_1,_2){this.el=Ext.get(_1,true);if(_2){if(typeof _2=="boolean"){this.tabPosition=_2?"bottom":"top";}else{Ext.apply(this,_2);}}if(this.tabPosition=="bottom"){this.bodyEl=Ext.get(this.createBody(this.el.dom));this.el.addClass("x-tabs-bottom");}this.stripWrap=Ext.get(this.createStrip(this.el.dom),true);this.stripEl=Ext.get(this.createStripList(this.stripWrap.dom),true);this.stripBody=Ext.get(this.stripWrap.dom.firstChild.firstChild,true);if(Ext.isIE){Ext.fly(this.stripWrap.dom.firstChild).setStyle("overflow-x","hidden");}if(this.tabPosition!="bottom"){this.bodyEl=Ext.get(this.createBody(this.el.dom));this.el.addClass("x-tabs-top");}this.items=[];this.bodyEl.setStyle("position","relative");this.active=null;this.activateDelegate=this.activate.createDelegate(this);this.addEvents({"tabchange":true,"beforetabchange":true});Ext.EventManager.onWindowResize(this.onResize,this);this.cpad=this.el.getPadding("lr");this.hiddenCount=0;Ext.TabPanel.superclass.constructor.call(this);};Ext.extend(Ext.TabPanel,Ext.util.Observable,{tabPosition:"top",currentTabWidth:0,minTabWidth:40,maxTabWidth:250,preferredTabWidth:175,resizeTabs:false,monitorResize:true,addTab:function(id,_4,_5,_6){var _7=new Ext.TabPanelItem(this,id,_4,_6);this.addTabItem(_7);if(_5){_7.setContent(_5);}return _7;},getTab:function(id){return this.items[id];},hideTab:function(id){var t=this.items[id];if(!t.isHidden()){t.setHidden(true);this.hiddenCount++;this.autoSizeTabs();}},unhideTab:function(id){var t=this.items[id];if(t.isHidden()){t.setHidden(false);this.hiddenCount--;this.autoSizeTabs();}},addTabItem:function(_d){this.items[_d.id]=_d;this.items.push(_d);if(this.resizeTabs){_d.setWidth(this.currentTabWidth||this.preferredTabWidth);this.autoSizeTabs();}else{_d.autoSize();}},removeTab:function(id){var _f=this.items;var tab=_f[id];if(!tab){return;}var _11=_f.indexOf(tab);if(this.active==tab&&_f.length>1){var _12=this.getNextAvailable(_11);if(_12){_12.activate();}}this.stripEl.dom.removeChild(tab.pnode.dom);if(tab.bodyEl.dom.parentNode==this.bodyEl.dom){this.bodyEl.dom.removeChild(tab.bodyEl.dom);}_f.splice(_11,1);delete this.items[tab.id];tab.fireEvent("close",tab);tab.purgeListeners();this.autoSizeTabs();},getNextAvailable:function(_13){var _14=this.items;var _15=_13;while(_15<_14.length){var _16=_14[++_15];if(_16&&!_16.isHidden()){return _16;}}_15=_13;while(_15>=0){var _16=_14[--_15];if(_16&&!_16.isHidden()){return _16;}}return null;},disableTab:function(id){var tab=this.items[id];if(tab&&this.active!=tab){tab.disable();}},enableTab:function(id){var tab=this.items[id];tab.enable();},activate:function(id){var tab=this.items[id];if(!tab){return null;}if(tab==this.active||tab.disabled){return tab;}var e={};this.fireEvent("beforetabchange",this,e,tab);if(e.cancel!==true&&!tab.disabled){if(this.active){this.active.hide();}this.active=this.items[id];this.active.show();this.fireEvent("tabchange",this,this.active);}return tab;},getActiveTab:function(){return this.active;},syncHeight:function(_1e){var _1f=(_1e||this.el.getHeight())-this.el.getBorderWidth("tb")-this.el.getPadding("tb");var bm=this.bodyEl.getMargins();var _21=_1f-(this.stripWrap.getHeight()||0)-(bm.top+bm.bottom);this.bodyEl.setHeight(_21);return _21;},onResize:function(){if(this.monitorResize){this.autoSizeTabs();}},beginUpdate:function(){this.updating=true;},endUpdate:function(){this.updating=false;this.autoSizeTabs();},autoSizeTabs:function(){var _22=this.items.length;var _23=_22-this.hiddenCount;if(!this.resizeTabs||_22<1||_23<1||this.updating){return;}var w=Math.max(this.el.getWidth()-this.cpad,10);var _25=Math.floor(w/_23);var b=this.stripBody;if(b.getWidth()>w){var _27=this.items;this.setTabWidth(Math.max(_25,this.minTabWidth)-2);if(_25
";return _48.firstChild.firstChild.firstChild.firstChild;};Ext.TabPanel.prototype.createBody=function(_49){var _4a=document.createElement("div");Ext.id(_4a,"tab-body");Ext.fly(_4a).addClass("x-tabs-body");_49.appendChild(_4a);return _4a;};Ext.TabPanel.prototype.createItemBody=function(_4b,id){var _4d=Ext.getDom(id);if(!_4d){_4d=document.createElement("div");_4d.id=id;}Ext.fly(_4d).addClass("x-tabs-item-body");_4b.insertBefore(_4d,_4b.firstChild);return _4d;};Ext.TabPanel.prototype.createStripElements=function(_4e,_4f,_50){var td=document.createElement("td");_4e.appendChild(td);if(_50){td.className="x-tabs-closable";if(!this.closeTpl){this.closeTpl=new Ext.Template(""+"{text}"+"
 
");}var el=this.closeTpl.overwrite(td,{"text":_4f});var _53=el.getElementsByTagName("div")[0];var _54=el.getElementsByTagName("em")[0];return{"el":el,"close":_53,"inner":_54};}else{if(!this.tabTpl){this.tabTpl=new Ext.Template(""+"{text}");}var el=this.tabTpl.overwrite(td,{"text":_4f});var _54=el.getElementsByTagName("em")[0];return{"el":el,"inner":_54};}};