var fbinit = false;
var fblogout = false;
var uid = false;
var fbname = "";
var infb = false;
function fbloc(trigger) 
{
    infb = trigger;
}
function gotlogin()
{
  if(fbinit)
  {
    uid = FB.Facebook.apiClient.get_session().uid;
    var sql = 'SELECT name FROM user WHERE uid = ' + uid;
    FB.Facebook.apiClient.fql_query(sql, function (result, ex)
    {
        fbname = result[0].name;
        GetUnity().SendMessage('MenuMenu', 'receiveFBID', uid + "," + fbname);
    });
  }
}
var dontgo;
var inFaceBook;
function onConnected(user_id)
{
    gotlogin();
    //if (globalUid == "1388021372")
    //{
        //jefffix = true;
        $("#unity").unity("hide");
        //alert("Debug");
    //}
    FB.Connect.showPermissionDialog("publish_stream,email", function (perms)
    {
        //document.getElementsByTagName('h2').innerHtml("test");
        if (perms)
        {
            GetUnity().SendMessage('MenuMenu', 'receivePerms', 1);
            if (dontgo)
            {
                $("#unity").unity("show");
                dontgo = false;
                return;
            }
            else
            {
                $("#unity").unity("hide");
                $('#SelectionHolder').dialog('open');
            }
        }
        else
        {
            if (dontgo)
            {
                $("#unity").unity("show");
                dontgo = false;
                return;
            }
            else
            {
                $("#unity").unity("hide");
                $('#SelectionHolder').dialog('open');
            }
        }
    });
}
function onNotConnected() 
{
    if(fblogout)
    {
        fblogout = false;
    }
    else
    {
        requiresession();
    }
}
function requiresession()
{
    $("#unity").unity("hide");
    FB.Connect.requireSession(function () { gotlogin(); $('#SelectionHolder').dialog('open'); }, function () { $("#unity").unity("show"); });
}
function fblogin(trigger) 
{
    if (trigger) 
    {
        dontgo = trigger;
    }
    if (!fbinit) 
    {
        FB.init('ffa610faf3d7817817b6e639a27577c3', 'xd_receiver.htm',
        {
          'ifUserConnected':onConnected,
          'ifUserNotConnected':onNotConnected
        });
        fbinit = true;
    }
    else
    {
      FB.Connect.get_status().waitUntilReady(function(status)
      {
        switch(status) 
        {
            case FB.ConnectState.connected:
                 gotlogin();
                 $('#SelectionHolder').dialog('open');
                 break;
            case FB.ConnectState.appNotAuthorized:
            case FB.ConnectState.userNotLoggedIn:
                 requiresession();
                 break;
        }
     });
   }
}
function fblogout()
{
  if(fbinit)
  {
    fblogout = true;
    $("#unity").unity("hide");
    FB.Connect.logout(function () { $("#unity").unity("show"); });
    GetUnity().SendMessage('FaceBook', 'GotLogin', '');
  }
}
