﻿
var API_KEY = '662f6e03167214631d97e56c24d323bc'; //Berko
//var API_KEY = 'b64172626ccdeb75aa83435d85cdba00' //localhost
//var API_KEY = '160edf3e1b72cefac0314ba870498138'; //BerkoDev//var API_KEY = '924759c8d6c20d8fb705d1aa7ff39eaa'

var isFbInitialized = false;
var sessionObj = null;

function connectUser(onConnect) {
    if (sessionObj == null) {
        if (isFbInitialized) {
            loginUser();
        }
        else {
            var onSessionCreated = function(session) {
                sessionObj = session;
                onConnect();
            }

            initConnectUser(onSessionCreated, null, loginUser);
            isFbInitialized = true;
        }
    }
    else {
        onConnect();
    }
}

function onCancel() {
    showFlash();
}

function loginUser() {
    isFlashVisible = false;
    hideFlash();
    FB.Connect.requireSession(null, function() { onCancel() });
}
function showPermissionsDialog(permissionsStr, onPermissionsAccept) {
    FB.Connect.showPermissionDialog(permissionsStr, onPermissionsAccept);
}

function execFQLQuery(query, getQueryResultFunc) {
    FB.Facebook.apiClient.fql_query(query, function(result, ex) { getQueryResultFunc(result, ex); });
}

function callFBConnectFunc(func) {
    FB_RequireFeatures(["Connect"], function() {
    var apiKey = API_KEY
        FB.init(apiKey, "xd_receiver.htm");
        func();
    });
}

var isWaitingForSession = false;
function initConnectUser(onSessionCreated, ifUserConnected, ifUserNotConnected) {
    FB_RequireFeatures(["Connect"], function() {
    var apiKey = API_KEY

        FB.init(apiKey, "xd_receiver.htm", { "ifUserConnected": ifUserConnected, "ifUserNotConnected": ifUserNotConnected });
        if (!isWaitingForSession) {
            FB.Facebook.get_sessionState().waitUntilReady(function(session) {
                if (session) {
                    onSessionCreated(session);
                }
            });
            isWaitingForSession = true;
        }
    });
}

function requestPermissions(onPermissionsGranted) {
    showPermissionsDialog("offline_access, read_stream", onPermissionsGranted);
}


