function fetchFacebook(handler,extra) {
	vars='cmd=includefunction&includefile=facebookapi&handler='+handler;
	if (extra) {
		vars+="&extra="+extra;
	}else{
		vars+="&extra=nf";
	}
	sIH("facebookheader","<img src='/skin/loading.gif' align='absmiddle' /> Loading...");
	sPR('/index.php',vars,rSC);
}
var facebookapiclient=null;
function testAlert(reply) {
	alert(reply);
	rSC(reply);
}
function initFB() {
	FB_RequireFeatures(["XFBML"], function(){
		FB.init('f9206fb677fc85144523df1e163d7f14', "xd_receiver.htm");
		FB.ensureInit(function() {
		 	if (FB.ConnectState.connected) {
				    var api = FB.Facebook.apiClient;
					// require user to login 
					//api.requireLogin(function(exception){
						FB.FBDebug.logLevel=1;
						//alert("Current user id is " + api.get_session().uid);
						// Get friends list 
						
					   //5-14-09: this code below is broken, correct code follows 
					   //api.friends_get(null, function(result){
					   //     Debug.dump(result, 'friendsResult from non-batch execution ');
					   // });
				
						 //api.friends_get(new Array(), function(result, exception){
						//	  FB.FBDebug.dump(result, 'friendsResult from non-batch execution ');
						 //});
					//});
				fbLoaded();
   	 			//FB.Connect.showPermissionDialog("read_stream",);
			}
 		 });
	});}
function facebooklogin()
    {
        FB.Connect.requireSession();
        FB.Facebook.get_sessionState().waitUntilReady(function()
        {
			if (ses=FB.Facebook.apiClient.get_session()) {
				vars='cmd=includefunction&includefile=facebookapi&handler=setSession';
				vars+='&fbsessionkey='+ses.session_key;
				vars+='&fbbasedomian='+ses.base_domain;
				vars+='&fbsessionsecret='+ses.secret;
				vars+='&fbsig='+ses.sig;
				vars+='&fbuid='+ses.uid;
				vars+='&fbexpires='+ses.expires;
				//alert(vars);
				sPR('/index.php',vars,rSC);
				sIH("facebookheader","<img src='/skin/loading.gif' align='absmiddle' /> Loading...");
				//fetchFacebook("stream",null);
			}
        });
    }
function facebookcanvaslogin()
    {
        FB.Connect.requireSession();
        FB.Facebook.get_sessionState().waitUntilReady(function()
        {
			if (ses=FB.Facebook.apiClient.get_session()) {
				vars='cmd=includefunction&includefile=facebookapi&handler=setSession';
				vars+='&fbsessionkey='+ses.session_key;
				vars+='&fbbasedomian='+ses.base_domain;
				vars+='&fbsessionsecret='+ses.secret;
				vars+='&fbsig='+ses.sig;
				vars+='&fbuid='+ses.uid;
				alert(vars);
				//sPR('/index.php',vars,rSC);
				//sIH("facebookheader","<img src='/skin/loading.gif' align='absmiddle' /> Loading...");
				//alert(vars);
				//fetchFacebook("stream",null);
			}
        });
    }

function receivedNotifications(result,ex) {
	alert(typeof(result));
		op="<h1>Notifications</h1>";
		for (n=0;n<result["notifications"].length;n++) {
			op+=result["notifications"][n]["html_title"];
		}
		document.getElementById("facebookwidget").innerHTML=op;
}
function onConnected(user_id) {
	//fetchFacebook("notifications");
    alert(user_id);
} 
function onNotConnected() {
   alert("Not connected");
} 
function facebook_onlogin() {
	fetchFacebook("stream");
}
function updateFacebookWidget() {
	fetchFacebook("notificationsUpdate");
}
function facebook_prompt_permission(permission) {
  FB.ensureInit(function() {
    FB.Connect.showPermissionDialog(permission);
  });
}
function postFBComment(srcObj,type,pid) {
	txtobjs=srcObj.parentNode.getElementsByTagName("textarea");
	vars='cmd=includefunction&includefile=facebookapi&handler=stream&extra='+type;
	vars+='&postid='+pid;
	vars+='&postcomment='+encodeUpload(txtobjs[0].value);
	srcObj.parentNode.innerHTML="<img src='/skin/loading.gif' align='absmiddle' /> Posting...";
	sPR('/index.php',vars,rSC);
}
function updateFBStatus(srcObj,type) {
	txtobjs=ob("myFBStatus").getElementsByTagName("textarea");
	if (txtobjs[0].value=="") {
		alert("Your new status is empty");
	}else{
		vars='cmd=includefunction&includefile=facebookapi&handler=justHeader&extra='+type;
		vars+='&poststatus='+encodeUpload(txtobjs[0].value);
		srcObj.parentNode.innerHTML="<img src='/skin/loading.gif' align='absmiddle' /> Posting...";
		sPR('/index.php',vars,rSC);
	}
}