    var container = $('slideshow');
    var showtime = 3; // seconds

    var slides = container.childElements();
    slides.invoke('addClassName','slide');
    slides[0].addClassName('currentSlide');
    slides[1].addClassName('nextSlide');
    slides[0].fade({delay:showtime, afterFinish: NextSlide});

    function NextSlide(eff) {
       var slide = eff.element.next();
       if(slide == null)   {slide = eff.element.up().down();}

       // previous slide is no longer current
       eff.element.removeClassName('currentSlide');
       eff.element.removeClassName('nextSlide');
       
       // current slide is current and no longer next
       slide.addClassName('currentSlide');
       slide.removeClassName('nextSlide');

       // next slide
       var next = slide.next();
       if( next == null ){ next = slide.up().down(); }
       next.style.display='';
       next.addClassName('nextSlide');
       
       slide.fade({delay:showtime, afterFinish: NextSlide});
    }

