// JavaScript code for the ImageSlideShow Component        

var imageSlideShows = new Array();        

// Internal data structure used for each Slide        
function ImageSlide(imageUrl, title, slideUrl) {        
  this.title = title;        
  this.slideUrl = slideUrl;        
  this.image = new Image();        
  this.image.src = imageUrl;        
}        

function ImageSlideShow(key, interval) {        
  this.key = key;        
  this.idx = 0;        
  this.timer = null;        
  this.interval = interval;        
  this.slides = new Array();        
  this.btnImg = new Array();        
  this.btnImg2 = new Array();        
  this.pauseLabel = "||";        
  this.playLabel = ">";        
  if (!imageSlideShows[key]) {imageSlideShows[key] = this};        


  this.addSlide = function (slideImg, slideTitle, slideURL) {        
    this.slides[this.slides.length] = new ImageSlide(slideImg, slideTitle, slideURL);        
  }        
          
  this.addButtonImg = function (img1, img2) {        
 this.btnImg[this.slides.length] = img1;        
 this.btnImg2[this.slides.length] = img2;        
  }        

  this.updateDiv = function() {        
          
 var fadeTime = IWOV_FX.fadeOut(this.key+"_div", 25, 10);        
 setTimeout("imageSlideShows['"+key+"'].setSlide()", fadeTime);        
 setTimeout("IWOV_FX.fadeIn('"+this.key+"_div', 25, 10)", fadeTime);        
  }        

  this.setSlide = function() {        
    try {        

 var slide = this.slides[this.idx];        
 var d = document.getElementById(this.key+"_div");        
         
 var links = slide.image.src;        
 var ext = links.substring(links.lastIndexOf("."));        
           
   if ((ext == ".jpg") || (ext == ".gif") || (ext == ".png") || (ext == ".jpeg")){        
   var a = d.getElementsByTagName("a")[0];        
   var img = d.getElementsByTagName("img")[0];        
   var bookTarget = d.getElementsByTagName("input")[0];        
           
   if(slide.slideUrl != "") {        
    d.innerHTML = "<a "        
      + "href='"+slide.slideUrl+"' "        
      + "><img border='0' width='500' height='290' "        
      + "src='"+slide.image.src+"' "        
      + "/></a><input type='hidden' name='bookTarget' value='"+slide.slideUrl+"'/>";        
   } else {        
    d.innerHTML = "<img border='0' width='500' height='290' "        
      + "src='"+slide.image.src+"' "        
      + "/><input type='hidden' name='bookTarget' value='"+slide.slideUrl+"'/>";        
   }        
          
   } else if (ext == ".swf"){        
   var a = d.getElementsByTagName("a")[0];        
   var img = d.getElementsByTagName("object")[0];          
   var bookTarget = d.getElementsByTagName("input")[0];        
           
   if(slide.slideUrl != "") {      
  d.innerHTML = "<a href='"+slide.slideUrl+"'>"  
   + "<embed width='500' height='290' src='"+slide.image.src+"' wmode='transparent'></embed>"  
   + "</a><input type='hidden' name='bookTarget' value='"+slide.slideUrl+"'/>";      
    } else {      
  d.innerHTML = "<embed id='player1' width='500' height='290' src='"+slide.image.src+"' wmode='transparent'></embed>"  
   + "<input type='hidden' name='bookTarget' value='"+slide.slideUrl+"'/>";      
    }      

   }  // if-else swf or img        
              
  var buttons = document.getElementById('buttons');        
  var imgs = buttons.getElementsByTagName("img");        
  for (var i = 0; i < this.slides.length; i++) {        
   try {        
    if (i == this.idx) {        
     imgs[i].style.opacity = 1.0;        
     imgs[i].filters.alpha.opacity = 100;        
    } else {        
     imgs[i].style.opacity = 0.4;        
     imgs[i].filters.alpha.opacity = 40;        
    }        
   } catch (myException) {        
   }        
  }        

      document.getElementById(this.key+"_buttonDiv").style.visibility = "inherit";        
    } catch (noSlidesException) {}        
  }        

  this.goNext = function() {        
    if (this.idx < this.slides.length-1) {        
      this.idx++;        
    } else {        
      this.idx = 0;        
    }        
    this.updateDiv();        
  }        

  this.goPrev = function() {        
    if (this.idx > 0) {        
      this.idx--;        
    } else {        
      this.idx = this.slides.length-1;        
    }        
    this.updateDiv();        
  }        

  this.setPauseBtnLabels = function(pauseLabel, playLabel) {        
    this.pauseLabel = pauseLabel;        
    this.playLabel = playLabel;        
  }        
          
  this.togglePause = function(pauseBtn, isGraphic) {        
          
    if (this.timer!=null) {        
      // pausing        
      clearInterval(this.timer);        
      this.timer = null;        
      if (pauseBtn) {        
        pauseBtn.title = pauseBtn.getAttribute("pausedTitle");        
        if (isGraphic) {        
          pauseBtn.style.backgroundImage = "url('" + this.playLabel +"')";        
        } else {        
          pauseBtn.innerHTML = this.playLabel;        
        }        
      }        
    } else {        
      // starting        
   if(this.slides.length != 1){        
    this.timer = setInterval("imageSlideShows['"+this.key+"'].goNext()", this.interval*1000);        
    if (pauseBtn) {        
   this.goNext();        
   pauseBtn.title = pauseBtn.getAttribute("playingTitle");        
   if (isGraphic) {        
     pauseBtn.style.backgroundImage =  "url('" + this.pauseLabel +"')";        
   } else {        
     pauseBtn.innerHTML = this.pauseLabel;        
   }        
  }        
   } else {        
    this.timer = setInterval("imageSlideShows['"+this.key+"']", this.interval*1000);        
    if (pauseBtn) {        
   this.goNext();        
   pauseBtn.title = pauseBtn.getAttribute("playingTitle");        
   if (isGraphic) {        
     pauseBtn.style.backgroundImage =  "url('" + this.pauseLabel +"')";        
   } else {        
     pauseBtn.innerHTML = this.pauseLabel;        
   }        
  }        
   }         
    }         
  }        

  this.restartTimer = function() {        
    if (this.timer!=null) {        
      clearInterval(this.timer);        
      this.timer = setInterval("imageSlideShows['"+this.key+"'].goNext()", this.interval*1000);        
    }        
  }        

  this.clickNext = function() {        
    this.goNext();        
    this.restartTimer();        
  }        

  this.clickPrev = function() {        
    this.goPrev();        
    this.restartTimer();        
  }        

}        

