/**********************************************************************
project name : SECOM [ rollover.js ]

08.08.25
***********************************************************************
a variable : gImg_xxx
a function : image_xxxxx
***********************************************************************
Windows IE : over4.0 / FF : over1.0 / NS : over7.0 / SF : over3.0
MacOSX  IE : over5.0 / FF : over1.5 / NS : over7.0 / SF : over1.3
**********************************************************************/

/*---------------------------------------------
 variable
---------------------------------------------*/
/* ロールオーバ対象画像には下記のクラス名を付記 */
var gImg_strClassName = 'over';

// イメージの末尾
var gImg_strImgEnd  = '_o';

/**********************************************
 window.onload
**********************************************/
window.onload = function () {

	var gImg_aobjImages = document.images;

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

		var gImg_objImage = gImg_aobjImages[i];

		var gImg_strImgClass = '';
		if (navigator.userAgent.indexOf('MSIE') > -1) {
			gImg_strImgClass = gImg_objImage.getAttribute('classname');
		} else {
			gImg_strImgClass = gImg_objImage.getAttribute('class');
		}

		/* ロールオーバ対象画像ならば */
		if (gImg_strImgClass == gImg_strClassName) {

			// イメージプレロード
			image_imgLoad(gImg_aobjImages[i]);
			
			var strConditions = "";

			// ロールオーバ
			gImg_objImage.onmouseover = function () {
				strConditions = "over";
				image_imgOver(this, strConditions);
			}
			
			gImg_objImage.onmouseout  = function () {
				strConditions = "out";
				image_imgOver(this, strConditions);
			}
		}
	}
}

//画面アンロード時にイベントオブジェクト初期化
window.onunload = function () {
	var gImg_aobjImages = document.images;

  if (!gImg_aobjImages){ return; }
  
	for (i=0; i<gImg_aobjImages.length; i++) {
    gImg_aobjImages[i].onmouseover = null;
    gImg_aobjImages[i].onmouseout = null;
  }
}

/*=============================================
# 名称：image_imgLoad
# 説明：イメージプレロード
# 引数：イメージオブジェクト
# 戻値：-
=============================================*/
function image_imgLoad(vobjImage){

	if (!vobjImage) { return; }

	// イメージオブジェクト
	var objImage = vobjImage;

	// イメージソース
	var strImgSrc = objImage.src;

	// イメージの末尾
	var strImgEnd  = gImg_strImgEnd;

	// イメージの拡張子
	var strImgExt  = strImgSrc.substring(strImgSrc.lastIndexOf('.', strImgSrc.length), strImgSrc.length);

	// イメージのディレクトリパス
	var strImgPath = strImgSrc.substring(0, strImgSrc.lastIndexOf('/', strImgSrc.length)) + '/';

	var strImgName = strImgSrc.substring(strImgPath.length, strImgSrc.lastIndexOf(strImgExt, strImgSrc.length));

	var objImgOv = new Image();
	objImgOv.src = strImgPath + strImgName + strImgEnd + strImgExt;
	// alert('<img src="' + objImgOv.src + '">');
}


/*=============================================
# 名称：image_imgOver
# 説明：ロールオーバ
# 引数：イメージオブジェクト
# 戻値：-
=============================================*/
function image_imgOver(vobjImage, vstrConditions){

	if (!vobjImage) { return; }
	
	// 呼び出し時の状況
	var strCondition = vstrConditions;

	// イメージオブジェクト
	var objImage = vobjImage;

	// イメージソース
	var strImgSrc = objImage.src;

	// イメージの末尾
	var strImgEnd  = gImg_strImgEnd;

	// イメージの拡張子
	var strImgExt  = strImgSrc.substring(strImgSrc.lastIndexOf('.', strImgSrc.length), strImgSrc.length);

	// イメージのディレクトリパス
	var strImgPath = strImgSrc.substring(0, strImgSrc.lastIndexOf('/', strImgSrc.length)) + '/';

	// イメージの名前
	var strImgName = '';

	/* [onmouseover] 取得したイメージオブジェクトにイメージの末尾が含まれていない場合 */
	if ((strCondition == "over") && (strImgSrc.lastIndexOf(strImgEnd + strImgExt) == -1)) {
		strImgName = strImgSrc.substring(strImgPath.length, strImgSrc.lastIndexOf(strImgExt, strImgSrc.length));
		objImage.src = strImgPath + strImgName + strImgEnd + strImgExt;
//		 alert('<img src="' + objImage.src + '">');

	/* [onmouseout]  取得したイメージオブジェクトにイメージの末尾が含まれている場合 */
	} 
	else if((strCondition == "out") && (strImgSrc.lastIndexOf(strImgEnd + strImgExt) != -1)){
		strImgName = strImgSrc.substring(strImgPath.length, strImgSrc.lastIndexOf(strImgEnd, strImgSrc.length));
		objImage.src = strImgPath + strImgName + strImgExt;
//		 alert('<img src="' + objImage.src + '">');
	}
	else{ return;}
}

/*=============================================
# 名称：image_Over
# 説明：相対パス用ロールオーバ
# 引数：イメージオブジェクト
# 戻値：-
=============================================*/

/*=============================================
 image_over()
=============================================*/
function image_over(vstrName,vstrPath) {
	document.images[vstrName].src = vstrPath;
}

/*=============================================
 image_load()
=============================================*/
function image_load() {
	var aobjImg = new Array();
	var i;
	for (i = 0; i < image_load.arguments.length; i ++) {
		aobjImg[i] = new Image();
		aobjImg[i].src = image_load.arguments[i];
	}
}


/*********************************************************************/
