var is_initialized = false;

function ensure_init(callback) {
    if(window.is_initialized) {
        callback();
    } else {
        FB_RequireFeatures(["Connect"], function() {
            FB.init("529dcb1c9d79bea2b7a98011432ee221", "/xd_receiver.htm", {"doNotUseCachedConnectState":true });
            FB.Connect.requireSession();
            window.is_initialized = true;
            callback();
        });
    }
}
/*
 * Prompts the user to grant a permission to the application.
 */
function facebook_prompt_permission(permission, callbackFunc) {
  ensure_init(function() {
    FB.Facebook.apiClient.users_hasAppPermission(permission,
     function(result) {
        if (result == 0) {
            FB.Connect.showPermissionDialog(permission, callbackFunc);
        } else {
            callbackFunc(true);
        }
    });
  });
}
