﻿var Images				= [];
var CurrentImgIndex		= 0;
var LastImgIndex		= 0;
function PreloadHeaderImages	(imgMainImage, imgBackImage, newImageInterval, fadeOutInterval)
{
	var ImageUrls	= 
		[
			"Background-MainSplash.jpg",
			"Background-Splash-Autumn-02.jpg",
			"Background-Splash-Autumn-05.jpg",
			"Background-Splash-Spring-04.jpg",
			"Background-Splash-Summer-06.jpg",
			"Background-Splash-Winter-01.jpg",
			"Background-Splash-Winter-03.jpg"
		];
	for (var i=0; i<ImageUrls.length; i++)
	{
		var		TmpImage		= new Image(); 
		TmpImage.src = BaseImageUrl + ImageUrls[i]; 
		Images[Images.length]	= TmpImage;
	}
	setTimeout(function() { MoveNextImage(imgMainImage, imgBackImage, newImageInterval, fadeOutInterval); }, newImageInterval);
}
function	MoveNextImage		(imgMainImage, imgBackImage, newImageInterval, fadeOutInterval)
{
	LastImgIndex	= CurrentImgIndex;
	if (CurrentImgIndex==Images.length-1)
	{
		CurrentImgIndex			= 0; 
	}
	else 
	{
		CurrentImgIndex++;
	}
	imgBackImage.src				= Images[LastImgIndex].src;
	imgMainImage.src				= Images[CurrentImgIndex].src;
	imgBackImage.style.opacity		= 1;
	FadeOut(imgBackImage, fadeOutInterval);
	setTimeout(function() { MoveNextImage(imgMainImage, imgBackImage, newImageInterval, fadeOutInterval); }, newImageInterval);
}
function	SwapImagesOut		(oldImage, newImage)
{

}
function	FadeIn				(element, duration)							
{
	FadeCallback(element, 0, 0.1, duration / 10);
}
function	FadeCallback		(element, value, increment, duration)			
{
	element.style.opacity	= value;
	value += increment;
	if (((increment<0) && (value>0)) || ((increment>0) && (value<=1)))
		{ setTimeout(function() { FadeCallback(element, value, increment, duration); }, duration); }
}
function	FadeOut				(element, duration)							
{
	FadeCallback(element, 1, -0.1, duration / 10);
}
function	ScrollLeft			(element, duration, amount)							
{
	var		InitialScrollLeft		= parseFloat(element.scrollLeft);
	ScrollCallback(element, InitialScrollLeft, -10, duration / 40, InitialScrollLeft - amount);
}
function	ScrollRight			(element, duration, amount)							
{
	var		InitialScrollLeft		= parseFloat(element.scrollLeft);
	ScrollCallback(element, InitialScrollLeft, 10, duration / 40, InitialScrollLeft + amount);
}
function	ScrollCallback		(element, value, increment, duration, stopAt)			
{
	element.scrollLeft = value;
	value += increment;
	if (((increment<0) && (value>=stopAt)) || ((increment>0) && (value<=stopAt)))
		{ setTimeout(function() { ScrollCallback(element, value, increment, duration, stopAt); }, duration); }
	else 
		{ element.scrollLeft = stopAt; }
}

