var HOME_SHOW = 0;
var FULL_SHOW = 1;
var show_type = HOME_SHOW;
var pics = new Array();
var slides = new Array();
var ss;
var IDX = 0, PIC = 0, CAP = 1;
//var f;
//xlert("loaded incSlideShow.js");
// *****************************************************
function InitSlideShow(id)
{
	var i = 0, offset = 0, ss_slides, count;  // removed prefix

			ss_slides = ss_home;
/*  Allow for multiple slide shows
	// Xlert("Init 1: id="+id);
	switch (id) {
		case "Home":
			ss_slides = ss_home;
			break;
		case "Dublin":
			ss_slides = ss_dublin;
			break;
		case "Leverett":
			ss_slides = ss_leverett;
			break;
		case "Peterboro1":
			ss_slides = ss_peterboro1;
			break;
		case "Temple":
			ss_slides = ss_temple;
			break;
		case "Peterboro2":
			ss_slides = ss_peterboro2;
			break;
		default:
		// Xlert("Invalid Slide Show Id!");
			break;
	} */
	CreateShow("SS_" + id, id, ss_slides[IDX][CAP]);
//xlert("finished CreateShow ");
	count = ss_slides.length - 1;
	if (show_type == HOME_SHOW)
		++count;
//Xlert("loaded "+count+" slides");
//	prefix = "_images/" ; -- needed to be made global
	if (show_type == FULL_SHOW)
		offset = 1;

	for (i = 0; i < count; ++i){
		slides[i]  = [ prefix + ss_slides[i + offset][0] + ".jpg", ss_slides[i + offset][1]];
	}

	LoadSlideImages();
if (show_type == FULL_SHOW)
	GetSlideText(1);
	return;
}
// ***************************************
function CreateShow(folder, prefix, titlex)
{
	ss = new DefineShow(folder, prefix, titlex, 0, 0, 0, 0, 500, 375);
	return;
}
// **************************************
function DefineShow(folder, prefix, titlex, state, t, v, n, oW, oH)
{

	this.folder = folder;
	this.prefix = prefix;
	this.titlex = titlex;
	this.state = state;
	this.t = t;
	this.v = v;
	this.n = n;
	this.oW = oW;
	this.oH = oH;
	f.currSlide.value = this.n;
	return;
}
// *************************************
function LoadSlideImages()
{
	var i, count;
	//xlert('inside loadslide images');
	count = slides.length;
	for (i = 0; i < count; i++) {
		pics[i] = new Image();
		pics[i].src  = slides[i][0];
		//xlert('loading slide '+i+' with source of '+pics[i].src);
	}

	GetCurrSlide();
	++ss.n;
	return;
}
// ************************************
function GetCurrSlide()
{
	document.getElementById("stage").src = pics[ss.n].src;
	return;
}
/*
// ***************************************
function Back()
{
	--ss.n;
	if (ss.n < 0)
		ss.n = slides.length - 1;
	GetCurrSlide()
	GetSlideText(ss.n + 1)
	return;
}
// *******************************
function Fwd()
{
	++ss.n;
	if (ss.n >= slides.length)
		ss.n = 0;
	GetCurrSlide()
	GetSlideText(ss.n + 1)
	return;
}
*/
/*
// *****
function Pause()
{
	Toggle("pause", "resume");
	GetId("back").style.visibility = "visible";
	GetId("fwd").style.visibility = "visible";
	ss.state = 1;
	stopSS();
	return;
}
// ******************************************
function Resume()
{
	Toggle("resume", "pause");
	GetId("back").style.visibility = "hidden";
	GetId("fwd").style.visibility = "hidden";
	ss.state = 0;
	startSS();
	return;
}
// ***********************************
function Toggle(id_off, id_on)
{
	// Xlert("Toggle id_off="+id_off+"  id_on="+id_on);
	GetId(id_off).style.display = "none"
	GetId(id_on).style.display = "block";
	return;
}
// ****************************************
function stopSS()
{
	if(ss.t)
		ss.t = clearTimeout(ss.t);
	return;
}
// ****************************************
function startSS()
{
	ss.t = setTimeout("runSS(" + f.currSlide.value + ")", 1 * 1);
	return;
}
*/
// *********************************
function GetSlideText(slide_no)
{
  //xlert("GetSlideText slide_no="+slide_no);
	document.getElementById("SlideText").text = ss.titlex + "  (Slide " + slide_no + " of " + slides.length + ")";
	return;
}
/*
// ****************************************
function DebugSlideShow()
{
	ss.n = GetId("debug").selectedIndex;
	GetCurrSlide()
	GetSlideText(ss.n)
	Pause();
	return;
}
*/
// ***************************************
function loadSS()
{
	var runVar1 = f.currSlide.value;
	var runVar2 = (f.delay.value * 2000) * 1;
	//xlert("runSS(" + runVar1 +"),"+ runVar2);
	ss.t = setTimeout("runSS(" + runVar1 +")", runVar2);
	// Xlert("value of ss.t is "+ss.t);
	return;
}
// *****************************************/
function runSS(n){
	//xlert("Entered runSS");
	if (ss.state == 1)
		return;

	clearTimeout(ss.v);
	clearTimeout(ss.t);
	ss.n = ++n;

	if (ss.n >=  slides.length)
		ss.n = 0;

	//xlert("current content of stage element is "+document.getElementById('stage').src);
	document.getElementById('stage').src = pics[ss.n].src;
	//xlert("new content of stage element is "+document.getElementById('stage').src);

	//xlert("show type = "+show_type);
	//if (show_type == FULL_SHOW)
	//xlert('Ready to show text from change content()');
		changecontent();
// try inclusion of method from fadeScroller.js - without timer
		//GetSlideText(ss.n + 1);
	//xlert("current content of text element is "+document.getElementById('fscroller').text);
	WaitForEffect(ss.n, f.delay.value); // wait for completion of effect
return;
}
// *****
function WaitForEffect(n, dur)
{
	//xlert("waiting for effect");
	ss.v = setTimeout("WaitForSlide(" + n + ")", dur * 1000);
	return;
}
// *****
function WaitForSlide(n) // delay slide
{
	clearTimeout(ss.v);
	f.currSlide.value = n;
	ss.t = setTimeout("runSS(" + f.currSlide.value + ")", parseInt(f.delay.value) * 1000);
	return;
}