(function($) {
	$.fn.rssfeed = function(url, options, fn) {
		var defaults = {
			limit : 10,
			showerror : true,
			errormsg : '',
			key : null,
			ssl : false
		};
		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 = window.location.protocol
							+ 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 row = 'odd';
		var xml = getXMLDocument(data.xmlString);
	    html+='<ul class="news-items">';	
		for ( var i = 0; i < feeds.entries.length; i++) {
			var entry = feeds.entries[i];
			if(i == 0)
			{
				html+= '<li class="news-item selected"><a href='+entry.link+'>'+entry.title+'</a></li>';
			}
			else
			{
				html+= '<li class="news-item"><a href='+entry.link+'>'+entry.title+'</a></li>';
			}
		}
		html+="</ul>"
		$(e).html(html);
	};
	
	function getXMLDocument(string) {
		var browser = navigator.appName;
		var xml;
		if (browser == 'Microsoft Internet Explorer') {
			xml = new ActiveXObject('Microsoft.XMLDOM');
			xml.async = 'false'
			xml.loadXML(string);
		} else {
			xml = (new DOMParser()).parseFromString(string, 'text/xml');
		}
		return xml;
	}
})(jQuery);
