/*************************************************************************************************/
/* Copyright 2007 Lucht Studios - www.LuchtStudios.com  */ 
/* Unauthorized use and/or copying of this code is forbidden. */

var _PanelTag='table';
var _ButtonTag='td';
var _slidePause=4500;

var _CurrentSlide = -1;
var _State='play';
var _PlayPauseIndex = 0;
var _Panels = new Array();
var _Buttons = new Array();
var _ButtonToggle;


/*************************************************************************************************/
function onLoad_Page() {

  var oElements;
  var re = new RegExp('pnlSlide_', 'i');
  var re2 = new RegExp('btnSlide_', 'i');
  /* Find all of the panels */
  oElements = document.getElementsByTagName(_PanelTag);
  for (var i=0; i<oElements.length; i++) {
    if (re.test(oElements[i].id)) {
      _Panels[_Panels.length] = oElements[i];
    }
  }
  
  /* Find all of the panels and player buttons */ 
  oElements = document.getElementsByTagName(_ButtonTag);
  for (var i=0; i<oElements.length; i++) {
    if (re2.test(oElements[i].id)) {
      _Buttons[_Buttons.length] = oElements[i];
    } else if (oElements[i].id == 'btnSlideToggle') {
      _ButtonToggle = oElements[i];  
    }
  }

  slideshow(_PlayPauseIndex);
} /* onLoad */

/*************************************************************************************************/
function showSlideNumber(slideNumber) {
  var oSelector;
    
  for (var i=0; i<_Panels.length; i++) {
    if (i==slideNumber) {
        _CurrentSlide=i;
                       
        _Panels[i].style.display = 'inline';          
        _Buttons[i].className = 'slideshowNumber_Selected';
    } else {
        _Panels[i].style.display = 'none';              
        _Buttons[i].className = 'slideshowNumber';
    }
  }
  
  showPlayPauseState();
  
} /* showSlideNumber */

/*************************************************************************************************/
function showPlayPauseState() {
  if (_State=='play') {
    _ButtonToggle.className = 'slideshowPlayPause';
  } else {
    _ButtonToggle.className = 'slideshowPlayPause_Selected';
  }
} /* showPlayPauseState */

/*************************************************************************************************/
function showSlideNext() {
    _CurrentSlide++;
    if (_CurrentSlide >= _Panels.length || _CurrentSlide<0) {
        _CurrentSlide=0;
    }
    showSlideNumber(_CurrentSlide);
} /* showSlideNext */

/*************************************************************************************************/
function slideshow(playPauseIndexMatch) {

    if (_State=='play' && playPauseIndexMatch==_PlayPauseIndex) {
        showSlideNext();
        setTimeout('slideshow(' + _PlayPauseIndex + ');', _slidePause);
    } else {
    }
}
    
/*************************************************************************************************/
function slideshowPause() {
  _PlayPauseIndex++;
  _State = 'pause';
  showPlayPauseState();
}

/*************************************************************************************************/
function forceSlide(sourceElement) {
  var iSlideNumber;
  iSlideNumber = parseInt(sourceElement.id.split('_')[1]);
  
  slideshowPause();
  showSlideNumber(iSlideNumber);
}

/*************************************************************************************************/
function slideshowPlay() {
  _PlayPauseIndex++;
  _State = 'play';
  slideshow(_PlayPauseIndex);
}

/*************************************************************************************************/
function slideshowTogglePlay() {
  if (_State!='play') {
    slideshowPlay();
  } else {
    slideshowPause();
  }
}

/*************************************************************************************************/
function ls_getElementById(elementId) {
    if (document.getElementById) {
        return document.getElementById(elementId);
    } else if (document.all) {
        return document.all[elementId];
    }
    else return null;
}



    
    
