﻿function thisMovie(movieName) {
        if (navigator.appName.indexOf("Microsoft") != -1) {
               return window[movieName];
        } else {
               return document[movieName];
        }
}

var checkFB = function() { facebookUserConnected(); }
function stream_callback (post_id, exception) 
{
    if (post_id) {
    post_to_my_server(post_id);
    }
}
function resultFB(status)
{
    thisMovie("mainFlash").resultFB(status);
}
function proc(result)
{
    if(result == "email,contact_email" || result == "email"){
        resultFB(true);
        requirePermission('publish_stream', function() {  }); 
    }
    else{
        resultFB(false);
    }
}
function facebookUserConnected()
{       	
    ChechUserLoggedIn();    
}
function facebookUserNotConnected() { }       
function requirePermission(permission, callback) 
{ 
    getPermission(permission, function(result) {
        callback(result);
    });
}
function getPermission(permission, callback) 
{
    FB.Facebook.apiClient.users_hasAppPermission(permission, function (result) {
        if (!result) 
        {
                FB.Connect.showPermissionDialog(permission, callback);
        } 
        else 
        {
            callback(permission);
        }
    }); 
}
function ChechUserLoggedIn()
{		
    FB.ensureInit(
    function() 
    { 
    FB.Connect.get_status().waitUntilReady( 
       function( status ) 
       { 
		    switch ( status ) 
		    { 
		       case FB.ConnectState.connected: loggedIn = true; 
				    break; 
		       case FB.ConnectState.appNotAuthorized: 
		       case FB.ConnectState.userNotLoggedIn: loggedIn = false; 
		    } 
		    if(loggedIn)
		    {
			    requirePermission('email', function(result) { proc(result);}); 
		    }
		    else
		    {
			    FB.Connect.requireSession(function(arg){
			        requirePermission('email', function(result) { proc(result);}); 
			    }, function(){resultFB(false);});
		    }
       }); 
    });		
}