(function($){
	jQuery(function(){
	
		var wrapper = $('<div id="widget_blog">'
		            + '<h2>From my <a href="http://cowburn.info" rel="me" title="My blog at cowburn.info">blog</a>:</h2>'
		            + '<ul></ul>'
		            + '</div>');
		var list    = wrapper.children('ul:first');
		var service = "http://query.yahooapis.com/v1/public/yql?q=select%20title%2C"
		            + "description%2Clink%2CpubDate%2CorigLink%20from%20feed(0%2C5)%20where%20url%3D'"
		            + "http%3A%2F%2Ffeeds2.feedburner.com%2Fcowburn'&format=json&callback=?";
		
		var callback = function(data) {
			if ( ! (data && data.query && data.query.results && (items = data.query.results.item))) {
				// Unexpected response from YQL service
				return;
			}
			
			// Inject HTML before the footer
			$('.footer:first').before(wrapper);
			wrapper.hide();
			$.each(items, display_item);
			wrapper.fadeIn("slow");	
		};
		
		var parse_date = function(str) {
			var d = new Date(str);
			var m = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'];
			return d.getUTCDate() + ' ' + m[d.getUTCMonth()];
		};
		
		var display_item = function(index, item){
			var tpl = '<li><span>%date: </span><a href="%link" title="%extract">%title</a></li>';
			var html = tpl.replace(/%link/g, item.origLink)
			              .replace(/%extract/g, item.description)
			              .replace(/%title/g, item.title)
			              .replace(/%date/g, parse_date(item.pubDate));
			list.append(html);
		};
		
		// Actually grab the feed now
		$.getJSON(service, callback);
		
	});
	
})(jQuery);
