function handleFBLogout() {
	if (fbcs.fbc_elem.search("header_user_info") < 1) $("#header_user_info").css("display","");
	$("img#fbc_loading").css("visibility","visible");
	$.get(baseDir+"index.php",{rand: "" + Math.random(),mylogout:""},
		function(data) {
			if (fbcs.fbc_instantsignon == true) {
				$("div.myaccount").remove();
				$("" + fbcs.fbc_elem).each(function(i) {
					$(this).replaceWith($(fbcs.fbc_elem, data).get(i));
				});
				$("" + fbcs.fbc_elem).append(fbcs.display_fconnect);
				FB.XFBML.parse();
			}
			else window.location.reload();
  		});
	if (fbcs.fbc_singlesignon == 1) FB.logout();
}

function handleFBLogin(response) {
	if (fbcs.fbc_elem.search("header_user_info") < 1) $("#header_user_info").css("display","none");
	updateLink();
	$(fbcs.fbc_elem).html(fbcs.display_user);
	$("span#FB_profile_pic").append('<img id="fbc_loading" style="margin-left:-20px;" src="'+fbcs.url+'ajax-loader.gif" />');
	FB.XFBML.parse();
	var userID = response.session.uid;
	var toPost = JSON.stringify({"uid": userID});
	$.post(fbcs.url + "capture_request.php?action=status&rand="+Math.random(), {"data": toPost},function(status) {
		if (status == "0") {
			var query = FB.Data.query('SELECT sex,first_name,last_name,email,proxied_email,birthday_date,current_location,hometown_location FROM user WHERE uid={0}', userID);
			query.wait(function(result){
				send(result[0]);
			});
		}
		else send({"uid": userID});
	});
}

function handleFBSession(cl) {
	FB.getLoginStatus(function(response) {
		if (response.session) {
			switch (cl) {
				case 0:
					if (fbcs.mylogout) handleFBLogout();
					else if (fbcs.fblogged || (!fbcs.logged && fbcs.fbc_singlesignon == 1)) handleFBLogin(response);
					else if (!fbcs.logged) $(fbcs.fbc_elem).append(fbcs.display_fconnect);
					break;
				case 1:
					handleFBLogin(response);
					break;
				case 2:
					handleFBLogout();
					break;
			}
			FB.Event.subscribe('auth.logout', function(response){handleFBLogout()});
		}
		else if (!cl) {
			if (!fbcs.logged) $(""+fbcs.fbc_elem).append(fbcs.display_fconnect);
			if (fbcs.logged && fbcs.fblogged && fbcs.fbc_singlesignon == 1) handleFBLogout();
			FB.Event.subscribe('auth.login', function(response){handleFBLogin(response)});
		}
		FB.XFBML.parse();
	});
}

function send(obj) {
	var toPost = JSON.stringify(obj);
	$.post(fbcs.url+"capture_request.php",{"data":toPost},
		  function(data){
			eval(data);
			});
	FB.XFBML.parse();
}

function updateLink() {
$("p.logout").before('<img src="'+fbcs.url+'facebook-logo-small.png" style="float:left" height="22px" width="22px"/>');
$("p.logout a, a[href*='mylogout']").bind("click",function(e) {e.preventDefault();handleFBSession(2)})
}
