var establish    = 2;  // ロールオーバー画像へのパス
var heightSpeed  = 30; // インターバルの速度を設定
var boxHeight    = 85; // heightの初期設定
var gSize        = 85; // グローバルメニューの高さ
var subSize      = 40; // サブメニューの高さ
var transparent  = 10;  // alphaの初期透明度の設定
var point;             // 移動の目的地
var heightTimer;       // タイマーの設置
var gMenuNode;         // グローバルメニューのノード
var subMenuNode;       // サブメニューのノード
var gMenuId;           // グローバルメニューのID
var subMenuId;         // サブメニューのID
var nodeNum;           // ポイントされたノードの孫ノードの数（ポップアップメニューの数）
var getNodeFlag = 1;   // 処理中にターゲットノードの変更を防ぐため

// ブラウザ情報の取得 START ================================
var UA =navigator.userAgent;
var macIE = UA.indexOf("msie") > -1 && (UA.indexOf("mac") > -1);
var safari = UA.indexOf("safari") > -1;
// ================================== ブラウザ情報の取得 END

// ON LOAD IMG の設定 START ================================
/*
if( establish == "0" ){var directory = "http://" + document.domain + "/wan55/hacci_script/images/";}
else if( establish == "1" ){var directory = "http://" + document.domain + "/images/navi/";}
else if( establish == "2" ){var directory = "./common/navi_img/";}
var loadImg = new Array(
	directory + 'gMenu1_ov.gif',
	directory + 'gMenu2_ov.gif'
);
var PrImg = new Array();
for(i=0; i<loadImg.length; i++){
	PrImg[i] = new Image();
	PrImg[i].src = loadImg[i];
}*/
// ================================ ON LOAD IMG の設定 EDN
function showBox(e){
	point = "";
	nodeNum = "";
	clearInterval( heightTimer );
	if( e.target ){
		targetImgNode = e.target;
	}else{
		targetImgNode = e.srcElement;
	}
	if( targetImgNode.nodeType == 3 ){
		targetImgNode = targetImgNode.parentNode;
	}
	// 取得ノードが前回と違い場合フラグをリセット
	if( gMenuId !== targetImgNode.parentNode.parentNode.parentNode.id ){
		getNodeFlag = 1;
	}
	// MAKE GLOVAL MENU ID ===================================
	gMenuId   = targetImgNode.parentNode.parentNode.parentNode.id;
	gMenuNode = document.getElementById( gMenuId );
	// ROOL関数呼び出し
	//chan();
	// MAKE SUB MENU ID ===================================
	if(document.all){
		if( getNodeFlag == 1 ){
			subMenuId = targetImgNode.parentNode.parentNode.nextSibling.id;
			targetImgNode2 = targetImgNode;
			getNodeFlag = 0;
		}
	}
	else{
		if( getNodeFlag == 1 ){
			subMenuId = targetImgNode.parentNode.parentNode.nextSibling.nextSibling.id;
			targetImgNode2 = targetImgNode;
			getNodeFlag = 0;
		}
	}
	// MAKE SUB MENU NODE ===================================
	subMenuNode = document.getElementById( subMenuId );
	subMenuNode.style.display = 'block';
	// SUB MENU NODE NUMBRE ===================================
	if(document.all){
		nodeNum = subMenuNode.childNodes.length;
	}
	else{
		nodeNum = ( subMenuNode.childNodes.length -1  ) / 2;
	}
	// 隠しメニューの高さを確定 ==============================
	point = ( nodeNum * subSize ) + gSize;
	if( nodeNum > 0 ){
		nodeNum = nodeNum;
		var repeatPoint = function() {
			boxHeight += ( ( point - gSize ) / 6 );
			transparent += 10;
	        if( 110 <= transparent ) {
			    transparent = 100;
			    boxHeight = point;
				gMenuNode.style.height= point+'px';
	            clearInterval( heightTimer );
				return;
	    	}
			gMenuNode.style.height = boxHeight + 'px';
			popMenu(transparent);
		}
		heightTimer = setInterval(repeatPoint, heightSpeed);
	}
	return;
}
// POP MENUの動的処理 ====================================================
function popMenu(transparent){
	// Internet Explorer用
	var i;
	for( i = 1; i <= nodeNum; i++ ){
		var innerSubMenuId   = subMenuId + i;
			innerSubMenuNode = document.getElementById( innerSubMenuId );
			innerSubMenuNode.style.filter = 'alpha(opacity=' + transparent + ')';
	}
    var antherIE = transparent / 100;
		subMenuNode.style.mozOpacity = antherIE; // FireFox用
		subMenuNode.style.opacity    = antherIE; // Safari用
	return;
}
// BOXを非表示にするための処理 ====================================================
function hidBox(){
    clearInterval( heightTimer );
    transparent = 10;
    boxHeight = 85;
	gMenuNode.style.height= boxHeight + 'px';
	subMenuNode.style.display = 'none';
	popMenu(transparent);
	return;
}

// BOXを最大値に広げる処理 ====================================================
function showArea(){
    transparent = 100;
    boxHeight = point;
	gMenuNode.style.height = boxHeight + 'px';
	popMenu(transparent);
	return;
}

// EVENT SET ========================================================
function addListener(elem, eventType, func, cap) {
    if(elem.addEventListener) {
        elem.addEventListener(eventType, func, cap);
    } else if(elem.attachEvent) {
        elem.attachEvent('on' + eventType, func);
    } else {
        alert('ご利用のブラウザーはアルファメニューをサポートしてません。');
        return false;
    }
}
function setListeners(e) {
	// グローバルメニューの数を取得
	var gMenu = document.getElementById("gMenu");
	if( document.all ){
		//0109メニューひとつ削除処理　-1
		var gMenuNum = ( gMenu.firstChild.childNodes.length ) -1-1;
	}
	else{
		var gMenuNum = ( ( gMenu.childNodes[1].childNodes.length -1 ) / 2 ) -1-1;
	}
	for( i = 1; i <= gMenuNum; i++ ){
		var gMenu   = "gMenu" + i;
		var subMenu = "subMenu" + i;
		gMenu   = document.getElementById( gMenu );
		subMenu = document.getElementById( subMenu );
		addListener( gMenu, 'mouseover', showBox, false);
		addListener( gMenu, 'mouseout', hidBox, false);
		addListener( subMenu, 'mouseover', showArea, false);
		addListener( gMenu, 'mouseout', rev, false);
	}
	/*var head = document.getElementById("head");
	var scroll = document.getElementById("scroll");
	if( head.className == "beauty" ){
		if( !document.all){
			scroll.style.height = "140px";
			scroll.style.width = "780px";
		}
		scroll.innerHTML = "<iframe src=\"../scroll/index.html\" name=\"pb\" width=\"780\" height=\"140\" scrolling=\"no\" style=\"border:none;\" frameborder=\"0\"></iframe>";
	}*/
	return;
}
addListener(window, 'load', setListeners, false);
// ROOLMENU ========================================================
function chan(){
	var data = document.getElementById("wrap");
	if( data.className !== "footer-base" ){
		if(document.all){
			gMenuNode.firstChild.firstChild.firstChild.src = "../common/navi_img/"+gMenuId+"_ov.jpg";
		}
		else{
			gMenuNode.childNodes[1].firstChild.firstChild.src = "../common/navi_img/"+gMenuId+"_ov.jpg";
		}
	}
	else{
		if(document.all){
			gMenuNode.firstChild.firstChild.firstChild.src = "common/navi_img/"+gMenuId+"_ov.jpg";
		}
		else{
			gMenuNode.childNodes[1].firstChild.firstChild.src = "common/navi_img/"+gMenuId+"_ov.jpg";
		}
	}
}
function rev(){
	var targetButton = gMenuId + "1";
	targetButton = document.getElementById( targetButton );
	var data = document.getElementById("wrap");
	if( data.className !== "footer-base" ){
		targetButton.src = "../common/navi_img/"+gMenuId+"_off.jpg";
	}
	else{
		targetButton.src = "common/navi_img/"+gMenuId+"_off.jpg";
	}
	
}