

/////////////////////////////////////////////////////////////////////////////////////////////////
// FACEBOOK METHODS
/////////////////////////////////////////////////////////////////////////////////////////////////


function fbConnect(){
	FB.Bootstrap.requireFeatures(["Connect"], function(){
		FB.Connect.requireSession(fbConnectCallback(), true);	
		
		
	});
	
}

function fbConnectCallback(){
	var str = "Connected to facebook";
	
	if (flash) {
		flash.fbConnectCallback(str);
	} else if (parent.flash) {
		parent.flash.fbConnectCallback(str);
	}
}

//Local Variable with Flash Content id. default = flashcontent
var as_swf_name = "flashObjectObj";
 
//Initialize Facebook
function fbInit(pAsSwfName, pApi_key, pReceiver){
  as_swf_name = pAsSwfName;
	FB.init(pApi_key, pReceiver);
	 
}
 
//JavaScript Connect methods
function login(){
	FB.Bootstrap.requireFeatures(["Connect"], function(){
		FB.Connect.requireSession( onLoginHandler , true);
	});
}

function logout(){
	FB.Connect.logout();	
}

//Event Handlers
function onLoginHandler(){
  flashCallBack( "onLogIn" );
}

function streamPublishCallback(pPost_id, pException, pData){
	alert("streamPublishCallback: " + pPost_id);
	document[as_swf_name]["streamPublishComplete"](pPost_id, pException, pData["user_message"]);
}
function permissionCallback(pData){
	document[as_swf_name]["showPermissionComplete"](pData);
}


//Method to dispatch an Event to Flash
function flashCallBack ( func ) {
  if( arguments.length > 1 ){
    document[as_swf_name][func]( Array.prototype.slice.call(arguments).slice(1)[0]);
  }else{
    document[as_swf_name][func]();
  }
}



