﻿google.load("feeds", "1") //Load Google Ajax Feed API (version 1)

function rssdisplayer(divid, url, feedlimit, showoptions){
this.showoptions=showoptions || "" //get string of options to show ("date" and/or "description")
var feedpointer=new google.feeds.Feed(url) //create new instance of Google Ajax Feed API
feedpointer.setNumEntries(feedlimit) //set number of items to display
document.write('<div id="'+divid+'">Loading feed...</div>')
this.feedcontainer=document.getElementById(divid)
var displayer=this
feedpointer.load(function(r){ 
displayer.formatoutput(r)}) //call Feed.load() to retrieve and output RSS feed
}


rssdisplayer.prototype.formatdate=function(datestr){
var itemdate=new Date(datestr)
return "<span style='color:gray; font-size: 90%'>"+itemdate.toLocaleString()+"</span>"
}


rssdisplayer.prototype.formatoutput= function(result){
if (!result.error){ //if RSS feed successfully fetched
	var thefeeds=result.feed.entries //get all feed entries as a JSON array
	var rssoutput="<table width='99%'>"
	var total= thefeeds.length
	var l = 0
	if (total < 6){
		for (var k=0; k<total/2; k++){
			rssoutput+="<tr height='150'>"
			for (var i=0; i<2; i++){ //loop through entries
				var z = i + k + l
				var itemtitle="<a href=\"" + thefeeds[z].link + "\">" + thefeeds[z].title + "</a>"
				var itemdate=/date/i.test(this.showoptions)? this.formatdate(thefeeds[z].publishedDate) : ""
				myString = new String (/description/i.test(this.showoptions)? "<br />"+thefeeds[z].content : "")
				var itemdescription= myString.substring(0, 780) + "<a href='"+ thefeeds[z].link + "'>  Read it</a>"
				rssoutput+="<td width='49%' valign='top'>" + itemtitle + " " + itemdate + itemdescription + "</td>"
			}
			rssoutput+="</tr>"
			l=l+1
		}
	rssoutput+="</table>"
	this.feedcontainer.innerHTML=rssoutput
	}
else{
	for (var k=0; k<3; k++){
			rssoutput+="<tr height='150'>"
			for (var i=0; i<2; i++){ //loop through entries
				var z = i + k + l
				var itemtitle="<a href=\"" + thefeeds[z].link + "\">" + thefeeds[z].title + "</a>"
				var itemdate=/date/i.test(this.showoptions)? this.formatdate(thefeeds[z].publishedDate) : ""
myString = new String (/description/i.test(this.showoptions)? "<br />"+thefeeds[z].content : "")
				var itemdescription= myString.substring(0, 780) + "<a href='"+ thefeeds[z].link + "'>  Read it</a>"
				rssoutput+="<td width='49%' valign='top'>" + itemtitle + " " + itemdate + itemdescription + "</td>"
			}
			rssoutput+="</tr>"
			l=l+1
		}
	rssoutput+="</table>"
	rssoutput+="<div id='content'><div id='my-border'><center><table width='88%'><tr align='left'><b><span style='color: #000000'>More Articles:<br>---------------------------</span></b></tr>"
	for (var list=6; list<total; list++){
		rssoutput+="<tr><a href=\"" + thefeeds[list].link + "\" style='color: #000000; underline: none;'>" + thefeeds[list].title + "</a></font></tr>"
	}
	rssoutput+="</table></center></div></div>"
	this.feedcontainer.innerHTML=rssoutput
}
}
else //else, output error
alert("Error fetching feeds: "+result.error.message)
}