NickNameTO=null;EmailTO=null;Register={capacha_checked:true,months:{1:_("Jan"),2:_("Feb"),3:_("Mar"),4:_("Apr"),5:_("May"),6:_("Jun"),7:_("Jul"),8:_("Aug"),9:_("Sep"),10:_("Oct"),11:_("Nov"),12:_("Dec")},dateOfBirth:function(g,b,c){if(b==undefined){b=true}var h=this.month=SELECT({name:"month"});var d=this.day=SELECT({name:"day"});var f=this.year=SELECT({name:"year"});var e;if(b){ACN(h,OPTION({value:null},_("Month")))}for(e=1;e<=12;e++){ACN(h,OPTION({value:e},this.months[e]))}if(b){ACN(d,OPTION({value:null},_("Day")))}for(e=1;e<=31;e++){ACN(d,OPTION({value:e},e))}if(b){ACN(f,OPTION({value:null},_("Year")))}for(e=1997;e>=1930;e--){ACN(f,OPTION({value:e},e))}var a=function(i,j){map(i.options,function(k){if(j==k.value&&c){k.selected=true}})};if(g){a(h,g.getUTCMonth()+1);a(d,g.getUTCDate());a(f,g.getUTCFullYear())}return DIV({c:"day_of_birth"},h,d,f)},checkNickname:function(){var a=$("input_nick_name");if($("nick_name_span")){$("nick_name_span").innerHTML=a.value.replace(/[<>]/g,"");Register.userNameCheck()}return true},checkEmail:function(){var a=$("input_email");Register.emailCheck()},invalidKeys:function(a){setEventKey(a);if(a.key==32){return false}},addIndicator:function(c,b){if(!$(b)){var a=IMG({src:"http://statics.plurk.com/7f5c4282d2e9accfdae99cc6abb6c9bb.gif",id:b});insertAfter(a,c)}},removeIndicator:function(a){if($(a)){removeElement($(a))}},emailCheck:function(){var a=$("input_email");if(!Register.re_email.test(a.value)){return true}Register.checking_email=true;Register.addIndicator(a,"indicator_email");var b=getRequest("/Users/isEmailFound");b.addCallback(function(d){var c=$("is_email_valid");Register.removeIndicator("indicator_email");if(a.value==""){setClass(c,"");c.innerHTML="";d=false}else{if(d=="False"){setClass(c,"");c.innerHTML="";d=false}else{if(d=="Invalid"){setClass(c,"user_error");c.innerHTML=" <br />"+_("This email address is invalid and blocked by Plurk.");d=true}else{setClass(c,"user_error");c.innerHTML=" <br />"+_("This email address has been registered by another user.");d=true}}}Register.email_found=d;Register.checking_email=false});b.sendReq({email:a.value})},userNameCheckCallback:function(f){var c=$("input_nick_name");var a=$("is_name_valid");var b=f.is_found;Register.removeIndicator("indicator_name");var d=function(){setClass(a,"ok");a.innerHTML=" "+_("is available :)");Register.user_found=false;RCN($("suggestions"),null);$("nick_name_span").innerHTML=c.value.replace(/[<>]/g,"")};if(!Register.re_nickname.test(c.value)){setClass(a,"user_error");a.innerHTML=" "+_("Nick name can only contain letters, numbers and _.<br /> Some examples: peter_3000 or cool_boi_1985").replace(/<br\s*\/>/,"");b=true}else{if(c.value==""){setClass(a,"");a.innerHTML="";found=false}else{if(b==false){d();b=false}else{setClass(a,"user_error");a.innerHTML=" "+_("is already taken :(");if(f.suggestions&&!$("suggestions_holder")){var e=DIV({id:"suggestions_holder"});ACN(e,_("Some nick names that are available"),":",BR());map(f.suggestions,function(i){var j="__"+i;var g,h;ACN(e,g=INPUT({type:"radio",name:"nick_name_sug",id:j}),h=LABEL({"for":j},i));AEV([g,h],"click",function(){$("input_nick_name").value=i;d();$("first_name_input").focus()});ACN(e,BR())});RCN($("suggestions"),e)}b=true}}}Register.user_found=b;Register.checking_user=false},usercheck_cache:{},userNameCheck:function(){var b=$("input_nick_name");var a=$("is_name_valid");if(b.value==""||b.value.length<3){return true}if(Register.checking_user){return true}var c=Register.usercheck_cache[strip(b.value)];if(c){return Register.userNameCheckCallback(c)}Register.checking_user=true;Register.addIndicator(b,"indicator_name");var d=loadJSON("/Users/isUserFound2");d.addCallback(function(e){Register.usercheck_cache[strip(b.value)]=e;Register.userNameCheckCallback(e)});d.addErrback(function(){Register.user_found=null;Register.checking_user=false});d.sendReq({nick_name:b.value})},re_email:/^.{1,}@.{3,}$/,re_fullname:/.{1,}/,re_nickname:/^[A-Za-z0-9_]+$/,check_name:true,check_bday:true,validForm:function(d,a){if(Register.checking_user||Register.checking_email||Register.submiting){return false}var h=[];var f=$f(d,"nick_name").value;if(f==""){h.push(_("Nick name can't be empty"))}else{if(f.length<3){h.push(_("Nick name must be at least 3 characters long"))}else{if(!Register.re_nickname.test(f)){h.push(_("Nick name can only contain letters, numbers and _.<br /> Some examples: peter_3000 or cool_boi_1985"))}}}if(Register.check_name){if(!Register.re_fullname.test($f(d,"first_name").value)){h.push(_("You must enter a first name"))}if(!Register.re_fullname.test($f(d,"last_name").value)){h.push(_("You must enter a last name"))}}if(Register.user_found){h.push(_("User is already created"))}if(Register.email_found){h.push(_("Email already found in our database"))}if(Register.check_bday){if(!Register.month.value||!Register.day.value||!Register.year.value){h.push(_("You must enter a valid birthday (both year, month and day)"))}}if(!Register.re_email.test($f(d,"email").value)){h.push(_("You must enter a valid email"))}var c=$f(d,"password").value;if(c.length<4){h.push(_("Password should be at least 4 characters long"))}if(!$f(d,"accept").checked){h.push(_("You must accept the terms of use"))}var b=UL();if(a){h=h.concat(a)}Register.removeIndicator("indicator_submit");if(h.length>0){showElement($("errors"));setHTML($("errors"),_("Whoopsie, there seems to be sadness here. Please try fixing the error(s) below or you can <a href='/contact' title='we can help'>contact us</a> if problem persists."));ACN($("errors"),b);$("errors").style.display="block";map(h,function(e){ACN(b,setHTML(LI(),e))});if(window.updateHeight){window.updateHeight()}return false}if(window.updateHeight){window.updateHeight()}removeElement($("errors"));Register.doing_check=true;Register.submiting=true;try{insertAfter(IMG({src:"http://statics.plurk.com/7f5c4282d2e9accfdae99cc6abb6c9bb.gif"}),$("register_submit"))}catch(g){}return true}};
