// total number of slides minus 1
var totalSlides = 0;
var sCounter = 0;
// duration of the animation, in seconds
var sDuration = .6;
// pause on each slide, in milliseconds
var sDelay = 6000;
// offset distance; based on the width of each box
var xOffset = 150;
// intervalID; available to all functions;
var intervalID;

function slideshowInit(slideCount, slideDelay, slideWidth) {
  totalSlides = slideCount;
  sDelay = slideDelay;
  xOffset = slideWidth;
  slideInterval();
}

function nextSlide() {
  if (sCounter < totalSlides - 1) {
    sCounter++;
    new Effect.Move('slider', { x: 0 - (sCounter * xOffset), y: 0, duration: sDuration, mode: 'absolute'});
  } 
  else {
    sCounter = 0;
    new Effect.Move('slider', { x: 0, y: 0, mode: 'absolute'});
  }
  slideInterval(xOffset);
}

function slideInterval() {
  clearInterval(intervalID);
  intervalID = setInterval('nextSlide(' + xOffset + ')', sDelay);
}

function stopSlideshow() {
  clearInterval(intervalID);
}

function prevSlide() {
  if (sCounter > 0) {
    sCounter--;
    new Effect.Move('slider', { x: (0 - (sCounter * xOffset)), y: 0, duration: sDuration, mode: 'absolute'});
  } 
  else {
    sCounter = totalSlides - 1;
    new Effect.Move('slider', { x: (0 - (sCounter * xOffset)), y: 0, mode: 'absolute'});
  }
  slideInterval();
}
