// slideshow.js Rev. 20050906
// The following values are defaults that can be overridden with 
// function slideSetup().

var image_prefix = "img_";
var file_type = "jpg";
var number_of_images = 2;
var sig_digs = 2;
var the_image = "theImage";
var interval = 3000; // milliseconds

var running = false;
var ImageIndex = -1; // -1 = uninitialized, 0-based index
imageArray = new Array();

for (var i=0; i<number_of_images; i++) {
 imageArray[i] = -1;
}

function imageItem(image_location) {
 this.image_item = new Image();
 this.image_item.src = image_location;
}

function getImageArrayElem(ndx) {
 if (imageArray[ndx] == -1) {
   var number = ndx + 1;
   var lz_number = number;
   if (sig_digs >= 6 && number < 100000) lz_number = '0' + lz_number;
   if (sig_digs >= 5 && number < 10000) lz_number = '0' + lz_number;
   if (sig_digs >= 4 && number < 1000) lz_number = '0' + lz_number;
   if (sig_digs >= 3 && number < 100) lz_number = '0' + lz_number;
   if (sig_digs >= 2 && number < 10) lz_number = '0' + lz_number;
   imageArray[ndx] = new imageItem(image_prefix + lz_number + "." + file_type);
 }
 return(imageArray[ndx]);
}

function get_ImageItemLocation(imageObj) {
 return(imageObj.image_item.src);
}

function getNextImage() {
 ImageIndex = (ImageIndex+1) % number_of_images;
 var src = get_ImageItemLocation(getImageArrayElem(ImageIndex));
 return(src);
}

function getPrevImage() {
 if (ImageIndex <= 0) { ImageIndex = number_of_images-1; }
 else { ImageIndex -= 1; }
 var src = get_ImageItemLocation(getImageArrayElem(ImageIndex));
 return(src);
}

function setImageSrc(index, src) {
 document[index].src = src;
}

// Global Functions

function nextImage(index) {
 var src = getNextImage();
 setImageSrc(index, src);
}

function prevImage(index) {
 var src = getPrevImage();
 setImageSrc(index, src);
}

function rotateImages(index) {
 nextImage(index);
 var recur_call = "rotateImages('"+index+"')";
 timerID = setTimeout(recur_call, interval);
 running = true;
}

function firstImage(index) {
 var recur_call = "rotateImages('"+index+"')";
 timerID = setTimeout(recur_call, interval);
 running = true;
}

function startShow(index) {
 if (!running) {
  rotateImages(index);
  running = true;
 }
}

function slideSetup(p1, p2, p3, p4, p5, p6) {
 running = false;
 image_prefix = p1;
 number_of_images = p2;
 file_type = p3;
 interval = p4;
 sig_digs = p5;
 the_image = p6;
 for (var i=0; i<number_of_images; i++) {
  imageArray[i] = -1;
 }
 startShow(the_image);
}

function stopShow() {
 clearTimeout(timerID)
 running = false;
}


