
// JavaScript Document

/* ------------------------------------------------------
	* 名前: rollover.js
	* 説明: 画像ファイルにマウスが触れた際に、画像の差し替えを行う
	* バージョン: 1.0
	* 最終更新日: 2008.10.16
	* 制作者: Hiroaki Nakagawa
	* Thanks: Daniel Nolan( http://www.dnolan.com/code/js/rollover/ )
------------------------------------------------------ */


// Rollover
// ------------------------------------------------------

	var elementTagName = "img";

	// 
	var clsName = "rollover";

	// 
	var postfixName = "_ov";

	function rollOver() {
		// 
		var preloadImg = new Array();
		var elementImg
		var objectId = document.getElementsByTagName( elementTagName );

		for( i=0; i<objectId.length; i++ ) {

			if( objectId[i].className == clsName ) {

				// preload
				var imgSource = objectId[i].getAttribute( "src" );
				var fileType = imgSource.substring( imgSource.lastIndexOf( "." ), imgSource.length );
				var mouseoverImg = imgSource.replace( fileType, postfixName + fileType );

				objectId[i].setAttribute( "mouseoverImg" , mouseoverImg );

				// 
				preloadImg[i] = new Image();
				preloadImg[i].src = mouseoverImg;

				objectId[i].onmouseover = function() {
					elementImg = this.getAttribute( "src" );
					this.setAttribute( "src", this.getAttribute( "mouseoverImg" ));
				}

				objectId[i].onmouseout = function() {
					if ( !elementImg ) {
						elementImg = this.getAttribute( "src" ).replace( postfixName + fileType, fileType);
					} else {
						this.setAttribute( "src", elementImg );
					}
				}

			}
		}

	}

	function loadFunction( objctName, eventType, functionName ) {
		eval( objctName + "." + eventType + " = " + functionName );
	}

	// Program Execution
	loadFunction( "window", "onload", "rollOver" );

// ------------------------------------------------------