function initSlideshow(slideshow) {
  var images = slideshow['images'];
  var elementPrefix = slideshow['elementPrefix'];
  var imgData = images[0];
  var imgCaption = slideshow['imageCaption'];
  var imgElement = document.createElement('img');
  imgElement.src = imgData[0];
  imgElement.alt = imgCaption;
  imgElement.width = imgData[1];
  getElement(elementPrefix + "_img").appendChild(imgElement);
  getElement(elementPrefix + "_container").style.display = "block";
  getElement(elementPrefix + "_container").style.width = imgData[1] + "px";
  slideshow['activePic'] = 0;
  for(var i = 1; i < images.length; i++) {
    (new Image()).src = images[i][0];
  }
}

function displayPhoto(slideshow, index) {
   var pics = slideshow['images'];
   var elementPrefix = slideshow['elementPrefix'];
   var minWidth = slideshow['minWidth'];
   var filename = pics[index][0];
   var width = pics[index][1];
   getElement(elementPrefix + '_container').style.width = (width >= minWidth ? width : minWidth) + 'px';
   getElement(elementPrefix + '_img').getElementsByTagName('IMG')[0].src = filename;
   slideshow['activePic'] = index;
}

function nextPic(slideshow) {
   var activePic = slideshow['activePic'];
   var pics = slideshow['images'];
   if(activePic >= (pics.length-1)) {
      displayPhoto(slideshow, 0);
   }
   else {
      displayPhoto(slideshow, activePic+1);
   }
}

function prevPic(slideshow) {
   var activePic = slideshow['activePic'];
   var pics = slideshow['images'];
   if(activePic <= 0) {
      displayPhoto(slideshow, pics.length-1);
   }
   else {
      displayPhoto(slideshow, activePic-1);
   }
}

function getElement(id) {
   if(document.getElementById) {
      return(document.getElementById(id));
   }
   else if(document.all) {
      return(document.all[id]);
   }
   else if(document[id]) {
      return(document[id]);
   }
   else {
      return;
   }
}

