Facebook button won't load if the container div is hidden. Try this:
Set opacity to 0.0 and after fb button is loaded, change it to 1.0 and then hide div. Now You can show or hide it whenever you want.
timeoutID = setTimeout(function(){
$('#social').css("display", "none");
$('#social').css("opacity", "1.0");
$('#social').fadeIn(500)
}, 3000);