function initFb() {
    if (!facebook_key) {
        return;
    }
    if (top.location != location){
        top.location.href = document.location.href;
    }

    FB.init(facebook_key, "/xd_reciever.htm", {"ifUserConnected" : facebook_onlogin, "ifUserNotConnected" : facebook_user_notConnected});
}

function fireRejtaForFbLogin() {
    var app_id = facebook_key;
    var prefix = "fb_sig_";
    var expires = "expires";
    var session_key = "session_key";
    var ss = "ss";
    var user = "user";
    var params = new Object();
    params[prefix + expires] = $.cookie(app_id + '_' + expires);
    params[prefix + session_key] = $.cookie(app_id + '_' + session_key);
    params[prefix + ss] = $.cookie(app_id + '_' + ss);
    params[prefix + user] = $.cookie(app_id + '_' + user);
    params[prefix.substr(0, prefix.length - 1)] = $.cookie(app_id);
    $.ajax({
        type: "POST",
        dataType: "json",
        url: '/facebook',
        data: params,
        success: function(data) {
      //      fbUserAuthorized = true;
      //      alert(data.header);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
        }
    });
 }

function facebook_onlogout() {
    $("#fb-logout").addClass("invisible");
    $("#fb-login").removeClass("invisible");
    $('.fb_loggedin_user_name').each(function() {
        $(this).html("");
    });
}

function update_fb_links() {
    $('.FB_Link').each(function() {
        var href = this.href;
        $(this).parent().unbind("click");
        $(this).parent().click(function () {
            window.open(href);
            return false;
        });
    });
}

function facebook_user_notConnected(){
    facebook_onlogout();
    FB.XFBML.Host.parseDomTree();
    FB.XFBML.Host.get_areElementsReady().waitUntilReady( function() {
        update_fb_links();
    });
}

function facebook_onlogin(func) {
    $('.fb_loggedin_user_name').each(function() {
        $(this).html("<fb:name uid='loggedinuser' useyou='false'></fb:name>");
    });

    FB.XFBML.Host.parseDomTree();
    FB.XFBML.Host.get_areElementsReady().waitUntilReady( function() {
        fireRejtaForFbLogin();
        if (typeof func == "function") {
            func();
        }
        update_fb_links();
        $("#fb-login").addClass("invisible");
        $("#fb-logout").removeClass("invisible");
    });
}
