function get(a){return document.getElementById(a)}function gt(a){return document.getElementById(a)}function clone(d){if(!d||"object"!==(typeof d)){return d}var e="function"===(typeof d.pop)?[]:{};var b,a;for(b in d){if(d.hasOwnProperty(b)){a=d[b];if(a&&"object"===(typeof a)){e[b]=clone(a)}else{e[b]=a}}}return e}var msg={_data:{main:{CLOSE:"close"}},_parse:function(b){var a=b.split(".",2);if(a.length<2){a.unshift("main")}return a},set:function(b){for(k in b){var a=this._parse(k);if(!$chk(this._data[a[0]])){this._data[a[0]]={}}this._data[a[0]][a[1]]=b[k]}},v:function(b){var a=this._parse(b);if($chk(this._data[a[0]])&&$chk(this._data[a[0]][a[1]])){return this._data[a[0]][a[1]]}else{return null}},w:function(a){var b=this.v(a);if($chk(b)){b=b.substring(0,1).toUpperCase()+b.substring(1)}return b}};function Observer(){this.fns=[]}Observer.prototype={subscribe:function(a){this.fns.push(a)},unsubscribe:function(a){this.fns=this.fns.filter(function(b){if(b!==a){return b}})},fire:function(c,b){var a=b||window;this.fns.forEach(function(d){d.call(a,c)})}};var message={_showDuration:5000,_dom:null,_domCssTarget:null,_domContent:null,_getDom:function(){if(this._dom==null){this._dom=$("message");this._dom.setStyles({opacity:0,display:"block"})}return this._dom},_getDomCssTarget:function(){if(this._domCssTarget==null){this._domCssTarget=this._getDom().getElement(".iContainer")}return this._domCssTarget},_getDomContent:function(){if(this._domContent==null){this._domContent=this._getDom().getElement(".iLayer")}return this._domContent},_setText:function(a){this._getDomContent().set("text",a)},_addCssClass:function(a){this._getDomCssTarget().addClass(a)},_resetCssClass:function(){this._getDomCssTarget().className="iContainer"},_fadeIn:function(){var a=this._getDom();a.fade("in")},_fadeOut:function(b){var a=this._getDom();a.set("fade",{onComplete:b});a.fade("out")},show:function(b,a){this._resetCssClass();this._setText(b);this._addCssClass(a);this._fadeIn();setTimeout(this._hide.bind(this),this._showDuration);return true},showError:function(a){return this.show(a,"iError")},_hide:function(){this._fadeOut(function(){this._setText("")}.bind(this));return true}};function mask_show(b,a){if((typeof b)=="string"){b=$(b)}if(b.__tr_mask===undefined){b.__tr_mask=new Mask(b,a!==undefined?a:{})}b.__tr_mask.show()}function mask_hide(a){if((typeof a)=="string"){a=$(a)}if(a.__tr_mask!==undefined){a.__tr_mask.hide()}}var FormWorker=new Class({Implements:Options,_form:null,options:{},initialize:function(b,a){this.setOptions(a);this.setForm(b)},setForm:function(a){a.set("send",{onSuccess:this._success.bind(this),onFailure:this._failure.bind(this)});a.addEvent("submit",function(){this.send();return false}.bind(this));this._form=a},_hideErrors:function(){this._form.getElements(".iError").each(function(a){a.style.display="none"})},send:function(){this._hideErrors();mask_show(this._form,{"class":"mask"});this._form.send()},_failure:function(){mask_hide(this._form);message.showError(msg.w("ERROR"))},_success:function(b){var a=JSON.decode(b,true);if(a===null){this._failure();return a}if(a.redirect===undefined){mask_hide(this._form)}if(a.message!==undefined){message.show(a.message)}if(a.error!==undefined){message.showError(a.error)}if(a.errors!==undefined){this._commandErrors(a.errors)}if(a.reset!==undefined&&a.reset){this._commandReset()}if(a.redirect!==undefined){this._commandRedirect(a.redirect)}return a},_commandRedirect:function(a){window.location=a},_commandReset:function(){this._form.reset()},_focusFormField:function(a){var b=this._form.getElement("input[name="+a+"],select[name="+a+"]");if(b===null){return false}b.focus();return true},_commandErrors:function(d){var b=true;for(var c in d){if(b){b=!this._focusFormField(c)}if(c!=""){var a=this._form.getElement("#error_"+c);if(a!==null){a.set("text",d[c]);a.style.display=""}}else{message.showError(d[c])}}}});
