//<![CDATA[
// esta es la función que lee Twitter y escribe los mensajes en el blog
function twitterCallback2(obj) {
var wwwregular = /\bwww\.\w.\w/ig;
var regular = /((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g;
var atregular = /\B@([_a-z0-9]+)/ig;
var twitters = obj;
var statusHTML = "";
var username = "";

for (var i=0; i<twitters.length; i++){
var posttext = "";
posttext = twitters[i].text.replace(wwwregular, 'http://$&');

// reemplaza los enlaces tipo http://tinyurl.com/000000 por un texto
posttext = posttext.replace(regular, '<a class="linkEnlaces" href="$1" title="$1">[link]</a>');

// cuando el mensaje es una respuesta, el nombre es un enlace
posttext = posttext.replace(atregular, '@<a class="linkUsuario" href="http://twitter.com/$1">$1</a>');
username = twitters[i].user.screen_name

// se escribe el item de la lista con el mensaje y se termina indicando el tiempo transcurrido
statusHTML += ('<li>@<a class="linkUsuario" href="http://twitter.com/UltimateRBD">UltimateRBD</a> | '+posttext+' <span class="linkTiempo"><a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'" title="Ver el mensaje en Twitter">'+relative_time(twitters[i].created_at)+'</a></span></li>')
}

document.getElementById('twitter_update_list').innerHTML = statusHTML;
}

// esta función calcula el tiempo transcurrido desde la publicación del mensaje y escribe un texto
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);
// los textos a mostrar varían de acuerdo al tiempo transcurrido
if (delta < 60) {
return 'recientemente'; // menos de un minuto
} else if(delta < 120) {
return 'hace casi un minuto'; // hace un minuto
} else if(delta < (60*60)) {
return 'hace unos ' + (parseInt(delta / 60)).toString() + ' minutos'; // menos de una hora
} else if(delta < (120*60)) {
return 'hace casi una hora'; // hace una hora
} else if(delta < (24*60*60)) {
return (parseInt(delta / 3600)).toString() + ' horas atr&#225s'; // menos de 24 horas
} else if(delta < (48*60*60)) {
return 'ayer'; // m&#225s de 24 horas
} else {
return 'esto fue hace ' + (parseInt(delta / 86400)).toString() + ' dias'; // m&#225s de 48 horas
}
}
//]]>