
function facebook_inviteUser(invite) {
	var api = FB.Facebook.apiClient;

	var popupTitre = invite.popupTitre;
	var fbType = invite.fbType;
	var fbContent = invite.fbContent;
	var fbLabel = invite.fbLabel;
	var fbAction = invite.fbAction;

	var fbmlCode='<fb:request-form \
                    action="'+invite.action+'" \
                    method="POST" \
					TARGET="_blank" \
                    invite="true" \
                    type="'+fbType+'" \
                    content="'+fbLabel+' \
					<fb:req-choice url=\''+invite.url+'\' label=\''+fbAction+'\'></fb:req-choice>"> \
                    <fb:multi-friend-selector \
                    showborder="false" \
                    actiontext="'+fbAction+'" \
					email_invite="false" \
					cols="4" \
					rows="3"> \
        </fb:request-form>';
	var dialog = new FB.UI.FBMLPopupDialog(popupTitre,fbmlCode);
	dialog.setContentWidth(650);
	dialog.setContentHeight(400);
	dialog.show();
}

/* Après post des commentaires, lance l'invitation  */
function facebook_commentPosted() {
    $("#blank").trigger("publish_finished");
}


function facebook_postComment(publish)
{
    var linkUrl= publish.linkUrl;
    var api = FB.Facebook.apiClient;
    var message = publish.message;
    var attachment = {};
    if(publish.attachment_type == 'flash')
    {
        attachment = {
            'name':publish.attachment_name,
            'href': linkUrl,
            'caption':publish.caption,
            'description':publish.attachment_description,
            'media':[{
                'type':'flash',
                'imgsrc':publish.attachment_img_src,
                'swfsrc':publish.attachment_swf_src,
                'href': linkUrl,
                'width': '100',
                'height': '100',
                'expanded_width': '460',
                'expanded_height': '264'
            }]
        };
    }
    else if(publish.attachment_type == 'image')
    {
        attachment = {
            'name':publish.attachment_name,
            'href': linkUrl,
            'caption':publish.caption,
            'description':publish.attachment_description,
            'media':[{
                'type':'image',
                'src':publish.attachment_img_src,
                'href': linkUrl
            }]
        };
    }

    var action_links = [{
        'text': publish.link_text,
        'href': publish.link_href
    }];
    FB.Connect.streamPublish(message, attachment, action_links, null,null,facebook_commentPosted);
}


function facebook_onLogin(invite,publish)
{
    var api = FB.Facebook.apiClient;
    FB.Connect.requireSession(
        function(exception)
        {
            facebook_postComment(publish);
            $("#blank").bind(
                "publish_finished",
                function(event)
                {
                    facebook_inviteUser(invite);
                }
            );
        },
        function(){},
        false

    );
}

function share(data)
{
    var invite = data.invite;
    var publish = data.publish;

    var api_key = 'ea8b72a3633dd475fddf5ef831244bf4';
    var channel_path = '/xd_receiver.htm';
    /* Connection avec Facebook */
    FB_RequireFeatures(["Connect", "CanvasUtil","Api"], function() {
        FB.Facebook.init(api_key, channel_path);
        var api = FB.Facebook.apiClient;
        /*FB.Connect.ifUserConnected(
            function()
            {
                facebook_onLogin(invite,publish);
            },
            function()
            {
                */FB.Connect.requireSession(function(exception){facebook_onLogin(invite,publish);},function(){},null);
            //}
        //);
    });
}



function facebookShare(url)
{
    $.getJSON(url,
        function(data){
                    share(data);
        });

}
