//This all uses an old API. May want to update to use the new API eventually.

var fbuid = false;
var fbsessionid = null;
var fbhasperms = false;
var fbstatusmsg = "";

etafacebook = {};

etafacebook.getPerms = function(which, callback) {
	FB.Connect.showPermissionDialog(which, function(ret) { 
		if(ret && ret.length && ret.indexOf('publish_stream') != -1) {
			fbhasperms = true;
			etafacebook.getUser(callback);
		}
	});
}

etafacebook.checkPerms = function(callback) {  
	lfjs.window.wait();
	var callback = callback;
	FB.Connect.requireSession(function() {
		if(!fbhasperms) {
			FB.Facebook.apiClient.users_hasAppPermission('publish_stream', function(res) { 
				if(res == 0) {
					etafacebook.getPerms("publish_stream,offline_access", callback);
				} else {
					fbhasperms = true;
					etafacebook.getUser(callback);
				}
			});
		} else {
			etafacebook.getUser(callback);
		}
	});
}

etafacebook.getUser = function(callback) {
	if($("#lfjs_waitdiv").css("position") == "block" && $("#lfjs_waitdiv").css("visibility") == "visible")
		lfjs.window.nowait();
	if(fbuid == false) {
		var info = FB.Facebook.apiClient.get_session();
		fbuid = info.uid;
		fbsessionid = info.session_key;
	}
	callback();
}

etafacebook.updateStatus = function(){
	lfjs.window.wait();
	$.ajax( {
			type: "POST",
			cache: false,
			url: "/cfc/eae.cfc?method=fbstatusupdate",
			async: true,
			data : {
				session_key: fbsessionid,
				status_msg: fbstatusmsg,
				fbuid: fbuid
			},
			success: etafacebook.statusDone,
			error: function(req, errMsg, e) { 
				alert("Error: " + errMsg)
				lfjs.window.nowait(); 
			}
		});
}

etafacebook.statusDone = function(req) {
	lfjs.window.nowait();
	if($(req).find("error_response").length) {
		var errstr = ",";
		$(req).find("error_response").each(function() {
			var txt = $(this).find("error_msg").text();
			if(errstr.indexOf("," + txt + ",") == -1)
				errstr += txt + ",";
		});
		alert("Error Updating Status: " + errstr);
		return false;
	}
	if(etafacebook.statuscallback)
		etafacebook.statuscallback(req);
}

$(function(){
	FB.init("3b3c89c1b7f18eaa0657a5e825f78197", "/xd_receiver.htm"); 
});
