$.fn.slideshow = function(options) {
        return this.each(function() {   
            $.slideshow(this, options);
        });
    };

(function($) {
$.slideshow = function(container, options) {
        var settings = {
            'speed':            'normal',
            'timeout':          2000,
            'containerheight':  'auto',
            'runningclass':     'slideshow'
        };
        if (options)  $.extend(settings, options);
        var elements = $(container).children();
        if (elements.length > 1) {
			$(container).css('position', 'relative').css('height', settings.containerheight).addClass(settings.runningclass);
			for (var i = 0; i < elements.length; i++) {
				$(elements[i]).css('z-index', String(elements.length-i)).css('position', 'absolute').css('opacity', '0').show();
			};
			setTimeout(function() {
				$.slideshow.next(elements, settings, 1, 0);
			}, settings.timeout);
			$(elements[0]).css('opacity', '1');			 
		}
    };

$.slideshow.next = function(elements, settings, current, last) {
		$(elements[last]).animate( { opacity:"0" },settings.speed);
		$(elements[current]).animate( { opacity:"1" },settings.speed);
		if ((current + 1) < elements.length) {
			current = current + 1;
			last = current - 1;
		} else {
			current = 0;
			last = elements.length - 1;
		};
	setTimeout((function() {
		$.slideshow.next(elements, settings, current, last);
	}), settings.timeout);
};
})(jQuery);
