/* *************************************************
*
*	© 2000 Etensity, Inc.
*	Image Rollover code (in JavaScript)
*
*	Updated:	November 20, 2000
*	By:		Creative Development (Vienna)
*
*************************************************** */


function SwapImage(imgName, swapName) {
	// Load file directly if image filename is used, otherwise find preloaded image name
	//    based on objectname_method (i.e. button_over, button_out, ...)

	if (!document.images) return;

	imageObj = getImageObject(imgName);

	// If no swapName used, switch between over and out preloaded images
	if (!swapName) {
		if (eval(imgName + '_over.src') == imageObj.src) {
			imageObj.src = eval(imgName + '_out.src');
		} else {
			imageObj.src = eval(imgName + '_over.src');
		}
		return;
	}

	// Anything used in <img src>
	imageTypes = new Array("gif", "jpg", "jpeg", "png");

	for (i in imageTypes) {
		if (swapName.toLowerCase().lastIndexOf('.' + imageTypes[i]) != -1) {
			imageObj.src = swapName;		// File name
			return;
		}
	}

	// Uses preloaded image object
	imageObj.src = eval(imgName + '_' + swapName.toLowerCase() + '.src');
}


function getImageObject(imgName) {
	// Find image object
	if (document.all) return eval('document.all.' + imgName);			// IE4+
	if (document.images[imgName]) return document.images[imgName];		// W3C, NS
	if (document.layers) return findImage(imgName, document);			// NS4

	return null;
}


function findImage(name, doc) {
	// Recurse through layers to find image
	if (doc.images[name]) return doc.images[name];

	var i, img;
	for (i = 0; i < doc.layers.length; i++)
		if ((img = findImage(name, doc.layers[i].document)) != null) {
			img.container = doc.layers[i];
			return img;
		}
	return null;
}
