var as_swf_name = "flashcontent";

function fbInit(pApi_key, pReceiver){
	FB.init(pApi_key, pReceiver);
}

function login(){
	/*
	try {
		FB.Connect.ifUserConnected(onUserConnected, onUserNotConnected);
	} catch(ex) { 
		alert("Facebook error: ".ex); 
	}
	*/
	try {
		FB.Connect.requireSession(onLoginHandler, onCancelHandler, true);
	} catch(ex) { 
		alert("Facebook error: ".ex); 
	}
}

function publish(attachment, action_links, message) {
	FB.Connect.streamPublish('', attachment, action_links, '', message, onPublishComplete);
}

function onUserConnected(){
	//FB.Connect.logout(onLogout);
	requireSession();
}

function onUserNotConnected(){
	requireSession();
}

function requireSession(){
	try {
		FB.Connect.requireSession(onLoginHandler, onCancelHandler, true);
	} catch(ex) { 
		alert("Facebook error: ".ex); 
	}
}

function onLoginHandler(){
    var sessionData = FB.Facebook.apiClient.get_session();
	document[as_swf_name]["onLogin"](sessionData.secret, sessionData.session_key, sessionData.uid);
}

function onCancelHandler(){
	document[as_swf_name]["onCancel"]();
}

function onPublishComplete(post_id, exception, data){
	document[as_swf_name]["onPublishComplete"]();
}

function logout(){
	try { 
		FB.Connect.logout();
	} catch(ex) { 
		alert("Facebook error: ".ex); 
	}
}
