/**
 * Plugin: jquery.fslnewsFeed
 * 
 * Version: 1
 * 
 * Description: jQuery plugin for display of news feeds via Google Feed API
 *              (Based on original plugin znewsFeed)
 *
 * modified by D.Kindler 4/20/2010
 * 
 **/

(function($){

	var current = null; 
	
	$.fn.newsfeed = function(url, options) {	
	
		// Set pluign defaults
		var defaults = {
			limit: 10,
			header: false,
			date: false,
			content: false,
			snippet: true,
			showerror: true,
			errormsg: '',
			key: null
		};  
		var options = $.extend(defaults, options); 
		
		// Functions
		return this.each(function(i, e) {
			var $e = $(e);
			
			// Add feed class to user div
			if (!$e.hasClass('newsFeed')) $e.addClass('newsFeed');
			
			// Check for valid url
			if(url == null) return false;

			// Send request
			
			$.ajax({
				url: url,
				cache: false,
				dataType: 'xml',
				success: function(xml){
					_callback(xml,options);
				}
			});
			
			/*
			$.getJSON(api, function(data){
				
				// Check for error
				if (data.responseStatus == 200) {
	
					// Process the feeds
					_callback(e, data.responseData.feed, options);
				} else {

					// Handle error if required
					if (options.showerror)
						if (options.errormsg != '') {
							var msg = options.errormsg;
						} else {
							var msg = data.responseDetails;
						};
						$(e).html('<div class="newsError"><p>'+ msg +'</p></div>');
				};
			});
			*/				
		});
	};
	
	// Callback function to create HTML result
	var _callback = function(xml, options) {
		if (!xml) {
			return false;
		}
		
		xml = $(xml);
		
		var html = '';	
		
		
		// Add header if required
		if (options.header)
			html +=	'<div class="newsHeader">' +
				'<a href="'+feeds.link+'" title="'+ feeds.description +'">'+ feeds.title +'</a>' +
				'</div>';
			
		// Add body
		html += '<div class="newsBody">';
		
		var items = xml.find('item');
		
		// Add feeds
		for (var i=0; i<items.size(); i++) {
			
			// Get individual feed
			var temp = items.eq(i);
			
			//if (typeof entry.mediaGroups != "undefined") {var media = entry.mediaGroups[0];} else { var medi = null; }
			//var media =  entry.mediaGroups[0];
			// Format published date
			html += '<div class="newsItem"><a href="'+ temp.find('link').text() +'" title="' + temp.find('title').text() +'">'+ temp.find('title').text() +'</a></div>';
			//html += '<a href="'+ entry.link +'" title="View this feed at '+ feeds.title +'">'+ entry.title +'</a>'
			//if (options.date) html += '<br/>'+ pubDate +'<br/>'
		}
		
		html += '</div>'
		
		$('#news').html(html);
	};
})(jQuery);

