<!--
/*
-----------------------------------------------
title:　ページ固有スクリプト sitemap
version:  2006.09.15
modified by: defide
----------------------------------------------- */

// デフォルト選択メニュー項目
var setID;
// 選択カテゴリDIV
var gnavi;
// 選択カテゴリ内メニュー数
var menuNum;
// タイマー
var timerID;
// タイマーセットOn/Off
var timerSwitch = 0;
// タイマー秒数カウント
var timerSec = 0;
// ブラウザタイプ
var browserType = chkBrowserType();
// 第1階層展開状態
var st1ndCtg = "close";
var sel1ndID = null;

// 第2階層展開状態
var st2ndCtg = null;
var sel2ndID = null;

var defClassName;
var allOpenFlg = new Array(7);
// ブラウザタイプ
var browserType = chkBrowserType();
var GROUP_XML_ARRAY = [];
// ID接頭辞の長さ("tree"で4文字)
var ID_PREFIX_LENGTH = 4;

siteSearch = new Image();
siteSearch.src = "img/bt_sitemap_search.gif";
siteSearch_a = new Image();
siteSearch_a.src = "img/bt_sitemap_search_a.gif";

btReturn = new Image();
btReturn.src = "img/bt_return.gif";
btReturn_a = new Image();
btReturn_a.src = "img/bt_return_a.gif";


function rollOverA(){
		document.getElementById("bt_search_sitemap").src = siteSearch_a.src;
}
function rollOutA(){
		document.getElementById("bt_search_sitemap").src = siteSearch.src;
}
function rollOverB(){
		document.getElementById("bt_return").src = btReturn_a.src;
}
function rollOutB(){
		document.getElementById("bt_return").src = btReturn.src;
}

function init() {
	document.getElementById("bt_search_sitemap").onmouseover = rollOverA;
	document.getElementById("bt_search_sitemap").onmouseout = rollOutA;
	document.getElementById("bt_return").onmouseover = rollOverB;
	document.getElementById("bt_return").onmouseout = rollOutB;
}

// 初期ロード時の現在位置インジケート
function gnaviDefaultSetting(position){
// イベント設定
	var childStg = new Array();
	for( m=1; m<8; m++){
		//xmlからdocument生成、各treeに割り当てる
		var url = "../common/navigation_"+ m +".xml";
		//alert(url);
		try{
			//XMLを取得するか否か判定、すでに格納済みであれば取得しない
			if(GROUP_XML_ARRAY[m] == undefined){
				var loader = new JKL.ParseXML(url);
				GROUP_XML_ARRAY[m] = loader.parse();
			}
			createNavigation(GROUP_XML_ARRAY[m],m);
		} catch(e) {
			//例外発生時アラートを表示
			var error_msg = '<div id="noScript">例外が発生しました。</div>';
			var tg = document.getElementById("tree" + m);
			tg.innerHTML = error_msg + e;
		}

		//属性を指定
		var childNum = document.getElementById("tree" + m).childNodes.length;
		for( l = 0; l < childNum; l++){
			if(document.getElementById("tree" + m).childNodes[l].tagName == "A"){
				childStg[l] = document.getElementById("tree" + m).childNodes[l].childNodes[0].id;
				if(childStg[l]){
					//DIVクリック時の子ノード表示処理
					className = document.getElementById(childStg[l]).className;
					if(className =="leaf1node"){
						document.getElementById(childStg[l]).onclick = selectTree2;
					}
					if((className == "leaf1") || (className == "leaf2")){
						document.getElementById(childStg[l]).onclick = DivClick;
					}
				}
			}
		}
	}
	// メニュー初期表示設定
	initMenu();
}


function createNavigation(data,num) {
	// グローバルナビゲーション表示divタグを取得
	var tg = document.getElementById("tree" + num);
	if (data.navigation.category.groups.group[0] == undefined) data.navigation.category.groups.group = [data.navigation.category.groups.group];
	for (var j = 0, ln2 = data.navigation.category.groups.group.length; j < ln2; j++) {
		var a2 = document.createElement("a");
		var dv2 = document.createElement("div");
		dv2.setAttribute("id", data.navigation.category.groups.group[j].id);
		//第二階層の展開
		dv2.setAttribute("className", data.navigation.category.groups.group[j].classitems);
		dv2.setAttribute("class", data.navigation.category.groups.group[j].classitems);
		var lv2url = "";
		if (data.navigation.category.groups.group[j].url != undefined) {
			//URLを持っていればリンクを張る
			lv2url = setAbsolutePath(data.navigation.category.groups.group[j].url);
			dv2.innerHTML = data.navigation.category.groups.group[j].name;
			a2.setAttribute("href", lv2url);
			a2.setAttribute("target", data.navigation.category.groups.group[j].target);
		} else if(data.navigation.category.groups.group[j].classitems != "gnaviLabel"){
			dv2.innerHTML = data.navigation.category.groups.group[j].name;
			a2.setAttribute("href", "javascript:void(0);");
		} else if(data.navigation.category.groups.group[j].classitems == "gnaviLabel"){
			dv2.innerHTML = data.navigation.category.groups.group[j].name;
		}
			a2.appendChild(dv2);
			tg.appendChild(a2);
        // 3階層目を生成
		
		if (data.navigation.category.groups.group[j].items != (undefined || null)){
			if (data.navigation.category.groups.group[j].items.item[0] == (undefined || null)) data.navigation.category.groups.group[j].items.item = [data.navigation.category.groups.group[j].items.item];
			for (var k = 0, ln3 = data.navigation.category.groups.group[j].items.item.length; k < ln3; k++) {
				var a3 = document.createElement("a");
				var dv3 = document.createElement("div");
				dv3.setAttribute("id", data.navigation.category.groups.group[j].items.item[k].id);
				dv3.setAttribute("className", data.navigation.category.groups.group[j].items.item[k].classitems);
				dv3.setAttribute("class", data.navigation.category.groups.group[j].items.item[k].classitems);
				dv3.innerHTML = data.navigation.category.groups.group[j].items.item[k].name;
				
				var lv3url = setAbsolutePath(data.navigation.category.groups.group[j].items.item[k].url);
				a3.setAttribute("href",lv3url);
				a3.setAttribute("target", data.navigation.category.groups.group[j].items.item[k].target);

				a3.appendChild(dv3);
				tg.appendChild(a3);
			}

		}				
	}
}


function initMenu(){
	// 3階層全メニュー非表示
	for( m=1; m<8; m++){
		allOpenFlg[m] = false;
		document.getElementById("directory" + m).style.display = "inline";
		document.getElementById("openmenu" + m).style.display = "inline";
		document.getElementById("tree" + m).style.display = "block";

		var childNum = document.getElementById("tree" + m).childNodes.length;
		for ( l=0; l<childNum; l++){
			if(document.getElementById("tree" + m).childNodes.item(l).tagName == "A"){
				var treeChild = document.getElementById("tree" + m).childNodes.item(l).childNodes[0];
				treeChild.style.display = "block";
				if(treeChild.className == "leaf1a"){
					treeChild.className = "leaf1"
				}
				if(treeChild.className == "leaf2a"){
					treeChild.className = "leaf2";
				}
				if((treeChild.className == "leaf2")||(treeChild.className == "leaf2a")){
					treeChild.style.display = "none";
				}
			}else if(document.getElementById("tree" + m).childNodes.item(l).tagName == "DIV"){
				document.getElementById(document.getElementById("tree" + m).childNodes.item(l).id).style.display = "block";
			}
		}
	}
}

function hideAllMenu(){
	// 全メニュー非表示
	for( m=1; m<8; m++){
		document.getElementById("directory" + m).style.display = "none";
		document.getElementById("openmenu" + m).style.display = "none";
		document.getElementById("tree" + m).style.display = "none";
	}
}

function viewAllMenu(){
	document.getElementById("returnBtn").style.display = "none";
	document.getElementById("errorText").style.display = "none";

	// 全メニュー表示
	for( m=1; m<8; m++){
		initMenu();
	}
}

// 第1階層メニュー選択時の処理----------------------------------------------------------------------

function selectTree1(evt){
	//　選択カテゴリDIV判別、選択カテゴリ内メニュー数カウント
	var evt = evt || window.event; // event object
	var target = evt.target || window.event.srcElement; // event target
	var picupID = target.parentNode.getAttribute("id"); // event target id

	selDir = picupID.charAt(picupID.length -1);
	gnavi = document.getElementById("tree" + selDir);
	menuNum = gnavi.childNodes.length;

	// 全第２階層メニューが展開されているかチェック
	var closeCnt = 0;
	for( i=0; i<menuNum; i++){
		if(gnavi.childNodes.item(i).tagName == "A"){
			var treeChild = gnavi.childNodes.item(i).childNodes[0];
			if(treeChild.className == "leaf1node"){
				closeCnt++;
			}
		}
	}
	// 全第２階層メニューが展開されているので、全メニューを閉じる
	if(closeCnt == 0){
		allOpenFlg[selDir] = true;
	}else{
		allOpenFlg[selDir] = false;
	}

	// 第２階層メニューの展開
	var leaf1flg = false;
	if(allOpenFlg[selDir]){
		for( i=0; i<menuNum; i++){
			if(gnavi.childNodes.item(i).tagName == "A"){
				var treeChild = gnavi.childNodes.item(i).childNodes[0];
				if(treeChild.className.indexOf("leaf1") >= 0){
					treeChild.style.display = "block";
					if(treeChild.className == "leaf1dnode"){
						treeChild.className = "leaf1node";
					}
				}
				if(treeChild.className.indexOf("leaf2") >= 0){
					treeChild.style.display = "none";
				}
			}else if(gnavi.childNodes.item(i).tagName == "DIV"){
				document.getElementById(gnavi.childNodes.item(i).id).style.display = "block";
			}
		}
		allOpenFlg[selDir] = false;
		document.getElementById("bt_ctg" + selDir).className = "allOpen";
	}else{
		for( i=0; i<menuNum; i++){
			if(gnavi.childNodes.item(i).tagName == "A"){
				var treeChild = gnavi.childNodes.item(i).childNodes[0];
				if(treeChild.className.indexOf("leaf1") >= 0){
					treeChild.style.display = "block";
					if(treeChild.className == "leaf1node"){
						treeChild.className = "leaf1dnode";
					}
				}
				if(treeChild.className.indexOf("leaf2") >= 0){
					treeChild.style.display = "block";
				}
			}else if(gnavi.childNodes.item(i).tagName == "DIV"){
				document.getElementById(gnavi.childNodes.item(i).id).style.display = "block";
			}
		}
		allOpenFlg[selDir] = true;
		document.getElementById("bt_ctg" + selDir).className = "allClose";
	}
}

// 第2階層メニュー選択時の処理----------------------------------------------------------------------
function selectTree2(evt){
	var evt = evt || window.event; // event object
	var target = evt.target || window.event.srcElement; // event target
	if((browserType == "macSafari") && (target.parentNode.getAttribute("id") != null)){
		evtID = target.parentNode.getAttribute("id"); // Safari用 event target id
	}else{
		evtID = target.getAttribute("id");
	}

	if(evtID != null){
		if((browserType == "macSafari") && (target.parentNode.getAttribute("id") != null)){
			var targetID = target.parentNode.getAttribute("id"); // Safari用 event target id
		}else{
			var targetID = target.getAttribute("id"); // event target id
		}
	}else{
		if(browserType == "macSafari"){
			var targetID = target.parentNode.parentNode.getAttribute("id"); // Safari用 event target id
		}else{
			var targetID = target.parentNode.getAttribute("id"); // event target id
		}
	}
	var index = targetID.indexOf("_");
	var treeID = targetID.substring(0, index);
	var selDir = treeID.charAt(treeID.length -1);
	var treeObj = document.getElementById("tree" + selDir);
	var childNum = treeObj.childNodes.length;
	var obj = document.getElementById(targetID);

	if(obj.className == "leaf1node"){
		document.getElementById(targetID).className = "leaf1dnode";
		for( i=0; i<childNum; i++){
			chkObj = document.getElementById(targetID + "_" + i );
			if(chkObj){
				chkObj.style.display = "block";
			}
		}
	}else{
		var flag = true;
		document.getElementById(targetID).className = "leaf1node";
		for( i=0; i<childNum; i++){
			chkObj = document.getElementById(targetID + "_" + i );
			if(chkObj){
				chkObj.style.display = "none";
				flag = false;
			}
		}
		if(!flag) document.getElementById("bt_ctg" + selDir).className = "allOpen";
	}
}

// DIVクリック時の画面遷移
function DivClick(obj){
	id = typeof(obj);
	if(id == "string"){
		var findID = obj;
	}else{
		var findID = this.id
	}
	var chkString = new String(document.getElementById(findID).parentNode);
	var url = "";

	top.window.location = url;
}

// 相対パス→絶対パス
function setAbsolutePath(chkString){
	if(chkString.match(/(http|ftp|https):\/\/[!#-9A-~]+\.+[a-z0-9]/i)){
		return chkString;
	} else {
		return  ROOT_PATH + chkString.substr(2,chkString.length);
	}
	
}

// キーワード検索処理
function searchTitle(){
	var keyword = document.title_search.textfield.value;
	if(!keyword){
		alert("キーワードを入力してください。");
		return;
	}

	document.getElementById("returnBtn").style.display = "block";
	document.getElementById("errorText").style.display = "none";
	
	//全メニュー非表示
	hideAllMenu();

	var hitCnt = 0;
	// 全第2,3階層メニュー非表示
	for( m=1; m<8; m++){
		var childNum = document.getElementById("tree" + m).childNodes.length;
		var leaf1idx = -1;
		for ( l=0; l<childNum; l++){
			// Aタグ内DIVタグのテキストについて検索
			if(document.getElementById("tree" + m).childNodes.item(l).tagName == "A"){
				
				for(i=0;i<document.getElementById("tree" + m).childNodes.item(l).childNodes.length;i++){
					var ttlObj = document.getElementById("tree" + m).childNodes.item(l).childNodes[i];
					if(ttlObj.className.indexOf("leaf1") >= 0){
						leaf1idx = ttlObj.getAttribute("id");
					}
					var targetStr = ttlObj.firstChild.nodeValue;
					if(targetStr.indexOf(keyword) >= 0){
						if(ttlObj.className.indexOf("leaf2") >= 0 ){
							ttlObj.style.display = "block";
							document.getElementById(leaf1idx).style.display = "block";
						}else if(ttlObj.className.indexOf("leaf1") >= 0){
							ttlObj.style.display = "block";
						}
						document.getElementById("directory" + m).style.display = "inline";
						document.getElementById("openmenu" + m).style.display = "inline";
						document.getElementById("tree" + m).style.display = "block";
						hitCnt++;
					}else{
						ttlObj.style.display = "none";
					}
				}
			}else if(document.getElementById("tree" + m).childNodes.item(l).tagName == "DIV"){
				document.getElementById(document.getElementById("tree" + m).childNodes.item(l).id).style.display = "none";
			}
		}
	}
	if(hitCnt == 0){
		document.getElementById("errorText").style.display = "block";
	}
}
/*
//Enterキーの無効化
window.document.onkeydown = function ()
{
	if (event.keyCode == 13) 
	{
		event.keyCode = null;
		return false;
	}
}
*/

// グローバルナビゲーションの初期設定
window.onload=function(){
	init();
	gnaviDefaultSetting();
}

//-->
