var AsyncForm=new Class({Implements:[Options],options:{formClass:"asyncForm",responseClass:"asyncResponse",hideDelay:9000},version:"1.0",initialize:function(options){this.setOptions(options);this.formEls=$$("."+this.options.formClass);if(this.formEls.length>0){this.start()}},start:function(){this.formEls.each(this.attachBehavior.bind(this))},attachBehavior:function(form){form.addEvents({submit:this.submitRequest.bindWithEvent(this,form)})},submitRequest:function(e,form){e.stop();this.formMask=new Mask(form,{onShow:function(){$(this.element).fade(0.6)}});$(this.formMask.element).set("styles",{background:"#fff",opacity:0});form.set("send",{onRequest:function(){this.formMask.show()}.bind(this),onComplete:function(response){this.formMask.hide();this.r={statusClass:"success",message:"Your email was successfully sent"};this.activeResponseEl=form.getElement("."+this.options.responseClass);this.activeResponseEl.set({html:this.r.message,"class":this.options.responseClass+" "+this.r.statusClass}).reveal();if(this.r.statusClass==="success"){(function(){this.dissolve()}).delay(this.options.hideDelay,this.activeResponseEl)}}.bind(this)});form.send()}});
