/* 
 * ツリーメニュー開閉(オープン系製品情報版)
 * 
 * @package	
 * @author	須増 圭介
 * @version	JavaScript
 *         	
 * @since	2009/12/11 ver1.0 初版作成 須増圭介
 *
 * @info	単層開閉展開型のツリーメニューの制御を行う
 *      	ツリー開閉対象のレイヤー名は本スクリプト内で定義する接頭句から始まるものとする
 *      	開閉状態を示すアイコンは[img/icn_plus.gif][img/icn_minus.gif]固定使用するものとし、
 *      	そのレイヤー名は[ツリーレイヤー名]+"_image"とする
 *      	また、HTML内の展開状態の初期値は｢閉｣として記述すること
 */

/*************************************************
  ツリーメニュー開閉状態保持に関する定義
*************************************************/
var treePrefix = "treeProduct";	// 製品情報ツリーメニューの接頭句

/*
 * ツリーメニューの初期開閉状態の設定
 * @access	public
 * @param	なし
 * @return	なし
 * @info	Cookie保持のツリーメニューの展開状態を読込み、初期状態として反映する
 *      	ツリーメニューを使用するものに関してはwindow.onloadでcallすること
 */
function treeProductLoad() {
	// Cookie無効の場合は処理なし
	if (!window.navigator.cookieEnabled) return;
	// Cookie保持値を抽出
	if (document.cookie) {
		// Cookie保持値を配列化し、全てのペアを精査
		var cookies = document.cookie.split("; ");
		for (var i=0; i<cookies.length; i++) {
			// Cookie値をKeyとValueに分解
			var str = cookies[i].split("=");
			var key = str[0];
			// Keyとツリーメニューの接頭句の一致を判定
			if (key.indexOf(treePrefix) == 0) {
				// レイヤーの存在確認
				var exists = false;
				if (document.getElementById) {		// NN6以上,Mozilla,IE5以上用
					if (document.getElementById(key)) exists = true;
				} else if (document.all) { 			// IE4用
					if (document.all(key)) exists = true;
				} else if (document.layers) {		// NN4用
					if (document.layers[key]) exists = true;
				}
				if (!exists) continue;
				// ｢初期:閉(0:閉/1:開)として判定し、｢1:開｣の場合はOpen
				var value = str[1];
				if (isNaN(value)) value = "0";
				if (eval(value) == 1) treeProduct(key);
			}
		}
	}
}
//window.onload = treeProductLoad;

/*
 * ツリーメニューの開閉
 * @access	public
 * @param	string		id		レイヤー名
 * @return	なし
 * @info	ツリーメニューの展開制御を行うと同時に、開閉状態を示すアイコン画像を差替える
 *      	また遷移後の別画面での初期状態を判定するために、アクション時点での開閉状態を
 *      	Cookieへ保持する
 */
function treeProduct(id) {

	// 開閉状態の設定
	//var imageName = "plus";
	var imageName = "btn1";
	if (document.getElementById) {		// NN6以上,Mozilla,IE5以上用
		if (document.getElementById(id).style.display == "block") {
			document.getElementById(id).style.display="none";
		} else {
			document.getElementById(id).style.display="block";
			//imageName = "minus";
			imageName = "btn2";
		}
	} else if (document.all) { 			// IE4用
		if (document.all(id).style.display == "block") {
			document.all(id).style.display="none";
		} else {
			document.all(id).style.display="block";
			//imageName = "minus";
			imageName = "btn2";
		}
	} else if (document.layers) {		// NN4用
		if (document.layers[id].visibility == 'hide') {
			document.layers[id].visibility = 'show';
		} else {
			document.layers[id].visibility = 'hide';
			//imageName = "minus";
			imageName = "btn2";
		}
	}

	// アイコン画像の差替え
	if(document.images[id + "_image"]) document.images[id + "_image"].src = "img/product/" + imageName + ".jpg";
	// Cookie有効の場合は開閉状態のCookie保持
	if (window.navigator.cookieEnabled) {
		//var value = (imageName == "plus") ? "0" : "1";		// 0:閉/1:開
		var value = (imageName == "btn1") ? "0" : "1";			// 0:閉/1:開
		// クッキーの書込み(有効期限の指定をしないことでセッション中のみ有効とする)
		//document.cookie = id + "=" + value + ";";
		document.cookie = id + "=" + value + ";path=/";
	}
}