// JavaScript Document
// variables for all slideshows *** EDIT values in page-embedded script
var path = "/Images/"; 					// path to image directory on your server. 

// variables for auto-rotating slideshow *** EDIT values in page-embedded script
var frequency = 4000;					// slideshow frequency in milliseconds.
var startImage = -1;					// starting image for the show, defaults to dynamically selected start image. 
var dynamicStart = "";					// options are "month", "dayOfTheMonth", "dayOfTheWeek", "hour" and "now" (default = "now", selects a random image to start the show.
var stopLink = "<a href='#' onClick='stopShow(); return false;'>Stop Slideshow</a>";
var startLink = "<a href='#' onClick='startShow(); return false;'>Start Slideshow</a>";

// variables for user-navigable slideshow ** EDIT values in page-embedded script
var slidelinkColor = "#000000";			// color for current slide number.
var linksOn	= false;					// true to turn on index links.
var userNav = true;					// true to make slideshow navigable

var captionOn = true;					// true to display Captions

var i;									// slide index number *** DO NOT EDIT 


// selects how slideshow will function
function startSlideshow()	{
	if (document.images.slideshowImage)
		if (userNav == true) 
			document.onload = beginSlideshowNav();
		else
			document.onload = beginSlideshowAuto();	
}	

// initializes auto-rotating slideshow *** DO NOT EDIT 
function beginSlideshowAuto() 	{					
	var iMax = slides.length;
	
	if(startImage < 0)	
		i = getStartIndex();
	else
		i = startImage;
	i = i % iMax;

	document.slideshowImage.src = path + slides[i];
	
	displayCap();
	if(document.all)	
		document.all.slideshowNav.innerHTML = stopLink;
	else if(document.getElementById)	{
		rng = document.createRange();
		el = document.getElementById("slideshowNav");
		rng.setStartBefore(el);
		htmlFrag = rng.createContextualFragment(stopLink);
		while (el.hasChildNodes())
			el.removeChild(el.lastChild);
		el.appendChild(htmlFrag);
	}
	
	k = setInterval("altercontent()",frequency);
}

// auto-rotates slides *** DO NOT EDIT 
function altercontent(){
	clearCap();
	document.slideshowImage.src = path + slides[i];
	displayCap();

	if (i==slides.length-1)
		i=0;
	else
		i++;
}

// stops auto-rotating slideshow *** DO NOT EDIT 
function stopShow()	{
	clearInterval(k);
	
	if(document.all)	
		document.all.slideshowNav.innerHTML = startLink;
	else if(document.getElementById)	{
		rng = document.createRange();
		el = document.getElementById("slideshowNav");
		rng.setStartBefore(el);
		htmlFrag = rng.createContextualFragment(startLink);
		while (el.hasChildNodes())
			el.removeChild(el.lastChild);
		el.appendChild(htmlFrag);
	}
}

// resumes auto-rotating slideshow *** DO NOT EDIT 
function startShow()	{
	if(document.all)	
		document.all.slideshowNav.innerHTML = stopLink;
	else if(document.getElementById)	{
		rng = document.createRange();
		el = document.getElementById("slideshowNav");
		rng.setStartBefore(el);
		htmlFrag = rng.createContextualFragment(stopLink);
		while (el.hasChildNodes())
			el.removeChild(el.lastChild);
		el.appendChild(htmlFrag);
	}
	
	altercontent();
	k = setInterval("altercontent()", frequency);
}

// gets beginning index number for auto-rotating slideshow *** DO NOT EDIT 
function getStartIndex() {
	var iMax = slides.length;
	var dateObj = new Date();
	var d;	
	
	switch(dynamicStart) {
		case "month": // 0 - 11
      		d = dateObj.getMonth();
      		break
    	case "dayOfTheMonth": // 1 - 31
      		d = dateObj.getDate() - 1; // 0 - 30
      		break;
    	case "dayOfTheWeek": // 0 - 6
      		d = dateObj.getDay();
      		break;
    	case "hour": // 0 - 23
      		d = dateObj.getHours();
      		break;
    	case "now": // Default
    	default:
      		d = getRandomIndex(iMax);
	}
	return d;
}

// gets a random number *** DO NOT EDIT 
function getRandomIndex(iMax) {
	var randomNum = Math.random();
	randomNum = randomNum * iMax;
	randomNum = parseInt(randomNum);
	if(isNaN(randomNum)) randomNum = 0; // for Netscape
	return randomNum;
}

// initializes user-navigable slideshow *** DO NOT EDIT
function beginSlideshowNav() 								
{
	if (document.layers)
		beginSlideshowAuto();
	else	{	
		i = 0;
		
		var strLinks = "<a href='#' onClick='backSlide(); return false;'>&lt;&lt; back</a> | <a href='#' onClick='nextSlide(); return false;'>next &gt;&gt;</span></a>";
		if (linksOn)	{
			strLinks = "<a href='#' onClick='backSlide(); return false;'>&lt;&lt; </a>";
			for (var loop = 0; loop < slides.length; loop++)	
  				strLinks = strLinks + "&nbsp;<a href='#' id='slide" + loop + "' onClick='thisSlide(" + loop + "); return false;'>" + (loop+1) + "</a>";
			strLinks = strLinks + "&nbsp;<a href='#' onClick='nextSlide(); return false;'>  &gt;&gt;</span></a>";
		}
		
		document.slideshowImage.src = path + slides[i];
		displayCap();
		if(document.all)	{
			document.all.slideshowNav.innerHTML = strLinks;
			if (linksOn)
				document.all.slide0.style.color = slidelinkColor;
		}	
		else if(document.getElementById)	{	
			rng = document.createRange();
			el = document.getElementById("slideshowNav");
			rng.setStartBefore(el);
			htmlFrag = rng.createContextualFragment(strLinks);
			while (el.hasChildNodes())
				el.removeChild(el.lastChild);
			el.appendChild(htmlFrag);
			if (linksOn)
				document.getElementById("slide0").style.color = slidelinkColor;
		}
	}
}

// moves to next index in user-navigable slideshow *** DO NOT EDIT 
function nextSlide()									
{
	oldSlideIndex = "slide" + i;
	if (i < (slides.length-1)) 
		++i;
	else 
		i = 0;
	newSlideIndex = "slide" + i;
	
	document.slideshowImage.src = path + slides[i];
	displayCap();
	if (linksOn) {
		changeLinkColors(oldSlideIndex, newSlideIndex);
	}
}

// moves to previous index in user-navigable slideshow *** DO NOT EDIT 
function backSlide()								
{
	oldSlideIndex = "slide" + i;
	if (i >= 1) 
		--i;
	else 
		i = (slides.length-1);
	newSlideIndex = "slide" + i;
	
	document.slideshowImage.src = path + slides[i];
	displayCap();
	if (linksOn) {
		changeLinkColors(oldSlideIndex, newSlideIndex);
	}
}

// moves to selected index in user-navigable slideshow *** DO NOT EDIT 
function thisSlide(j) 									
{
	oldSlideIndex = "slide" + i;
	newSlideIndex = "slide" + j;
	i = j;
	
	document.slideshowImage.src = path + slides[i];	
	displayCap();
	if (linksOn) 
		changeLinkColors(oldSlideIndex, newSlideIndex);
}

// changes link colors to indicate current index *** DO NOT EDIT
function changeLinkColors(oldSlideID, newSlideID)	{
	if (document.all)	{
		document.all[oldSlideID].style.color = "";	
		document.all[newSlideID].style.color = slidelinkColor;	
	}	
	else if (document.getElementById)	{
		document.getElementById(oldSlideID).style.color = "";
		document.getElementById(newSlideID).style.color = slidelinkColor;
	}
}

// displays captions for any slideshow *** DO NOT EDIT 
function displayCap()
{
	if(document.all)	
		if (typeof(captions[i]) != "undefined")
			document.all.slideshowCaption.innerHTML = captions[i];
		else
			document.all.slideshowCaption.innerHTML = "&nbsp;";
	else if(document.getElementById)	{
		rng = document.createRange();
		el = document.getElementById("slideshowCaption");
		rng.setStartBefore(el);
		if (typeof(captions[i]) != "undefined")
			htmlFrag = rng.createContextualFragment(captions[i]);
		else
			htmlFrag = rng.createContextualFragment("&nbsp;");
		while (el.hasChildNodes())
			el.removeChild(el.lastChild);
		el.appendChild(htmlFrag);
	}
}

// displays captions for any slideshow *** DO NOT EDIT 
function clearCap()
{
	if(document.all)	
		document.all.slideshowCaption.innerHTML = "&nbsp;";
	else if(document.getElementById)	{
		rng = document.createRange();
		el = document.getElementById("slideshowCaption");
		rng.setStartBefore(el);
		htmlFrag = rng.createContextualFragment("&nbsp;");
		while (el.hasChildNodes())
			el.removeChild(el.lastChild);
		el.appendChild(htmlFrag);
	}
}

