var gfeedfetcher_loading_image="http://cdn.walkscore.com/images/progress.gif";google.load("feeds","1");function gfeedfetcher(C,A,B){this.linktarget=B||"";this.feedlabels=[];this.feedurls=[];this.feeds=[];this.feedsfetched=0;this.feedlimit=5;this.showoptions="";this.sortstring="date";document.write('<div id="'+C+'" class="'+A+'"></div>');this.feedcontainer=document.getElementById(C);this.itemcontainer="<li>"}gfeedfetcher.prototype.addFeed=function(B,A){this.feedlabels[this.feedlabels.length]=B;this.feedurls[this.feedurls.length]=A};gfeedfetcher.prototype.filterfeed=function(B,A){this.feedlimit=B;if(typeof A!="undefined"){this.sortstring=A}};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)';var A=this;for(var B=0;B<this.feedurls.length;B++){var C=new google.feeds.Feed(this.feedurls[B]);var 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,C){var D=new Date(A);var B=(C.indexOf("datetime")!=-1)?D.toLocaleString():(C.indexOf("date")!=-1)?D.toLocaleDateString():(C.indexOf("time")!=-1)?D.toLocaleTimeString():"";return"<span class='datefield'>"+B+"</span>"};gfeedfetcher._sortarray=function(A,B){var B=(B=="label")?"ddlabel":B;if(B=="title"||B=="ddlabel"){A.sort(function(E,D){var G=E[B].toLowerCase();var F=D[B].toLowerCase();return(G<F)?-1:(G>F)?1:0})}else{try{A.sort(function(E,D){return new Date(D.publishedDate)-new Date(E.publishedDate)})}catch(C){}}};gfeedfetcher.prototype._fetch_data_as_array=function(A){var C=(!A.error)?A.feed.entries:"";if(C==""){alert("Google Feed API Error: "+A.error.message)}for(var B=0;B<C.length;B++){A.feed.entries[B].ddlabel=this.feedlabels[this.feedsfetched]}this.feeds=this.feeds.concat(C);this._signaldownloadcomplete()};gfeedfetcher.prototype._signaldownloadcomplete=function(){this.feedsfetched+=1;if(this.feedsfetched==this.feedurls.length){this._displayresult(this.feeds)}};gfeedfetcher.prototype._displayresult=function(A){var E=(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>";var B=/label/i.test(this.showoptions)?'<span class="labelfield">['+this.feeds[C].ddlabel+"]</span>":" ";var G=gfeedfetcher._formatdate(A[C].publishedDate,this.showoptions);var F=/description/i.test(this.showoptions)?"<br />"+A[C].content:/snippet/i.test(this.showoptions)?"<br />"+A[C].contentSnippet:"";E+=this.itemcontainer+D+" "+B+" "+G+"\n"+F+this.itemcontainer.replace("<","</")+"\n\n"}E+=(this.itemcontainer=="<li>")?"</ul>":"";this.feedcontainer.innerHTML=E};
