/*2009/09/28 KKato
------------------------------------------------------------------------------------*/
var flg_browser = 'etc';					//ブラウザ判別フラグ
var alphaTimer = '';
var alpha = 100;
var naviNowPass;
var naviBackPass;
var f_state = true;

/*ブラウザ判別(onload前の処理)
------------------------------------------------------------------------------------*/
window.onBeforeUnload = browser_check();

function browser_check()
{
	var browser = navigator.userAgent.toLowerCase();
		
	if(browser.indexOf('msie')	!= -1)	flg_browser = 'ie';
	
	OnloadAddEvent();
}

/*イベントハンドラ追加
------------------------------------------------------------------------------------*/
function OnloadAddEvent()
{
	if(flg_browser == 'ie')	window.attachEvent('onload',navi_addFunc);
	else	window.addEventListener('load',navi_addFunc,false);
}

function navi_addFunc()
{
	var Atag	= document.getElementsByTagName('A');
	var pass;
	var txtF;
	var txtE;
	var flg = true;
	
	for(i = 0; i < Atag.length; i++)
	{
		if(Atag[i].getAttribute('rel') == null) continue;
		if(Atag[i].getAttribute('rel').indexOf('naviDisp') != -1)
		{						
			txtF = Atag[i].getAttribute('rel').indexOf('[') + 1;
			txtE = Atag[i].getAttribute('rel').indexOf(']');
			pass = Atag[i].getAttribute('rel').substring(txtF,txtE);
			
			if(flg_browser == 'ie')
			{
				Atag[i].attachEvent('onclick',stateJudge);
				Atag[i].attachEvent('onmouseover',bnr_over);
				Atag[i].attachEvent('onmouseout',bnr_out);
			}
			else
			{
				Atag[i].addEventListener('click',stateJudge,false);
				Atag[i].addEventListener('mouseover',bnr_over,false);
				Atag[i].addEventListener('mouseout',bnr_out,false);
			}
			
			Atag[i].setAttribute('rel',pass);
			Atag[i].setAttribute('id',pass + '_bnr');
			document.getElementById(pass).style.display = 'none';
			
			if(flg)
			{
				document.getElementById(pass).style.display = 'block';
				var posiX = bgPositionXGet(pass + '_bnr');
				document.getElementById(pass + '_bnr').style.backgroundPosition = posiX + ' bottom';
				naviBackPass = pass;
				flg = false;
			}
		}
	}
}


/*クリックした箇所を取得
------------------------------------------------------------------------------------*/
function clickJudge(This)
{
	var pass;
	
	if(flg_browser == 'ie')
	{
		//pass = IEPassSet();
		pass = event.srcElement;
		pass.blur();
	}
	else pass = This;
		
	return pass.getAttribute('rel');
}


/*入替アニメーション中か判断
------------------------------------------------------------------------------------*/
function stateJudge()
{
	if(f_state)
	{
		if(alphaTimer == '') naviNowPass = clickJudge(this);
		f_state = false;
		
		var styleX = bgPositionXGet(idGet(this));
		document.getElementById(idGet(this)).style.backgroundPosition = styleX + ' bottom';
		
		styleX = bgPositionXGet(naviBackPass + '_bnr');
		document.getElementById(naviBackPass + '_bnr').style.backgroundPosition = styleX + ' top';
		divClose();
	}
}


/*表示クローズ
------------------------------------------------------------------------------------*/
function divClose()
{
	var pass = document.getElementById(naviBackPass).style;
	
	alphaTimer = setTimeout('divClose()',25);
		
	pass.filter = 'alpha(opacity=' + (alpha) + ')';
	pass.opacity = alpha / 100;
		
	if(alpha <= 0)
	{
		clearTimeout(alphaTimer);
		pass.display = 'none';
		pass = document.getElementById(naviNowPass).style
		alphaTimer = '';
		alpha = 0;
		pass.display = 'block';
		pass.filter = 'alpha(opacity=' + (alpha) + ')';
		pass.opacity = alpha / 100;
		divOpen();
	}
	else alpha -= Math.ceil(alpha / 3);
}


/*表示オープン
------------------------------------------------------------------------------------*/
function divOpen()
{
	var pass = document.getElementById(naviNowPass).style;
		
	alphaTimer = setTimeout('divOpen()',25);
	
	pass.filter = 'alpha(opacity=' + (alpha) + ')';
	pass.opacity = alpha / 100;
	
	if(alpha >= 100)
	{
		clearTimeout(alphaTimer);
		alphaTimer = '';
		alpha = 100;
		naviBackPass = naviNowPass;
		f_state = true;
	}
	else alpha += 5 + (alpha / 3);
}







function bnr_over()
{
	var styleX = bgPositionXGet(idGet(this));
	var styleY = bgPositionYGet(idGet(this));
	var flg;
		
	if(styleY.indexOf('%') != -1)
	{
		flg = true;
	}
	else flg = false;
	
	if(flg && styleY.indexOf('100%') == -1)
	{
		document.getElementById(idGet(this)).style.backgroundPosition = styleX + ' center';
	}
	else if(!flg && styleY.indexOf('bottom') == -1)
	{
		document.getElementById(idGet(this)).style.backgroundPosition = styleX + ' center';
	}
}

function bnr_out()
{
	var styleX = bgPositionXGet(idGet(this));
	var styleY = bgPositionYGet(idGet(this));
	var flg;
		
	if(styleY.indexOf('%') != -1)
	{
		flg = true;
	}
	else flg = false;
	
	if(flg && styleY.indexOf('100%') == -1)
	{
		document.getElementById(idGet(this)).style.backgroundPosition = styleX + ' top';
	}
	else if(!flg && styleY.indexOf('bottom') == -1)
	{
		document.getElementById(idGet(this)).style.backgroundPosition = styleX + ' top';
	}
}








/*クリックした箇所のidを取得
------------------------------------------------------------------------------------*/
function idGet(This)
{
	var pass;
	
	if(flg_browser == 'ie')
	{
		pass = event.srcElement;
		pass.blur();
	}
	else pass = This;
		
	return pass.getAttribute('id');
}


/*選択されたIDの背景ポジションX取得
------------------------------------------------------------------------------------*/
function bgPositionXGet(idPass)
{
	var bgpositionX;
	
	if(flg_browser == 'ie')
	{
		bgpositionX = cssStyleGet(idPass , 'backgroundPositionX');
	}
	else
	{
		var bgPosition = cssStyleGet(idPass , 'backgroundPosition');
		var space = bgPosition.indexOf(' ');
		bgpositionX = bgPosition.substring(0,space);
	}
	
	return bgpositionX;
}


/*選択されたIDの背景ポジションY取得
------------------------------------------------------------------------------------*/
function bgPositionYGet(idPass)
{
	var bgpositionY;
	
	if(flg_browser == 'ie')
	{
		bgpositionY = cssStyleGet(idPass , 'backgroundPositionY');
	}
	else
	{
		var bgPosition = cssStyleGet(idPass , 'backgroundPosition');
		var space = bgPosition.indexOf(' ');
		bgpositionY = bgPosition.substring(space + 1);
	}
	
	return bgpositionY;
}


/*選択されたIDのCSS取得
------------------------------------------------------------------------------------*/
function cssStyleGet(idPass,styleType)
{	
	var pass = document.getElementById(idPass);
	
	if(flg_browser == 'ie')
	{
		return pass.currentStyle[styleType];
	}
	else return document.defaultView.getComputedStyle(pass, '')[styleType];
}