// 変数 //

var imgStyle = false;								//trueなら画像タブ、falseならCSSタブ
var index = new Array;								//タブlist内aタグの配列
var contentsNum = 0;								//ページ中のタブ切り替えコンテンツ使用箇所の数

// カスタマイズ用変数 //

var checkID = "lnavi";							//CSSが有効かどうか調べるための要素のID
var checkersWidth = 170;							//上の要素にCSSで指定した幅

// 関数 //

function checkRun() {								//DOM & CSS有効時のみ機能ON
	if (document.getElementById && document.getElementById(checkID).offsetWidth == checkersWidth) {
		main();
	}
}

function main() {
	var count = document.getElementsByTagName("ul");
	for (i = 0; i < count.length; i++) {
		if(count[i].id && count[i].id.indexOf("tabindex") != -1) {
			contentsNum += 1;
		}
	}
	for(i = 1; i <= contentsNum; i++) {
		index[i] = document.getElementById("tabindex"+(i)).getElementsByTagName("a");
														//tabindex内aタグを抽出
		for(j = 0; j < index[i].length; j++) {
			index[i][j].onclick = function(){setNum(this);return false;};
														//クリック時動作セット
		}
	}
	if(index[1][0].getElementsByTagName("img").length != 0) {
		imgStyle = true;							//aタグの中身が画像なら画像の切り替えを使用
	}
	for(x = 1; x <= contentsNum; x++) {
		statusChange(x,0);								//最初のタブをアクティブに
	}

	/* 以下、切り替えコンテンツ内の見出しを消したい場合に使用すること */
	for(i = 1; i <= contentsNum; i++) {
		for(j = 0; j < index[i].length; j++) {
			var contents = document.getElementById(index[i][j].hash.substring(1));
			for (k = 0; k < 4; k++) {
				var hideHeading = contents.childNodes[k];
				if(hideHeading && hideHeading.tagName && hideHeading.tagName.substring(0,1) == "H") {
					hideHeading.className = "hide";
					break;
				}
			}
		}
	}
	/* 見出し非表示部分終わり */

}

function setNum(anchor) {							//クリックされたタブからアクティブコンテンツの割り出し
	var temp = parseInt(anchor.parentNode.parentNode.id.substring(8));
	for(i = 0; i < index[temp].length; i++) {
		if(anchor == index[temp][i]){
			var num = i;							//アクティブタグの番号を決定
		}
	}
	statusChange(temp,num);
}

function statusChange(temp,num) {					//コンテンツの表示／非表示切り替え
	for(i = 0; i < index[temp].length; i++) {
		var status = "hide";						//非表示クラス
		if(i == num){
			status ="show";							//アクティブ時、表示クラスに
			tabChange(i,temp,true);
		} else {
			tabChange(i,temp,false);
		}
		document.getElementById(index[temp][i].hash.substring(1)).className = status;
													//ページ内リンクからidを割り出し、コンテンツのクラス切り替え
	}
}

function tabChange(i,temp,flag) {						//タブのアクティブ／非アクティブ切り替え
	if(flag) {											//アクティブタグ時
		if(imgStyle) {
			index[temp][i].onmouseover = "";			//画像時、ロールオーバーオフ
			index[temp][i].onmouseout = "";
			swapImg(index[temp][i],"_off","_on");		//アクティブ画像に
		}
		swapClass(index[temp][i],"off","on");			//liタグのクラスをonに
	} else {											//非アクティブタグ時
		if(imgStyle) {
			index[temp][i].onmouseover = function() {swapImg(this,"_off","_on");};
														//画像時、ロールオーバーオン
			index[temp][i].onmouseout = function() {swapImg(this,"_on","_off");};
			swapImg(index[temp][i],"_on","_off");		//非アクティブ画像に
		}
		swapClass(index[temp][i],"on","off");			//liタグのクラスをoffに
	}
}

function swapImg(anchor,txt1,txt2) {				//画像の切り替え用
	var temp = anchor.getElementsByTagName("img")[0].src.replace(txt1,txt2);
													//画像名の切り替え
	anchor.getElementsByTagName("img")[0].src = temp;
}

function swapClass(anchor,txt1,txt2) {				//クラスの切り替え用
	var temp = anchor.parentNode.className.replace(txt1,txt2);
													//クラスの切り替え
	anchor.parentNode.className = temp;
}

// スタート //

window.onload = checkRun;
