/*
 * Publish Facebook share
 */
function fb_postMessage(serverUri, attachment, action_links) {
    var message = '';
    var target_id = null;
    var user_message_prompt = null;
    var auto_publish = false;
    var actor_id = null;

    FB_RequireFeatures(["Api"], function(){
        FB.Facebook.init("${fbApiKey}","/fbconnect/xd_receiver.htm");
        FB.Facebook.apiClient.users_hasAppPermission('publish_stream', function(has) {
            if (has == 0) {
                FB.Connect.showPermissionDialog('publish_stream', function(granted) {
                    if(granted == "publish_stream") {
                        //FB.Connect._singleton._userInfo.shortStorySetting = FB.FeedStorySetting.autoaccept;
                        FB.Connect.streamPublish(message, attachment, action_links, target_id,
                            user_message_prompt, callback, auto_publish, actor_id);
                    }
                });
            } else {
                //FB.Connect._singleton._userInfo.shortStorySetting = FB.FeedStorySetting.autoaccept;
                FB.Connect.streamPublish(message, attachment, action_links, target_id,
                    user_message_prompt, callback, auto_publish, actor_id);
            }
        });
    });
};

/*
 * Checks if user has granted email permission
 */
function fb_checkEmailPermissionGranted(check, func) {
    if(ge(check).checked == 1) {
        FB.Connect.showPermissionDialog('email', function(x) {
            eval(func);
        });
    } else {
        eval(func);
    }
}

var _doNotConnected = true;

/*
 * Where to go when there is no Facebook connection
 */
function fb_doNotConnected(url) {
	if(_doNotConnected) {
		   window.location = url;
	}
}

/*
 * Checks if user is logged in
 */
function fb_ensureConnect(func) {
	_doNotConnected = false;
	var singleton = FB.Connect._singleton;
    singleton._feedStatusRefetch();
	FB.Connect.get_status().waitUntilReady( function( status ) { 
		FB.Connect.requireSession(func);
	});
}

 /*
  * Shorter ;)
  */
function ge(elem) {
	return document.getElementById(elem);
}