// JavaScript Document

function get_random_feed_item(feed) {
	var total = feed.items.length;
	var rand = Math.floor(Math.random()*total);
	var myItem = feed.items[rand];
	var excerpt = myItem.description;
	//excerpt = excerpt.substring(0, excerpt.indexOf(" ", 60));
	//excerpt += ' [<a href="' + myItem.link + '">more ...</a>]';
	single_rand = '<li><p>' + excerpt + '</p></li>';
	
	return single_rand;
}

function get_feed(feed_url, num, el) {
	if ($(el).hasClass('ss-accordion')) {
		get_feed_accordion(feed_url, num, el);
	} else {
		$.getFeed({
			url: feed_url,
			success: function(feed) {
				var menu = '';
				var single = '';
				
				// loop through each item in the feed
				for(var i = 0; i < feed.items.length && i < num; i++) {
				
					var item = feed.items[i];
					
					// menu structure
					menu += '<li>'
					+ '<div class="meta">'
					+ '<p class="headline"><a href="' + item.link + '" target="_blank">' + item.title + '</a></p>'
					+ '<p class="pub_date">' + item.updated.substr(0, 16) + '</p>'
					+ '</div><p class="excerpt">' + item.description + '</p></li>';

					// single item structure
					single += '<li>' + item.description + '</li>';
				}

				// get one random item from the feed
				var rand_item = get_random_feed_item(feed);
				

				// add the feed items to the lists
				$(el).find('.results').find('ul.menu').append(menu);
				$(el).find('.results').find('ul.single').append(single);
				$(el).find('.results').find('ul.random').append(rand_item);
				
			}    
		});
	}
}

function get_feed_accordion(feed_url, num, el) {
		$.getFeed({
			url: feed_url,
			success: function(feed) {
				
				var accordion = '';
				
				// loop through each item in the feed
				for(var i = 0; i < feed.items.length && i < num; i++) {
				
					var item = feed.items[i];
					
					// accordion structure
					accordion += '<li>'
					+ '<h3 class="headline">'
					+ '<a href="' + item.link + '">' + item.title + '</a></h3>'
					+ '<div><p class="meta">Posted ' + item.updated.substr(0, 16) + '</p>'
					+ item.description + '<p class="permalink"><a target="_blank" href="'+ item.link +'">'
					+ '&raquo; Read original article</a></p></div></li>';
					
				}

				// initialize accordion
				$(el).find('.results').find('ul.accordion').append(accordion);
				
				$(".ss-accordion .results ul.accordion").accordion({ 
					header: "h3.headline",
					autoHeight: true,
					icons: { 'header': 'ui-icon-plus', 'headerSelected': 'ui-icon-minus' }
				});

			}    
		});
}

$(function(){
	$("div.snapshot .hidden").hide();
	$("div.snapshot").each( function(i) {
		var feed_url = $(this).find("#feed_url").text();
		var num = $(this).find("#num_items").text();
		get_feed(feed_url, num, this);
	});
});