// -------------------------------------------------------------------
// gAjax RSS Feeds Displayer- By Dynamic Drive, available at: http://www.dynamicdrive.com
// Created: July 17th, 2007 Updated: n/a
// -------------------------------------------------------------------
var gfeedfetcher_loading_image="indicator.gif";google.load("feeds","1");function gfeedfetcher(a,b,c){this.linktarget=c||"";this.feedlabels=[];this.feedurls=[];this.feeds=[];this.feedsfetched=0;this.feedlimit=5;this.showoptions="";this.sortstring="date";document.write('<div id="'+a+'" class="'+b+'"></div>');this.feedcontainer=document.getElementById(a);this.itemcontainer="<li>"}
gfeedfetcher.prototype.addFeed=function(a,b){this.feedlabels[this.feedlabels.length]=a;this.feedurls[this.feedurls.length]=b};gfeedfetcher.prototype.filterfeed=function(a,b){this.feedlimit=a;if(typeof b!="undefined")this.sortstring=b};gfeedfetcher.prototype.displayoptions=function(a){this.showoptions=a};gfeedfetcher.prototype.setentrycontainer=function(a){this.itemcontainer="<"+a.toLowerCase()+">"};
gfeedfetcher.prototype.init=function(){this.feedsfetched=0;this.feeds=[];this.feedcontainer.innerHTML='<img src="'+gfeedfetcher_loading_image+'" /> Retrieving RSS feed(s)';for(var a=this,b=0;b<this.feedurls.length;b++){var c=new google.feeds.Feed(this.feedurls[b]),d=this.feedlimit<=this.feedurls.length?1:Math.floor(this.feedlimit/this.feedurls.length);if(this.feedlimit%this.feedurls.length>0&&this.feedlimit>this.feedurls.length&&b==this.feedurls.length-1)d+=this.feedlimit%this.feedurls.length;c.setNumEntries(d);
c.load(function(e){a._fetch_data_as_array(e)})}};gfeedfetcher._formatdate=function(a,b){a=new Date(a);b=b.indexOf("datetime")!=-1?a.toLocaleString():b.indexOf("date")!=-1?a.toLocaleDateString():b.indexOf("time")!=-1?a.toLocaleTimeString():"";return"<span class='datefield'>"+b+"</span>"};
gfeedfetcher._sortarray=function(a,b){b=b=="label"?"ddlabel":b;if(b=="title"||b=="ddlabel")a.sort(function(d,e){d=d[b].toLowerCase();e=e[b].toLowerCase();return d<e?-1:d>e?1:0});else try{a.sort(function(d,e){return new Date(e.publishedDate)-new Date(d.publishedDate)})}catch(c){}};
gfeedfetcher.prototype._fetch_data_as_array=function(a){var b=!a.error?a.feed.entries:"";b==""&&alert("Google Feed API Error: "+a.error.message);for(var c=0;c<b.length;c++)a.feed.entries[c].ddlabel=this.feedlabels[this.feedsfetched];this.feeds=this.feeds.concat(b);this._signaldownloadcomplete()};gfeedfetcher.prototype._signaldownloadcomplete=function(){this.feedsfetched+=1;this.feedsfetched==this.feedurls.length&&this._displayresult(this.feeds)};
gfeedfetcher.prototype._displayresult=function(a){var b=this.itemcontainer=="<li>"?"<ul>\n":"";gfeedfetcher._sortarray(a,this.sortstring);for(var c=0;c<a.length;c++){var d='<a href="'+a[c].link+'" target="'+this.linktarget+'" class="titlefield">'+a[c].title+"</a>",e=/label/i.test(this.showoptions)?'<span class="labelfield">['+this.feeds[c].ddlabel+"]</span>":" ",f=gfeedfetcher._formatdate(a[c].publishedDate,this.showoptions),g=/description/i.test(this.showoptions)?"<br />"+a[c].content:/snippet/i.test(this.showoptions)?
"<br />"+a[c].contentSnippet:"";b+=this.itemcontainer+d+" "+e+" "+f+"\n"+g+this.itemcontainer.replace("<","</")+"\n\n"}b+=this.itemcontainer=="<li>"?"</ul>":"";this.feedcontainer.innerHTML=b};