var overImg = new Array(); // array of images for which we'll preload mouseover versions
var overImgLookup = new Object(); // image src lookup hash

if(document.all && !document.getElementById) { // old JScript DOM
	document.getElementById = function(id) {
		return document.all[id];
	}
}

function loadImages() { // function to preload some mouseover images
	if (document.images) {
// watch out as Safari will not resolve relative ULRs and absolute URLs are required when
// setting the src of an image in Safari...

		overImg = getImgs("overImg"); // array of images for which we'll preload mouseover versions

		for(i=0; i<overImg.length; i++) { // generate lookup hash
			if (overImg[i].src.indexOf(".jpg", overImg[i].src.length - 4) >= 0) { // jpg
				overImgLookup[overImg[i].src] = overImg[i].src.replace(".jpg", "_over.jpg"); // only URIs
				overImgLookup[overImg[i].src.replace(".jpg", "_over.jpg")] = overImg[i].src;
			} else if (overImg[i].src.indexOf(".gif", overImg[i].src.length - 4) >= 0){ // gif
				overImgLookup[overImg[i].src] = overImg[i].src.replace(".gif", "_over.gif"); // only URIs
				overImgLookup[overImg[i].src.replace(".gif", "_over.gif")] = overImg[i].src;
			}
		}

		for(key in overImgLookup) {
			cache = newImage(overImgLookup[key]); // call routine to cache (and return, but we dont use it) this image
		}


	}
}

function getImgs(name) { // returns an array of all images of given class
	var images = new Array();
	if (document.images) {
		var k=0; //kounter
		for(i=0; i<document.images.length; i++) {
			if (document.images[i].className==name) {
				images[k]=document.images[i];
				k++;
			}
		}
	}
	return images;
}

function newImage(uri) { // returns an image given a uri
	if (document.images) {
		image = new Image();
		image.src = uri;
		return image;
	}
}

function swapImgs(id) {

	//commented out code is for inverse-highlight behaviour
	//for(j=0;j<overImg.length;j++) { // compare to list of other overImgs
	//
	//	if (document.getElementById(id).src!=overImg[j].src) { //not this one, so swap it
	//		//alert("swap " + techImg[j].src + " for " + techImgLookup[techImg[j].src]);
	//		overImg[j].src=overImgLookup[overImg[j].src];
	//	}
	//}
	if (overImgLookup[document.getElementById(id).src]) {
		document.getElementById(id).src=overImgLookup[document.getElementById(id).src];
	} else { // haven't established a value yet - avoids disappearing mouse-over images!
		document.getElementById(id).src=document.getElementById(id).src;
	}
}

