Meetup.DomDeco.UrlPicker=function(){bindMethods(this)};Meetup.DomDeco.UrlPicker.prototype={minChars:6,maxChars:60,decorate:function(a){if(!a){LOG.error("no element passed in to Meetup.DomDeco.UrlPicker.decorate()");return}this._inputEl=getFirstElementByTagAndClassName("input",null,a);var c=this._inputEl.className.match(/.*?maxChars(\d+)/);if(c&&c[1]){this.maxChars=c[1]}if(this._inputEl.id.length>0){this._statusEl=DIV({"class":"url-advice",id:"charCount_"+this._inputEl.id})}else{this._statusEl=DIV({"class":"url-advice"})}this._msgEl=DIV({style:"visibility:hidden; position: absolute;"},this._statusEl);Meetup.Layout.positionOnElementEdge(this._msgEl,this._inputEl,Meetup.Layout.SOUTHWEST,{x:0,y:4});this._hide();connect(this._inputEl,"onkeyup",this._check);if(hasElementClass(a,"error")){var b=connect(this._inputEl,"onkeydown",function(d){removeElementClass(a,"error");forEach($tagClass("p","error",a),removeElement);disconnect(b)})}},_cache:Meetup.Cache.bindToBucket("urlpicker"),_hidden:false,_inputEl:null,_statusEl:null,_fieldRect:null,_hide:function(){this._msgEl.style.visibility="hidden";this._hidden=true},_show:function(){this._msgEl.style.visibility="visible";this._hidden=false},normalizeUrlname:function(a){if(!a.match(/(\r\n)/)){if(a.match(/(\r)/)){a=a.replace(/(\r)/g,"xx")}else{if(a.match(/(\n)/)){a=a.replace(/(\n)/g,"xx")}}}return Meetup.urlify(a)},_check:function(b){var f=this._statusEl;var a=true;var d=this.normalizeUrlname(this._inputEl.value);var g=d.length;if(g<this.minChars){f.innerHTML=Meetup.Copy.minimumChars.replace("{NUM_CHARS}",(this.minChars).toString());f.className="url-warning";a=false;if(this._hidden){this._show()}}else{if(g>this.maxChars){var c=this.maxChars-g;f.innerHTML=Meetup.Copy.charactersOver.replace("{NUM_CHARS}",(-c).toString());f.className="url-error";a=false;if(this._hidden){this._show()}}else{if(g==this.maxChars){f.innerHTML=Meetup.Copy.noCharactersLeft;f.className="url-warning";if(this._hidden){this._show()}}else{if(OFFLINE_MODE){if(!this._hidden){this._hide()}}else{f.innerHTML=Meetup.Copy.checkAvail;f.className="url-checking";if(this._hidden){this._show()}}}}}if(this._idleCheckInterval){clearInterval(this._idleCheckInterval);this._idleCheckInterval=null}this._idleCheckInterval=setInterval(partial(this._updateFieldIfIdle,d,a),500);this._lastKeyPressTime=new Date().getTime()},_updateFieldIfIdle:function(a,b){var c=new Date().getTime();if(this._lastKeyPressTime&&((c-this._lastKeyPressTime)>1000)){this._inputEl.value=a;clearInterval(this._idleCheckInterval);this._idleCheckInterval=null}if(!OFFLINE_MODE&&b){this.checkAvailable(a).addCallback(partial(this._processResponse,a))}},_lastKeyPressTime:null,_idleCheckInterval:null,_deferreds:[],_lastReqMillisec:0,_abortAll:function(){forEach(this._deferreds,function(a){a.cancel()});this._deferreds=[]},checkAvailable:function(c){var f=c;var a=this._cache.get(f);var e=new Date().getTime();if(a){return succeed(a)}else{if(this._lastReqMillisec!=0&&((e-this._lastReqMillisec)<100)){return succeed(null)}else{var b=Meetup.Http.post(Meetup.Http.rpcURL("urlTaken"),queryString({arg_urlname:c,arg_chapterId:chapterId}));b.addCallback(partial(this._cache.put,f));this._deferreds.push[b];this._lastReqMillisec=e;return b}}},_processResponse:function(a,d){if(a!=this.normalizeUrlname(this._inputEl.value)){return}var c=(d=="true"||d=="True");if(c){var b=this._statusEl;this._statusEl.innerHTML=Meetup.Copy.urlnameTaken.replace("{REQUESTED_NAME}",a);this._statusEl.className="url-error"}else{this._statusEl.innerHTML=Meetup.Copy.urlAvailable;this._statusEl.className="url-available"}},__repr__:function(){return"Meetup.DomDeco.UrlPicker"}};