//Local Variable with Flash Content id. default = flashcontent
var as_swf_name = "flashcontent";

// workaround for getting to know if user clicked cancel or close "X"
var fb_cancel_workaround_count_frames_before = frames.length;
var fb_cancel_workaround_timer;

//Initialize Facebook
function fbInit(pAsSwfName,pApi_key,pReceiver){
	as_swf_name = pAsSwfName;
	//alert("init " + as_swf_name); 
	//FB.init(pApi_key,pReceiver);
	FB.init(pApi_key, pReceiver, {ifUserNotConnected:on_user_not_connected});
}

//JavaScript Connect methods
function login(){
	//alert("login");
	fb_cancel_workaround_count_frames_before = frames.length;
	//window.status = 'frames.length '+frames.length;
	FB.Connect.requireSession(onLoginHandler, false);
	fb_cancel_workaround_timer = window.setTimeout('fb_cancel_do_sniff()', 2000);
}

function getPermissions(perms){
	FB.Connect.showPermissionDialog(perms, onPermissionsHandler );
}

//Event Handlers
function onLoginHandler(){
	if (fb_cancel_workaround_timer) {
		window.clearTimeout(fb_cancel_workaround_timer);
	}
	flashCallBack("onLogIn");
	//window.status = ('onLoginHandler, response:'+ r +', type:'+ typeof(r));
}

function on_user_not_connected() {

}

function onPermissionsHandler(r){
	flashCallBack("onPermissions", r);
	//alert('onPermissionsHandler, response:'+ r +', type:'+ typeof(r));
}

// Method to dispatch an Event to Flash
function flashCallBack(func) {
	//alert("flashCallBack " + document[as_swf_name][func]); 
	if (arguments.length > 1) {
		document[as_swf_name][func]( Array.prototype.slice.call(arguments).slice(1)[0]);
	} 
	else {
		document[as_swf_name][func]();
	}
}

function fb_cancel_do_sniff() {
	if (fb_cancel_workaround_count_frames_before == frames.length) {
		flashCallBack("onCancelClick");
	}
	else {
		fb_cancel_workaround_timer = window.setTimeout('fb_cancel_do_sniff()', 500);
	}
}

function hideFacebook() {
	var fbContainer = document.getElementById('FB_HiddenContainer');
	if (fbContainer != null) fbContainer.style.top = "-10000px";
}
