(function(h){h.fn.rssfeed=function(q,d,r){d=h.extend({limit:10,header:true,titletag:"h4",date:true,content:true,snippet:true,media:true,showerror:true,errormsg:"",key:null,ssl:false,linktarget:"_self"},d);return this.each(function(s,o){var p=h(o),e="";d.ssl&&(e="s");p.hasClass("rssFeed")||p.addClass("rssFeed");if(q==null)return false;e="http"+e+"://ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=?&q="+encodeURIComponent(q);d.limit!=null&&(e+="&num="+d.limit);d.key!=null&&(e+="&key="+d.key);
e+="&output=json_xml";h.getJSON(e,function(a){if(a.responseStatus==200){var c=a.responseData,a=d,g=c.feed;if(g){var f="",e="odd";if(a.media){var j=c.xmlString;navigator.appName=="Microsoft Internet Explorer"?(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(j)):c=(new DOMParser).parseFromString(j,"text/xml");j=c.getElementsByTagName("item")}a.header&&(f+='<div class="rssHeader"><a href="'+g.link+'" title="'+g.description+'">'+g.title+"</a></div>");f+='<div class="rssBody"><ul>';for(c=
0;c<g.entries.length;c++){var b=g.entries[c],i;b.publishedDate&&(i=new Date(b.publishedDate),i=i.toLocaleDateString()+" "+i.toLocaleTimeString());f+='<li class="rssRow '+e+'"><'+a.titletag+'><a href="'+b.link+'" title="View this feed at '+g.title+'" target="'+a.linktarget+'">'+b.title+"</a></"+a.titletag+">";a.date&&i&&(f+="<div>"+i+"</div>");a.content&&(f+="<p>"+(a.snippet&&b.contentSnippet!=""?b.contentSnippet:b.content)+"</p>");if(a.media&&j.length>0){b=j[c].getElementsByTagName("enclosure");if(b.length>
0){f+='<div class="rssMedia"><div>Media files</div><ul>';for(var k=0;k<b.length;k++){var l=b[k].getAttribute("url"),m=b[k].getAttribute("type"),n=b[k].getAttribute("length"),l='<li><a href="'+l+'" title="Download this media">'+l.split("/").pop()+"</a> ("+m+", ",m=Math.floor(Math.log(n)/Math.log(1024)),n=(n/Math.pow(1024,Math.floor(m))).toFixed(2)+" "+"bytes,kb,MB,GB,TB,PB".split(",")[m];f+=l+n+")</li>"}f+="</ul></div>"}f+="</li>"}e=e=="odd"?"even":"odd"}f+="</ul></div>";h(o).html(f)}h.isFunction(r)&&
r.call(this,p)}else d.showerror&&(g=d.errormsg!=""?d.errormsg:a.responseDetails),h(o).html('<div class="rssError"><p>'+g+"</p></div>")})})}})(jQuery);
