/* Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved. Available via Academic Free License >= 2.1 OR the modified BSD license. see: http://dojotoolkit.org/license for details */ dojo._xdResourceLoaded(function(_1,_2,_3){return {depends:[["provide","dijit.layout.ScrollingTabController"],["require","dijit.layout.TabController"],["require","dijit.Menu"]],defineResource:function(_4,_5,_6){if(!_4._hasResource["dijit.layout.ScrollingTabController"]){_4._hasResource["dijit.layout.ScrollingTabController"]=true;_4.provide("dijit.layout.ScrollingTabController");_4.require("dijit.layout.TabController");_4.require("dijit.Menu");_4.declare("dijit.layout.ScrollingTabController",_5.layout.TabController,{templateString:_4.cache("dijit.layout","templates/ScrollingTabController.html","
\n"),useMenu:true,useSlider:true,tabStripClass:"",widgetsInTemplate:true,_minScroll:5,attributeMap:_4.delegate(_5._Widget.prototype.attributeMap,{"class":"containerNode"}),postCreate:function(){this.inherited(arguments);var n=this.domNode;this.scrollNode=this.tablistWrapper;this._initButtons();if(!this.tabStripClass){this.tabStripClass="dijitTabContainer"+this.tabPosition.charAt(0).toUpperCase()+this.tabPosition.substr(1).replace(/-.*/,"")+"None";_4.addClass(n,"tabStrip-disabled");}_4.addClass(this.tablistWrapper,this.tabStripClass);},onStartup:function(){this.inherited(arguments);_4.style(this.domNode,"visibility","visible");this._postStartup=true;},onAddChild:function(_7,_8){this.inherited(arguments);var _9;if(this.useMenu){var _a=this.containerId;_9=new _5.MenuItem({id:_7.id+"_stcMi",label:_7.title,dir:_7.dir,lang:_7.lang,onClick:_4.hitch(this,function(){var _b=_5.byId(_a);_b.selectChild(_7);})});this._menuChildren[_7.id]=_9;this._menu.addChild(_9,_8);}this.pane2handles[_7.id].push(this.connect(this.pane2button[_7.id],"set",function(_c,_d){if(this._postStartup){if(_c=="label"){if(_9){_9.set(_c,_d);}if(this._dim){this.resize(this._dim);}}}}));_4.style(this.containerNode,"width",(_4.style(this.containerNode,"width")+200)+"px");},onRemoveChild:function(_e,_f){var _10=this.pane2button[_e.id];if(this._selectedTab===_10.domNode){this._selectedTab=null;}if(this.useMenu&&_e&&_e.id&&this._menuChildren[_e.id]){this._menu.removeChild(this._menuChildren[_e.id]);this._menuChildren[_e.id].destroy();delete this._menuChildren[_e.id];}this.inherited(arguments);},_initButtons:function(){this._menuChildren={};this._btnWidth=0;this._buttons=_4.query("> .tabStripButton",this.domNode).filter(function(btn){if((this.useMenu&&btn==this._menuBtn.domNode)||(this.useSlider&&(btn==this._rightBtn.domNode||btn==this._leftBtn.domNode))){this._btnWidth+=_4.marginBox(btn).w;return true;}else{_4.style(btn,"display","none");return false;}},this);if(this.useMenu){this._menu=new _5.Menu({id:this.id+"_menu",dir:this.dir,lang:this.lang,targetNodeIds:[this._menuBtn.domNode],leftClickToOpen:true,refocus:false});this._supportingWidgets.push(this._menu);}},_getTabsWidth:function(){var _11=this.getChildren();if(_11.length){var _12=_11[this.isLeftToRight()?0:_11.length-1].domNode,_13=_11[this.isLeftToRight()?_11.length-1:0].domNode;return _13.offsetLeft+_4.style(_13,"width")-_12.offsetLeft;}else{return 0;}},_enableBtn:function(_14){var _15=this._getTabsWidth();_14=_14||_4.style(this.scrollNode,"width");return _15>0&&_14<_15;},resize:function(dim){if(this.domNode.offsetWidth==0){return;}this._dim=dim;this.scrollNode.style.height="auto";this._contentBox=_5.layout.marginBox2contentBox(this.domNode,{h:0,w:dim.w});this._contentBox.h=this.scrollNode.offsetHeight;_4.contentBox(this.domNode,this._contentBox);var _16=this._enableBtn(this._contentBox.w);this._buttons.style("display",_16?"":"none");this._leftBtn.layoutAlign="left";this._rightBtn.layoutAlign="right";this._menuBtn.layoutAlign=this.isLeftToRight()?"right":"left";_5.layout.layoutChildren(this.domNode,this._contentBox,[this._menuBtn,this._leftBtn,this._rightBtn,{domNode:this.scrollNode,layoutAlign:"client"}]);if(this._selectedTab){if(this._anim&&this._anim.status()=="playing"){this._anim.stop();}var w=this.scrollNode,sl=this._convertToScrollLeft(this._getScrollForSelectedTab());w.scrollLeft=sl;}this._setButtonClass(this._getScroll());this._postResize=true;},_getScroll:function(){var sl=(this.isLeftToRight()||_4.isIE<8||(_4.isIE&&_4.isQuirks)||_4.isWebKit)?this.scrollNode.scrollLeft:_4.style(this.containerNode,"width")-_4.style(this.scrollNode,"width")+(_4.isIE==8?-1:1)*this.scrollNode.scrollLeft;return sl;},_convertToScrollLeft:function(val){if(this.isLeftToRight()||_4.isIE<8||(_4.isIE&&_4.isQuirks)||_4.isWebKit){return val;}else{var _17=_4.style(this.containerNode,"width")-_4.style(this.scrollNode,"width");return (_4.isIE==8?-1:1)*(val-_17);}},onSelectChild:function(_18){var tab=this.pane2button[_18.id];if(!tab||!_18){return;}var _19=tab.domNode;if(this._postResize&&_19!=this._selectedTab){this._selectedTab=_19;var sl=this._getScroll();if(sl>_19.offsetLeft||sl+_4.style(this.scrollNode,"width")<_19.offsetLeft+_4.style(_19,"width")){this.createSmoothScroll().play();}}this.inherited(arguments);},_getScrollBounds:function(){var _1a=this.getChildren(),_1b=_4.style(this.scrollNode,"width"),_1c=_4.style(this.containerNode,"width"),_1d=_1c-_1b,_1e=this._getTabsWidth();if(_1a.length&&_1e>_1b){return {min:this.isLeftToRight()?0:_1a[_1a.length-1].domNode.offsetLeft,max:this.isLeftToRight()?(_1a[_1a.length-1].domNode.offsetLeft+_4.style(_1a[_1a.length-1].domNode,"width"))-_1b:_1d};}else{var _1f=this.isLeftToRight()?0:_1d;return {min:_1f,max:_1f};}},_getScrollForSelectedTab:function(){var w=this.scrollNode,n=this._selectedTab,_20=_4.style(this.scrollNode,"width"),_21=this._getScrollBounds();var pos=(n.offsetLeft+_4.style(n,"width")/2)-_20/2;pos=Math.min(Math.max(pos,_21.min),_21.max);return pos;},createSmoothScroll:function(x){if(arguments.length>0){var _22=this._getScrollBounds();x=Math.min(Math.max(x,_22.min),_22.max);}else{x=this._getScrollForSelectedTab();}if(this._anim&&this._anim.status()=="playing"){this._anim.stop();}var _23=this,w=this.scrollNode,_24=new _4._Animation({beforeBegin:function(){if(this.curve){delete this.curve;}var _25=w.scrollLeft,_26=_23._convertToScrollLeft(x);_24.curve=new _4._Line(_25,_26);},onAnimate:function(val){w.scrollLeft=val;}});this._anim=_24;this._setButtonClass(x);return _24;},_getBtnNode:function(e){var n=e.target;while(n&&!_4.hasClass(n,"tabStripButton")){n=n.parentNode;}return n;},doSlideRight:function(e){this.doSlide(1,this._getBtnNode(e));},doSlideLeft:function(e){this.doSlide(-1,this._getBtnNode(e));},doSlide:function(_27,_28){if(_28&&_4.hasClass(_28,"dijitTabDisabled")){return;}var _29=_4.style(this.scrollNode,"width");var d=(_29*0.75)*_27;var to=this._getScroll()+d;this._setButtonClass(to);this.createSmoothScroll(to).play();},_setButtonClass:function(_2a){var _2b=this._getScrollBounds();this._leftBtn.set("disabled",_2a<=_2b.min);this._rightBtn.set("disabled",_2a>=_2b.max);}});_4.declare("dijit.layout._ScrollingTabControllerButton",_5.form.Button,{baseClass:"dijitTab tabStripButton",templateString:_4.cache("dijit.layout","templates/_ScrollingTabControllerButton.html","