starnow.fbLogin=function(n){snfb.authorizefb(n)};var snfb=snfb||{};(function(n){var r=$.Deferred(),t,i;n.auto=n.auto||[],n.ignoreAuthChange=!1,n.registerOnConnect=!1,window.fbAsyncInit=function(){r.resolve();return},n.onInit=function(t){return r.then(t),n},n.initAccessToken=function(t,i){$.ajax({url:"/webapi/InitAccessToken",data:'{"accessToken":"'+t+'","registerOnConnect":"'+n.registerOnConnect+'"}',type:"POST",contentType:"application/json; charset=utf-8",dataType:"json",success:function(n){if(n.Data)if(i&&i.redirect)window.location.href=i.redirect;else if(i&&i.reload||n.Data.Reload)window.location.reload(!0);else if(n.Data.ReturnURL){var r=n.Data.ReturnURL||"";r+=r.indexOf("?")>0?"&":"?",r+="return_url="+encodeURIComponent("/"+document.location.href.split("/").slice(3).join("/")),window.location.href=r}}})};n.onInit(function(){FB.getLoginStatus(function(n){n.authResponse?$("html").removeClass("fb-user-disconnected"):$("html").removeClass("fb-user-connected")})});for(n.authorizefb=function(t){n.registerOnConnect=!n.isRegistrationPage,n.ignoreAuthChange=!0,FB.login(function(i){n.initAccessToken(i.authResponse.accessToken,t)},{scope:n.scope})},n.reauthorizefb=function(){FB.getLoginStatus(function(t){t.authResponse?FB.logout(function(){n.authorizefb()}):n.authorizefb()})},n.logout=function(){n.onInit(function(){FB.getLoginStatus(function(n){n.authResponse&&FB.logout()})})},n.checkFacebookAuth=function(){n.onInit(function(){FB.Event.subscribe("auth.authResponseChange",function(t){t.status==="connected"&&n.initAccessToken(t.authResponse.accessToken)})})},n.checkFacebookAuthConnected=function(){n.onInit(function(){FB.getLoginStatus(function(t){t.authResponse?t.authResponse.userID!=n.fbid&&n.initAccessToken(t.authResponse.accessToken):n.initAccessToken("")})})},t=n.auto.length-1;t>=0;--t)i=n[n.auto[t]],i&&(i(),n.auto.splice(t,1));$("html").addClass("fb-user-connected fb-user-disconnected"),function(t,i,r){var u,f=t.getElementsByTagName(i)[0];t.getElementById(r)||(u=t.createElement(i),u.id=r,u.async=!0,u.src="//connect.facebook.net/en_US/all.js#xfbml=1&status=1&cookie=1&oauth=1&appId="+n.appId+"&channelUrl="+n.channelUrl,f.parentNode.insertBefore(u,f))}(document,"script","facebook-jssdk")})(snfb||(snfb={}))