function Slideshow(slideshow, timeout) {
	this.slides = [];
	var nl = $(slideshow).getElementsByTagName('div');
	for (var i = 0; i < nl.length; i++) {
	if (Element.hasClassName(nl[i], 'slide')) {
		this.slides.push(nl[i]);
	}
	}
	for (var i = 0; i < this.slides.length; i++) {
	this.slides[i].style.zIndex = this.slides.length - i;
	}
	
	this.timeout = timeout;
	this.current = 0;
	
	Element.show(slideshow);
	setTimeout((function(){this.next();}).bind(this), this.timeout + 850);
	}
	
	Slideshow.prototype = {
	next: function() {
	for (var i = 0; i < this.slides.length; i++) {
		var slide = this.slides[(this.current + i) % this.slides.length];
		slide.style.zIndex = this.slides.length - i;
	}
	
	Effect.Fade(this.slides[this.current], {
		afterFinish: function(effect) {
		effect.element.style.zIndex = 0;
		Element.show(effect.element);
		Element.setOpacity(effect.element, 1);
		}
	});
	
	this.current = (this.current + 1) % this.slides.length;
	setTimeout((function(){this.next();}).bind(this), this.timeout + 850);
	}
}