var slides, current_slide, next_slide, delay, duration;

new Event.observe(window,'load', function(){
	$$('.slideshow').each(function(e){
		slides = $A(e.getElementsByClassName('slide'));
		slides.each(function(e){e.setStyle({display: 'none'});});
		slides.first().setStyle({display: 'block'});
		slides.first().addClassName('current');

		setInterval(switch_slides(e), parseFloat(e.getAttribute('delay'))*1000.0);
	});
});
                      
function switch_slides(e) {
	return function(){
		current_slide = $A(e.getElementsByClassName('current')).first();
		if( ( ns = current_slide.next('.slide') ) ) {
			next_slide = ns;
		} else {
			next_slide = $A(e.getElementsByClassName('slide')).first();
		}
		new Effect.Parallel([
				new Effect.Fade(current_slide, {sync: true}),
				new Effect.Appear(next_slide, {sync: true})
				], {
					duration: parseFloat(e.getAttribute('duration')),
					afterFinish: function(){
						current_slide.removeClassName('current');
						next_slide.addClassName('current');
					}
				}
			);
	}
}
