(function($){
$.fn.rssfeed = function(url, options, fn) {var defaults = {showerror: false,errormsg: '',key: null,ssl: false,linktarget: '_blank'};  
var options = $.extend(defaults, options); 
return this.each(function(i, e) { var $e = $(e); var s = '';
if (options.ssl) s = 's';
if (!$e.hasClass('rssFeed')) $e.addClass('rssFeed');
if (url == null) return false;
var api = "http"+ s +"://ajax.googleapis.com/ajax/services/feed/load?v=1.0&callback=?&q=" + encodeURIComponent(url);
if (options.limit != null) api += "&num=" + options.limit;
if (options.key != null) api += "&key=" + options.key;
api += "&output=json_xml";
$.getJSON(api, function(data){
if (data.responseStatus == 200) {_process(e, data.responseData, options);
if ($.isFunction(fn)) fn.call(this,$e);
} else {
if (options.showerror)
if (options.errormsg != '') {var msg = options.errormsg;} else {var msg = data.responseDetails;};
$(e).html('<div class="rssError"><p>'+ msg +'</p></div>');
};});});};
var _process = function(e, data, options) { var feeds = data.feed; if (!feeds) {return false;}
var html = '';var entry = feeds.entries[0];
var pubDate;
if (entry.publishedDate) {
var entryDate = new Date(entry.publishedDate);
var pubDate = entryDate.toLocaleDateString() + ' ' + entryDate.toLocaleTimeString();
}
html = '<a href="'+ entry.link +'" title="View at '+ feeds.title +'" target="'+ options.linktarget +'">'+ entry.title +'</a>';
$(e).html(html);};})(jQuery);
