// File: b_sign_up_1543.js

SignUp=function(){};SignUp.prototype.init=function(){this.FIELD_FIRST_NAME="first_name";this.FIELD_LAST_NAME="last_name";this.FIELD_EMAIL="email";this.FIELD_EMAIL_AGAIN="email_again";this.FIELD_USERNAME="username";this.FIELD_PASSWORD="password";this.FIELD_PASSWORD_AGAIN="password_again";this.FIELD_PROMO_CODE="promo_code";this.FIELD_HEAR_ABOUT_US="hear_about_us";this.FIELD_HEAR_EXPLAINED="hear_explained";this.STAT_GOOD=0;this.STAT_NOT_AVAILABLE=1;this.STAT_BAD_CHARS=2;this.fields_required=[this.FIELD_FIRST_NAME,this.FIELD_LAST_NAME,this.FIELD_EMAIL,this.FIELD_EMAIL_AGAIN,this.FIELD_USERNAME,this.FIELD_PASSWORD,this.FIELD_PASSWORD_AGAIN];this.fields_optional=[this.FIELD_PROMO_CODE,this.FIELD_HEAR_ABOUT_US,this.FIELD_HEAR_EXPLAINED];this._gimme_field_elem(this.FIELD_USERNAME).value="";this._gimme_field_elem(this.FIELD_PASSWORD).value="";this._gimme_field_elem(this.FIELD_PASSWORD_AGAIN).value="";this.un_check_in_progress=false;this.un_check_failed=false;this.un_check_list=[];this.e_username_text=document.getElementById("username_text");this.username_text=this.e_username_text.innerHTML};SignUp.prototype._gimme_field_elem=function(A){return document.getElementById("input_"+A)};SignUp.prototype.username_focus=function(){var A=document.getElementById("demo_url");var D=this._gimme_field_elem(this.FIELD_USERNAME);var C=this;var F=200;var B=0;var E=D.value;this.interval=setInterval(function(){var G=D.value=D.value.toLowerCase();if(E==G){B+=F;if(B>3000){this.last_username=G;C._check_username(G);B=0}return }if(E!=G){B=0;C._abort_username_check();C._show_username_icon()}E=G;if(G==""){A.innerHTML="&lt;username&gt;"}else{A.innerHTML=encodeURIComponent(G)}},F)};SignUp.prototype.username_blur=function(){clearInterval(this.interval);var B=this._gimme_field_elem(this.FIELD_USERNAME).value;var A=document.getElementById("demo_url");A.innerHTML=encodeURIComponent(B);if(this.last_username!=B){this._check_username(B)}};SignUp.prototype._check_username=function(C){if(this.un_check_in_progress){return }if(C.length<2){this._show_username_icon();return }if(g_utils.isset(this.un_check_list[C])){g_trace.log("checked before");this._show_username_icon();return }this.un_check_in_progress=true;this._show_username_icon();var A="/username_check.json";var B="username="+encodeURIComponent(C);this.u_ajax=new Ajax();this.u_ajax.connect(A,B,this._username_json_success,this._username_json_failed,this)};SignUp.prototype._abort_username_check=function(){if(!this.un_check_in_progress){return }g_trace.log("aborting username check");this.u_ajax.abort();this.un_check_in_progress=false;this._show_username_icon()};SignUp.prototype._username_json_success=function(C){this.un_check_in_progress=false;var D=C.username;var B=C.available;var A=C.bad_chars;if(A){this.un_check_list[D]=this.STAT_BAD_CHARS}else{if(!B){this.un_check_list[D]=this.STAT_NOT_AVAILABLE}else{this.un_check_list[D]=this.STAT_GOOD}}this._show_username_icon();g_trace.log("success: resp = "+C)};SignUp.prototype._username_json_failed=function(B,A){this.un_check_in_progress=false;this.un_check_failed=true;this._show_username_icon();g_trace.log("failure: resp = "+B+" alerted = "+A)};SignUp.prototype._show_username_icon=function(){var B=this._gimme_field_elem(this.FIELD_USERNAME).value;var A=document.getElementById("username_icon");if(this.un_check_failed||B.length<2){A.className="none";this.e_username_text.innerHTML=this.username_text;return }if(this.un_check_in_progress){A.className="hourglass";this.e_username_text.innerHTML=this.username_text;return }if(!g_utils.isset(this.un_check_list[B])){A.className="none";this.e_username_text.innerHTML=this.username_text;return }else{switch(this.un_check_list[B]){case this.STAT_GOOD:A.className="tick";this.e_username_text.innerHTML=this.username_text;break;case this.STAT_BAD_CHARS:A.className="cross";this.e_username_text.innerHTML="that username contains invalid characters.  Allowable characters are letters, numbers, hyphen(-), underscore(_)";break;case this.STAT_NOT_AVAILABLE:A.className="cross";this.e_username_text.innerHTML="that username is not available";break}}};SignUp.prototype.submit=function(){for(var D=0,A=this.fields_required.length;D<A;D++){if(this._gimme_field_elem(this.fields_required[D]).value==""){alert("please complete all required fields");return false}}if(this._gimme_field_elem(this.FIELD_EMAIL).value!=this._gimme_field_elem(this.FIELD_EMAIL_AGAIN).value){alert("The email fields do not match.  Please check them.");return false}if(this._gimme_field_elem(this.FIELD_PASSWORD).value!=this._gimme_field_elem(this.FIELD_PASSWORD_AGAIN).value){alert("The password fields do not match.  Please enter them again.");this._gimme_field_elem(this.FIELD_PASSWORD).value="";this._gimme_field_elem(this.FIELD_PASSWORD_AGAIN).value="";return false}if(!document.getElementById("input_terms").checked){alert("you must agree to our terms of service");return false}var F=this._gimme_field_elem(this.FIELD_USERNAME).value;var C="/sign_up_process.json";var E="";E+="first_name="+encodeURIComponent(this._gimme_field_elem(this.FIELD_FIRST_NAME).value)+"&";E+="last_name="+encodeURIComponent(this._gimme_field_elem(this.FIELD_LAST_NAME).value)+"&";E+="email="+encodeURIComponent(this._gimme_field_elem(this.FIELD_EMAIL).value)+"&";E+="username="+encodeURIComponent(this._gimme_field_elem(this.FIELD_USERNAME).value)+"&";E+="password="+encodeURIComponent(this._gimme_field_elem(this.FIELD_PASSWORD).value)+"&";E+="promo_code="+encodeURIComponent(this._gimme_field_elem(this.FIELD_PROMO_CODE).value)+"&";E+="hear_about_us="+encodeURIComponent(this._gimme_field_elem(this.FIELD_HEAR_ABOUT_US).value)+"&";E+="hear_explained="+encodeURIComponent(this._gimme_field_elem(this.FIELD_HEAR_EXPLAINED).value)+"&";for(var B in sssv){E+=B+"="+sssv[B]+"&"}this.u_ajax=new Ajax();this.u_ajax.connect(C,E,this._submit_json_success,this._submit_json_failed,this);return false};SignUp.prototype._submit_json_success=function(A){this._clear_error_box();window.location=A.goto_url};SignUp.prototype._submit_json_failed=function(B,A){this._clear_error_box();g_trace.log("submit failed");if(A){return }switch(B.status){case 35:alert("Your session expired.  Please try again.");location.reload();return }g_trace.log(B);if(B.msg!=""){this._show_error_box(B.msg)}};SignUp.prototype._clear_error_box=function(){document.getElementById("error_box").style.display="none";g_events.trigger_resize()};SignUp.prototype._show_error_box=function(C){var D=document.getElementById("error_box");D.innerHTML=C;D.style.display="block";D.style.visibility="hidden";g_events.trigger_resize();var B=0;var A=setInterval(function(){B++;if(B%2==0){D.style.visibility="hidden"}else{D.style.visibility="visible"}if(B==3){clearInterval(A)}},400)};var sign_up=new SignUp();g_events.add("window","ondomload",sign_up.init,sign_up);g_events.add("submit_button","onclick",sign_up.submit,sign_up);g_events.add("input_username","onfocus",sign_up.username_focus,sign_up);g_events.add("input_username","onblur",sign_up.username_blur,sign_up);