//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,onCancelHandler );
}

function logout()
{
	FB.Connect.logout( onLogoutHandler );
}

function streamPublish(imageURL)
{
	var attachment = {'media':[{'type':'image', 'src':imageURL, 'href':imageURL}]};
	var actionLinks = [{'text':'GO FysYOURSELF!', 'href':'http://www.FysYOURSELF.com'}];

	FB.Connect.streamPublish('Go FysYOURSELF like I did at http://www.FysYOURSELF.com.', attachment, actionLinks, null, 'FysYOURSELF - Tell the world', streamCallBack);
}

function getStreamPermission()
{
	FB.Connect.showPermissionDialog("publish_stream", permissionHandler, true);
}

//Event Handlers
function onLoginHandler()
{
	flashCallBack( "onLogIn" );
}

function onCancelHandler()
{
	flashCallBack( "onCancelLogIn" );
}

function streamCallBack(post_id, exception)
{
	flashCallBack( "onStreamCallBack" );
}

function permissionHandler()
{
	flashCallBack( "onPermission" );
}

function onLogoutHandler()
{

}

//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]();
	}
}
