var feedEntries = [];

var nextFeed = (function(){
	var i = 0;
	return function(){
		var when = new Element('span', {
			'class': 'twitter-date',
			'text': feedEntries[i].when
		});
		
		var message = new Element('span', {
			'class': 'twitter-message',
			'html': feedEntries[i].message
		});
		
		$('twitterEntry').empty().adopt(message, when);
		i = (i+1 >= feedEntries.length) ? 0 : i + 1;
	}
})()

//http://twitter.com/pixeledgedesign
google.load("feeds", "1");

google.setOnLoadCallback(function(){
	function prettyDate(date){
		diff = (((new Date()).getTime() - date.getTime()) / 1000),
		dayDiff = Math.floor(diff / 86400);
		if ( isNaN(dayDiff) || dayDiff < 0) return 'Seconds ago';
		if (diff < 60) return 'Less than a minute ago';
		if (diff < 120) return '1 minute ago';
		if (diff < 3600) return Math.floor( diff / 60 ) + ' minutes ago';
		if (diff < 7200) return '1 hour ago';
		if (diff < 86400) return Math.floor( diff / 3600 ) + ' hours ago';
		if (dayDiff == 1) return 'Yesterday';
		if (dayDiff < 7) return dayDiff + ' days ago';
		if (dayDiff < 31) return Math.ceil( dayDiff / 7 ) + ' weeks ago';
		if (dayDiff >= 31) return 'Over a month ago';
	}

	var feed = new google.feeds.Feed("http://twitter.com/statuses/user_timeline/186076452.rss");
	
	feed.setNumEntries(3);
	
	feed.load(function(result) {
		if (!result.error) {
			for (var i = 0; i < result.feed.entries.length; i++) {
				var entry = result.feed.entries[i];
				var date = new Date(entry['publishedDate']);
				var contentHtml = entry['content'];
				var dateText = prettyDate(date);
				
				contentHtml = contentHtml.replace('PHCLaw:', '<span class="twittername">PHCLaw:</span>');
				
				contentHtml = contentHtml.replace(/(http.[\w\.\/]*)/, '<a href="$1">$1</a>');
				
				feedEntries.push({
					'message': contentHtml,
					'when': dateText
				});
				
				
			}
			nextFeed();
			nextFeed.periodical(5000);
		}
	});
});
