/*******************************************************************************
____________________________ API DOCUMENTATION BEGIN ___________________________
````````````````````````````````````````````````````````````````````````````````
Provides support for slide show.

````````````````````````````````````````````````````````````````````````````````
_____________________________ API DOCUMENTATION END ____________________________
*******************************************************************************/

//------------------------------------------------------------------------------
// VARIABLES BEGIN
//------------------------------------------------------------------------------

currentSlide = 0; //current slide
slideDelay = 4500; //slide change speed
slideArr = new Array(); //slide array

//------------------------------------------------------------------------------
// VARIABLES END
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
// CLASS CONSTRUCTORS BEGIN
//------------------------------------------------------------------------------

//CLASS CONSTRUCTOR--
function Class_SlideShow(argDivID, argSlide, argLedDivID, argLedNum) {
 this.objDivElement = document.getElementById(argDivID); //create reference to [object HTMLDivElement]
 this.slide = argSlide;
 this.ledID = document.getElementById(argLedDivID); //create reference to [object HTMLDivElement]
 this.ledNum = argLedNum;
}

//------------------------------------------------------------------------------
// CLASS CONSTRUCTORS END
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
// FUNCTIONS BEGIN
//------------------------------------------------------------------------------

function initSlides() {
 slideArr.push(new Class_SlideShow("slidesDiv", '<a href="consumer/about_yaz/counseling_video.jsp" onmouseover="clearTimer();" onmouseout="doSlide(null);"><img src="consumer/home/images/slide_5.jpg" alt="" width="325" height="200" border="0" /></a><br />', "controlLed", 1));
 slideArr.push(new Class_SlideShow("slidesDiv", '<a href="javascript: void(null);" onclick="doXpress(); return false;" onmouseover="clearTimer();" onmouseout="doSlide(null);"><img src="consumer/home/images/slide_1.jpg" alt="" width="325" height="200" border="0" /></a><br />', "controlLed", 2));
 slideArr.push(new Class_SlideShow("slidesDiv", '<a href="consumer/yaz_xpress/yaz_tools/body_diary_welcome.jsp" onmouseover="clearTimer();" onmouseout="doSlide(null);"><img src="consumer/home/images/slide_4.jpg" alt="" width="325" height="200" border="0" /></a><br />', "controlLed", 3));
 slideArr.push(new Class_SlideShow("slidesDiv", '<a href="consumer/flash/waiting_room_brochure/files/yaz_waiting_room_brochure.pdf" onclick="brochureWin(\'consumer/flash/waiting_room_brochure/\'); return false;" onmouseover="clearTimer();" onmouseout="doSlide(null);"><img src="consumer/home/images/slide_2.jpg" alt="" width="325" height="200" border="0" /></a><br />', "controlLed", 4));

 document.getElementById("slideContainer").style.display = "block"; //display interface 
 slideArr[currentSlide].objDivElement.innerHTML = slideArr[currentSlide].slide; //load default slide

 pageLoaded = true;
 slideTimer = setTimeout("doSlide(1)", slideDelay); //invoke slide show
}

//FUNCTION-- invokes clearTimer and setSlide functions
function doSlide(argDirection) {
 if(pageLoaded)
 {
  if(slideTimer) clearTimer();
  setSlide(argDirection);
 }
}

//------------------------------------------------------------------------------

//FUNCTION-- sets slide for viewing
function setSlide(argDirection) {
 if(pageLoaded)
 {
	if(argDirection == null) //if called from image
	{
   slideArr[currentSlide].objDivElement.innerHTML = slideArr[currentSlide].slide;
   slideArr[currentSlide].ledID.innerHTML = slideArr[currentSlide].ledNum;
	}
  else if(argDirection) //clicked next button
  {
	 if(currentSlide < slideArr.length-1) {currentSlide += 1;}
	 else {currentSlide = 0;}
   slideArr[currentSlide].objDivElement.innerHTML = slideArr[currentSlide].slide;
   slideArr[currentSlide].ledID.innerHTML = slideArr[currentSlide].ledNum;
  }
  else //clicked previous button
  {
	 if(currentSlide != 0) {currentSlide -= 1;}
	 else {currentSlide = slideArr.length-1;}
   slideArr[currentSlide].objDivElement.innerHTML = slideArr[currentSlide].slide;
   slideArr[currentSlide].ledID.innerHTML = slideArr[currentSlide].ledNum;
  }
 }
 slideTimer = setTimeout("setSlide(1)", slideDelay);
}

//------------------------------------------------------------------------------

//FUNCTION-- clears setTimeout object
function clearTimer() {
 if(pageLoaded) clearTimeout(slideTimer);
}

//------------------------------------------------------------------------------
// FUNCTIONS END
//------------------------------------------------------------------------------

addOnLoadEvent(initSlides);