(function($){
// Initialize Facebook JavaScript API.
//
// Usage
// =====
//
// > $.facebook_init("123456789012345", "en_US");
//
// Triggers `FACEBOOK_INIT` event when connect-js is ready. Bind this event
// to make sure a Facebook connection is present:
//
// > $(document).bind("FACEBOOK_INIT",
// >                  function(e) { facebook_related_code() });
//
// You must run this method before running any other Facebook code.
//
//
// Required parameters
// ===================
//
// application_id:
//     Facebook app's id.

$(document).ready(function() {
    $.facebook_init = function(application_id, locale_code) {
        // This element is required to initialize connect-js
        var fb_root = $("<div></div>").attr("id", "fb-root").appendTo($("body"));
        window.fbAsyncInit = function() {
            if (application_id !== "") {
                FB.init({
                    appId: application_id,
                    status: true,
                    cookie: true,
                    oauth: true,
                    xfbml: true
                });
                FB.getLoginStatus(function(response) {
                  if (response.authResponse) {
                    $("a.logout").click(function() {
                        var logout_url = $(this).attr("href");
                        FB.logout(function() { window.location = logout_url; });
                        return false;
                    });
                  }
                });
            } else {
                FB.XFBML.parse();
            }
            $(document).trigger("FACEBOOK_INIT");
        };
        $("<script></script>")
            .attr("async", true)
            .attr("src", document.location.protocol + "//connect.facebook.net/" + locale_code + "/all.js")
            .appendTo(fb_root);
        return true;
    }
});

})(jQuery);

