run:function(){
var o=this.options;
var method=this.getMethod();
var isGet=method =='GET';
if(o.clientValidation==false||this.form.isValid()){
Ext.Ajax.request(Ext.apply(this.createCallback(o),{
form:this.form.el.dom,
method:method,
headers:o.headers,
params:!isGet?this.getParams():null,
isUpload:this.form.fileUpload}));}
else if(o.clientValidation!==false){
this.failureType=Ext.form.Action.CLIENT_INVALID;
this.form.afterAction(this,false);}}
success:function(response){
var result=this.processResponse(response);
if(result===true||result.success){
this.form.afterAction(this,true);
return;}
if(Result.errors){
this.form.markInvalid(result.errors);
this.failureType=Ext.form.Action.SERVER_INVALID;}
this.form.afterAction(this,false); }
afterAction:function(action,success){
this.activeAction=null;
var o=action.options;
if(o.waitMsg){
if(this.waitMsgTarget===true)
this.el.unmask();
else if(this.waitMsgTarget.unmask();
else{
Ext.MessageBox.updateProgress(1);
Ext.MessageBox.hide():} }
if(success){
if(o.reset)
this.reset();
Ext.callback(o.success,o.scope,
this.fireEvent('actioncomplete',this,action);}
else{
Ext.callback(o.failure,o.scope,[this,action]);
this.fireEvent('actionfailed',this,action);}}
setValues:function(values){
if(Ext.isArray(values)){
for(var i=0,len=values.length;i<len;i++){
var v= values[i],f=this.findField(v.id);
if(f){
f.setValue(v.value);
if(this.trackResetOnload)
f.originalValue=f.getValue();}}
else{
var field,id;
for(id in values){
if(typeof values[id] !='function'&& (field=this.findField(id)){
field.setValue(values[id]);
if(this.trackResetOnLoad)
field.originalValue=field.getValue();}}}
return this;}
onRender:function(ct,position){
if(!this.el){
this.el=document.createElement('fieldset');
this.el.id=this.id;
if(this.title||this.header||this.checkboxToggle){
var legend=document.createElement('legend');
this.el.appendChild(legend).className='x-fieldset-header';}}
Ext.form.FieldSet.superclass.onRender.call(this,ct,position);
if(this.checkboxToggle){
var o=typeof this.checkboxToggle=='object' ?
this.checkboxToggle:(tag:'input',type:"checkbox',name:this.checkboxName||this.id+'-checkbox'};
this.checkbox=this.header.insertFirst(o);
this.checkbox.dom.checked=!this.collapsed;
this.checkbox.on('click',this.onCheckClick,this);}}
initEvents:function(){
Ext.form.TextField.superclass.initEvents.call(this);
if(this.validationTask=new Ext.util.DelayedTask(this.validate,this);
this.mon(this.el,'keyup',this.filterValidation,this);}
else if(this.validationEvent !==false){
this.mon(this.el,this.validationEvent,
this.validate,this,buffer:this.validationDelay}};}
if(this.selectONfocus||this.emptyText){
this.on("focus",this.preFocus,this);
this.mon(this.el,'mousedown',function(){
if(!this.hasFocus){
this.mon(this.el,'mouseup',
function(e){e.preventDefault();}
this,{single:true));}
},this);
if(this.emptyText){
this.on('blur',this.postBlur,this);
this.applyEmptyText();}}
if(this.maskRe||
(this.vtype&&this.disableKeyFilter!==true
&& (this.maskRe=Ext.form.VTypes[this.vtypes[this.vtype+'Mask']))){
this.mon(this.el,"keypress",this.filterKeys,this);}
if(this.grow){
this.mon(this.el,"keyup",this.onkeyUpBuffered,this,{buffer:50});
this.mon(this.el,"click",this.autoSize,this);}
if(this.enableKeyEvents){
this.mon(this.el,"keyup",this.onKeyUp,this);
this.mon(this.el,"keydown",this.onKeyDown,this);
this.mon(this.el,"keypress",this.onkeyPress,this);}}
} o a ,