dom.event.addEventListener( window, 'load', initdocument );

function initdocument()
{
	//ドロップダウンメニュー
	var targetElement = document.getElementById("search_navi");
	if( targetElement != null ) {
		dom.event.addEventListener( targetElement, 'mouseover', dropMenuOpen );
		dom.event.addEventListener( targetElement, 'mouseout', closeTimerStart );
		dom.event.addEventListener( document.getElementById(targetElement.id + "_drop"), 'mouseover', closeTimerClear );
		dom.event.addEventListener( document.getElementById(targetElement.id + "_drop"), 'mouseout', closeTimerStart );
	}
}

/*--------------------------------------------------------------------*/
//ドロップダウンメニュー
/*--------------------------------------------------------------------*/

var openTimer = null;
var closeTimer = null;
var targetDiv = null;
var targetDivAlpha = 0;
var targetDivHeight = 0;

//ロールオーバー時の処理
function dropMenuOpen( evt )
{
	closeTimerClear();
	var targetElement = dom.event.target( evt );
	nodeList = dom.core.childNodes(targetElement.parent);
	targetDiv = document.getElementById(targetElement.id + "_drop");
	targetDiv.style.display = "block";
	dropMenuOpenAnime();
}

//ロールアウト時の処理
function dropMenuClose()
{
	targetDiv.style.display = "none";
	targetDiv = null;
	targetDivAlpha = 0;
	targetDivHeight = 0;
	if(openTimer) {
		window.clearInterval(openTimer);
		openTimer = null;
	}
}

//ロールアウトした時CLOSEタイマーを起動
function closeTimerStart()
{
	closeTimer = window.setTimeout(dropMenuClose, 300);
}

//CLOSEタイマーのリセット
function closeTimerClear()
{
	if(closeTimer != null) {
		window.clearTimeout(closeTimer);
		closeTimer = null;
	}
}

//開くアニメーション
function dropMenuOpenAnime()
{
	if(openTimer == null) {
		openTimer = window.setInterval(openTween, 20);
		setAlpha(targetDiv, 0);
	}
}

//開くアニメーション(トゥイーン)
function openTween()
{
	if(targetDivAlpha < 9){
		targetDivAlpha += 0.5;
		targetDivHeight += dom.core.childNodes(document.getElementById("search_navi_drop")).length * 30 / 9;
		setAlpha(targetDiv, targetDivAlpha);
		targetDiv.style.height = String(targetDivHeight) + "px";
	} else {
		window.clearInterval(openTimer);
		openTimer = null;
		//alert( dom.core.childNodes(document.getElementById("search_navi_drop")).length );
	}
}

// 透明度をセットする
function setAlpha(target,my_alpha)
{
	var ie_alpha = "alpha(opacity=" + (my_alpha * 10) + ")";
	target.style.filter = ie_alpha;
	target.style.MozOpacity = my_alpha/10;
	target.style.opacity = my_alpha/10;
}


/*--------------------------------------------------------------------*/
//ポップアップ
/*--------------------------------------------------------------------*/

function popupWindow( evt )
{
	var target = dom.event.target( evt );//イベント呼び出し元の特定
	var url = getUrl( target );//リンク先URLの取得
	
	var name = "form";
	
	var option = "width=640,height=650,toolbar=0,location=0,directories=0,menubar=0,scrollbars=1,resizable=0";
	
	if( url )subWin = window.open( url, name, option );
	
	//デフォルトアクション(aタグのリンク機能)の抑止
	dom.event.preventDefault( evt );
}

function getUrl( elm )
{
	//引数elmエレメントの属性の配列を取得
	var attrs = elm.attributes;
	
	for( i = 0; i < attrs.length; i++ ) {
		//配列から"href"の要素番号を取得
		if( attrs.item( i ).nodeName == 'href' ) {
			//"href"属性の値(URL)を返す
			return attrs.item( i ).nodeValue;
		}
	}
	//見つからなければヌルを返す
	return null;
}
