
var ss_holdtime = 6;             // time (seconds) to hold image
var ss_fadetime = 25;            // time (milliseconds) between fade steps
var ss_steps = 10;               // number of fade steps

var ss_imgid = 'slideimg';       // ID of image to fade
var ss_images = new Array ();    // array of images
var ss_curimg = 0;               // index of current image
var ss_stepcounter = 0;          // current fade step (>0 = fading out, <0 = fading in)
var ss_element = null;           // element of imgid

// Initialize slideshow, detect capabilities
function ss_init () {
   if (document.images  &&  document.getElementById  &&  window.setTimeout) {
      ss_element = document.getElementById (ss_imgid);
      if (ss_element) {
         ss_stepcounter = ss_steps;
         window.setTimeout ("ss_fade ()", ss_holdtime * 1000);
      }
   }
};

// Run slideshow
function ss_fade () {
   ss_stepcounter--;

   //set image opacity
   var opac = Math.min (Math.abs (ss_stepcounter) / ss_steps, 0.99);
   ss_element.style.filter = "Alpha(Opacity=" + opac * 100 + ")";
   ss_element.style.opacity = opac;
   ss_element.style.MozOpacity = opac;

   var t = ss_fadetime;

   //swap image when opacity reaches zero
   if (ss_stepcounter == 0) {
      if (++ss_curimg >= ss_images.length) {
         ss_curimg = 0;
      }
      ss_element.src = ss_images [ss_curimg].src;
   }

   //set long hold time after new image has faded in
   else if (ss_stepcounter <= -ss_steps) {
      ss_stepcounter = ss_steps;
      t = ss_holdtime * 1000;
   }

   setTimeout ("ss_fade ()", t);
};

// Add image to slideshow
function ss_addimage (src) {
   var img = new Image ();
   img.src = src;
   ss_images.push (img);
};


