//Local Variable with Flash Content id. default = flashcontent
var as_swf_name = "flashcontent";

//Initialize Facebook
function fbInit(pAsSwfName,pApi_key,pReceiver){
	as_swf_name = pAsSwfName;
	FB.init(pApi_key,pReceiver);
}

//JavaScript Connect methods
function login(){
	FB.Connect.requireSession( onLoginHandler, true );
}

function grantAppExtendedPermission(){
	FB.Connect.showPermissionDialog("status_update", onAppGrantedPermission);
}

function setUsersStatus (arg_1, arg_2, arg_3){
	FB.Connect.streamPublish(arg_1, arg_2, null, null, null, stream_callback, true);
}

function onAppGrantedPermission (x){
	flashCallBack( "appGrantedPermissionSuccessful" );
}

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

function userLoggedOut(){
	flashCallBack( "onLogOut" );
}

function stream_callback (post_id, exception) {
  	if (post_id) {
		document[as_swf_name]["onPostSuccess"]( post_id);
  	}
}


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

//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]();
	}
}