var Captcha={ label:null, init:function() { $e.on('.reset_check,* .reset_check', this.reload_capcha, this); this.label=new dLabel({ el:$q.down(document.body,'.checkcode_label') }); }, destroy:function() { $e.un('.reset_check,* .reset_check', this.reload_capcha, this); this.label.destroy(); this.label=null; }, reload_capcha:function(el) { var img=$('check_code_img'); if(!img) return true; var url=img.src.split('?')[0]; img.src=url+'?reload=1&rand='+Math.random(); } }; Captcha=new $class(dPage,Captcha); var Clipboard={ copyMsg:null, defaultCopyMsg:'Copied to clipboard', timestamp:0, msgElement:null, hash:null, init:function() { var a = $q.select(document, ".copy_text"); if (a.length == 0) return; for (var i=0, n = a.length; i < n; i++) { var el = a[i]; $e.add (el, 'focus', this.focus, this); } if (!Flash.init(7)) return; var flashSrc = JSRoot + "flash/__clipboard.swf"; var hash = {}; for (var i=0, n = a.length; i < n; i++) { var el = a[i]; var text2Copy = encodeURIComponent(el.value); var flashId = "clipboardMC" + i; hash[flashId] = el; var flashVars = "clipboard=" + text2Copy + "&id=" + flashId; var flashStr = Flash.draw(flashSrc, "100%", "100%", "transparent", flashVars, true); var flashCont = $u.el('div',{ id:flashId, className:'copy_icon', innerHTML: flashStr }); var inputCont = el.parentNode.parentNode; inputCont.parentNode.insertBefore(flashCont, inputCont); } this.hash = hash; }, focus: function(el) { setTimeout(function(){ el.select(); }, 1); }, getTooltipText: function() { if (this.copyMsg) return this.copyMsg; var clipboard_text = $('clipboard_text'); this.copyMsg=clipboard_text ? clipboard_text.title : this.defaultCopyMsg; return this.copyMsg; }, showMsg: function(flashContId) { var flashCont = $(flashContId); if (!flashCont) return; if(!this.msgElement){ this.msgElement=$u.el('div',{ id:'clipboard_title', innerHTML:'<div class="bln_info pngbox">\ <div class="tpt">\ <div class="bpt">\ <div class="cont">' + this.getTooltipText() + '</div>\ <div class="bpc"></div>\ </div>\ </div>\ <div class="tcn"></div>\ <div class="bcn"></div>\ </div>' }); document.body.appendChild(this.msgElement); } if(this.msgElement.style.display=='block') clearTimeout(this.timestamp); var tl=$el.cumulativeOffset(flashCont); $config(this.msgElement.style,{ display:'block', top:tl.top+12+'px', left:tl.left+16+'px' }); var inpuitEl = this.hash[flashContId]; if (inpuitEl) inpuitEl.select(); this.timestamp=setTimeout('$("clipboard_title").style.display="none"', 1800); } }; Clipboard=new $class(dPage,Clipboard); var EmailMisprint={ name:'EmailMisprint', el:null, url:'', error_tpl:'', er:null, email:'', corrected_email:'', _cache:{}, init:function() { this.el=$q.down(document.body,'.email_misprint'); if(!this.el || !this.url) return; this._cache[this.email]=true; this._cache[this.corrected_email]=true; if(this.corrected_email) this.er=$q.down(this.el.parentNode,'.input_error_blue'); $e.on('.email_misprint_revert',this.revert,this); $e.add(this.el,'blur',this.correct,this); }, correct:function(el) { var q=this.el.value; if(q in this._cache) return; if(!q || q==this.email || q==this.corrected_email) return; this._cache[q]=true; if(this._loading) this._transport.abort(); this._loading=true; this.email=q; this._transport=new $r(this.url,{ params:{q:q}, ready:this.loaded, error:this.load_error },this); }, revert:function(el) { if(this._loading){ this._transport.abort(); this._loading=false; } this.el.value=this.email; this.hide_error(); new $r(this.url,{ params:{change_back:this.email} }); }, loaded:function(res) { this._loading=false; if(!res.errno) this.hide_error(); else this.show_error(res.q,res.email); }, load_error:function() { this._loading=false; }, show_error:function(email,corrected_email) { if(this.el.value!=email) return; this._cache[corrected_email]=true; this.corrected_email=corrected_email; this.el.value=corrected_email; if(!this.er){ this.er=$u.tpl2el(this.error_tpl); this.el.parentNode.insertBefore(this.er,this.el); } this.er.style.display='block'; }, hide_error:function() { if(this.er) this.er.style.display='none'; } }; EmailMisprint=new $class(dPage,EmailMisprint); var ChangeEmail = { init:function() { $e.on({ '#change_address':this.change_address },this); var ce=$('change_email'); var ca=$('change_address_div'); ce && !$el.hasClassName(ce,'not_hidden') && $el.addClassName(ce,'hidden') || (ca && $el.addClassName(ca,'hidden')); }, change_address:function(el) { $el.toggleClassName($('change_email'),'hidden'); $el.toggleClassName($('change_address'), 'showmore'); var t=$('change_address_div'); t && $el.toggleClassName(t, 'hidden'); t=$('open_email_service'); t && $el.toggleClassName(t,'hidden'); } }; ChangeEmail=new $class(dPage,ChangeEmail); var MsgClose={ init:function() { $e.on('.msg-close', this.msg_close, this); }, msg_close:function(el) { el=$q.up(el,'.container_confirmation'); if(!el) return; new $fx.effect({ wait:false, duration:300, items:[ new $fx.style({ el:el, prop:'height', start:function() { this.from=this.el.offsetHeight; this.el.style.overflow='hidden'; }, end:function() { this.el.parentNode.removeChild(this.el); } }) ] }); } }; MsgClose=new $class(dPage,MsgClose); $u.scroll=function(el) { if(!el) return; var offsetTop=$el.cumulativeOffset(el).top, scrollTop=window.scrollY||document.body.parentNode.scrollTop, scrollHeight=window.scrollMaxY||document.body.parentNode.scrollHeight, top=Math.min(Math.max(offsetTop-15,0),scrollHeight); if(top==scrollTop) return; new $fx.effect({ wait:false, duration:300, items:[ new $fx.style({ from:scrollTop, to:top, step:function(ct,d) { var y=this.fx(ct,this.from,this.to,d); window.scroll(0,y); } }) ] }); }; var SignIn=new $class(dPage, { name: "SignIn", init:function() { var t=$('toggle_pass'); if(t) $el.addClassName(t,'js_enabled'); $e.on({ '#toggle_pass':this.toggle_pass },this); if(/*@cc_on!@*/false) $e.add($('signInForm'), 'submit', this.submit, this); }, toggle_pass:function(el) { var fp=$('forgot_passwd'); if(!el || !fp) return; $el.toggleClassName(el,'active'); $el.toggleClassName(fp,'hidden'); $u.scroll(fp); }, submit:function(form) { var field=form.elements['make_homepage']; if(!field || !field.checked) return true; try{ var el=$u.el('div'); el.style.behavior='url(#default#homepage)'; el.setHomePage(this.homePageURL); }catch(e){} return true; } });