﻿//SOCIAL MEDIA FILE

// DETECTS IF NAMESPACE OF THE APP EXISTS, CREATES THE NAMESPACE OF THE APP.
if (!SB) var SB = {};
else if (SB && typeof (SB) != "object")
    throw new Error("SB is not an Object type");

/* SB.SOCIALMEDIA
* All user inteface under this class name
*/
SB.SOCIALMEDIA = {};

//////////////////////////////////// HOMEPAGE FEEDS FACEBOOK (SB, SBSR), TWITTER, YOUTUBE //////////////////////////////////////////////////////

// BEGIN FUNCTIONS TO FB, TWITTER, YOUTUBE, MODULE SIDEBAR WITH PAGINATION

var aInfoElementFb = [],
	aInfoElementTwitter = [],
	aInfoElementYoutube = [],
	aInfoChannels = [],
    aInfoElementFbSb = [];
/* SB.SOCIALMEDIA.sbsrFacebookPosts
* FUNCAO QUE VAI BUSCAR OS POSTS DO FACEBOOK
*
* Params: [DOM Element] channel - string that especifies the channel of facebook
*
*/
SB.SOCIALMEDIA.sbsrFacebookPosts = function (channel) {

    FB.Event.subscribe('edge.create', function (response) {
        // do something with response
        var accessToken = response.authResponse.accessToken;

        fnSbsrFacebookPosts(channel, accessToken);

        $('.facebookConnect').hide();
        $('.facebookPost').html('<li><img src="/images/icons/ajax-loader.gif" alt="loading" class="fbLoading" /></li>');
    });

//    FB.Event.subscribe('auth.login', function (response) {
//        // do something with response
//        var accessToken = response.authResponse.accessToken;

//        fnSbsrFacebookPosts(channel, accessToken);

//        $('.facebookConnect').hide();
//        $('.facebookPost').html('<li><img src="/images/icons/ajax-loader.gif" alt="loading" class="fbLoading" /></li>');
//    });

    FB.getLoginStatus(function (response) {

        if (response.authResponse) {
            var accessToken = response.authResponse.accessToken;

            fnSbsrFacebookPosts(channel, accessToken);

            $('.facebookConnect').hide();
            $('.facebookPost').html('<li><img src="/images/icons/ajax-loader.gif" alt="loading" class="fbLoading" /></li>');

        } else {
            $('.facebookConnect').show();
            $('.loading').parent().hide();
        }
    }, true);

    function fnSbsrFacebookPosts(channel, token) {

        var urlFacebook = 'https://graph.facebook.com/' + channel + '/posts',
            method = 'GET',
            params = "access_token=" + token + "&limit=4&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;
                var numberPostFb = elDataFb.length;
                var html = '';

                $.each(elDataFb, function (i) {

                    var sMessageFB = elDataFb[i].message;
                    var sLinkEventFB = elDataFb[i].link;

                    aLinkFb[i] = sLinkEventFB;

                    //GET MESSAGE AND LIMITED THE CHARACTERS
                    if (sMessageFB == undefined) {
                        aMessage[i] = sLinkEventFB;
                    } 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

                    html += '<li><a href="' + aLinkFb[i] + '" target="_blank"><span>' + aMessage[i] + '</span><cite>' + aTime[i] + '</cite></a></li>';
                });
                // AN ANIMATION TO TAKE OUT THE LOADING AND PUT THE MESSAGE'S
                if (numberPostFb != 0) {
                    $('.facebookPost').animate({ opacity: 0 }, 500, function () {
                        $('.facebookPost').html(html);
                    });
                    $('.facebookPost').animate({ opacity: 1 }, 500);
                }
            }

        });
    }
};


/* SB.SOCIALMEDIA.sbsrTwitterPosts
* SBSR FUNCAO QUE VAI BUSCAR OS POSTS DO TWITTER
*
* Params: [DOM Element] channel - string that especifies the channel of twitter
*
*/
SB.SOCIALMEDIA.sbsrTwitterPosts = function (channel) {
 

    var urlTwitter = 'http://twitter.com/status/user_timeline/' + channel + '.json',
        method = 'GET',
        params = 'count=4&callback=?',
        aMessage = [],
        aTime = [],
        aLinkTwitter = [],
        elTimeCreatePost,
        iLimitCharacters = 100;

    $.ajax({
        type: method,
        url: urlTwitter,
        data: params,
        contentType: "application/json; charset=utf-8",
        dataType: "json",

        success: function (msg) {
            var html = '';
            var numberPostTwitter = msg.length;

            $.each(msg, function (i) {

                aMessage[i] = msg[i].text.substr(0, iLimitCharacters);
                elTimeCreatePost = msg[i].created_at;

                dayWeek = elTimeCreatePost.substr(0, 3); // dia da semana
                month = elTimeCreatePost.substr(3, 4); // mês
                day = elTimeCreatePost.substr(7, 3); // dia

                hours = elTimeCreatePost.substr(11, 2);
                minutes = elTimeCreatePost.substr(14, 2);
                horasMin = hours + ":" + minutes;
                aTime[i] = horasMin + " // " + dayWeek + day + month;

                html += '<li><a href="http://twitter.com/' + channel + '" target="_blank"><span>' + aMessage[i] + '</span></a><cite>' + aTime[i] + '</cite></li>';
            });

            // AN ANIMATION TO TAKE OUT THE LOADING AND PUT THE MESSAGE'S
            if (numberPostTwitter != 0) {
                $('.twitterPost').animate({ opacity: 0 }, 500, function () {
                    $('.twitterPost').html(html);
                });
                $('.twitterPost').animate({ opacity: 1 }, 500);
            }
        }
    });
};

/* SB.SOCIALMEDIA.sbsrTwitterPosts
* SBSR FUNCAO QUE VAI BUSCAR OS POSTS DO YOUTUBE
*
* Params: [DOM Element] channel - string that especifies the channel of youtube
*
*/
SB.SOCIALMEDIA.sbsrYoutubePosts = function (channel) {
    var urlYoutube = 'http://gdata.youtube.com/feeds/api/users/' + channel + '/uploads',
        method = 'GET',
        params = 'v=2&alt=jsonc&callback=?&prettyprint=true&max-results=4',
        aDescription = [],
        aTime = [],
        aTitle = [],
        aThumbnail = [],
        aIdVideo = [],
        elTimeCreatePost,
        aMonthText = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];
    $.ajax({
        type: method,
        url: urlYoutube,
        data: params,
        contentType: "application/json; charset=utf-8",
        dataType: "json",

        success: function (msg) {

            var elDataYoutube = msg.data.items;
            var numberPostYoutube = elDataYoutube.length;
            var html = "";
            $.each(elDataYoutube, function (i) {

                aDescription[i] = elDataYoutube[i].description;
                aTitle[i] = elDataYoutube[i].title;
                aThumbnail[i] = elDataYoutube[i].thumbnail["sqDefault"];
                aIdVideo[i] = elDataYoutube[i].id;

                // GET TIME AND DAY AND CONVERT TO "DAY // MONTH"
                elTimeCreatePost = elDataYoutube[i].uploaded;
                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);

                html += '<li><a href="http://www.youtube.com/watch?v=' + aIdVideo[i] + 's&feature=feedrec_grec_index" target="_blank">';
                html += '<img src="' + aThumbnail[i] + '" title="' + aTitle[i] + '" alt="' + aDescription[i] + '" />';
                html += '<span>' + aTitle[i] + '<cite>' + aTime[i] + '</cite></span>';
                html += '</a></li>';

            });

            // AN ANIMATION TO TAKE OUT THE LOADING AND PUT THE MESSAGE'S
            if (numberPostYoutube != 0) {
                $('.youtubePosts').animate({ opacity: 0 }, 500, function () {
                    $('.youtubePosts').html(html);
                });
                $('.youtubePosts').animate({ opacity: 1 }, 500);
            }
        }
    });
};



/* SB.SOCIALMEDIA.getAllSocialMedia
* MANAGE THE SOCIAL MEDIA FOR MODULE SIDEBAR SOCIAL MEDIA
*
* Params: [DOM Element] channelFb - string that especifies the channel of facebook
* Params: [DOM Element] channelTwitter - string that especifies the channel of twitter
* Params: [DOM Element] channelYoutube - string that especifies the channel of youtube
* Params: [DOM Element] token - number that especifies the acess token by user for facebook
*
*/
SB.SOCIALMEDIA.getAllSocialMedia = function (channelFb, channelTwitter, channelYoutube, token) {

    if (channelFb != '') {
        SB.SOCIALMEDIA.getFacebookPost(channelFb, channelTwitter, channelYoutube, token);

    } else if (channelTwitter != '') {

        SB.SOCIALMEDIA.twitter(channelTwitter, channelYoutube);

    } else if (channelYoutube != '') {

        SB.SOCIALMEDIA.getYoutubePosts(channelYoutube);

    } else {
        $('.allSocialMedia').html('não existe canais');
    }

};

/* SB.SOCIALMEDIA.getFacebookPost
* MANAGE THE SOCIAL MEDIA FOR MODULE SIDEBAR SOCIAL MEDIA
*
* Params: [DOM Element] channelFb - string that especifies the channel of facebook
* Params: [DOM Element] channelTwitter - string that especifies the channel of twitter
* Params: [DOM Element] channelYoutube - string that especifies the channel of youtube
* Params: [DOM Element] token - number that especifies the acess token by user for facebook
*
*/
SB.SOCIALMEDIA.getFacebookPost = function (channelFb, channelTwitter, channelYoutube, token) {
    var method = 'GET',
        url = 'https://graph.facebook.com/' + channelFb + '/posts',
    //params = 'limit=4&callback=?'
        params = "access_token=" + token + "&callback=?",
        aMessage = [],
        aTimeFb = [],
        aLink = [],
        elTimeCreatePost = '',
        aMonthText = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
        iLimitCharacters = 100,
        numberPost = '';
    elData = '';


    $.ajax({
        type: method,
        url: url,
        data: params,
        contentType: "application/json; charset=utf-8",
        dataType: "json",

        success: function (result) {

            elData = result.data;
            numberPost = elData.length;

            $.each(elData, function (i) {

                sMessageFB = elData[i].message;
                sLinkEventFB = elData[i].link;

                aLink[i] = sLinkEventFB;

                //GET MESSAGE AND LIMITED THE CHARACTERS
                if (sMessageFB == undefined) {
                    aMessage[i] = sLinkEventFB;
                } else {
                    aMessage[i] = sMessageFB.substr(0, iLimitCharacters);
                }

                //  aMessage[i] = SB.SOCIALMEDIA.replaceChar(aMessage[i]);

                // GET TIME AND DAY AND CONVERT TO "DAY // MONTH"
                elTimeCreatePost = elData[i].created_time;

                eltimeSplit = elTimeCreatePost.split('T');

                year = elTimeCreatePost.substr(0, 4);

                date = eltimeSplit[0];
                splitDay = date.split('-');
                sMonth = splitDay[1];
                //sMonth = parseInt(sMonth.replace(/^0+/, ''));

                iDay = splitDay[2];
                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)
                aTimeFb.push(elHour + ' // ' + iDay + ' ' + monthTransform);

                iconFb = "/images/icons/icon-fb-sbsr.png";

                orderListWithDate = year + '-' + sMonth + '-' + iDay + '-' + elHour;

                linkToComment = "http://www.facebook.com/" + channelFb;

                aInfoElementFb =
                    {
                        elIcon: iconFb,
                        elLink: String(aLink[i]),
                        elMessage: aMessage[i],
                        elDate: aTimeFb[i],
                        elDateTimeOrder: orderListWithDate,
                        linkComment: linkToComment
                    };

                aInfoChannels.push(aInfoElementFb);

            });

            if (channelTwitter != '') {
                SB.SOCIALMEDIA.twitter(channelTwitter, channelYoutube);
            } else if (channelYoutube != '') {
                SB.SOCIALMEDIA.getYoutubePosts(channelYoutube);
            } else {
                SB.SOCIALMEDIA.getAllChannels(aInfoChannels);
            }


        },
        error: function (xhr, ajaxOptions, thrownError) {
            throw xhr.status;
            throw thrownError;
        }

    });
};

/* SB.SOCIALMEDIA.twitter
* GET POSTS FROM TWITTER TO MODULE SIDEBAR SOCIAL MEDIA
*
* Params: [DOM Element] channelTwitter - string that especifies the channel of twitter
* Params: [DOM Element] channelYoutube - string that especifies the channel of youtube
*
*/
SB.SOCIALMEDIA.twitter = function (channelTwitter, channelYoutube) {

    var method = 'GET',
        url = 'http://twitter.com/status/user_timeline/' + channelTwitter + '.json?count=10&callback=?',
        aMessage = [],
        aTimeTwitter = [],
        aLink = [],
    //params = 'count=4&callback=?',
        params = 'callback=?',
        elTimeCreatePost = '',
        aMonthText = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'],
        aMonthTextEnglish = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
        iLimitCharacters = 100,
        numberPost = '',
        elData = '';

    $.ajax({
        type: method,
        url: url,
        data: params,
        contentType: "application/json; charset=utf-8",
        dataType: "json",

        success: function (msg) {

            var numberPostTwitter = msg.length;

            $.each(msg, function (i) {

                aMessage[i] = msg[i].text.substr(0, iLimitCharacters);

                elTimeCreatePost = msg[i].created_at;

                dayWeek = elTimeCreatePost.substr(0, 3); // dia da semana
                month = elTimeCreatePost.substr(3, 4); // mês

                monthTwoLetters = elTimeCreatePost.substr(4, 3); // mês

                for (j = 0; j < aMonthTextEnglish.length; j++) {
                    if (monthTwoLetters == aMonthTextEnglish[j].substr(0, 3)) {
                        numberIndexMonth = (Number(j) + 1);
                    }
                }

                monthTransform = aMonthText[(Number(numberIndexMonth) - 1)].substr(0, 3);

                // dia
                day = elTimeCreatePost.substr(8, 2);

                //year
                yearSplit = elTimeCreatePost.split('+');
                year = yearSplit[1];
                year = year.substr(5, 4);

                //hours and minutes
                hours = elTimeCreatePost.substr(11, 2);
                minutes = elTimeCreatePost.substr(14, 2);

                horasMin = hours + ":" + minutes;

                if (numberIndexMonth < 9) {
                    var dateForOrder = year + '-0' + numberIndexMonth + '-' + day + '-' + horasMin;
                } else {
                    var dateForOrder = year + '-' + numberIndexMonth + '-' + day + '-' + horasMin;
                }

                aTimeTwitter[i] = horasMin + " // " + day + ' ' + monthTransform;

                aLinkTwitter = 'http://twitter.com/' + channelTwitter;

                iconTwitter = "/images/icons/icon-twitter-sb.png";

                aInfoElementTwitter =
                    {
                        elIcon: iconTwitter,
                        elLink: String(aLinkTwitter),
                        elMessage: aMessage[i],
                        elDate: aTimeTwitter[i],
                        elDateTimeOrder: dateForOrder,
                        linkComment: aLinkTwitter
                    };

                aInfoChannels.push(aInfoElementTwitter);

            });

            if (channelYoutube != '') {
                SB.SOCIALMEDIA.getYoutubePosts(channelYoutube);
            } else {
                SB.SOCIALMEDIA.getAllChannels(aInfoChannels);
            }

        },
        error: function (xhr, ajaxOptions, thrownError) {
            //	alert(xhr.status);
            //   alert(thrownError);
        }


    });
};

/* SB.SOCIALMEDIA.getYoutubePosts
* GET POSTS FROM YOUTUBE TO MODULE SIDEBAR SOCIAL MEDIA
*
* Params: [DOM Element] channelTwitter - string that especifies the channel of twitter
* Params: [DOM Element] channelYoutube - string that especifies the channel of youtube
*
*/
SB.SOCIALMEDIA.getYoutubePosts = function (channel) {

    var url = 'http://gdata.youtube.com/feeds/api/users/' + channel + '/uploads',
        method = 'GET',
    //params = 'v=2&alt=jsonc&callback=?&prettyprint=true&max-results=4',
        params = 'v=2&alt=jsonc&callback=?&prettyprint=true',
        aDescription = [],
        aTime = [],
        aTitle = [],
        aThumbnail = [],
        aIdVideo = [],
        elTimeCreatePost,
        aMonthText = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];

    $.ajax({
        type: method,
        url: url,
        data: params,
        contentType: "application/json; charset=utf-8",
        dataType: "json",

        success: function (msg) {

            var elDataYoutube = msg.data.items;
            var numberPostYoutube = elDataYoutube.length;

            $.each(elDataYoutube, function (i) {

                aDescription[i] = elDataYoutube[i].description;

                // aDescription[i] = SB.SOCIALMEDIA.replaceChar(aDescription[i]);

                aTitle[i] = elDataYoutube[i].title;
                aThumbnail[i] = elDataYoutube[i].thumbnail["sqDefault"];
                aIdVideo[i] = elDataYoutube[i].id;

                for (j = 0; j < aDescription.length; j++) {
                    if (aDescription[j] == '') {
                        aDescription[j] = aTitle[i];
                    }
                }

                // GET TIME AND DAY AND CONVERT TO "DAY // MONTH"
                elTimeCreatePost = elDataYoutube[i].uploaded;

                eltimeSplit = elTimeCreatePost.split('T');

                date = eltimeSplit[0];
                var splitDay = date.split('-');
                var sMonth = splitDay[1];
                //sMonth = parseInt(sMonth.replace(/^0+/, ''));
                var iDay = splitDay[2];
                var monthTransform = aMonthText[(Number(sMonth) - 1)].substr(0, 3);

                year = elTimeCreatePost.substr(0, 4);

                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);

                orderListWithDate = year + '-' + sMonth + '-' + iDay + '-' + elHour;

                aLinkYoutube = 'http://www.youtube.com/watch?v=' + aIdVideo[i] + 's&feature=feedrec_grec_index';

                iconYoutube = '/images/icons/icon-youtube-sb.png';

                aInfoElementYoutube =
                        {
                            elIcon: iconYoutube,
                            elLink: String(aLinkYoutube),
                            elMessage: aDescription[i],
                            elDate: aTime[i],
                            elDateTimeOrder: orderListWithDate,
                            linkComment: aLinkYoutube
                        };
                aInfoChannels.push(aInfoElementYoutube);

            });


            SB.SOCIALMEDIA.getAllChannels(aInfoChannels);

        },
        error: function (xhr, ajaxOptions, thrownError) {
            //	alert(xhr.status);
            //   alert(thrownError);
        }
    });
    ;
};

/* SB.SOCIALMEDIA.resetChannels
* RESET CHANNELS
*
*/
SB.SOCIALMEDIA.resetChannels = function () {
    aInfoElementFb = aInfoElementTwitter = aInfoElementYoutube = aInfoChannels = aInfoElementFbSb = [];
};


/* SB.SOCIALMEDIA.facebookConnect
* FACEBOOK CONNECT
*
*/
SB.SOCIALMEDIA.facebookConnect = function () {

    var elChannelFacebook = 'sbsr',
        elChannelTwitter = 'superbock',
        elChannelYoutube = 'CervejaSB',
        elChannelFacebookSuperbock = 'SuperBock',
        sDomain = window.location.hostname;


    FB.Event.subscribe('auth.login', function (response) {
        // do something with response
        var accessToken = response.authResponse.accessToken;

        SB.SOCIALMEDIA.resetChannels();

        SB.SOCIALMEDIA.getAllSocialMedia(elChannelFacebook, elChannelTwitter, elChannelYoutube, accessToken);

        getFacebookPosts2(elChannelFacebookSuperbock, accessToken);

        $('.facebookConnect').hide();
    });

    FB.getLoginStatus(function (response) {
        if (response.authResponse) {

            var accessToken = response.authResponse.accessToken;

            SB.SOCIALMEDIA.resetChannels();


            SB.SOCIALMEDIA.getAllSocialMedia(elChannelFacebook, elChannelTwitter, elChannelYoutube, accessToken);

            getFacebookPosts2(elChannelFacebookSuperbock, accessToken);

            $('.facebookConnect').hide();

        } else {
            SB.SOCIALMEDIA.resetChannels();

            SB.SOCIALMEDIA.getAllSocialMedia("", elChannelTwitter, elChannelYoutube, "");

            $('.facebookConnect').show();

        }
    }, true);

    // GET FACEBOOK POSTS FROM FACEBOOK SUPERBOCK
    function getFacebookPosts2(channel, token) {

        if (channel != '') {
            //alert("getFacebookPosts2");
            var urlFacebook = 'https://graph.facebook.com/' + channel + '/posts',
                method = 'GET',
            // params = "access_token=" + token + "&limit=4&callback=?",
                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;
                    var html = '';

                    $.each(elDataFb, function (i) {

                        var sMessageFB = elDataFb[i].message;

                        var sLinkEventFB = elDataFb[i].link;

                        aLinkFb[i] = sLinkEventFB;

                        //GET MESSAGE AND LIMITED THE CHARACTERS
                        if (sMessageFB == undefined) {
                            aMessage[i] = sLinkEventFB;
                        } 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');

                        year = elTimeCreatePost.substr(0, 4);

                        date = eltimeSplit[0];
                        splitDay = date.split('-');
                        sMonth = splitDay[1];
                        //sMonth = parseInt(sMonth.replace(/^0+/, ''));

                        iDay = splitDay[2];
                        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);

                        orderListWithDate = year + '-' + sMonth + '-' + iDay + '-' + elHour;

                        iconFbSb = '/images/icons/icon-fb-sb.png';

                        linkToComment = "http://www.facebook.com/" + channel;

                        aInfoElementFbSb =
                                {
                                    elIcon: iconFbSb,
                                    elLink: String(aLinkFb[i]),
                                    elMessage: aMessage[i],
                                    elDate: aTime[i],
                                    elDateTimeOrder: orderListWithDate,
                                    linkComment: linkToComment
                                };

                        aInfoChannels.push(aInfoElementFbSb);

                    });

                    SB.SOCIALMEDIA.getAllChannels(aInfoChannels);

                },
                error: function (xhr, ajaxOptions, thrownError) {
                    //	alert(xhr.status);
                    //	alert(thrownError);
                }
            });
        }
    }
};


/* SB.SOCIALMEDIA.compare
* FUNÇÃO QUE COMPRAR "a" e "b" num função, e retorna -1(a é menor que b) , 1(b é menor que a) ou 0 (a é igyal a b)
*
*/
SB.SOCIALMEDIA.compare = function (a, b) {
    if (a.elDateTimeOrder < b.elDateTimeOrder)
        return 1;
    if (a.elDateTimeOrder > b.elDateTimeOrder)
        return -1;
    return 0;
};

/* SB.SOCIALMEDIA.getAllChannels
* JOIN ALL POSTS OF FACEBOOK, TWITTER AND YOUTUBE
*
* Params: [DOM Element] aInfoChannels - array with all elements (posts)
*
*/
SB.SOCIALMEDIA.getAllChannels = function (aInfoChannels) {

    var html = '';

    aInfoChannels = aInfoChannels.sort(SB.SOCIALMEDIA.compare);

    aInfoChannels = aInfoChannels.channelUnique();

    var aNewChannels = aInfoChannels;

    $.each(aNewChannels, function (i) {

        html += '<li><a href="' + aNewChannels[i].elLink + '" target="_blank"><img src="' + aNewChannels[i].elIcon + '" /><code><span>' + aNewChannels[i].elMessage + '</span><cite>' + aNewChannels[i].elDate + '</cite></code></a>';
        html += '</li>';
    });

    $('.allSocialMedia').find('.mediaList').empty().html(html);

    $('div.tabSB').removeClass('loaderRed');

    $('#pagerStyle6').aqPaging({
        current: 1, pages: 60, pagerMax: 3, flip: true, style: 2, itemsPerPage: 4, objToPaginate: $('.mediaList')
    });
};

/* Array.prototype.channelUnique
* EXTENDS ARRAY AND REMOVE DUPLICATE FROM SOCIAL MEDIA CHANNELS
*
*/
Array.prototype.channelUnique = function () {
    var a = [];
    var l = this.length;
    for (var i = 0; i < l; i++) {
        for (var j = i + 1; j < l; j++) {
            // If this[i] is found later in the array
            if (this[i].elIcon === this[j].elIcon && this[i].elMessage === this[j].elMessage)
                j = ++i;
        }
        a.push(this[i]);
    }
    return a;
};

/* SB.SOCIALMEDIA.replaceChar
* replace " por '
*
* Params: [DOM Element] str - string
*
*/
//SB.SOCIALMEDIA.replaceChar = function (str) {
//    queryString = str.replace(/\"/g, "'");
//    return queryString;
//}

// END FUNCTIONS TO FB, TWITTER, YOUTUBE, MODULE SIDEBAR WITH PAGINATION

