//
// image handling functions
//

function turnOffImage(img)
{
	if (isImageSRCValid(img))
	{
		img.src = imagePath(img) + imageFileNameRoot(img) + "_off" + imageType(img);
	}
}

function turnOnImage(img)
{
	if (isImageSRCValid(img))
	{
		img.src = imagePath(img) + imageFileNameRoot(img) + "_on" + imageType(img);
	}
}

function toggleImage(img)
{
	if (isImageSRCValid(img))
	{
		img.src = toggleImageSRC(img);
	}
}

function dimImage(img)
{
	if (isImageSRCValid(img))
	{
		img.src = dimImageSRC(img);
	}
}

function lightImage(img)
{
	if (isImageSRCValid(img))
	{
		img.src = litImageSRC(img);
	}
}

function isImageSRCValid(img)
{
	var result = false;
	if 	(imageState(img) == 'on'  ||
		 imageState(img) == 'off' ||
		 imageState(img) == 'dim' ||
		 imageState(img) == 'lit')
	{
		result = true;
	}
	else
	{
		alert('Error: The image "' +img.name+ '" has an invalid SRC, "' +imageFileName(img)+ '".\nThe filename must end with "_on", "_off", "_dim", or "_lit".');
	}
	return result;
}

function dimImageSRC(img)
{
	return imagePath(img) + imageFileNameRoot(img) + "_dim" + imageType(img);
}

function litImageSRC(img)
{
	return imagePath(img) + imageFileNameRoot(img) + "_lit" + imageType(img);
}

function toggleImageSRC(img)
{
	return imagePath(img) + imageFileNameRoot(img) + ((imageState(img) == "off") ? "_on" : "_off") + imageType(img);
}

function imagePath(img)
{
	return img.src.substring(0,img.src.lastIndexOf("/")+1);
}

function imageFileName(img)
{
	return img.src.substring(img.src.lastIndexOf("/")+1,img.src.length);
}

function imageFileNameRoot(img)
{
	return img.src.substring(img.src.lastIndexOf("/")+1,img.src.lastIndexOf("_"));
}

function imageType(img)
{
	return img.src.substring(img.src.lastIndexOf("."),img.src.length);
}

function imageState(img)
{
	return img.src.substring(img.src.lastIndexOf("_") + 1,img.src.length - 4);
}

function preloadImageStates(img,state0,stateN)
{
	// this seems to be called more than once for each image onLoad???
	if (!isInitialized)
	{
		var preloadArray = new Array();
		for (var i=1; i<arguments.length; i++)
		{
			var imageState = arguments[i];
			preloadArray[i-1] = new Image();
			preloadArray[i-1].src = imagePath(img) + imageFileNameRoot(img) + '_' + imageState + imageType(img);
			alert(preloadArray[i-1].src);
		}
	}
}

//
// Preload images for footer
//

var footer1b = new Image();
footer1b.src = "images/footer/greenfooter1b_on.gif";
var footer1d = new Image();
footer1d.src = "images/footer/greenfooter1d_on.gif";
var footer1f = new Image();
footer1f.src = "images/footer/greenfooter1f_off.gif";
var footer2b = new Image();
footer2b.src = "images/footer/greenfooter2b_off.gif";
