function imageDown(oImage) {
	if (oImage.sDownSrc) {oImage.src = oImage.sDownSrc;}
	else if (oImage.src.match(imageDown.reDownGif)) {/* do nothing */}
	else {oImage.src = oImage.src.substring(0, oImage.src.length - 4) + '_down.gif';}
}
imageDown.reDownGif = /_down\.gif/;

function imageOver(oImage) {
	if (oImage.src.match(imageOver.reOverGif)) {return;}
	oImage.src = oImage.src.substring(0, oImage.src.length - 4) + "_over.gif";
}
imageOver.reOverGif = /_over\.gif/;

function imageOut(oImage) {
	if (oImage.sDefaultSrc) {oImage.src = oImage.sDefaultSrc; return;}
	if (oImage.src.match(imageOut.reDownGif)) {
		oImage.src = oImage.src.substring(0, oImage.src.length - 9) + ".gif";
	}
	else if (oImage.src.match(imageOut.reOverGif)) {
		oImage.src = oImage.src.substring(0, oImage.src.length - 9) + ".gif";
	}
}
imageOut.reDownGif = /_down\.gif/;
imageOut.reOverGif = /_over\.gif/;

function imagePreloader() {
	var sOldSrc, aPathParts, sFilename, aFileParts, sPath, sDownSrc;
	var reButton = /^btn_/;
	var reSelected = /_selected\./;
	var aImages = document.images;
	for (var i = 0; i < aImages.length; i++) {
		sOldSrc = aImages[i].src;
		aPathParts = sOldSrc.split("/");
		sFilename = aPathParts.pop();
		if (sFilename.match(reButton) && !sFilename.match(reSelected)) {
			sPath = aPathParts.join("/");
			aFileParts = sFilename.split(".");
			sDownSrc = sPath + "/" + aFileParts[0] + "_down." + aFileParts[1];
			var oImageObj = new Image();
			oImageObj.src = sDownSrc;
			imagePreloader.aCachedImages.push(oImageObj);
			aImages[i]["sDefaultSrc"] = sOldSrc;
			aImages[i]["sDownSrc"] = sDownSrc;
		}
	}
}
imagePreloader.aCachedImages = new Array();

addLoadEvent(imagePreloader);

