﻿/* SBAN.sbsaFacebookPosts
* method that makes the facebook connect
*
* Params: [DOM Element] channel - string of facebook channel superAdeptos
*
*/
SBAN.sbangolaFacebookPosts = function (channel) {
    //AppId Local -> 308460652502355
    //AppId Dev -> 177671478957981
    //AppId Stage -> 228474283831501
    //AppId Producao --> 122136224563841

    //AppId para produção superAdeptos
    var sFbAppIdSuperAngola = '122136224563841';

    FB.init({ appId: sFbAppIdSuperAngola, cookie: true, status: true, xfbml: true, oauth : true});

    /* All the events registered */
    FB.Event.subscribe('auth.login', function (response) {
        // do something with response
        var accessToken = response.authResponse.accessToken;

        SBAN.fnSbAngolaFacebookPosts(channel, accessToken);

        $('.facebookConnectSuperAngola').hide();
        $('#scrollbar1').show();
        $('.loadingFb').show();
    });

    FB.getLoginStatus(function (response) {
        if (response.authResponse) {
            var accessToken = response.authResponse.accessToken;
            SBAN.fnSbAngolaFacebookPosts(channel, accessToken);

            $('.facebookConnectSuperAdeptos').hide();
            $('#scrollbar1').show();
            $('.loadingFb').show();

        } else {
            $('.facebookConnectSuperAngola').show();
            $('.loadingFb').hide();
        }
    }, true);
};

/* SB.SA.fnSbsaFacebookPosts
* method that get's the posts of facebook channel superAdeptos
*
* Params: [DOM Element] channel - string of facebook channel superAdeptos
* Params: [DOM Element] token - number that contains the acess token of users
*
*/
SBAN.fnSbAngolaFacebookPosts = function (channel, token) {
    var urlFacebook = 'https://graph.facebook.com/' + channel + '/posts',
	    method = 'GET',
		params = "access_token=" + token + "&callback=?",
		aMessage = [],
		aTime = [],
		aLinkFb = [],
		elTimeCreatePost,
		aMonthText = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
		iLimitCharacters = 100;

    $.ajax({
        type: method,
        url: urlFacebook,
        data: params,
        contentType: "application/json; charset=utf-8",
        dataType: "json",

        success: function (fb) {


            var elDataFb = fb.data,
                    numberPostFb = elDataFb.length,
                    html = '<ul>';

            $.each(elDataFb, function (i) {
                var sMessageFB = elDataFb[i].message,
                        sLinkEventFB = elDataFb[i].link,
                        sPictureFB = elDataFb[i].picture,
						sStoryEventFB = elDataFb[i].story;

                aLinkFb[i] = sLinkEventFB;

                //GET MESSAGE AND LIMITED THE CHARACTERS
                if (sMessageFB == undefined) {
                    if (sStoryEventFB == undefined) {
                        aMessage[i] = sLinkEventFB;
                    } else {
                        aMessage[i] = sStoryEventFB;
                    }
                } else {
                    aMessage[i] = sMessageFB.substr(0, iLimitCharacters);
                }

                // GET TIME AND DAY AND CONVERT TO "DAY // MONTH"
                elTimeCreatePost = elDataFb[i].created_time;
                eltimeSplit = elTimeCreatePost.split('T');

                iDay = eltimeSplit[0];
                var splitDay = iDay.split('-');
                var sMonth = splitDay[1];
                var iDay = splitDay[2];
                var monthTransform = aMonthText[(Number(sMonth) - 1)].substr(0, 3);

                textHour = eltimeSplit[1].split(':');
                elHour = textHour[0] + ':' + textHour[1];

                // PUST TO THE ARRAY TIME THE HOUR, DAY AND MOUTH (IN STRING)
                aTime.push(elHour + ' // ' + iDay + ' ' + monthTransform);

                //WRITE ON THE DOM THE MESSAGE AND THE TIME IT WAS POSTED

                if (sMessageFB != undefined) {
                    if (sMessageFB.length > iLimitCharacters) {
                        html += '<li class="postFb"><a href="http://www.facebook.com/superbockangola" target="_blank"><span>' + aMessage[i] + '...' + '</span><cite>' + aTime[i] + '</cite></a>';
                    } else {
                        html += '<li class="postFb"><a href="http://www.facebook.com/superbockangola" target="_blank"><span>' + aMessage[i] + '</span><cite>' + aTime[i] + '</cite></a>';
                    }
                } else if (sStoryEventFB != undefined) {
                    if (sStoryEventFB.length > iLimitCharacters) {
                        html += '<li class="postFb"><a href="http://www.facebook.com/superbockangola" target="_blank"><span>' + aMessage[i] + '...' + '</span><cite>' + aTime[i] + '</cite></a>';
                    } else {
                        html += '<li class="postFb"><a href="http://www.facebook.com/superbockangola" target="_blank"><span>' + aMessage[i] + '</span><cite>' + aTime[i] + '</cite></a>';
                    }
                } else {
                    if (sLinkEventFB.length > iLimitCharacters) {
                        html += '<li class="postFb"><a href="http://www.facebook.com/superbockangola" target="_blank"><span>' + aMessage[i] + '...' + '</span><cite>' + aTime[i] + '</cite></a>';
                    } else {
                        html += '<li class="postFb"><a href="http://www.facebook.com/superbockangola" target="_blank"><span>' + aMessage[i] + '</span><cite>' + aTime[i] + '</cite></a>';
                    }
                }

                if (sPictureFB !== undefined) {
                    html += '<img src="' + sPictureFB + '" />';
                    html += '</li>';
                } else {
                    html += '</li>';
                }
            });

            html += '</ul>';
            // AN ANIMATION TO TAKE OUT THE LOADING AND PUT THE MESSAGE'S
            if (numberPostFb != 0) {
                $('.posts .overview').animate({ opacity: 0 }, 500, function () {
                    $('.posts .overview').html(html);
                });
                $('.posts .overview').animate({ opacity: 1 }, 500);
                $('.loadingFb').hide();
            }
            setTimeout('SBAN.scrollBarPostFb()', 1000);
        },
        error: function (response) {
            alert(response);
        }
    });
};
/* SB.SA.scrollBarPostFb
* method that show the scroll at section facebook posts
*
*/
SBAN.scrollBarPostFb = function () {
    var oScroll1 = $('#scrollbar1'),
        thumb = $('.thumb'),
        end = $('.thumb .end');
    if (oScroll1.length > 0) {
        thumb.show();
        end.show();
        oScroll1.tinyscrollbar({ sizethumb: 45, scroll: true });
    }
};
