// JavaScript Document

// 画像のファイル名末尾に「_off」がついていれば「_on」に画像置換する
function rollover() {
	
	function off2on (obj) {
		obj.setAttribute("src", obj.getAttribute("src").replace("_off.", "_on."));
	}
	function on2off (obj) {
		obj.setAttribute("src", obj.getAttribute("src").replace("_on.", "_off."));
	}
	
	if (document.getElementsByTagName) {
		var images = document.getElementsByTagName("img");
		for (var i=0; i < images.length; i++) {
			var image = images[i];
			if (image.getAttribute("src") && image.getAttribute("src").match("_off.")) {
				if (window.addEventListener) {
					image.addEventListener("mouseover", function(){off2on(this);}, false);
					image.addEventListener("mouseout", function(){on2off(this);}, false);
				}
				else if (window.attachEvent) {
					image.attachEvent("onmouseover", function(){off2on(event.srcElement);});
					image.attachEvent("onmouseout", function(){on2off(event.srcElement);});
				}
			}
		}
	}

}

function preload() {

	var cached_images = new Object();

	function cacheImage(cached_image_path, index) {
		cached_images[index] = new Image();
		cached_images[index].src = cached_image_path;
	}

	if (document.images) {
		var images = document.getElementsByTagName("img");
		for (var i=0; i < images.length; i++) {
			if (images[i].getAttribute("src") && images[i].getAttribute("src").match("_off.")) {
				var cached_image_path = images[i].getAttribute("src").replace("_off.", "_on.");
				cacheImage(cached_image_path, i);
			}
		}
	}

}

if (window.addEventListener) {
	window.addEventListener("load", preload, false);
	window.addEventListener("load", rollover, false);
}
else if (window.attachEvent) {
	window.attachEvent("onload", rollover);
	window.attachEvent("onload", preload);
}

