Ext.override(Ext.form.Field,{fireKey:function(a){if(((Ext.isIE&&a.type=="keydown")||a.type=="keypress")&&a.isSpecialKey()){this.fireEvent("specialkey",this,a)}else{this.fireEvent(a.type,this,a)}},initEvents:function(){this.el.on("focus",this.onFocus,this);this.el.on("blur",this.onBlur,this);this.el.on("keydown",this.fireKey,this);this.el.on("keypress",this.fireKey,this);this.el.on("keyup",this.fireKey,this);this.originalValue=this.getValue()},setValue:function(a){this.value=a;if(this.rendered){this.el.dom.value=(a===null||a===undefined?"":a)}}});Ext.override(Ext.form.Checkbox,{onChange:function(){}});Ext.override(Ext.form.ComboBox,{initEvents:function(){Ext.form.ComboBox.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{up:function(a){this.inKeyMode=true;this.selectPrev()},down:function(a){if(!this.isExpanded()){this.onTriggerClick()}else{this.inKeyMode=true;this.selectNext()}},enter:function(a){this.onViewClick()},esc:function(a){this.collapse()},tab:function(a){this.onViewClick(false);return true},scope:this,doRelay:function(c,b,a){if(a=="down"||this.scope.isExpanded()){return Ext.KeyNav.prototype.doRelay.apply(this,arguments)}return true},forceKeyDown:true});this.queryDelay=Math.max(this.queryDelay||10,this.mode=="local"?10:250);this.dqTask=new Ext.util.DelayedTask(this.initQuery,this);if(this.typeAhead){this.taTask=new Ext.util.DelayedTask(this.onTypeAhead,this)}if(this.editable!==false){this.el.on("keyup",this.onKeyUp,this)}if(this.forceSelection){this.on("blur",this.doForce,this)}if(!this.forceSelection&&this.editable){this.el.on("change",this.onChange,this)}},onChange:function(){var b=this.findRecord(this.displayField,this.el.getValue());var a;if(b){a=b.data[this.valueField]}else{a=this.el.getValue()}this.setValue(a);this.fireEvent("change",this,a,this.startValue)}});
