﻿function fbLogin(permissions) {
	FB.login(onFbLoginHandler,{perms: permissions});
}

function onFbLoginHandler(response) {
	var res = obj2str(response);
	if (response && response.session) {
		debug("onFbLoginHandler user logged in: " + res);
	} else {
		debug("onFbLoginHandler user not logged in: " + res);
	}
	myMovie().onFbLoginHandler(response);
}

function fbAskPermissions(permissions) {
	FB.login(onFbAskPermissionsHandler,{perms:permissions});
}

function onFbAskPermissionsHandler(response) {
	var res = obj2str(response);
	if (response && response.session) {
		if (response.perms) {
			debug("onFbAskPermissions user logged in with some permissions: " + res);
		} else {
			debug("onFbAskPermissions user logged in without any permissions: " + res);
		}
	} else {
		debug("onFbAskPermissions user not logged in: " + res);
	}
	myMovie().onFbAskPermissionsHandler(response);
}

function fbLogout() {
	FB.logout(onFbLogoutHandler);
}

function onFbLogoutHandler(response) {
	var res = obj2str(response);
	debug("onFbLogoutHandler: " + res);
	myMovie().onFbLogoutHandler(response);
}

function fbGetFbLoginStatus() {
	debug("fbGetFbLoginStatus");
	FB.getLoginStatus(onFbGetLoginStatusHandler);
}

function onFbGetLoginStatusHandler(response) {
	var res = obj2str(response);
	if (response && response.session) {
		debug("User logged in: " + res);
	} else {
		debug("User not logged in: " + res);
	}
	myMovie().onFbGetLoginStatusHandler(response);
}
/*
function fbEventsSubscribe() {
	debug("subscribe events");
    FB.Event.subscribe("auth.statusChange", function(response)
    {
        debug("statusChange: " + obj2str(response));
    });	
    FB.Event.subscribe("auth.sessionChange", function(response)
    {
        debug("sessionChange: " + obj2str(response));
    });
}
*/
function obj2str(obj) {
	var res = ""
	for (var sth in obj) {
		var val = obj[sth];
		if (typeof(val) == "object") {
			res += ("===>["+sth+"]("+obj2str(val)+") <===["+sth+"]");
		} else {
			res += (sth + "=" + val + "; ");
		}
	}
	return res;
}

function thisMovie(movieName) { 
	if (navigator.appName.indexOf("Microsoft") != -1) { 
		return window[movieName]; 
	} else { 
		return document[movieName]; 
	} 
} 

function myMovie() {
	return thisMovie("flashcontent");
}

function debug(str) {
/*	alert(str);  */
}
