// Slideshow
function startSlideshow (slide_array, set_pause, set_effects_second) {

  // default pause, or override
  var pause = 4;
  if (set_pause != '') var pause = set_pause;

  // default effect time, or override
  var effect_seconds = 3;
  if (set_effects_second != '') var effect_seconds = set_effects_second;
  
  // internal vars
  var repeat = slide_array.length;
  var counter = 1;
  var looping = false;
  
  // first slide, play it immediately
  if (counter == 1) {
    //new Effect.Fade('slideshow', {duration:effect_seconds, fps:99, queue:{position:'end', scope:'ew_slideshow', limit:2}});
    //counter++;
  }

  // pause between slides
  pause = (effect_seconds * 2) + pause;
  
  // play slideshow
  new PeriodicalExecuter(function(slide) {

      // preload next image
      if (looping == false) {
          loadSlide('slideshow_preload', slide_array[counter], effect_seconds, 'no');
      }
      
      // fade Image
      Effect.Fade('slideshow', {duration:effect_seconds, fps:99, queue:{position:'end', scope:'ew_slideshow', limit:2}});
      
      // load text and image, delayed until after fade finished
      setTimeout('loadSlide(\'slideshow\', ' + slide_array[counter] + ', ' + effect_seconds + ', \'fade\')', (effect_seconds * 1000) + 500);

      // increment counter
      counter++;

      // reset counter / array if limit reached
      if (counter == repeat) {
          counter = 0;
          looping = true;
      }
      
  }, pause);
} // end start slideshow

// load Slide
function loadSlide (el, slide_id, effect_seconds, effect) {

    // load new slide
    new Ajax.Updater(el, '/client/includes/client/page_slideshow_slide.php', {
      parameters: { id: slide_id }
    });

    // show slide with effect
    if (effect == 'fade') {
        new Effect.Appear('slideshow', {delay:0.2, duration:effect_seconds, fps:99, queue:{position:'end', scope:'ew_slideshow',
limit:2}});
    }
}