    function callPublishFBFeed(msg, attachments, actionLinks, fans_page_id, auto_published) {
      var fb_session = FB.Facebook.apiClient.get_session();
      if (fb_session) {
          var uid = fb_session.uid;
          FB.ensureInit(function () {
            FB.Connect.showPermissionDialog("publish_stream",function(perm) {
                if(perm) {
                    if(!fans_page_id){
                        FB.Connect.streamPublish(msg, attachments, actionLinks, null, null, null, null, auto_published, null);
                    }else{
                        FB.Facebook.apiClient.pages_isFan(fans_page_id, uid, function(fans){
                            if(fans) {
                                //alert(uid)
                                FB.Connect.streamPublish(msg, attachments, actionLinks, fans_page_id, null, null, null, auto_published, null);
                            }else {
                                fans_page_id = null;
                                FB.Connect.streamPublish(msg, attachments, actionLinks, fans_page_id, null, null, null, auto_published, null);
                            }
                        });
                    }
                }else {
                    FB.Connect.streamPublish(msg, attachments, actionLinks, null, null, null, null, false, null);
                }
            });
            setTimeout('fb_permissions_dialog_fixup_hack()', 200);
          });
          return true;
      }
      return false;
    }
    function fb_permissions_dialog_fixup_hack() {
      //$('.UIPermissionsContent').css('height','200px');
        $('.fb_connect_dialog_iframe').attr('scrolling', 'yes').css('height','375px').attr('scrolling', 'no');

    }
    function update_user_box(idUserBox,frmTxtName, frmTxtEmail,fans_page_id) {
        //User information block id
        var user_box_id = '#' + idUserBox;
        //Form input for username;
        var frmNameId = 'id_' + frmTxtName;
        //Form input for useremail;
        var frmEmailId = 'id_' + frmTxtEmail;
        var user_box = $(user_box_id);
//        var facebook_id = $('#id_facebook_id');
//        var facebook_username = $('#id_facebook_username');
        //Display user's Facebook username;
        var urlLocal = document.URL;
        var fb_fans = '';
        var strFBUser = 'Bienvenue, <fb:name uid="loggedinuser" useyou="false"></fb:name>'
                        + '<br/>Vous avez signé avec votre compte Facebook.<br/>';
        //Display user's Facebook photo;
        var picFBUser = '<fb:profile-pic uid="loggedinuser" size="square" facebook-logo="false"></fb:profile-pic>';
        var strSingout = '<span class="fbLogout">Déconnexion</span>';
        var urlSingout = "<a id='logout' href='"
                + urlLocal
                + "' onclick='FB.Connect.ifUserConnected(null,function() { window.location = \""
                + urlLocal
                + "\" }); FB.Connect.logoutAndRedirect(\""
                + urlLocal
                + "\"); return false;'>";
        var uid = new Array();
        if(fans_page_id){
            fb_fans = "<div class='fb_fans'><fb:fan profile_id='" + fans_page_id + "' stream='0' connections='0' logobar='0' width='230' height='60'></fb:fan></div>";
        }
        //Get facebook uid if connected with facebook;
        uid[0] = FB.Facebook.apiClient.get_session().uid;
        if(uid[0] != null){
            var field = new Array();
            field[0] = "name";
            field[1] = "email";
           FB.Facebook.apiClient.users_getInfo(uid,field,function(result, ex){
               var uname = result[0]['name'];
               //Set special values for username field and email field for facebook user;
               var uemail = uid[0] + "@proxymail.facebook.com";
               var username = 'FacebookUser';
               //Replace input field with facebook information;
               user_box.css("background-color", "#f2f2f2");
//               facebook_id.val(uid[0]);
//               facebook_username.val(uname);
               user_box.html(
                "<div class='fb_comment_title'><div class='fb_title'>FaceBook</div><div class='fb_singout'>"
                + urlSingout + strSingout + "</a></div>"
                + "<div class='fbClear'></div>"
                + "</div>"
                + "<div class='fbUserPic'>" + picFBUser+ "</div>"
                + fb_fans
                + "<div class='fbUserInfo'> " + strFBUser +"</div>"
                + "<div class='fbClear'></div>"
                + "<input id='" + frmNameId + "' type='hidden' name='" + frmTxtName + "' value='" + username + "'/>"
                + "<input id='" + frmEmailId + "' type='hidden' name='" + frmTxtEmail + "' value='"+ uemail +"'/>");
                // because this is XFBML, we need to tell Facebook to re-process the document
                FB.XFBML.Host.parseDomTree();
           });
        }
    }
