﻿var facebookLoginDone = false;
var facebookAuthResponse;

function SumbitMessage(msg) {

    if (!FacebookCheckLogin()) {
        window.alert("We can not use facebook functions if you do not authorize first.");
        return 0;
    }

    FB.api('/me/feed', 'post', { message: msg }, function (response) {
        if (!response || response.error) {
            $("#fboperationmsg").html("Could not post your message.");
            return 0;
        } else {
            $("#fboperationmsg").html("Message has been posted on your facebook wall.");
            return response.id;
        }
    });
}

function GetMessage() {
    FB.api('/platform/posts', { limit: 3 }, function (response) {
        for (var i = 0, l = response.length; i < l; i++) {
            var post = response[i];
            if (post.message) {
                alert('Message: ' + post.message);
            } else if (post.attachment && post.attachment.name) {
                alert('Attachment: ' + post.attachment.name);
            }
        }
    });
}

function DeleteMessage(postId) {
    FB.api(postId, 'delete', function (response) {
        if (!response || response.error) {
            alert('Error occured');
        } else {
            alert('Post was deleted');
        }
    });
}

function FacebookInit() {
    FB.init({
        appId: '264792100203611',
        status: true, // check login status
        cookie: true, // enable cookies to allow the server to access the session
        xfbml: true, // parse XFBML
        channelURL: 'http://lekhoni.com/channel.html', // channel.html file
        oauth: true // enable OAuth 2.0
    });
}

function FacebookLogin(showBlock, hideBlock) {
    FB.login(function (response) {
        if (response.authResponse) {
            facebookLoginDone = true;
            showBlock.addClass("show");
            showBlock.removeClass("hide");
            hideBlock.removeClass("show");
            hideBlock.addClass("hide");
        } else {
            facebookLoginDone = false;
        }
    }, { scope: 'email,read_stream,read_mailbox,read_friendlists,user_notes,user_birthday,publish_stream,manage_notifications,offline_access' });
}

function FacebookCheckLogin(promptIfRequired) {
    if (facebookLoginDone) return true;

    if (promptIfRequired) {
        return FacebookLogin();
    }

    return false;
}

function ShowElement(elem) {
    $(elem).addClass("show");
    $(elem).removeClass("hide");
}

function HideElement(elem) {
    $(elem).addClass("hide");
    $(elem).removeClass("show");
}
