﻿var facebookArgs = { 
    Key: null,
    Value: true
};

var ajaxArgs = {
    url: null,
    data: null,
    hollaBack: null
};

window.fbAsyncInit = function () {
    FB.init({ appId: '124077610966145', status: true, cookie: true,
        xfbml: true
    });

    FB.getLoginStatus(function (response) {
        if (response.session) {
            //alert("logged In");
        } else {
            //alert("not logged in");
        }
    });

    function onStatus(response) {
        console.log('onStatus', response);
        if (response.session) {
            showAccountInfo();
        } else {
            showLoginButton();
        }
    }
    FB.getLoginStatus(function (response) {
        onStatus(response); // once on page load
        FB.Event.subscribe('auth.statusChange', onStatus); // every status change
    });
};

function showAccountInfo() {
    return false; 
}

function showLoginButton() {
    return false; 
}

(function () {
    var e = document.createElement('script');
    e.type = 'text/javascript';
    e.src = document.location.protocol +
          '//connect.facebook.net/en_US/all.js';
    e.async = true;
    document.getElementById('fb-root').appendChild(e);
} ());

$("#facebookButton").live('click', function () {
    // FB.Connect.requireSession(function () {  }); return false;
    FB.login(function (response) {
        if (response.session) {
            var faceBookId = response.session.uid;
            ajaxIt("/Account/LoginFaceBook", $.toJSON(faceBookId), function (success) {
                if (success.Success) {
                    //window.location = "/";
                    if (success.UserAuthenticated) {
                        alert(success.Message);
                    }
                    else {
                        location.reload(true); //Just refresh the page, don't redirect
                    }
                }
                else {
                    //window.location = "/login";
                    alert(success.Message);
                }
            });
        }  // user cancelled login
    })
});
$("#ConnectFacebook").live('click', function () {
    FB.login(function (response) {
        if (response.session) {
            facebookArgs.Key = response.session.uid;
            facebookArgs.Value = true;
            ajaxIt(url, $.toJSON(facebookArgs), function (d) {
                console.log(d);
            });
        }
    });
});

function ajaxIt(url, data, hollaBack) {
    $.ajax({
        url: url,
        data: data,
        dataType: 'json',
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        success: function (result) {
            if (typeof hollaBack == 'function') {
                hollaBack(result);
            }
        },
        error: function () {
            console.log("error");
        }
    });
}
