//>>built define("dojo/_base/kernel dojo/_base/lang dojo/_base/declare dojo/_base/array dojo/_base/connect dojo/_base/event dojo/_base/sniff dojo/_base/html dojo/keys dijit/a11y dijit/focus ../_FocusManager".split(" "),function(v,e,q,f,k,g,p,l,h,t,m,u){var r=q("dojox.grid.enhanced._FocusArea",null,{constructor:function(a,b){this._fm=b;this._evtStack=[a.name];b=function(){return!0};a.onFocus=a.onFocus||b;a.onBlur=a.onBlur||b;a.onMove=a.onMove||b;a.onKeyUp=a.onKeyUp||b;a.onKeyDown=a.onKeyDown||b;e.mixin(this, a)},move:function(a,b,c){if(this.name){var d;for(d=this._evtStack.length-1;0<=d;--d)if(!1===this._fm._areas[this._evtStack[d]].onMove(a,b,c))return!1}return!0},_onKeyEvent:function(a,b){if(this.name){var c,d=this._evtStack.length;for(c=d-1;0<=c;--c)if(!1===this._fm._areas[this._evtStack[c]][b](a,!1))return!1;for(c=0;cd||d>= this._areaQueue.length?new r({},this):this._areas[this._areaQueue[this._currentAreaIdx]];return null},placeArea:function(a,b,c){if(this._areas[a]){var d=f.indexOf(this._areaQueue,c);switch(b){case "after":0<=d&&++d;case "before":if(0<=d){this._areaQueue.splice(d,0,a);break}default:this._areaQueue.push(a);break;case "above":var e=!0;case "below":(b=this._areas[c])&&(e?b._evtStack.push(a):b._evtStack.splice(0,0,a))}}},ignoreArea:function(a){this._areaQueue=f.filter(this._areaQueue,function(b){return b!= a})},focusArea:function(a,b){a="number"==typeof a?0>a?this._areaQueue.length+a:a:f.indexOf(this._areaQueue,e.isString(a)?a:a&&a.name);0>a&&(a=0);a-=this._currentAreaIdx;this._gridBlured=!1;if(a)this.tab(a,b);else this.currentArea().onFocus(b,a)},tab:function(a,b){this.tabbingOut=this._gridBlured=!1;if(0!==a){var c=this._currentAreaIdx,d=0c||c>=this._areaQueue.length)c=this._currentAreaIdx+=a;else{var n=this._areas[this._areaQueue[c]].onBlur(b,a);!0===n?c=this._currentAreaIdx+=a:e.isString(n)&& this._areas[n]&&(c=this._currentAreaIdx=f.indexOf(this._areaQueue,n))}for(;0<=c&&ca?(this._currentAreaIdx=-1,m.focus(this.grid.domNode)):(this._currentAreaIdx=this._areaQueue.length,m.focus(this.grid.lastFocusNode))}},_onMouseEvent:function(a,b){for(var c=a.toLowerCase(),d=this["_"+c+"MouseEventHandlers"],e=f.map(d,function(a){return{area:a,idx:this._areas[a][c+ "MouseEventPlanner"](b,d)}},this).sort(function(a,b){return b.idx-a.idx}),h=f.map(e,function(a){return e.area}),g=e.length;0<=--g&&!1!==this._areas[e[g].area]["on"+a+"MouseEvent"](b,h););},contentMouseEvent:function(a){this._onMouseEvent("Content",a)},headerMouseEvent:function(a){this._onMouseEvent("Header",a)},initFocusView:function(){this.focusView=this.grid.views.getFirstScrollingView()||this.focusView||this.grid.views.views[0];this._bindAreaEvents()},isNavHeader:function(){return"header"==this._areaQueue[this._currentAreaIdx]}, previousKey:function(a){this.tab(-1,a)},nextKey:function(a){this.tab(1,a)},setFocusCell:function(a,b){a&&(this.currentArea(this.grid.edit.isEditing()?"editableCell":"content",!0),this._focusifyCellNode(!1),this.cell=a,this.rowIndex=b,this._focusifyCellNode(!0));this.grid.onCellFocus(this.cell,this.rowIndex)},doFocus:function(a){a&&a.target==a.currentTarget&&!this.tabbingOut?this._gridBlured&&(this._gridBlured=!1,0>this._currentAreaIdx||this._currentAreaIdx>=this._areaQueue.length?this.focusArea(0, a):this.focusArea(this._currentAreaIdx,a)):this.tabbingOut=!1;g.stop(a)},_doBlur:function(){this._gridBlured=!0},doLastNodeFocus:function(a){this.tabbingOut?this.tabbingOut=!1:this.focusArea(-1,a)},_delayedHeaderFocus:function(){this.isNavHeader()&&!p("ie")&&this.focusHeader()},_delayedCellFocus:function(){},_changeMenuBindNode:function(a,b){var c=this.grid.headerMenu;c&&this._contextMenuBindNode==a&&(c.unBindDomNode(a),c.bindDomNode(b),this._contextMenuBindNode=b)},focusHeader:function(a,b){var c= !1;this.inherited(arguments);this._colHeadNode&&"none"!=l.style(this._colHeadNode,"display")&&(m.focus(this._colHeadNode),this._stopEvent(a),c=!0);return c},_blurHeader:function(a,b){this._colHeadNode&&l.removeClass(this._colHeadNode,this.focusClass);l.removeAttr(this.grid.domNode,"aria-activedescendant");this._changeMenuBindNode(this.grid.domNode,this.grid.viewsHeaderNode);this._colHeadNode=this._colHeadFocusIdx=null;return!0},_navHeader:function(a,b,c){var d=0>b?-1:1,e=f.indexOf(this._findHeaderCells(), this._colHeadNode);0<=e&&c.shiftKey&&c.ctrlKey?this.colSizeAdjust(c,e,5*d):this.move(a,b)},_onHeaderKeyDown:function(a,b){if(b)switch(a.keyCode){case h.ENTER:case h.SPACE:b=this.getHeaderIndex(),0<=b&&!this.grid.pluginMgr.isFixedCell(a.cell)&&(this.grid.setSortIndex(b,null,a),g.stop(a))}return!0},_setActiveColHeader:function(){this.inherited(arguments);m.focus(this._colHeadNode)},findAndFocusGridCell:function(){this._focusContent()},_focusContent:function(a,b){b=!0;var c=0===this.grid.rowCount;if(this.isNoFocusCell()&& !c){for(var c=0,d=this.grid.getCell(0);d&&d.hidden;d=this.grid.getCell(++c));this.setFocusIndex(0,d?c:0)}else this.cell&&!c?this.focusView&&!this.focusView.rowNodes[this.rowIndex]?(this.grid.scrollToRow(this.rowIndex),this.focusGrid()):this.setFocusIndex(this.rowIndex,this.cell.index):b=!1;b&&this._stopEvent(a);return b},_blurContent:function(a,b){this._focusifyCellNode(!1);return!0},_navContent:function(a,b,c){0===this.rowIndex&&0>a||this.rowIndex===this.grid.rowCount-1&&0