function scCheckUsername(a,b){if(!a||!b){return}this.catalyst=a;this.field=b;this.errorMessage="Error while checking availability.";this.successClass="available";this.query="/ajax/member/checkUsername.html?username=";this.callbacks={success:this.onSuccess,failure:this.onFailure,scope:this,timeout:3000};this.yahoo=YAHOO;this.event1=this.yahoo.util.Event.on(a,"click",this.onClick,this,true);if(!(/^\s*$/).test(b.value)){this.onClick()}}scCheckUsername.prototype={onClick:function(b){if(b){this.yahoo.util.Event.stopEvent(b)}if(!this.statusContainer){var a=scCreateElement("div",{id:"username_status"});this.catalyst.parentNode.appendChild(a);this.statusContainer=a}var c=this.query+this.field.value;this.yahoo.util.Connect.asyncRequest("post",c,this.callbacks)},onSuccess:function(a){try{var b=this.yahoo.lang.JSON.parse(a.responseText);var c=b.valid?this.yahoo.util.Dom.addClass:this.yahoo.util.Dom.removeClass;c(this.statusContainer,this.successClass);this.statusContainer.innerHTML=b.message;this.showStatus()}catch(d){this.onFailure(a)}},onFailure:function(a){if(!this.yahoo.util.Connect.isCallInProgress(a)){this.yahoo.util.Dom.removeClass(this.statusContainer,this.successClass);this.statusContainer.innerHTML=this.errorMessage;this.showStatus()}},showStatus:function(){this.statusContainer.style.display="block"}};YAHOO.util.Event.onDOMReady(function(){var g=document.getElementById("rpx-error");if(g){var b=document.forms.registerForm.emailAddress.value;if(!(/^\s*$/).test(b)){var f="/ajax/member/checkEmailAddress.html?emailAddress="+b+"&isOpenId=true";var d={success:function(i){var h=YAHOO.lang.JSON.parse(i.responseText);if(!h.valid){g.style.display="block"}}};YAHOO.util.Connect.asyncRequest("post",f,d)}}var a=document.getElementById("check_username");var e=document.getElementById("username");var c=new scCheckUsername(a,e)});