function start_slideshow(start_frame, end_frame, delay) {
  setTimeout(switch_slides(start_frame,start_frame,end_frame, delay), delay);
}
                        
function switch_slides(next_frame, start_frame, end_frame, delay) {
  return (function() {
    // hide all other slides
    for (var x = 1; x <= end_frame; x++) {
      if (next_frame != x) {
        el = $('slideshow' + x);
        el.style.display = "none";
        el.style.zIndex = "100";
      }
    }
    // next and previous slide vars
    if (next_frame == end_frame) { 
      next_frame = start_frame;
      previous_frame = end_frame;
    } else { 
      previous_frame = next_frame;
      next_frame = next_frame + 1;
    }
    // move next slide to front and fade in
    previous_element = $('slideshow' + previous_frame).style.zIndex = "100";
    next_element = $('slideshow' + next_frame).style.zIndex = "101";
    setTimeout("Effect.Appear('slideshow" + next_frame + "');", 850);
    setTimeout(switch_slides(next_frame, start_frame, end_frame, delay), delay + 850);
  });
}

Event.observe(window, 'load', function() { 
  start_slideshow(1, 3, 4000);
});
