if(!ComCore.Connect){ComCore.Connect={}}ComCore.Connect.Register={};ComCore.Connect.Register.Controller=Class.create({initialize:function(){this.emailInput=$("emailText");this.registeredServices=[];this._skipDetection=false;var E=$("continueRegistration");if(E){E.observe("click",this.continueRegistration.bind(this))}if(this.emailInput){this.emailInput.observe("blur",this._onEmailChanged.bind(this));this._isBlockedErrorSpan=this.emailInput.up("form").down("span.isBlocked");this._emailNotUniqueErrorSpan=this.emailInput.up("form").down("span.error.emailNotUnique")}var D=$("continueNormalRegistration");if(D){D.observe("click",this.onContinueNormalRegistration.bind(this))}var B=$("cancelConnectService");if(B){B.observe("click",this.onContinueNormalRegistration.bind(this))}var A=$("registerBasicInfoConnectButton");if(A.visible()){A.stopObserving();A.observe("click",this.onStartConnect.bind(this,["Facebook"]))}var C=$("loginConnectButton");if(C){C.observe("click",this.onLoginFBConnect.bind(this))}},onLoginFBConnect:function(A){A.stop();var B=this;FB.ensureInit(function(){FB.Connect.get_status().waitUntilReady(function(C){FB.Connect.requireSession(function(){var D=new Ajax.Request(ComCore.Page.buildAjaxURL("login","doLogin"),{method:"post",parameters:{connectType:"Facebook"},onSuccess:(function(F,E){if(E.success===true){window.location.reload()}else{B.continueNormalProcess()}})})})})})},continueRegistration:function(A){A.stop();this.continueNormalProcess()},continueNormalProcess:function(){[$("registerAgree"),$("registrationTable"),$("regEmailTable"),$("registerBasicInfoSubmitButton")].invoke("show");[$("fbAlreadyLoggedIn"),$("continueReg"),$("registerBasicInfoConnectButton"),$("loginConnectButton")].invoke("hide");$("registerConnectAction").value="no"},skipDetection:function(){this._skipDetection=true},onContinueNormalRegistration:function(A){debug("onContinueNormalRegistration");A.stop();$("registerConnectAction").value="no";[$("registerBasicInfoConnectButton"),$("connectServiceFacebookInfo")].invoke("hide");[$("registerBasicInfoSubmitButton"),$("registrationTable")].invoke("show");this.emailInput.disabled=false;var B=$("connectServiceWindowsLiveIdInfo");if(B){$("registerWindowsLiveSubmitButton").hide();B.hide()}ComCore.LoadingIndicator.hide()},registerService:function(A){this.registeredServices.push(A)},_onConnect:function(){var C=$("agreeCheckbox");if(C){if(C.checked===false){$("registerAgree").down("span.error").show();return false}}var D={action:"validateConnectEmail",email:this.emailInput.getValue()};var A=this._onConnectEmailValidated.bind(this);ComCore.LoadingIndicator.show();$("registerBasicInfoConnectButton").up("form").disable();this._emailNotUniqueErrorSpan.hide();this._isBlockedErrorSpan.hide();var B=new Ajax.Request(ComCore.Page.buildAjaxURL("register"),{method:"post",parameters:D,onSuccess:function(F,E){A(E)}})},_onConnectEmailValidated:function(A){if(A.success===true){ComCore.forward("/go/external/windowsliveid/action=register")}else{if("IS_BLOCKED"===A.error){this._isBlockedErrorSpan.show()}else{if("NOT_UNIQUE"===A.error){this._emailNotUniqueErrorSpan.show()}}}ComCore.LoadingIndicator.hide();$("registerBasicInfoConnectButton").up("form").enable()},_onEmailChanged:function(E){var B=E.element().value;var D=false;this._emailNotUniqueErrorSpan.hide();this._isBlockedErrorSpan.hide();if(!B.blank()&&(/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/).test(B)){var A=B.substring(B.indexOf("@")+1,B.length);if(!this.windowsLiveDomains&&$("windowsLiveDomains")){this.windowsLiveDomains=$("windowsLiveDomains").value.evalJSON()}if(this.windowsLiveDomains&&(this.windowsLiveDomains.indexOf(A)>-1)){D=true}if(D){[$("registerBasicInfoSubmitButton"),$("registrationTable")].invoke("hide");[$("registerWindowsLiveSubmitButton"),$("connectServiceWindowsLiveIdInfo")].invoke("show");var C=this;$("registerWindowsLiveSubmitButton").observe("click",function(F){C._onConnect();F.stop()})}else{this._loadConnectedServices(B)}}},_loadConnectedServices:function(B){if(this._skipDetection===true){return }var A=this._onConnectedServicesLoaded.bind(this);var C=new Ajax.Request(ComCore.Page.buildAjaxURL("register","isEmailConnected"),{method:"post",parameters:{email:B},onSuccess:function(E,D){A(D)}})},_onConnectedServicesLoaded:function(C){debug("_onConnectedServicesLoaded");debug(C);if(C.success){var B=$A(C.connectedServices);if(B.length>0){var A=$("registerBasicInfoConnectButton");A.show();$("registerBasicInfoSubmitButton").hide();$("registrationTable").hide();$("connectServiceFacebookInfo").show();$("emailText").disabled=true;A.stopObserving();A.observe("click",this.onStartConnect.bind(this,B))}}else{$$("#registerBasicInfoForm p.connectServiceInfo").invoke("hide");$("registrationTable").show();debug("Error loading connecting services...")}},onStartConnect:function(D,B){B.stop();var E=$("agreeCheckbox");if(E){if(E.checked===false){$("registerAgree").down("span.error").show();return false}}var C=D[0]+"Service";if(this.registeredServices.indexOf(D[0])>-1){var A=new ComCore.Connect.Register[C](this);A.observe("onUserDataLoaded",this._onUserDataLoaded.bind(this,D[0]));A.login()}},_onUserDataLoaded:function(A,B){$("registerConnectAction").value=A;this.emailInput.disabled=false;$("registerBasicInfoSubmitButton").click()},_eoo:true});ComCore.Connect.Register.WindowsLiveIdService=Class.create({initialize:function(A){debug("ComCore.Connect.Register.WindowsLiveIdService()")},login:function(){document.location="/go/external/windowsliveid/action=register";var A=this._onUserDataLoaded.bind(this);var B=new Ajax.Request(ComCore.Page.buildAjaxURL("register","getUserData"),{method:"post",onSuccess:function(D,C){A(C)}})},_onUserDataLoaded:function(A){if(A.success){this.notify("onUserDataLoaded",A.userData)}else{var B=$("windowsLiveIdAuthControl");B.show();if("NO_CONSENT"===A.reason){B.src=A.consentURL}else{if("NOT_AUTHENTICATED"===A.reason){B.src=A.loginURL}}}},_eoo:true});ComCore.Events.extend(ComCore.Connect.Register.WindowsLiveIdService);ComCore.Connect.Register.FacebookService=Class.create({PERMISSION_LIST:["publish_stream","email","offline_access","photo-upload","create_note","share_item"],REQUEST_FIELDS:["first_name","last_name","birthday","political","sex","pic_small","pic_big","pic","current_location","hometown_location"],ASK_FOR_EXTENDED_PERMISSIONS:false,KEY:"0390066705d5bbf2ab4b1f79d1d7daa5",initialize:function(A){this.controller=A},login:function(){debug("fb: login");$("facebookBusy").show();FB.Connect.requireSession(this._onLogin.bind(this))},_onLogin:function(){debug("_onLogin");this.APIClient=new FB.ApiClient(this.KEY);if(this.APIClient.get_session()!==null){try{this.APIClient.users_getInfo([this.APIClient.get_session().uid],this.REQUEST_FIELDS,this._onUserDataLoaded.bind(this))}catch(A){debug("[Facebook] _loadUserData() -> "+A)}}else{debug("no session")}},_parseBirthdate:function(B){var C=["january","february","march","april","may","june","july","august","september","october","november","december"];B=B.split(" ");var A={day:parseInt(B[1].replace(",",""),10),month:C.indexOf(B[0].toLowerCase())+1,year:parseInt(B[2],10)};return A},_onUserDataLoaded:function(F,D){if(D===null){F=F[0];try{var B=this._parseBirthdate(F.birthday);var E=(F.hometown_location!==null)?F.hometown_location.country:"";var A=F.last_name;var G=F.first_name;var K=F.sex;var J=F.pic_small;var H={birthDate:B,country:E,lastname:A,firstname:G,gender:K,pictureURL:J};var C=$("regBirthDaySelect");if(C){C.value=B.day;$("regBirthMonthSelect").value=B.month;$("regBirthYearSelect").value=B.year}this.notify("onUserDataLoaded",H)}catch(I){debug(I)}}else{debug("[Facebook] _onUserDataLoaded() -> "+D)}},_eoo:true});ComCore.Events.extend(ComCore.Connect.Register.FacebookService);