/*
    Fading slide show for RoC website.  Button changes accordingly.
    ID must be in order and start as 1.

    @author Hong Dang
    @copyright 2010
    @version v1.0
    @revision 10/9/2011
*/

var ss_maxImage = 5;
var ss_intervalTimeInMilliSeconds = 10000;
var ss_fadeTimeInMilliSeconds = 1000;
var ss_activeImageButton = "/images/red_button.png";
var ss_unactiveImageButton = "/images/green_button.png";
var ss_buttonID = "#ss_button";
var ss_imageID = "#ss_image";
var ss_currentImageClassName = "active";
var ss_unactiveImageClassName = "unactive";

//Auto starts the timer
var ss_timer = setInterval("switchSlides()", ss_intervalTimeInMilliSeconds);
//Current image - default 1.
var ss_currentImage = 1;
//Stops them from abusing the SS JS
var ss_finished = true;

function switchSlides() {
    ss_finished = false;
    
    var $ss_activeImage = $("#slideshow img." + ss_currentImageClassName);
    var $ss_nextImage;
    
    if ($ss_activeImage.length == 0 ) {      
        $ss_activeImage = $("#slideshow img:last");
    }
  
    if ($ss_activeImage.next().length == 0)
    {
        $ss_nextImage = $("#slideshow img:first");
    } else {
        $ss_nextImage = $ss_activeImage.next();
    } 
   
    //buttons
    $(ss_buttonID + ss_currentImage).attr("src", ss_unactiveImageButton);
    ss_currentImage++;
    if (ss_currentImage > ss_maxImage)
    {
        ss_currentImage = 1;
    }
    $(ss_buttonID + ss_currentImage).attr("src", ss_activeImageButton);
    
    $ss_activeImage.addClass(ss_unactiveImageClassName);
    
    $ss_nextImage.css ( {opacity: 0.0} )
        .addClass(ss_currentImageClassName).animate( {opacity: 1.0 }, ss_fadeTimeInMilliSeconds, function() {
           $ss_activeImage.removeClass(ss_currentImageClassName + " " + ss_unactiveImageClassName); 
           ss_finished = true;
        });       
}

function switchSlideWithButtons (imageNumber)
{
    if (imageNumber != ss_currentImage && ss_finished)
    {
        ss_finished = false;
        $(ss_imageID + ss_currentImage).addClass(ss_unactiveImageClassName);

        $(ss_imageID + imageNumber).css ( {opacity: 0.0} )
            .addClass(ss_currentImageClassName).animate( {opacity: 1.0 }, ss_fadeTimeInMilliSeconds, function() {
               $(ss_imageID + ss_currentImage).removeClass(ss_currentImageClassName + " " + ss_unactiveImageClassName); 
               ss_currentImage = imageNumber;
               ss_finished = true;
            });

         $(ss_buttonID + imageNumber).attr("src", ss_activeImageButton);
         reset_Button_Colors(imageNumber);
         clearInterval(ss_timer);
         ss_timer = setInterval("switchSlides()", ss_intervalTimeInMilliSeconds);
    }
    
}

function reset_Button_Colors(imageNumber)
{
    for (i = 1; i <= ss_maxImage; i++)
    {
       if (i != imageNumber)
       {
          $(ss_buttonID + i).attr("src", ss_unactiveImageButton);
       }
    }
}
