SK.signup={changeBtnSel:"#change_location_button",formSel:"form.metro_search",searchFormWrapSel:"#location_search_form_wrap",initialInfoSel:"#new_user_location > span.info",ajaxStateLink:"#ajaxStateLink",searchField:"#location-lookup",searchSubmit:"#search_submit_btn",resultsWrapSel:"#search-results-wrap",resultsListSel:"#place-listing",topMatchSel:"ul li.first-choice",selectedMetroLabel:"#selected-metro-name",indicator:"#search-location-ajax",reWriteChangeButton:function(){if($("#ajaxStateLink").length>0){return}var a=$('<a id="ajaxStateLink">change</a>').attr("href","#").bind("click",this.handleChange);$(this.changeBtnSel).remove();$("#changewrap span").css("display","inline").append(a);var b=$(SK.signup.formSel)[0];Acceptance.Event.on(b,"submit",function(d,c){c.stopDefault();this.injectCommitParam("Save");d.submit()},this)},injectCommitParam:function(b){if(!this._commitInput){this._commitInput=$('<input type="hidden" name="commit" value="change"></input>');$(this.formSel).prepend(this._commitInput)}var a=this;if(b===null){this._commitInput=null;$.each(this.getCommitInputs(),function(d,c){if(c!==a._submitButton){$(c).remove()}})}else{this._commitInput.attr("value",b)}},liveWireSearchField:function(){var a=$(this.searchField);if(a.length===0){return}SK.signup.injectCommitParam("Search");a.keydown(function(c){if($(SK.signup.searchField).attr("value").length<2){$(SK.signup.indicator).hide();if(SK.signup.timeout){clearTimeout(SK.signup.timeout)}if(c.keyCode==13){c.preventDefault()}return}var b=$(SK.signup.formSel);if(SK.signup.timeout){clearTimeout(SK.signup.timeout)}switch(c.keyCode){case 16:case 17:case 18:case 91:case 32:case 93:case 37:case 40:case 39:case 38:case 8:case 27:if(SK.signup.timeout){clearTimeout(SK.signup.timeout)}break;case 13:c.preventDefault();case 9:if(SK.signup.timeout){clearTimeout(SK.signup.timeout)}SK.signup.handleSearch();break;default:$(SK.signup.indicator).show();SK.signup.timeout=setTimeout(SK.signup.handleSearch,2000);break}})},activateResultsList:function(){$(SK.signup.resultsListSel+" li").each(function(b,a){$(a).bind("click",function(){SK.signup.handleListSelect(a)})})},handleListSelect:function(a){SK.signup.onEndSearch();$(SK.signup.resultsListSel+" li").attr("class","");$(a).attr("class","first-choice");SK.signup.viewState.result.helpers.setSelectedLocation(a);$(SK.signup.resultsListSel).slideUp(600);setTimeout(SK.signup.viewState.show,700)},handleSearch:function(){$("#hiddenSelectedMetro").remove();$(SK.signup.formSel).ajaxSubmit({target:$(SK.signup.resultsWrapSel),success:SK.signup.viewState.results})},handleChange:function(b){b.preventDefault();SK.signup.injectCommitParam("change");var a=$(SK.signup.formSel);a.ajaxSubmit({target:$(SK.signup.searchFormWrapSel),success:SK.signup.viewState.search})},handleCancel:function(a){a.preventDefault();SK.signup.viewState.show();SK.signup.onCancelSearch()},handleReveal:function(a){if(a){a.preventDefault()}$(SK.signup.resultsWrapSel+" .info").html(SK.signup.originalInfo);$(SK.signup.resultsListSel).slideDown(600);SK.signup.activateResultsList()},viewState:{search:function(){SK.signup.onBeginSearch();$(SK.signup.indicator).hide();$(SK.signup.initialInfoSel).css("display","none");$(SK.signup.ajaxStateLink).text("cancel");$(SK.signup.ajaxStateLink).unbind("click",SK.signup.handleChange);$(SK.signup.ajaxStateLink).bind("click",SK.signup.handleCancel);SK.signup.liveWireSearchField()},show:function(){$(SK.signup.selectedMetroLabel).css("color","#000");$(SK.signup.indicator).hide();$(SK.signup.searchFormWrapSel).empty();$(SK.signup.initialInfoSel).css("display","block");$(SK.signup.ajaxStateLink).text("change");$(SK.signup.ajaxStateLink).unbind("click",SK.signup.handleCancel);$(SK.signup.ajaxStateLink).bind("click",SK.signup.handleChange);SK.signup.injectCommitParam("change")},results:function(){$(SK.signup.indicator).hide();$(SK.signup.searchField).blur();var a=$(SK.signup.resultsListSel+" li").length;if(a==0){SK.signup.viewState.result.none();SK.signup.onEndSearch(true)}else{if(a==1){SK.signup.viewState.result.certain();SK.signup.onEndSearch()}else{if(a>1&&a<11){SK.signup.viewState.result.ambiguous();SK.signup.onEndSearch()}else{SK.signup.viewState.result.clueless()}}}},result:{helpers:{clearSelectedLocation:function(a){$(a).attr("class","");$(a).children("input:radio").attr("checked",false)},setSelectedLocation:function(b){var a=$.trim($(b).children("label").text());this.setCurrentLocationText(a);this.setSelectedLocationHiddenField($(b).children("input").attr("value"));SK.signup.trigger("changecity",[a])},setCurrentLocationText:function(a){$(SK.signup.selectedMetroLabel).css("color","#000");$(SK.signup.selectedMetroLabel).text(a)},setSelectedLocationHiddenField:function(a){$("#hiddenSelectedMetro").remove();$(SK.signup.formSel).append($('<input id="hiddenSelectedMetro" type="hidden" name="metro_area_id" value="'+a+'"></input>'))}},certain:function(){this.helpers.setSelectedLocation($(SK.signup.topMatchSel));SK.signup.viewState.show()},ambiguous:function(){this.helpers.setSelectedLocation($(SK.signup.topMatchSel));var a=$('<a href="#">See them now</a>').bind("click",SK.signup.handleReveal);SK.signup.originalInfo=$(SK.signup.resultsWrapSel+" .info").html();$(SK.signup.resultsWrapSel+" .info").append(" ").append(a);$(SK.signup.searchField).remove();$(SK.signup.ajaxStateLink).text("change");$(SK.signup.ajaxStateLink).bind("click",SK.signup.handleChange);$(SK.signup.ajaxStateLink).unbind("click",SK.signup.handleCancel)},clueless:function(){this.helpers.clearSelectedLocation($(SK.signup.topMatchSel));SK.signup.originalInfo=$(SK.signup.resultsWrapSel+" .info").html();$(SK.signup.selectedMetroLabel).css("color","#959292");$(SK.signup.formSel).blur();if(SK.signup.timeout){clearTimeout(SK.signup.timeout)}SK.signup.handleReveal()},none:function(){if(SK.signup.timeout){clearTimeout(SK.signup.timeout)}}}},onBeginSearch:function(){},onEndSearch:function(a){},onCancelSearch:function(){},init:function(){delete this._commitInput;this._submitButton=this.getCommitInputs();this.reWriteChangeButton();this.liveWireSearchField();var a=$("h1 .city");this.on("changecity",function(b){a.text(b)})},getCommitInputs:function(){return $(this.formSel+" [name=commit]")}};SK.extend(SK.signup,SK.Evented);$(document).ready(function(){SK.signup.init()});