News = {
	Init: function()
	{
		var reutersURL = '/reuters-service.cgi?mode=chanell_info&channel_name=';

		//reuter channel - container
		var feeds = [
			{channel: 'businessnews', cont: '.id-cont-business'},
			{channel: 'innovationnews', cont: '.id-cont-deals'},
			{channel: 'usmktrpt', cont: '.id-cont-market'},
			{channel: 'companyNews', cont: '.id-cont-company-news'},
			{channel: 'economicNews', cont: '.id-cont-economic-news'},
			{channel: 'rbssConsumerGoodsAndRetailNews', cont: '.id-cont-consumer-retail'},
			{channel: 'rbssFinancialServicesAndRealEstateNews', cont: '.id-cont-financial-estate'},
			{channel: 'smallBusinessTopNews', cont: '.id-cont-small-business'},
		];

		for (var i = 0; i < feeds.length; i++)
		{
			jQuery.ajax({
				type: "GET",
				url: reutersURL + feeds[i].channel,
				dataType: "json",
				success: function(item)  {
					return function(data){
						News.DisplayFeeds(data, item.cont);
					}
				}(feeds[i])
			});
		}

		News.GetNews('http://www.forbes.com/news/index.xml', '.id-cont-stocks');
		News.GetNews('http://www.forbes.com/wallstreet/index.xml', '.id-cont-wall-street');
		News.GetNews('http://www.forbes.com/facesscan/index.xml', '.id-cont-faces');
		News.GetNews('http://www.forbes.com/markets/index.xml', '#forbes-market-news');
	},

	DisplayFeeds: function(data, containerName)
	{
		var container = jQuery(containerName);
		var containerIndexed = containerName.replace(/[^a-z0-9_]/gi, '').toLowerCase();

		var result = '';

		for (var i = 0; i < data.items.length; i++)
		{
			result += '<div><div class="reuters-published-date column">' + News.FormatDate(data.items[i].published) + '</div>';
			result += '<div class="reuters-news-title column"><a target=_blank href="' + data.items[i].link + '">' + data.items[i].title + '</a></div><div class="clear-div"></div>';
			result += '<div class="reuters-news-body" id="' + containerIndexed + '_news_content_' + i + '"></div></div>';
		}

		container.html(result);
	},

	FormatDate: function(date)
	{
		var mt = date.match(/^\s*(\d+)-(\d+)-(\d+)[\sA-Z]+(\d+):(\d+):(\d+)/);
		if (!mt) return date;

		var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
		return mt[3] + ' ' + months[parseInt(mt[2], 10) - 1] + ' \'' + mt[1].substr(2,2) + ' ' + mt[4] + ':' + mt[5] + ' EST';
	},

	GetNews: function (url, id)
	{
		url = encodeURIComponent(url);
		url = 'http://' + window.location.host + '/proxy/proxy.php?url=' + url;

		jQuery.getFeed({
			url: url,
			success: function(feed) {
				var html = '';

				for(var i = 0; i < feed.items.length && i < 5; i++)
				{
					var item = feed.items[i];

					html += '<p><strong><a href="' + item.link + '" target="_blank">' + item.title + '</a></strong> ';
					html += '&mdash; <span class="author">' + item.author + '</span><br />';
					html += item.description + '</p>';
				}

				jQuery(id).html(html);
			}
		});
	}
}

jQuery(document).ready(News.Init);

