var rssboxes = jQuery('.rss_box').get();
var rssRefreshInterval = 120000;
var rssMaxEntries = 5;
var rssTimerId = null;

jQuery(document).ready(function(){
	fetchFeeds();
	if (rssRefreshInterval > 0)
		rssTimerId = setInterval("fetchFeeds()", rssRefreshInterval);
});		

function fetchFeeds() {
	jQuery.each(rssboxes, function(){
		var rssId=this.id;
		var rssUrl= document.getElementById(this.id + "Url").innerHTML;

		jQuery().ajaxError(function(request, settings, ex) {
			clearTimeout(rssTimerId);
		    failFeed(rssId);
		});
		
		jQuery.getFeed({
			url: rssUrl,
			success: function(feed) {
				parseFeed(feed, rssId);
		   	}
		});
	});
}

function parseFeed(feed, rssId) {
	var el = "#" + rssId;
	jQuery(el +" .rsstitle").html(xcap.getText("se/josh/web/blog/action/ViewBlogEntryAction", "related.items.from") + ' <a class="rsslink" href="' + feed.link + '" alt="' + feed.description + '">' + feed.title + '</a>');
	
	var itemsList = "";
	for (var i=0; i<feed.items.length && i<rssMaxEntries; i++) {
		var item = feed.items[i];
		
		itemsList += '<li>';
		itemsList += '<a href="' + item.link + '">';
		itemsList += '<span class="title">' + item.title + '</span>';
		itemsList += '<span class="rss_list_item_date">' + formatFeedDate(item.updated) + '</span>';
		itemsList += "</a>";
		itemsList += "</li>";
	}
	jQuery(el +" .rsslist").html(itemsList);
	jQuery(el).removeClass("rss_loading");
	jQuery(el +" .rssloading").remove();
	jQuery(el +" .rssfailure").remove();
}

function failFeed(rssId) {
	var el = "#" + rssId;
	
	jQuery(el +" .rssloading").remove();
    jQuery(el +" .rssfailure").show();
    jQuery(el).removeClass("rss_loading");
}

function formatFeedDate(d) {
	if (d == null)
		return "";

	var a = new Date();
	a.setTime(Date.parse(d));

	var y = a.getFullYear();
	var m = a.getMonth();
	var da = a.getDate();
	var h = a.getHours();
	var mi = a.getMinutes();
	
	return y + "/" + (m<9?"0":"") + (m+1) +
		"/" + (da<10?"0":"") + da +
		" " + (h<10?"0":"") + h +
		":" + (mi<10?"0":"") + mi;
}
