
/*
 * Ensure Facebook app is initialized and call callback afterward
 *
 */
function ensure_init(callback) {
  if(window.is_initialized) {
    callback();
  } else {
    FB_RequireFeatures(["XFBML", "CanvasUtil"], function() {
        FB.FBDebug.logLevel = 4;
        FB.FBDebug.isEnabled = true;
        FB.Facebook.init("025605158609e4bcddfdf7341516eb95", "/xd_receiver.htm");

        window.is_initialized = true;
        callback();
      });
  }
}

function render_facebook_publish(id) {
	document.getElementById(id).innerHTML = '<fb:login-button size="medium" background="white" length="long" onlogin="render_facebook_publish('+id+')"></fb:login-button>';
	ensure_init(function() {
	      FB.Facebook.get_sessionState().waitUntilReady(function(session) {
			 document.getElementById(id).innerHTML = '<input type="checkbox" value="1" name="fb_post" checked/> Post this like to Facebook';
	      });
		}
	);
}

function facebook_publish_like(id) {
  ensure_init(function() {

		$.get("/ajax/like_data", {
			id: id
		}, function(data){
			data = eval('(' + data + ')');
            var data = {
                "like": data.like, 
                "href": data.href,
                "images":[{'src':data.images.src, 'href':data.images.href}]
            };
			FB.Connect.showFeedDialog(47461536973, data);
		}); 
  });
}

function facebook_login() {
	FB.Connect.requireSession(function(){
			window.location.reload();
		}
	);
}

function facebook_login_and_redirect(location) {
	FB.Connect.requireSession(function(){
			window.location = location;
		}
	);
}

