/* Simple slideshow using prototype and scriptaculous. Usage:
See also: http://blog.remvee.net/post/17 Copyright (c) 2006 - R.W. van 't Veer */ 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]); } } this.timeout = timeout; this.current = 0; for (var i = 0; i < this.slides.length; i++) { this.slides[i].style.zIndex = this.slides.length - i; } 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); } }