/*//////////////////////////////////////////////////
// Olea Flowers Website (www.oleaflowerstudio.com)
// Date Created: February 2009
// Date Modified: May 2009
// Written By: Simon Goldhill
// JavaScript - javascript/slideShow.js
//////////////////////////////////////////////////*/

var changeInterval = 10000; /* Milliseconds */
var fadeInterval = 2000;
var imageDirectory = "pictures/slideShow/";
var imageArray = new Array();
var imageNum = 0;
var imageObject;
var numberImages = 0;


function loadImages(pageName)
{
	switch(pageName)
	{
	case 'weddings':
		imageArray[imageNum++] = imageItem(imageDirectory + "weddings/" + "01.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "weddings/" + "02.jpg"); /* Effectively loads this image first */
		imageArray[imageNum++] = imageItem(imageDirectory + "weddings/" + "03.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "weddings/" + "04.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "weddings/" + "05.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "weddings/" + "06.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "weddings/" + "07.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "weddings/" + "08.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "weddings/" + "09.jpg");
		break;
	case 'events':
		imageArray[imageNum++] = imageItem(imageDirectory + "events/" + "01.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "events/" + "02.jpg"); /* Effectively loads this image first */
		imageArray[imageNum++] = imageItem(imageDirectory + "events/" + "03.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "events/" + "04.jpg");	
		break;
	/*case 'hire':
		imageArray[imageNum++] = imageItem(imageDirectory + "hire/" + "01.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "hire/" + "02.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "hire/" + "03.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "hire/" + "04.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "hire/" + "05.jpg");
		break;*/
	case 'about':
		imageArray[imageNum++] = imageItem(imageDirectory + "about/" + "01.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "about/" + "02.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "about/" + "03.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "about/" + "04.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "about/" + "05.jpg");
		break;
	case 'contact':
		imageArray[imageNum++] = imageItem(imageDirectory + "contact/" + "01.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "contact/" + "02.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "contact/" + "03.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "contact/" + "04.jpg");	
		imageArray[imageNum++] = imageItem(imageDirectory + "contact/" + "05.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "contact/" + "06.jpg");
		break;
	case 'index':
	default:
		/* This should not occur, but if so, we will load the same as the index page */
		imageArray[imageNum++] = imageItem(imageDirectory + "index/" + "01.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "index/" + "02.jpg"); /* Effectively loads this image first */
		imageArray[imageNum++] = imageItem(imageDirectory + "index/" + "03.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "index/" + "04.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "index/" + "05.jpg");
		imageArray[imageNum++] = imageItem(imageDirectory + "index/" + "06.jpg");
	}
	numberImages = imageArray.length;
}

function imageItem(imageLocation) 
{
	this.imageObject = new Image();
	this.imageObject.src = imageLocation;
	return (this.imageObject);
}

function getNextImage()
{
	var newImage;
	
	imageNum = (imageNum + 1) % numberImages;	
	newImage = getImageItemLocation(imageArray[imageNum]);
	return (newImage);
}

function getImageItemLocation(getImageObject) 
{
	return (getImageObject.src);
}

function switchImage(imageElementToChange, pageName) 
{
	var newImage;
	var recursiveCallStr;
	var numLoop = 0;
	var numSpeed = Math.round(fadeInterval / 100);
	var numTimer = 0;
	
	if (imageArray.length <= 0)
	{
		loadImages(pageName);
	}
	newImage = getNextImage();
	setOpacity(imageElementToChange, 0);
	document[imageElementToChange].src = newImage;
	for (numLoop = 0; numLoop <= 100; numLoop++) 
	{
		setTimeout("setOpacity('" + imageElementToChange + "', " + numLoop + ")", numTimer * numSpeed);
		numTimer++;
	}	
	if (imageArray.length > 1) /* Only need to change image when more than one picture present */
	{
		recursiveCallStr = "switchImage('" + imageElementToChange + "')";
		setTimeout(recursiveCallStr, changeInterval);
	}
}

function setOpacity(imageElementToChange, numValue)
{
	var imgObject = document[imageElementToChange].style;
	
	imgObject.opacity = (numValue / 100);
	imgObject.filter = "alpha(opacity=" + numValue + ")";
}

/* TO DO STUFF BELOW */

function slidePlay()
{
	
}

function slidePause()
{
	
}

function slideNext()
{
	
}

function slidePrevious()
{
	
}

/*///////////////////////
//END OF JAVASCRIPT FILE
///////////////////////*/
