// 画像パスの指定
var overPath	= "/nt/images/common/over.png";
var spacerPath	= "/nt/images/common/spacer.gif";


// 置換完了チェックフラグ配列定義
var replaceEndFlg = new Array(0);

// リンク情報保存用
var linkDetail = "";
// ターゲット情報保存用
var targetDetail = "";
// クリック情報保存用
var clickDetail = "";


// マウスオーバー・アウト動作
function changeRollOverImage(obj) {
	// IE6では画像置換を行いません
	// IE6用動作はcssの「overEffect」に書いてあります
	if (jQuery.browser.msie && parseInt(jQuery.browser.version) == 6) {
	}else {
		var src = obj.src;
		if (src.substring(src.length-8, src.length) == "over.png") {
			obj.src = spacerPath;
		}else {
			obj.src = overPath;
		}
	}
	
	// IE6でも動作するように、
	//現在の３個上の要素（「class」に「rollOverEffect」が設定されている場所）の
	//「class」に「mouseover」を追加
	if (jQuery(obj).parent().parent().parent(".hover").length < 1) {
		jQuery(obj).parent().parent().parent().addClass("hover");
	}else {
		jQuery(obj).parent().parent().parent().removeClass("hover");
	}
}

// ロールオーバー効果の追加
function rollOverSet() {
	var obj = jQuery(".rollOverEffect");
	
	// 「class」に「rollOverEffect」を割り当てている要素が無い場合、即時終了
	if (obj.length < 1) {
		return;
	}
	
	// 対象数が多い場合は、for文が良い
	for (var i=0; i<obj.length; i++) {
		// 置換完了フラグの初期化
		if (replaceEndFlg[i] == undefined)	replaceEndFlg[i]	= false;
		
		// 置換未完了かチェック
		if (replaceEndFlg[i] == false) {
			
			// 「class」に「rollOverEffect」を割り当てている要素の子要素内に「aタグ」がいるかを確認
			// いる場合は、それに設定されている「href」「target」「onclick」を保存し、「href」「target」「onclick」を無効化する
			jQuery("a", obj[i]).each(function() {
				// 「href」の保存
				if (jQuery(this).attr("href") != "" && jQuery(this).attr("href") != undefined) {
					if (linkDetail == "") linkDetail = jQuery(this).attr("href");
				}
				// 「target」の保存
				if (jQuery(this).attr("target") != "" && jQuery(this).attr("target") != undefined) {
					if (targetDetail == "") targetDetail = jQuery(this).attr("target");
				}
				// 「onclick」の保存
				if (jQuery(this).attr("onclick") != "" && jQuery(this).attr("onclick") != undefined) {
					if (clickDetail == "") clickDetail = jQuery(this).attr("onclick");
				}
				//「href」「target」「onclick」の無効化
				jQuery(this).removeAttr("href");
				jQuery(this).removeAttr("target");
				jQuery(this).removeAttr("onclick");
			});
			
			// 自身の「position」を「relative」に変更する
			if (jQuery(obj[i]).css("position") != "relative") {
				jQuery(obj[i]).css({"position":"relative", "width":jQuery(obj[i]).width(), "height":jQuery(obj[i]).height()});
			}
			
			// １番目の子要素の「position」を「absolute」に変更する
			if (jQuery(obj[i]).children(":first-child").css("position") != "absolute") {
				jQuery(obj[i]).children(":first-child").css({"position":"absolute", "width":jQuery(obj[i]).width(), "height":jQuery(obj[i]).height()});
			}
			
			// マウスオーバー用領域を追加する
			jQuery(obj[i]).append('<div class="overEffect"><a onClick="'+clickDetail+'" href="'+linkDetail+'" target="'+targetDetail+'"><img src="'+spacerPath+'" style="width:'+jQuery(obj[i]).width()+'px;height:'+jQuery(obj[i]).height()+'px;" onMouseOver="changeRollOverImage(this)" onMouseOut="changeRollOverImage(this)"></a></div>');
			
			// 各値の初期化
			linkDetail = "";
			clickDetail = "";
			targetDetail = "";
			
			// ２回実行されないように、置換完了チェックフラグを変更、「rollOverEffect」クラスの削除
			replaceEndFlg[i] = true;
//			jQuery(obj[i]).removeClass("rollOverEffect");
		}
	}
}

window.onload = function() {
	rollOverSet();
}

