/* Rotating image gallery thing for Silk Day Spa */

var timeBetweenImages = 5.0; // seconds before changing images
var timeToFade = 1.0; // seconds to fade between images
var crntIndex = 0; // the array index
var mainLoaded = false;
var cornerLoaded = false;

/* our physical images */
var imageb;		// main image bottom
var imaget;		// main image top
var cornerb;	// corner image bottom
var cornert;	// corner image top
var imagelink;  // main image link

var tmpMain = new Image();
var tmpCorner = new Image();
var tmpLink = '';

var IsRotating = false;

var Debug = true;

function doAlert (msg)
{
	if (Debug == true) {
		var c = document.getElementById('console');
		
		if (c) {
			c.innerHTML = msg + '<br />' + c.innerHTML;
		}
	}
}

function startRotation ()
{
	imageb = document.getElementById('main-b'); // main image bottom
	imaget = document.getElementById('main-t'); // main image top
	cornerb = document.getElementById('corner-b'); // corner image bottom
	cornert = document.getElementById('corner-t'); // corner image top
	imagelink = document.getElementById('main-link'); // image link

	imaget.src = Images[crntIndex].main;
	cornert.src = Images[crntIndex].corner;
	if (Images[crntIndex].url) {
	    imagelink.href = Images[crntIndex].url;
	}

	doAlert('Starting Rotation');
	window.setTimeout(rotateImage, timeBetweenImages * 1000);
}

function rotateImage ()
{
	crntIndex++;
	
	if (crntIndex == Images.length) { crntIndex = 0; }

	doAlert('Rotating to image: ' + crntIndex);
	
	mainLoaded = false;
	cornerLoaded = false;
	
	tmpMain.onload = onMainImageLoaded;
	tmpCorner.onload = onCornerImageLoaded;
	
	tmpMain.src = Images[crntIndex].main;
	tmpCorner.src = Images[crntIndex].corner;
	tmpLink = Images[crntIndex].url;
}

function onMainImageLoaded ()
{
	mainLoaded = true;
	
	if (cornerLoaded == true) {
		onImagesLoaded();
	}
}

function onCornerImageLoaded ()
{
	cornerLoaded = true;
	
	if (mainLoaded == true) {
		onImagesLoaded();
	}
}

function onImagesLoaded (img)
{
	IsRotating = true;
	
	doAlert('Both Loaded');
	imageb.src = tmpMain.src;
	cornerb.src = tmpCorner.src;
	
	if (tmpLink && tmpLink.length > 1)
	{
		imagelink.href = tmpLink;
		imagelink.disabled = false;
	} else 
	{
		imagelink.href = '#';
		imagelink.disabled = true;
	}
	
	doAlert('imagelink.href = ' + imagelink.href);
	doAlert('imagelink.disabled = ' + imagelink.disabled);
	
	doAlert('imageb.src = ' + imageb.src);
	doAlert('cornerb.src = ' + cornerb.src);
	
	var eff1 = new Effect.Opacity(imaget, { from: 1.0, to: 0.0, duration: timeToFade });
	var eff2 = new Effect.Opacity(cornert, { from: 1.0, to: 0.0, duration: timeToFade, afterFinish: imageCleanup });
}

function imageCleanup ()
{
	doAlert('Finished crossfade');
	
	imaget.src = imageb.src;
	cornert.src = cornerb.src;
	
	Element.setOpacity(imaget, 1.0);
	Element.setOpacity(cornert, 1.0);
	
	window.setTimeout(rotateImage, timeBetweenImages * 1000);
	
	IsRotating = false;	
}
