function PreloadImages() {
	if (!document.images) return;

	var args = PreloadImages.arguments;
	var i = 0;

	while (i < args.length) {
		eval(args[i] + '_over = new Image()');
		eval(args[i] + '_over.src = "' + args[i + 1] + '"');
		eval(args[i] + '_out = new Image()');

		if (args[i + 2] && args[i + 2] != "")
			eval(args[i] + '_out.src = "' + args[i + 2] + '"');
		else
			eval(args[i] + '_out.src = "_null"');
		i = i + 3;
	}
}


function SwapImage() {
	if (!document.images) return;

	var imgName, imageObj, swapName, dotSpot, filePosition, overImageSrc, outImageSrc;
	var args = SwapImage.arguments;
	var i = 0;

	while (i < args.length) {
		imgName = args[i];
		swapName = args[i + 1];
		imageObj = getImageObject(imgName);

		outImageSrc = eval(imgName + '_out.src');
		if (outImageSrc.indexOf("_null") > -1)
			eval(imgName + '_out.src = "' + imageObj.src + '"')

		if (!swapName) {

			overImageSrc = eval(imgName + '_over.src');
			filePosition = imageObj.src.lastIndexOf(overImageSrc);

			if (filePosition >= 0 && (filePosition + overImageSrc.length == imageObj.src.length))
				imageObj.src = eval(imgName + '_out.src');
			else
				imageObj.src = overImageSrc;

		} else if ((dotSpot = swapName.lastIndexOf('.')) > 0) {

			if ((swapName.length - dotSpot >= 4) && (swapName.length - dotSpot <= 5))
				imageObj.src = swapName;		// File name

		} else

			imageObj.src = eval(imgName + '_' + swapName.toLowerCase() + '.src');

		i = i + 2;
	}
}


function getImageObject(imgName) {

	if (document.all) return eval('document.all.' + imgName);		
	if (document.images[imgName]) return document.images[imgName];		
	if (document.layers) return findImage(imgName, document);		

	return null;
}


function findImage(name, doc) {

	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;
}