/*
	Copyright (c) 2004-2008, 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["dojox.grid.compat._data.editors"]){dojo._hasResource["dojox.grid.compat._data.editors"]=true;dojo.provide("dojox.grid.compat._data.editors");dojo.provide("dojox.grid.compat.editors");dojo.declare("dojox.grid.editors.Base",null,{constructor:function(_1){this.cell=_1;},_valueProp:"value",_formatPending:false,format:function(_2,_3){},needFormatNode:function(_4,_5){this._formatPending=true;dojox.grid.whenIdle(this,"_formatNode",_4,_5);},cancelFormatNode:function(){this._formatPending=false;},_formatNode:function(_6,_7){if(this._formatPending){this._formatPending=false;dojo.setSelectable(this.cell.grid.domNode,true);this.formatNode(this.getNode(_7),_6,_7);}},getNode:function(_8){return (this.cell.getNode(_8)||0).firstChild||0;},formatNode:function(_9,_a,_b){if(dojo.isIE){dojox.grid.whenIdle(this,"focus",_b,_9);}else{this.focus(_b,_9);}},dispatchEvent:function(m,e){if(m in this){return this[m](e);}},getValue:function(_e){return this.getNode(_e)[this._valueProp];},setValue:function(_f,_10){var n=this.getNode(_f);if(n){n[this._valueProp]=_10;}},focus:function(_12,_13){dojox.grid.focusSelectNode(_13||this.getNode(_12));},save:function(_14){this.value=this.value||this.getValue(_14);},restore:function(_15){this.setValue(_15,this.value);},_finish:function(_16){dojo.setSelectable(this.cell.grid.domNode,false);this.cancelFormatNode(this.cell);},apply:function(_17){this.cell.applyEdit(this.getValue(_17),_17);this._finish(_17);},cancel:function(_18){this.cell.cancelEdit(_18);this._finish(_18);}});dojox.grid.editors.base=dojox.grid.editors.Base;dojo.declare("dojox.grid.editors.Input",dojox.grid.editors.Base,{constructor:function(_19){this.keyFilter=this.keyFilter||this.cell.keyFilter;},keyFilter:null,format:function(_1a,_1b){this.needFormatNode(_1a,_1b);return "<input class=\"dojoxGrid-input\" type=\"text\" value=\""+_1a+"\">";},formatNode:function(_1c,_1d,_1e){this.inherited(arguments);this.cell.registerOnBlur(_1c,_1e);},doKey:function(e){if(this.keyFilter){var key=String.fromCharCode(e.charCode);if(key.search(this.keyFilter)==-1){dojo.stopEvent(e);}}},_finish:function(_21){this.inherited(arguments);var n=this.getNode(_21);try{dojox.grid.fire(n,"blur");}catch(e){}}});dojox.grid.editors.input=dojox.grid.editors.Input;dojo.declare("dojox.grid.editors.Select",dojox.grid.editors.Input,{constructor:function(_23){this.options=this.options||this.cell.options;this.values=this.values||this.cell.values||this.options;},format:function(_24,_25){this.needFormatNode(_24,_25);var h=["<select class=\"dojoxGrid-select\">"];for(var i=0,o,v;((o=this.options[i])!==undefined)&&((v=this.values[i])!==undefined);i++){h.push("<option",(_24==v?" selected":"")," value=\""+v+"\"",">",o,"</option>");}h.push("</select>");return h.join("");},getValue:function(_2a){var n=this.getNode(_2a);if(n){var i=n.selectedIndex,o=n.options[i];return this.cell.returnIndex?i:o.value||o.innerHTML;}}});dojox.grid.editors.select=dojox.grid.editors.Select;dojo.declare("dojox.grid.editors.AlwaysOn",dojox.grid.editors.Input,{alwaysOn:true,_formatNode:function(_2e,_2f){this.formatNode(this.getNode(_2f),_2e,_2f);},applyStaticValue:function(_30){var e=this.cell.grid.edit;e.applyCellEdit(this.getValue(_30),this.cell,_30);e.start(this.cell,_30,true);}});dojox.grid.editors.alwaysOn=dojox.grid.editors.AlwaysOn;dojo.declare("dojox.grid.editors.Bool",dojox.grid.editors.AlwaysOn,{_valueProp:"checked",format:function(_32,_33){return "<input class=\"dojoxGrid-input\" type=\"checkbox\""+(_32?" checked=\"checked\"":"")+" style=\"width: auto\" />";},doclick:function(e){if(e.target.tagName=="INPUT"){this.applyStaticValue(e.rowIndex);}}});dojox.grid.editors.bool=dojox.grid.editors.Bool;}