//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 );
}

function logout(){
	FB.Connect.logout();
}

function postLink(txt_title, txt_body, link_url, img_url){
	var template_data = {"post-title":"<a href="+link_url+">"+txt_title+"</a>", "post-url":link_url, "comment-text":txt_body, "images":[{"src":img_url,"href":link_url}]};
	
	FB.Connect.showFeedDialog(135021761764, template_data);
}

/*
 * Prompts the user to grant a permission to the application.
 */
function facebook_prompt_permission(permission, callbackFunc) {
    //check is user already granted for this permission or not
    FB.Facebook.apiClient.users_hasAppPermission(permission,
     function(result) {
        // prompt offline permission
        if (result == 0) {
            // render the permission dialog
            FB.Connect.showPermissionDialog(permission, callbackFunc);
        } else {
            // permission already granted.
            callbackFunc(true);
        }
    });
}

//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]();
	}
}