// 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();         
  }         

}         

