////////////////////////////////////////////////////////////////////////////
// 共通JavaScriptファイル
// ドロップダウンメニュー/スワップイメージ用モジュール
/*
 * 作成日：2008/06/23
 * 作成者：大黒天物産株式会社　経営企画室システム課　山下信治
 */
////////////////////////////////////////////////////////////////////////////


/*--------------------------------------------------------------------------*/
/* スワップ画像の先読み */
function imgPreLoad() {
	var preLoadImg = new Array();
	var tagImg = document.getElementsByTagName('img');
	
	for(var i = 0; i < tagImg.length; i++){
		
		//クラス名がswap_imgならスワップ画像を先読み
		if(tagImg[i].className == 'swap_img'){
			
			//画像オブジェクトの宣言
			preLoadImg[i] = new Image();
			
			//src属性を取得しスワップ画像ファイル名へ変換
			preLoadImg[i].src = tagImg[i].src.replace(/.gif/i, "_f2.gif");
			preLoadImg[i].src = tagImg[i].src.replace(/.gif/i, "_f3.gif");
			
			//preLoadImg[i].src = tagImg[i].src.replace(/_f3.gif/i, "_f2.gif");
			
		}
		
	}
	
}


/*--------------------------------------------------------------------------*/
/*画像をスワップ*/
function swapImage(id,src){
	
	document.getElementById(id).src = src;
	
}


/*--------------------------------------------------------------------------*/
/*画像をリストア*/
function swapImgRestore(id,src){
	
	document.getElementById(id).src = src;
	
}



/*--------------------------------------------------------------------------*/
/*プルダウンメニューの作成*/

//プルダウンメニューの表示/非表示状態
var menuIsVisible = false;

//表示中のメニューとなる要素
var visibleItem = null;

//ポイント時の色
var show_menu_color = "#FFFFFF";

//リーブ時の色
var hide_menu_color = "#FFFFFF";


//①ロード時の処理
function initMenu() {
	
	var tagLi = document.getElementsByTagName('li');
	
	for(var i = 0; i < tagLi.length; i++){
		
		//メニューIDの取得
		var menu_id = tagLi[i].id;
		
		//メニューobjectの取得
		var menu_obj = tagLi[i];
		
		//プルダウンメニューIDの取得
		var pullmenu_id = menu_obj.id.replace(/menu_/i, '');
		
		if(!!document.getElementById(pullmenu_id)){
			//プルダウンメニューが存在すればイベントハンドラを設定
			var pullmenu_obj = document.getElementById(pullmenu_id);
			setEvent(menu_obj, pullmenu_obj);
		}
		
	}
	
}

//イベントハンドラの設定
function setEvent ( menu, item ) {
	
	//メニューバーに対するコールバックを設定
	menu.onmouseover = function() { showMenu(item) };
	menu.onmouseout = function() { hideMenu(item) };
	
	//プルダウンメニューに対するコールバックを設定
	item.onmouseover = function() { showMenu(item) };
	item.onmouseout = function() { hideMenu(item) };
	
}

//②プルダウンメニューの表示
function showMenu( item ) {
	
	//表示しようとするメニューが前と同じ場合は何もしない
	if( visibleItem == item ) {
		return;
	
	//表示しようとするメニューが前と異なる場合
	}else if( visibleItem != null ){
		//前のメニューを隠す
		hideMenu( visibleItem );
	}
	
	//表示中のメニューにitemを設定
	visibleItem = item;
	
	//プルダウンメニューの状態を表示にする
	menuIsVisible = true ;
	
	//メニューバーの背景色を変更
	var menu = document.getElementById("menu_" + item.id);
	menu.style.backgroundColor = show_menu_color;
	
	//プルダウンメニューの表示位置をセット
	if( document.all ){ // IEの場合
		item.style.left = menu.offsetLeft + document.body.offsetLeft + "px";
		item.style.top = menu.offsetTop + document.body.offsetTop + menu.offsetHeight + "px";
	}else{
		item.style.left = menu.offsetLeft + "px";
		item.style.top = menu.offsetTop + menu.offsetHeight + "px";
	}
	
	//プルダウンメニューを表示
	item.style.visibility = "visible";
	item.style.visibility = "visible";
	
	
}

//③プルダウンメニューの非表示
function hideMenu( item ) {
	
	//プルダウンメニューの状態が非表示であれば何もしない
	if( menuIsVisible == false ) {
		return ;
	}
	
	//表示中のメニューを空にする
	visibleItem = null;
	
	//プルダウンメニューの状態を非表示にする
	menuIsVisible = false ;
	
	//メニューバーの背景色を元に戻す
	var menu = document.getElementById("menu_" + item.id);
	if(menu.className != 'current'){		//現在選択中メニューでなければ
		menu.style.backgroundColor = hide_menu_color;
	}
	
	//プルダウンメニューを非表示
	item.style.visibility = "hidden";
	
}

