function twitterCallback2(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>';
		});
		if (i>0) {
			statusHTML.push('<br>');
		}
		status = status.parseHashtag();
		statusHTML.push(status+'<br><font size=1>'+relativetime(twitters[i].created_at)+'</font>');
		//statusHTML.push('<a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+status+'</a>'+ '<br><font size=1>'+relativetime(twitters[i].created_at)+'</font>');
		//statusHTML.push(status + '<br><font size=1>'+relative_time(twitters[i].created_at)+'</font>');
		//statusHTML.push(status + '<br><font size=1><a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'>'+twitters[i].created_at+'</a></font>');
	}
	document.getElementById('twitter_update_list').innerHTML = statusHTML.join('');
}

String.prototype.parseHashtag = function() {
	return this.replace(/[#]+[A-Za-z0-9-_]+/, function(t) {
		var tag = t.replace("#","%23")
		return t.link("http://search.twitter.com/search?q="+tag);
	});
};

function nicetime(time_value) {
	var values = time_value.split(" ");
	var time = values[3].split(":")
	if (time[0]>11) {
		time[0]=time[0]-12;
		values[3]=time[0]+time[1]+time[2]+" PM";
	}
	else {
		if (time[0]<10) {
			time[0]=time[0].slice(1,2);
		}
		values[3]=time[0]+':'+time[1]+" AM";
	}
	return values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
}

function relativetime(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 'less than a minute ago';
  } else if(delta < 120) {
    return 'about a minute ago';
  } else if(delta < (60*60)) {
    return (parseInt(delta / 60)).toString() + ' minutes ago';
  } else if(delta < (120*60)) {
    return 'about an hour ago';
  } else if(delta < (24*60*60)) {
    return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
  } else if(delta < (48*60*60)) {
    return '1 day ago';
  } else {
    return (parseInt(delta / 86400)).toString() + ' days ago';
  }
}
