$(document).bind("ready",function(){$.auth.init();$(document).on("click","a.force-auth",function(n){$.auth.isAuth||($.auth.loginPopup(n),n.preventDefault())})});$.auth=auth={baseUrl:"",accountUrl:"",$button:null,isAuth:!1,startedInit:!1,init:function(){var t,n;if(!auth.startedInit)return auth.startedInit=!0,t=auth.$button=$(".signin-button"),auth.baseUrl=$(".main-wrapper").data("service-auth"),auth.accountServerUrl=$(".main-wrapper").data("service-account-server"),auth.clientId=$(".main-wrapper").data("clientid"),auth.baseUrl&&auth.accountServerUrl&&auth.clientId?(n=auth.getStatus(),n.then(function(){$(".loading-small").hide();t.click(function(n){auth.isAuth?$(".signin-myaccount-menu").toggle():auth.login(n)});$(".sso-cta").click(function(n){n.preventDefault();auth.login(n)});$("#edit-account").attr("href",auth.accountServerUrl);$("#signout").click(auth.signout)})):(t.remove(),auth.isAuth=!0,n=new Promise(function(n){n()})),n},signout:function(n){n.stopPropagation();typeof dataLayer!="undefined"&&dataLayer.push({event:"sso_signedout"});$(".loading-small").show();var t,i=function(){t&&auth.parseAuthResult(t);$(".loading-small").hide();$(".signin-myaccount-menu").hide();window.location.reload()};$.get(auth.baseUrl+"/signout").done(function(){window.open(auth.accountServerUrl+"logout","_blank")}).always(i)},edit:function(){},getStatus:function(){try{var n=$.get(auth.baseUrl+"/get");return n.done(auth.parseAuthResult),new Promise(function(t,i){n.done(t);n.fail(i)})}catch(t){return new Promise(function(n,t){t()})}},login:function(){var n=auth.accountServerUrl+"oauth/authorize?"+$.param({client_id:auth.clientId,response_type:"code",redirect_uri:auth.baseUrl+"/login"});window.open(n,"_blank")},loginPopup:function(){$.fancybox({padding:0,autoScale:!0,transitionIn:"none",transitionOut:"none",href:"#sso-popup-wrapper"})},parseAuthResult:function(n){(function(n){auth.isAuth=n&&n.IsLoggedIn;auth.isAuth?(window.sso={status:1,UUID:n.Id},typeof dataLayer!="undefined"&&dataLayer.push({event:"sso_auth"}),auth.$button.find(".signin-signin").hide(),auth.$button.find(".signin-my-account").show(),auth.$button.find(".signin-my-account .signin-avatar").attr("src",n.AvatarUrl)):(typeof dataLayer!="undefined"&&dataLayer.push({event:"sso_notauth"}),window.sso={status:0,UUID:null},auth.$button.find(".signin-signin").show(),auth.$button.find(".signin-my-account").hide())})(n)}}