
function imageSwapClass(filename,fileext,numImages,startAt) {
  var dimages=new Array();

  if (startAt == undefined) {
    var startAt = 0;
  }
  var curImage=startAt;


  this.swapPicture = swapPicture;

  for (i=startAt; i<(numImages+startAt); i++) {
    dimages[i]=new Image();
    // Dain-bramaged code follows!
    if(i<9) {
      dimages[i].src=filename+".0"+(i+1)+"."+fileext;
    } else {
      dimages[i].src=filename+"."+(i+1)+"."+fileext;
    }
  }

  function swapPicture(direction,tag) {
    if (document.images) {
      var nextImage=curImage+1;

      if(direction=='forward') {
        nextImage=curImage+1;
      } else {
        nextImage=curImage-1;
      }

      if (nextImage>=numImages+startAt) {
        nextImage=startAt;
      } else {
        if (nextImage<=startAt) {
          nextImage=numImages+startAt;
        }
      }
      if (dimages[nextImage] && dimages[nextImage].complete) {
        var target=0;
        if (document.images[tag])
          target=document.images[tag];
        if (document.all && document.getElementById(tag))
          target=document.getElementById(tag);
  
        // make sure target is valid.  It might not be valid
        //   if the page has not finished loading
        if (target) {
          target.src=dimages[nextImage].src;
          curImage=nextImage;
        }
      }
    }
  }
}
