﻿var inlinePageLogin = false;
var commIdToJoin = -1;
var refblogID = -1;
var postFBSigninUrl = null;
var fbLoadedFunc = null;

window.fbAsyncInit = function() {
    FB.init({ appId: BF_FB_APP_ID, status: true, cookie: true, xfbml: true });
    FB.Event.subscribe('auth.sessionChange', function(response) {
        
        alert(response.session);
        
        if (inlinePageLogin) {
            // A login with no redirects
            inlinePageLogin = false;
            return;
        }

        var url = "";
        if (response.session) {
            url = "/Utils/FBConnectLogin.aspx?z=0";
        } else {
            url = "/Utils/FBConnectLogout.aspx?z=0";
        }

        if (document.location.href.indexOf("existingaccount=") > -1) {
            url += "&existingaccount=true";
        }

        if (commIdToJoin > 0)
            url += "&commIdToJoin=" + commIdToJoin;
        commIdToJoin = -1;
        if (refblogID > 0)
            url += "&refblogID=" + refblogID;
        refblogID = -1;


        $("#fb-root").after("<div id='fb-waiting-div' style='left:-999px; ' class='facebook-waiting'></div>");
        var t = window.innerHeight ? window.innerHeight / 2 : jQuery(window).height() / 2;
        t += jQuery(window).scrollTop() - 16;
        var l = (jQuery(window).width() / 2) - 16;
        $("#fb-waiting-div").css("top", t + "px");
        $("#fb-waiting-div").css("left", l + "px");


        $.get(url, function(data) {
            if (postFBSigninUrl && postFBSigninUrl != "") {
                if (window.parent) {
                    try {
                        window.parent.location = postFBSigninUrl;
                    } catch (e) {
                        document.location = postFBSigninUrl; // When parent is a different domain
                    }
                }
                else
                    document.location = postFBSigninUrl;
            } else {
                if (window.parent) {
                    try {
                        window.parent.location.reload(true);
                    } catch (e) {
                        window.location.reload(true); // When parent is a different domain
                    }
                }
                else
                    window.location.reload(true);
            }
        });
    });

    FB.getLoginStatus(function(response) {
        // alert(response.status);
        if (response.session) {
            // logged in and connected user, someone you know
        } else {
            // no user session available, someone you dont know
        }
    });

    if (fbLoadedFunc)
        fbLoadedFunc();

};
(function() {
    var e = document.createElement('script');
    e.type = 'text/javascript';
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    e.async = true;
   // document.getElementById('fb-root').appendChild(e);
} ());


function discussionReplyLoginOnClick() {
    inlinePageLogin = true;
}

function setCommunityIdToJoin(_communityID) {
    commIdToJoin = _communityID;
}
function setRefblogID(_refblogID) {
    refblogID = _refblogID;
}
function setPostFBSigninUrl(_url) {
    postFBSigninUrl = _url;
}


