// JavaScript Document

var SlideShows = new Array;
var TickRate = 100;
var CurrentTick = 0;

function SlideShowObject(SlideNames, SlideToChange, Frequency, InitialTimer)
{
	this.SlideNames = SlideNames;
	this.Frequency = Frequency; // in ms
	this.SlideImages = new Array(SlideNames.length);
	if (this.SlideImages.length) { // preload the first one
		this.SlideImages[0] = new Image;
		this.SlideImages[0].src=SlideNames[0];
	}
	this.InitialTimer = InitialTimer;
	this.CurImage = 0;
	this.AllLoaded = 0;
	this.TimerCount = 0;
	this.SlideShowStarted = 1;
	this.LastTick = CurrentTick + InitialTimer;
	this.SlideIndex = SlideShows.length;
	this.SlideToChange = SlideToChange;
	SlideShows[SlideShows.length] = this;
}

function AdvanceShow(SlideObject) {
	if (SlideObject.SlideShowStarted==0)
		return 1;
	if (SlideObject.SlideImages[SlideObject.CurImage].complete) {
		if (CurrentTick > SlideObject.LastTick + SlideObject.Frequency) {
			SlideObject.LastTick = CurrentTick;
			SlideObject.CurImage=SlideObject.CurImage+1;
			if (SlideObject.CurImage>=SlideObject.SlideImages.length) {
				SlideObject.CurImage=0;
			}
			SlideObject.SlideToChange.src=SlideObject.SlideImages[SlideObject.CurImage].src;
//				document.getElementById("SlideText").innerHTML = ImageText[curImage];
			if ((SlideObject.CurImage+2)<SlideObject.SlideImages.length) {
				if (!SlideObject.AllLoaded) {
					SlideObject.SlideImages[SlideObject.CurImage+2] = new Image;
					SlideObject.SlideImages[SlideObject.CurImage+2].src=SlideObject.SlideNames[SlideObject.CurImage+2];
				}
			} else {
				SlideObject.AllLoaded = 1;
			}
		}
		return 1;
	}
	return 0; // suppress the counter
}


function AutoSlideShow() {
	var i;
	var good = 0;
	for (i=0; i<SlideShows.length; i++) {
		if (AdvanceShow(SlideShows[i])==1)
			good++;
	}
	if (good==SlideShows.length)
		CurrentTick+=100;
	var delay = setTimeout("AutoSlideShow()",100);
}

function ToggleSlideShow() {
	if (SlideShowStarted == 0) {
		StartSlideShow();
		document.SlideButton.src = slideStopImage;
	} else {
		StopSlideShow();
		document.SlideButton.src = slideStartImage;
	}
}

function SlideButtonOver() {
	if (SlideShowStarted == 1) {
		document.SlideButton.src = slideStopHighlightImage;
	} else {
		document.SlideButton.src = slideStartHighlightImage;
	}
}

function SlideButtonOut() {
	if (SlideShowStarted == 1) {
		document.SlideButton.src = slideStopImage;
	} else {
		document.SlideButton.src = slideStartImage;
	}
}

function StopSlideShow(SlideObject) {
	SlideObject.SlideShowStarted = 0;
}

function ResetShow(SlideObject) {
	if (SlideObject.SlideNames.length>1) {
		SlideObject.TimerCount=CurrentTick + SlideObject.InitialTimer;
		SlideObject.SlideShowStarted = 1;
		if (SlideObject.CurImage+1<SlideObject.SlideNames.length) { // preload the first two
			SlideObject.SlideImages[SlideObject.CurImage+1] = new Image;
			SlideObject.SlideImages[SlideObject.CurImage+1].src=SlideObject.SlideNames[SlideObject.CurImage+1];
			if (SlideObject.CurImage+2<SlideObject.SlideNames.length) {
				SlideObject.SlideImages[SlideObject.CurImage+2] = new Image;
				SlideObject.SlideImages[SlideObject.CurImage+2].src=SlideObject.SlideNames[SlideObject.CurImage+2];
			}
		}
	}
}

function StartSlideShows() {
	var i;
	for (i=0; i<SlideShows.length; i++) {
		ResetShow(SlideShows[i])
	}
	var delay = setTimeout("AutoSlideShow()",TickRate);
}
