﻿
function createHTML(twitters) {
    var statusHTML = [];
    for (var i = 0; i < twitters.length; i++) {
        var username = twitters[i].user.screen_name;
        var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function (url) {
            return '<a href="' + url + '">' + url + '</a>';
        }).replace(/\B@([_a-z0-9]+)/ig, function (reply) {
            return reply.charAt(0) + '<a href="http://twitter.com/' + reply.substring(1) + '">' + reply.substring(1) + '</a>';
        });
        statusHTML.push('<p class="tweet">&ldquo;' + status + '&rdquo; &ndash; <small>' + relative_time(twitters[i].created_at) + '</small></p>');
    }

    return statusHTML;
}

function twitterCallback_paulobilyk(twitters) {
  	var statusHTML = createHTML(twitters);
  
    $('.loading_paulobilyk').fadeOut(750, function () {
        $('#latest_tweet_paulobilyk').append($(statusHTML.join('')).hide().fadeIn(750));
    });
}

function twitterCallback_betodomenici(twitters) {
    var statusHTML = createHTML(twitters);

    $('.loading_betodomenici').fadeOut(750, function () {
        $('#latest_tweet_betodomenici').append($(statusHTML.join('')).hide().fadeIn(750));
    });
}

function twitterCallback_evandrobuccini(twitters) {
    var statusHTML = createHTML(twitters);
    
    $('.loading_evandrobuccini').fadeOut(750, function () {
        $('#latest_tweet_evandrobuccini').append($(statusHTML.join('')).hide().fadeIn(750));
    });
}

function relative_time(time_value) {
    var values = time_value.split(" ");
    time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];

    var parsed_date = Date.parse(time_value);
    var relative_to = (arguments.length > 1) ? arguments[1] : new Date();

    var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
    delta = delta + (relative_to.getTimezoneOffset() * 60);

    if (delta < 60) {
        return 'menos de um minuto atrás';
    } else if (delta < 120) {
        return 'cerca de um minuto atrás';
    } else if (delta < (60 * 60)) {
        return (parseInt(delta / 60)).toString() + ' minutos atrás';
    } else if (delta < (120 * 60)) {
        return 'cerca de uma hora atrás';
    } else if (delta < (24 * 60 * 60)) {
        return 'cerca de ' + (parseInt(delta / 3600)).toString() + ' horas atrás';
    } else if (delta < (48 * 60 * 60)) {
        return '1 dia atrás';
    } else {
        return (parseInt(delta / 86400)).toString() + ' dias atrás';
    }
}

$(document).ready(function () {
    $.getScript('http://twitter.com/statuses/user_timeline/paulobilyk.json?callback=twitterCallback_paulobilyk&count=3');
    $.getScript('http://twitter.com/statuses/user_timeline/evandrobuccini.json?callback=twitterCallback_evandrobuccini&count=3');
    $.getScript('http://twitter.com/statuses/user_timeline/BetoDomenici.json?callback=twitterCallback_betodomenici&count=3');
});
