function findImage (name, d) {
	if (!d)
		d = document;
	
	var img = d.images[name];
	for (var i = 0; !img && d.forms && i < d.forms.length; i++)
		img = d.forms[i][name];
	for (var i = 0; !img && d.layers && i < d.layers.length; i++)
		img = findImage(name, d.layers[i].document);
	return img;
}

function swapImages () {
	for (var i = 0; i < swapImages.arguments.length - 1; i += 2) {
		var img = findImage(swapImages.arguments[i]);
		if (!img.old_src)
			img.old_src = img.src;
		img.src = swapImages.arguments[i+1];
	}
}

function swapImagesRestore (d) {
	if (!d)
		d = document;
	
	for (var i=0; d.images && i < d.images.length; i++) {
		if (d.images[i].old_src) {
			d.images[i].src = d.images[i].old_src;
			d.images[i].old_src = null;
		}
	}
	for (var i = 0; d.forms && i < d.forms.length; i++)
		swapImagesRestore(d.formss[i].document);
	for (var i = 0;  d.layers && i < d.layers.length; i++)
		swapImagesRestore(d.layers[i].document);
}

function preloadImages () {
	if (!document.preloadedImages)
		document.preloadedImages = new Array();

	for (var i=0; i < preloadImages.arguments.length; i++) {
		document.preloadedImages[document.preloadedImages.length] = new Image();
		document.preloadedImages[document.preloadedImages.length - 1].src = preloadImages.arguments[i];
	}
}
