var RenderFeedItems = {
    postFormData: function(uri, dataString){
                    YAHOO.util.Connect.asyncRequest('POST', uri, RenderFeedItemsCallback, dataString);
    },
    successHandler: function (obj){
						var root = obj.responseXML.documentElement;
						var items = root.getElementsByTagName('item');
						var length = items.length;
						// create content by reading XML
						var htmlContent = "";
					
						// read all the item nodes one by one
						for(var i=0; i<length;i++){
							// if title node is missing in the rss, that article will be considered as null and void
							if(items[i].getElementsByTagName("title")[0]==undefined)
								continue;
							else
								var title = items[i].getElementsByTagName("title")[0].firstChild.nodeValue;
								
							// if category node is missing in the rss
							if(items[i].getElementsByTagName("category")[0]==undefined)
								var category = "";
							else
								var category = items[i].getElementsByTagName("category")[0].firstChild.nodeValue;

							// if pubDate node is missing in the rss. Were actually missing in some of the feeds.
							if(items[i].getElementsByTagName("pubDate")[0]==undefined)
								var date = "";
							else
								var date = items[i].getElementsByTagName("pubDate")[0].firstChild.nodeValue;
								
							// if description node is missing in the rss
							if(items[i].getElementsByTagName("description")[0]==undefined)
								var desc = "";
							else
								var desc = items[i].getElementsByTagName("description")[0].firstChild.nodeValue;

							// if link node is missing in the rss
							if(items[i].getElementsByTagName("link")[0]==undefined)
								var url = "";
							else
								var url = items[i].getElementsByTagName("link")[0].firstChild.nodeValue;
								
							htmlContent+='<div class="item-block">';
							htmlContent+=	'<div class="item-heading">';
							htmlContent+=		'<div class="minus-mark" id="maxMin' + i + '">';
							htmlContent+=			'<img src="images/minus_sign.gif" width="11" height="11" ';
							htmlContent+=				'onClick="minimizeContentBox(' + i + ')"/>';
							htmlContent+=		'</div>';
							htmlContent+=		'<a target="_BLANK" href="' + url + '">' + title + '</a>';
							htmlContent+=	'</div>';
							htmlContent+=	'<div id="item_details' + i + '" class="item-details">';
							htmlContent+=		'<div class="date">' + date + '</div>';
							htmlContent+=		'<p>';
							htmlContent+=			desc; 
							htmlContent+=		'</p>';
							htmlContent+=		'<div class="read-more-link"><a target="_BLANK" href="' + url + '">Read More</a></div>';
							htmlContent+=	'</div>';
							htmlContent+='</div>';							
						}
						// write content to div
						document.getElementById("item_sec").innerHTML = htmlContent;

						// create jScrollBar
						$(function()
							{
								$('.item-sec').jScrollPane({showArrows:true, scrollbarWidth: 9, arrowSize: 9, dragMinHeight: 20});
							});
	},
    failureHandler: function (o){
						// if remote file is not found
						if(o.responseText !== undefined){
		            		var errorContent = "<li>Transaction id: " + o.tId + "</li>";
							errorContent += "<li>HTTP status: " + o.status + "</li>";
							errorContent += "<li>Status code message: " + o.statusText + "</li>";
							document.getElementById("item_sec").innerHTML = errorContent;
						}
    }
};

var RenderFeedItemsCallback = {
	success: RenderFeedItems.successHandler,
	failure: RenderFeedItems.failureHandler,
	scope  : RenderFeedItems
};
// JavaScript Document