(function($) {

	var defaultOptions = {
		delay : 4000
	}

	$.fn.dsSlideshow = function(o) {
		return this.each(function() {
			var options = $.extend(defaultOptions, o);
			var photos = $(this);
			var stop = false;

			function slideshow() {
				var first = $(':first', photos);
				var last = $(':last', photos);

				photos.fadeOut('normal', function() {
					photos.append(first);
					photos.fadeIn('normal', runSlideshow);
				})
			}
			;

			function runSlideshow() {
				if (stop) {
					setTimeout(runSlideshow, options.delay);
				} else {
					setTimeout(slideshow, options.delay);
				}
			}

			runSlideshow();

			$(this).hover(function() {
				stop = true;
			},function() {
				stop = false;
			});
		})

	};

})(jQuery);
