﻿function SlideShow( hold_time )
{

  this.slides = YAHOO.util.Dom.getElementsByClassName("LatestSplash", "div");
  this.captions = YAHOO.util.Dom.getElementsByClassName("LatestCaption", "div");
  this.iCurrSlide = 0;
  this.iPrevSlide = this.slides.length - 1;

  var self = this;

  this.move_next_slide = function(p_bShowAnim)
  {
    self.move_slide(1, p_bShowAnim);
  }
  
  this.move_prev_slide = function(p_bShowAnim)
  {
    self.move_slide(-1, p_bShowAnim);
  }
  
  this.move_slide = function(p_iDirection, p_bShowAnim) 
  {
  
    self.disableControls(); 
    
    if ( self.slides.length > 1 )
    {

        self.iPrevSlide = self.iCurrSlide;
        
        self.iCurrSlide = self.iCurrSlide + p_iDirection;

        if ( self.iCurrSlide == self.slides.length )
            self.iCurrSlide = 1;

        if ( self.iCurrSlide == 0 )
            self.iCurrSlide = self.slides.length - 1;

    
        self.captions[ self.iPrevSlide ].style.bottom = "-300px"; 
        self.captions[ self.iPrevSlide ].style.zIndex = 0; 
        self.slides[ self.iPrevSlide ].style.zIndex = 0; 
    
        self.captions[ self.iCurrSlide ].style.zIndex = 100; 
        self.slides[ self.iCurrSlide ].style.zIndex = 99; 


        if (p_bShowAnim == true)
        {

            var fadeOut = new YAHOO.util.Anim(self.slides[ self.iPrevSlide ], { opacity: { from: 1, to: 0 }});
            var fadeIn = new YAHOO.util.Anim(self.slides[ self.iCurrSlide ], { opacity: { from: 0, to: 1 }});

            var iTop = -1 * (self.captions[ self.iCurrSlide ].offsetHeight - 2); 
            var fadeInCaption = new YAHOO.util.Anim(self.captions[ self.iCurrSlide ], 
                    { bottom: { from: iTop, to: 0 }}, 0.5, YAHOO.util.Easing.easeIn);

            fadeIn.onComplete.subscribe(function () { fadeInCaption.animate(); }); 
            fadeInCaption.onComplete.subscribe(self.enableControls);
            
            fadeOut.animate();
            fadeIn.animate();
        }
        else
        {
            self.slides[ self.iPrevSlide ].style.filter = "alpha(opacity=0)"; 
            self.slides[ self.iPrevSlide ].style.opacity = 0; 
            
            self.captions[ self.iCurrSlide ].style.bottom = 0; 

            self.slides[ self.iCurrSlide ].style.filter = "alpha(opacity=100)"; 
            self.slides[ self.iCurrSlide ].style.opacity = 1; 

            self.enableControls();
        }


    }
  }
  
  this.disableControls = function()
  {
    document.getElementById("SplashControlDisable").style.display = "block";
  }

  this.enableControls = function()
  {
    document.getElementById("SplashControlDisable").style.display = "none";
  }
  
  this.pause = function()
  {
    if (self.timerId)
    {
        clearInterval(self.timerId);
    }
    document.getElementById("playSlide").src = "/images/splash/play_icon.png";

    YAHOO.util.Event.removeListener("playSlide", "click");  
    YAHOO.util.Event.on("playSlide", "click", function () { self.move_next_slide(true); self.play(); }); 
  }

  this.play = function()
  {
    self.timerId = setInterval( function() { self.move_next_slide(true); }, self.hold_time );
    document.getElementById("playSlide").src = "/images/splash/pause_icon.png";
    
    YAHOO.util.Event.removeListener("playSlide", "click");  
    YAHOO.util.Event.on("playSlide", "click", self.pause); 
  }
  
  this.move_next_slide(true);
  this.hold_time = hold_time; 
  this.timerId = setInterval( function() { self.move_next_slide(true); }, this.hold_time );
  
  YAHOO.util.Event.on("prevSlide", "click", function () { self.pause(); self.move_prev_slide(false); }); 
  YAHOO.util.Event.on("nextSlide", "click", function () { self.pause(); self.move_next_slide(false); }); 
  YAHOO.util.Event.on("playSlide", "click", self.pause); 

}


//YAHOO.util.Event.onDOMReady(function() {
YAHOO.util.Event.onContentReady("SplashContain", function() { 

    var slide_show = new SlideShow( 7000 );

    playbutton = new Image(20, 20); 
    playbutton.src = "/images/splash/play_icon.png"; 
    
});


