// adapted from an example by Morgan Aldridge <morgant@makkintosshu.com>

function fixDate(d) {
	var a = d.split(' ');
	var year = a.pop();
	return a.slice(0, 3).concat([year]).concat(a.slice(3)).join(' ');
}

function relativeTime(time_value) {
    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);
    
    if ( delta < 60 ) {
    	return 'less than a minute ago';
    } else if ( delta < 120 ) {
    	return 'about a minute ago';
    } else if ( delta < (45*60) ) {
    	return (parseInt(delta / 60)).toString() + ' minutes ago';
    } else if ( delta < (90*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';
    }
}

function twitterCallback(obj) {
    var id = obj[0].user.id;
    var statuses_html = '<p><span class="twitter-from">Latest Tweet: </span><span class="twitter-text">';
        
    for ( var i = 0; i < obj.length; i++ ) {
		var tweet_text = obj[i].text;
		tweet_text = tweet_text.replace(/((http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(\/*)(:(\d+))?([A-Z0-9_\/.?~-]*))/gi, '<a href="$1">$1</a>');
		tweet_text = tweet_text.replace(/(@([A-Z0-9_]+))/gi, '@<a class="reply" title="$2 on twitter" href="http://twitter.com/$2">$2</a>');
    		
    		statuses_html += tweet_text;
    		statuses_html += '</span><span class="twitter-when"> --- ' + relativeTime(fixDate(obj[i].created_at)) + '. <a href="http://twitter.com/' + obj[i].user.screen_name + '/">Follow me on Twitter ... </a></span></p>\n';
    		
    }
    
    document.getElementById('twitter').innerHTML = statuses_html;
}