var Subscribe_class=new Class({STATUS:{ERROR:-1,NO:0,YES:1,DONE:2,PROCESS:3},ID:'subscribe_block',autoSubscribe:false,options:{tpl:'',ID:false},initialize:function(name){this.name=name;this.status=User.isAuth()&&this.isSubscribed()?this.STATUS.YES:this.STATUS.NO;if(!this.options.ID){document.write('<div id="'+this.ID+'"></div>');this.elem=$(this.ID)}else{this.elem=$(this.options.ID)}this.update();User.addEvent('signChange',this.onUserSignChange.bind(this))},update:function(){this.elem.setHTML(App.getHTML(this.options.tpl,this)).showHints();this.form=this.elem.getElement('form');if(this.form)this.form.addEvent('submit',this.onSubmit.bind(this))},isSubscribed:function(){var subscribes=User.getProperty('subscribes');return $defined(subscribes[this.name])},onSubmit:function(e){new Event(e).stop();if(this.form.trySend({onComplete:this.onComplete.bind(this),headers:{ajaxAction:'/subscribe/#subscribe'}})){this._udone=this.form.getProperty('_udone');this.status=this.STATUS.PROCESS;this.update()}},onComplete:function(){this.status=this.STATUS.NO;var Response=new Response_class(arguments[0]);this.Message=Response.Message;if(Response.isError()&&Response.action&Response.ACTION.USER_AUTH){this.autoSubscribe=true;this.status=this.STATUS.NO}else if(Response.isDone()){this.status=this.STATUS.DONE;if(this._udone){App.tryUrchinTracker(this._udone);App.trackEvent('newsletters','subscribe',this.name)}}else if(!Response.isError()){this.status=this.STATUS.YES}else{this.status=this.STATUS.ERROR}Response.doAction();this.update()},onUserSignChange:function(){if(this.isSubscribed()){this.status=this.status!==this.STATUS.DONE?this.STATUS.YES:this.STATUS.DONE}else{this.status=this.STATUS.NO;if(this.form&&this.autoSubscribe&&this.form.trySend({onComplete:this.onComplete.bind(this)})){this._udone=this.form.getProperty('_udone');this.status=this.STATUS.PROCESS}}this.update()}});Subscribe_class.implement(new Options);Subscribe_class.prototype.options.tpl='{if status === STATUS.PROCESS} <img src=\"http:\/\/i.technoferma.com.ua\/process-small.gif\" width=\"22\" height=\"22\" alt=\"ajax process\"\/>\u041f\u043e\u0434\u043f\u0438\u0441\u043a\u0430... {elseif status === STATUS.YES} <div class=\"message\"><span class=\"code2\">\u0412\u044b \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0430 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u043e\u0432\u043e\u0441\u0442\u0435\u0439<\/span><\/div> {elseif status === STATUS.DONE} <div class=\"message\"><span class=\"code1\">\u0412\u044b \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043b\u0438\u0441\u044c \u043d\u0430 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u043e\u0432\u043e\u0441\u0442\u0435\u0439<\/span><\/div> {elseif status === STATUS.ERROR} ${Message.getContentTpl()} {else} <form method=\"POST\"  _utry=\"http:\/\/my.technoferma.com.ua\/subscribe\/try\/\" _udone=\"http:\/\/my.technoferma.com.ua\/subscribe\/done\/\"> {if User.isAuth()} ${User.getEmail()} <input value=\"${User.getEmail()}\" name=\"email\" type=\"hidden\" \/> {else} <input{if User.getEmail()} value=\"${User.getEmail()}\"{\/if} class=\"text\" name=\"email\" required=\"required\" hint=\"\u0412\u0430\u0448\u0430 \u044d\u043b. \u043f\u043e\u0447\u0442\u0430\" required=\"required\" pattern=\"^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z0-9]{2,4})$\" \/> {\/if} <input name=\"name\" value=\"${name}\" type=\"hidden\" \/><input type=\"submit\" value=\"\u041f\u043e\u0434\u043f\u0438\u0441\u0430\u0442\u044c\u0441\u044f\" \/> <\/form> {\/if}';
