text: /*
  	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
  */
  
  
  if(!dojo._hasResource["dijit.MenuBar"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
  dojo._hasResource["dijit.MenuBar"] = true;
  dojo.provide("dijit.MenuBar");
  
  dojo.require("dijit.Menu");
  
  dojo.declare("dijit.MenuBar", dijit._MenuBase, {
  	// summary:
  	//		A menu bar, listing menu choices horizontally, like the "File" menu in most desktop applications
  
  	templateString: dojo.cache("dijit", "templates/MenuBar.html", "<div class=\"dijitMenuBar dijitMenuPassive\" dojoAttachPoint=\"containerNode\"  waiRole=\"menubar\" tabIndex=\"${tabIndex}\" dojoAttachEvent=\"onkeypress: _onKeyPress\"></div>\r\n"),
  
  	baseClass: "dijitMenuBar",
  
  	// _isMenuBar: [protected] Boolean
  	//		This is a MenuBar widget, not a (vertical) Menu widget.
  	_isMenuBar: true,
  
  	postCreate: function(){
  		var k = dojo.keys, l = this.isLeftToRight();
  		this.connectKeyNavHandlers(
  			l ? [k.LEFT_ARROW] : [k.RIGHT_ARROW],
  			l ? [k.RIGHT_ARROW] : [k.LEFT_ARROW]
  		);
  
  		// parameter to dijit.popup.open() about where to put popup (relative to this.domNode)
  		this._orient = this.isLeftToRight() ? {BL: 'TL'} : {BR: 'TR'};
  	},
  
  	focusChild: function(item){
  		// overload focusChild so that whenever the focus is moved to a new item,
  		// check the previous focused whether it has its popup open, if so, after
  		// focusing the new item, open its submenu immediately
  		var prev_item = this.focusedChild,
  			showpopup = prev_item && prev_item.popup && prev_item.popup.isShowingNow;
  		this.inherited(arguments);
  		if(showpopup && item.popup && !item.disabled){
  			this._openPopup();		// TODO: on down arrow, _openPopup() is called here and in onItemClick()
  		}
  	},
  
  	_onKeyPress: function(/*Event*/ evt){
  		// summary:
  		//		Handle keyboard based menu navigation.
  		// tags:
  		//		protected
  
  		if(evt.ctrlKey || evt.altKey){ return; }
  
  		switch(evt.charOrCode){
  			case dojo.keys.DOWN_ARROW:
  				this._moveToPopup(evt);
  				dojo.stopEvent(evt);
  		}
  	},
  
  	onItemClick: function(/*dijit._Widget*/ item, /*Event*/ evt){
  		// summary:
  		//		Handle clicks on an item. Cancels a dropdown if already open.
  		// tags:
  		//		private
  		if(item.popup && item.popup.isShowingNow){
  			item.popup.onCancel();
  		}else{
  			this.inherited(arguments);
  		}
  	}
  });
  
  }
  