//Local Variable with Flash Content id. default = flashcontent
var as_swf_name = "flashcontentcontainer";
 
//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, onLoginCancelHandler );
}

function askSetStatusPermissions(){
  FB.Connect.showPermissionDialog("publish_stream", onAskSetStatusPermissions);
}

function askPostLinkPermissions(){
  FB.Connect.showPermissionDialog("publish_stream", onAskPostLinkPermissions);
}

function askEmailPermissions(){
  FB.Connect.showPermissionDialog("email", onAskEmailPermissions);
}
 
//Event Handlers
function onLoginHandler(){
  flashCallBack( "onLogIn" );
}

function onLoginCancelHandler(){
  flashCallBack( "onLogInCancel" );
}

function onAskSetStatusPermissions(){
  flashCallBack( "onAskSetStatusPermissions" );
}

function onAskPostLinkPermissions(){
  flashCallBack( "onAskPostLinkPermissions" );
}

function onAskEmailPermissions(){
  flashCallBack( "onAskEmailPermissions" );
}
 
//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]();
  }
}