

/******  Simple Spy plugin (based on a tutorial from jqueryfordesigners.com) ******/
(function ($) {
	$.fn.simpleSpy = function (limit, interval) {
	limit = limit || 3;
	interval = interval || 4000;
	
	return this.each(function () {
		// 1. setup
			// capture a cache of all the list items
			// chomp the list down to limit li elements
		var $list = $(this),
		items = [], // uninitialised
		currentItem = limit,
		total = 0, // initialise later on
		height = $list.find('> li:first').height();
			
		// capture the cache
		$list.find('> li').each(function () {
			items.push('<li>' + $(this).html() + '</li>');
		});
		
		total = items.length;
		
		$list.wrap('<div class="members-list-wrap" />');
		
		$list.find('> li').filter(':gt(' + (limit - 1) + ')').remove();

		// 2. effect        
		function spy() {
			// insert a new item with opacity and height of zero
			var $insert = $(items[currentItem]).css({
				height : 0,
				opacity : 0,
				display : 'none'
			}).prependTo($list);
						
			// fade the LAST item out
			$list.find('> li:last').animate({ opacity : 0}, 1000, function () {
				// increase the height of the NEW first item
				$insert.animate({ height : height }, 1000).animate({ opacity : 1 }, 1000);
				
				// AND at the same time - decrease the height of the LAST item
				// $(this).animate({ height : 0 }, 1000, function () {
					// finally fade the first item in (and we can remove the last)
					$(this).remove();
				// });
			});
			
			currentItem++;
			if (currentItem >= total) {
				currentItem = 0;
			}
			
			setTimeout(spy, interval)
		}
		
		spy();
	});
};	
})(jQuery);
/******  End Simple Spy plugin ******/

/***************************** END PLUGINS *********************************/



/*************************** CUSTOM FUNCTIONS ******************************/
$(function () {
	$('ul.members-list').simpleSpy(); // Apply Simple Spy plugin to the members-list ul
});




