window.onload = goHighlight;

function goHighlight() {
	// ==================================================
	// ハイライトする親要素を登録
	// ==================================================
	var arrNavi = new Array();
	arrNavi['head'] = new Array(
			'navi01',
			'navi02'
			);
	arrNavi['side'] = new Array(
			'sidenavi01'
			);

	// ==================================================
	// ディレクトリ構成
	// ==================================================
	var arrDir = new Array();
	arrDir['function'] = new Array(
			'function'
			);
	arrDir['result'] = new Array(
			'result'
			);
	arrDir['price'] = new Array(
			'price'
			);
	arrDir['partner'] = new Array(
			'partner'
			);
	arrDir['material'] = new Array(
			'material'
			);
	arrDir['entry'] = new Array(
			'trial_entry'
			);

	// ==================================================
	// ヘッダーナビ要素を登録
	// ==================================================
	var arrHeadNavi = new Array();
	arrHeadNavi['navi01'] = new Array(
			'function',
			'result',
			'price',
			'partner',
			'material',
			'entry'
			);

	// ==================================================
	// サイドナビ要素を登録
	// ==================================================
	var arrSideNavi = new Array();
	arrSideNavi['sidenavi01'] = new Array();
	arrSideNavi['sidenavi01']['function'] = new Array(
			'side-function',
			'side-keyword',
			'side-ad',
			'side-hybrid',
			'side-portfolio',
			'side-rule',
			'side-action',
			'side-time',
			'side-rank',
			'side-admin'
			);
	arrSideNavi['sidenavi01']['point'] = new Array(
			);
	arrSideNavi['sidenavi01']['price']  = new Array(
			);

	// ==================================================
	// セットするクラス名は全て同じになりますので
	// cssにて指定しています
	// 例）
	// #navi01 .feature-current{}
	// ==================================================
	var flg;
	// ヘッダーナビ処理
	for (var id in arrNavi['head']) {
		flg = goHighlightSub1(arrNavi['head'][id], arrHeadNavi[arrNavi['head'][id]], arrDir, 'head');
		if (flg) break;
	}
	// サイドナビ処理
	for (var id in arrNavi['side']) {
		for (var key in arrSideNavi[arrNavi['side'][id]]) {
			flg = goHighlightSub1(arrNavi['side'][id], arrSideNavi[arrNavi['side'][id]][key], arrDir[key], 'side');
			if (flg) break;
		}
	}
}

function goHighlightSub1(ids, arr, dir, type) {
	// フラグ
	var flg = false;

	// 実URL
	var url = document.location.href;
	var sa = url.split("/");
	var dir_name = sa[sa.length-2];

	// メニューを取得する
	var id = document.getElementById(ids);
	// メニューが有れば継続
	if (id != null) {
		// メニューの中のAタグを取得する
		var atags = id.getElementsByTagName('a');
		// メニューの中にAタグが有れば継続
		if (atags != null) {
			// Aタグを1個ずつチェック
			for (var i = 0; i < atags.length; i++) {
				var atags_sa = atags[i].href.split("/");
				var atags_dir_name = atags_sa[atags_sa.length-2];
				// 実URLとAタグURLを比べて
				if (type == 'head') {
					for (var id in dir[arr[i]]) {
						if (dir_name == dir[arr[i]][id]) {
							goHighlightSub2(arr[i], atags[i]);
							flg = true;
						}
					}
				} else if (type == 'side' && url == atags[i]) {
					for (var id in dir) {
						if (dir[id] == atags_dir_name) {
							goHighlightSub2(arr[i], atags[i]);
							flg = true;
						}
					}
				}
			}
		}
	}
	return flg;
}

function goHighlightSub2(navi, atags) {
	// 同じならclassにfeature-currentをセット
	current = navi + '-current';
	if (navigator.userAgent.indexOf("MSIE") != -1) {
		if (navigator.userAgent.indexOf("Trident/4.0") != -1) {
			atags.parentNode.setAttribute('class', current);
		} else {
			atags.parentNode.setAttribute('className', current);
		}
	} else {
		atags.parentNode.setAttribute('class', current);
	}
}
