// slideshow.js Rev. 20040810
// 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 interval = 3000; // milliseconds
var timerID = 0;

var running = false;
var ImageNum = -1;
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(i) {
 var j = i+1;
 if (imageArray[i] == -1) 
 {
   if (j < 10) {
    imageArray[i] = new imageItem(image_prefix + "0" + j + "." + file_type);
   } else {
    imageArray[i] = new imageItem(image_prefix + j + "." + file_type);
   }
 }
 return(imageArray[i]);
}

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

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

function nextImage(index) {
 var new_image = getNextImage();
 document[index].src = new_image;
}

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

function prevImage(index) {
 var new_image = getPrevImage();
 document[index].src = new_image;
}

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

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

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

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

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


