
Citysearch.UnifiedSign={signUpFormId:"unifiedSign",signUpButtonId:"signUpButton",signInFormId:"signInForm",signInButtonId:"signInButton",signInForm:{},citysearchSignIn:{},citysearchRadio:{},facebookRadio:{},citysearchSignInId:"citysearchSignIn",facebookLoginId:"facebookLogin",passwordLinkId:"forgotPassword",welcomeHeaderId:"welcome",currentMethod:"",initAttempts:5,initDelay:100,init:function(){if(!$chk(Citysearch.TempConfig.UnifiedSign)&&!$chk(this.signUpUrl)){return;}
else{$extend(this,Citysearch.TempConfig.UnifiedSign);Citysearch.TempConfig.UnifiedSign=null;}
if(this.ajax){if(!$(this.signUpFormId)){if(this.initAttempts>0){this.initAttempts--;Citysearch.UnifiedSign.init.delay(this.initDelay,Citysearch.UnifiedSign);this.initDelay=Math.floor(this.initDelay*1.5);}
return;}
this.signUpForm=$(this.signUpFormId);this.signUpForm.addEvent('submit',function(e){var stop=e.preventDefault();Citysearch.Utils.disableSubmit(Citysearch.UnifiedSign.signUpButtonId);Citysearch.UnifiedSign.postViaAjax(Citysearch.UnifiedSign.signUpForm,Citysearch.UnifiedSign.signUpUrl);});Citysearch.LabelMagic.init();this.hijaxAgreement();this.hijaxForgotPassword();}
else{$(Citysearch.Header.signInLinkId).destroy();$(Citysearch.Header.signUpLinkId).destroy();}
this.hijaxSigninForm();},postViaAjax:function(formObj,ajaxUrl){Citysearch.LabelMagic.clearField(formObj);Citysearch.AjaxInit.postViaAjax(formObj,ajaxUrl,Citysearch.ModalWindow.bodyObj);},hijaxAgreement:function(){$('sign_up/terms_of_use').addEvent('click',function(e){e.preventDefault();window.open(this.href);});$('sign_up/privacy_policy').addEvent('click',function(e){e.preventDefault();window.open(this.href);});},hijaxSigninForm:function(){if(!$(this.signInFormId)){return;}
this.signInForm=$(this.signInFormId);this.signInForm.addEvent('submit',function(e){if(Citysearch.UnifiedSign.ajax){e.preventDefault();}
var signinMethodValue=Citysearch.Utils.getCheckedValue(this.signinMethod);switch(signinMethodValue){case'Facebook':e.preventDefault();Citysearch.UserPreferences.set('signInMethod','Facebook');Citysearch.Facebook.login();break;default:Citysearch.UserPreferences.set('signInMethod','Citysearch');if(Citysearch.UnifiedSign.ajax){Citysearch.UnifiedSign.postViaAjax($(this),Citysearch.UnifiedSign.signInUrl);}}});if(!$(this.citysearchSignInId)){return;}
this.citysearchSignIn=$(this.citysearchSignInId);this.facebookRadio=this.createRadio('Facebook',this.citysearchSignIn,'after');this.citysearchRadio=this.createRadio('Citysearch',this.citysearchSignIn,'before');this.setCurrentMethod();this.toggleSigninMethod();},createRadio:function(type,sibling,position){var optionLabel=new Element('label',{'text':type,'for':type+'Login','class':'signInOption',events:{'mouseover':function(){this.addClass('labelHover');},'mouseout':function(){this.removeClass('labelHover');}}});var optionRadio=new Element('input',{'type':'radio','name':'signinMethod','id':type+'Login','class':'radio','value':type,events:{'click':function(){Citysearch.UnifiedSign.currentMethod=this.value;Citysearch.UnifiedSign.toggleSigninMethod();}}});optionRadio.inject(optionLabel,'top');optionLabel.inject(sibling,position);return optionRadio;},setCurrentMethod:function(){if(this.signInForm.getElements('.errors').length>0){this.citysearchRadio.checked="checked";this.currentMethod="Citysearch";return;}
var pref=Citysearch.UserPreferences.get('signInMethod');switch(pref){case'Citysearch':this.citysearchRadio.checked="checked";this.currentMethod="Citysearch";break;case'Facebook':this.facebookRadio.checked="checked";this.currentMethod="Facebook";break;}},toggleSigninMethod:function(){switch(this.currentMethod){case'Citysearch':this.citysearchSignIn.setStyle('display','');$(Citysearch.UnifiedSign.signInButtonId).setProperty('name','sign_in/submit/citysearch');break;case'Facebook':this.citysearchSignIn.setStyle('display','none');$(Citysearch.UnifiedSign.signInButtonId).setProperty('name','sign_in/submit/facebook');break;default:this.citysearchSignIn.setStyle('display','none');$(Citysearch.UnifiedSign.signInButtonId).setProperty('name','sign_in/submit/citysearch');}},hijaxForgotPassword:function(){if($(this.passwordLinkId)){$(this.passwordLinkId).addEvent('click',function(e){e.preventDefault();Citysearch.AjaxInit.getViaAjax(Citysearch.UnifiedSign.forgotPasswordUrl,Citysearch.ModalWindow.bodyObj);});}}};window.addEvent('domready',function(){Citysearch.UnifiedSign.init();});