	function onover(ele){
		var ele2;
		
		if (ele.className){ ele.className+=" select"; } else { ele.className=" select"; }
		if (ele.hasChildNodes()){
			ele2=ele.firstChild;
			while (ele2){
				if(ele2.className){
					if (ele2.className.indexOf('submenu')>=0){
						ele2.className=ele2.className.replace(' dnone','');
						ele2.className=ele2.className.replace('dnone','');
					}
				}
				ele2=ele2.nextSibling;
			}
		}
	}
	function onout(ele){
		var ele2;
		if (!ele.className){ return; }
		ele.className=ele.className.replace(' select','');
		ele.className=ele.className.replace('select','');
		if (ele.hasChildNodes()){
			ele2=ele.firstChild;
			while (ele2){
				if(ele2.className){
					if (ele2.className.indexOf('submenu')>=0){
						ele2.className+=" dnone";
					}
				}
				ele2=ele2.nextSibling;
			}
		}
	}


	// class nNav {
	var nNav={
		isIE: (navigator.appName.indexOf("Microsoft Internet Explorer",0) >= 0)
		,
		/* window.scroll */
		pageScrollTimer: 0 // pageScroll()用のグローバル変数
		,
		// function pageScroll(toX,toY,frms)
		// ページを(toX,toY)までなめらかにスクロールさせる。
		// 引数： toX  スクロール先のX座標
		//        toY  スクロール先のY座標
		//        frms 距離を何分の1づつ縮めるか(この数字が少ないほど一気に動きます。)
		// 返値： 無し
		//
		// 2003/06/18 toX、toYの設定などによってscroll動作が終わらない場合があったので修正
		//
		pageScroll: function(toX,toY,frms,scope) {
			/* 現在の位置の保存と変数の初期化 */
			var tmpX = 0 + (this||scope).getScrollLeft();
			var tmpY = 0 + (this||scope).getScrollTop();
			var cuX = tmpX;
			var cuY = tmpY;
		
			/* もしタイマーが有効になっていたら無効にする */
//			if (this.pageScrollTimer){
//				clearTimeout(this.pageScrollTimer);
//				delete this.pageScrollTimer;
//			}
		
			/* 移動先が指定されていなかったり変だったら0にする */
			if (!toX || toX < 0 ) {toX = 0;}  
			if (!toY || toY < 0 ) {toY = 0;}
		
			/* 移動量が指定されていなければ6に */
			if (!frms) frms = 6;
		
			/* 移動量の計算 */

			cuX += (toX - (this||scope).getScrollLeft()) / frms;
			if (cuX < 0) cuX = 0;
			cuY += (toY - (this||scope).getScrollTop()) / frms;
			if (cuY < 0) cuY = 0;
		
			/* 移動先の計算 */
			var posX = Math.floor(cuX);
			var posY = Math.floor(cuY);
		
			/*
			 もし計算結果が移動していなかったら移動先を
			 目的座標にこれやっとこないと、終わらない事
			 * があり。
			 */
			if (posX == tmpX) posX = toX;
			if (posY == tmpY) posX = toY;
		
			/* ようやくここで移動 */
			window.scrollTo(posX, posY);

			/*
			 移動出来ていなかった場合には、現在の座標を
			 移動先に。これやっとかないと終わらない事があり。
			 */
			if (posX != (this||scope).getScrollLeft()) toX = (this||scope).getScrollLeft();
			if (posY != (this||scope).getScrollTop()) toY = (this||scope).getScrollTop();
		
			// 移動先に到着していなかったらタイマーで自分を呼び出す
			if (posX != toX || posY != toY) {
				
//				this.pageScrollTimer = setTimeout(function(){this.pageScroll(toX,toY,frms);},6);
				if (! scope){
					scope=this;
					scope.pageScrollTimer = setInterval(function(){scope.pageScroll(toX,toY,frms,scope);},6);
				}
			} else {
				clearInterval(scope.pageScrollTimer);
			}
		}
		,
		// function jumpToPageTop()
		// ページを一番左上までなめらかにスクロールさせる。
		// 引数： 無し
		// 返値： 無し
		//
		// 実処理はpageScroll()です。
		//
		jumpToPageTop: function() {
			if (window.scrollTo) {
				this.pageScroll(0,0,6);
			}else{
				location.href="top";
			}
		}
		,
		// function jumpToPageTopX()
		// ページを一番左までなめらかにスクロールさせる。
		// Y軸方向には動きません。(ただし、ブラウザによっては一番上まで動く可能性があります。)
		// 引数： 無し
		// 返値： 無し
		//
		jumpToPageTopX: function() {
			if (window.scrollTo) {
				this.pageScroll(0,this.getScrollTop(),6);
			}else{
				location.href = "top";
			}
		}
		,
		// function jumpToPageTopY()
		// ページを一番上までなめらかにスクロールさせる。
		// X軸方向には動きません。(ただし、ブラウザによっては一番左まで動く可能性があります。)
		// 引数： 無し
		// 返値： 無し
		//
		jumpToPageTopY: function() {
			if (window.scrollTo) {
				this.pageScroll(this.getScrollLeft(),0,6);
			}else{
				location.href="top";
			}
		}
		,
		// function getScrollLeft()
		// 現在X軸方向にどれだけスクロールしているか返します。
		// 引数： 無し
		// 返値： 現在のX軸方向のスクロール量
		//
		getScrollLeft: function() {
			return document.body.scrollLeft || document.documentElement.scrollLeft;;
		}
		,
		// function getScrollTop()
		// 現在Y軸方向にどれだけスクロールしているか返します。
		// 引数： 無し
		// 返値： 現在のY軸方向のスクロール量
		//
		getScrollTop: function() { // 020225
			return document.body.scrollTop  || document.documentElement.scrollTop;
		}
		,
		getScrollWidth: function() {
			if (this.isIE) {
				return document.body.scrollWidth;
			} else if (window.innerWidth) {
				return window.innerWidth;
			}
			return 0;
		}
		,
		getScrollHeight: function() {
			if ((navigator.appName.indexOf("Microsoft Internet Explorer",0) != -1)) {
				return document.body.scrollHeight;
			} else if (window.innerHeight) {
				return window.innerHeight;
			}
			return 0;
		}
	}
	// } class nNav
	
	
function opn_win(NAME,URL,W,H) {
	var win;
	win = window.open(URL, NAME, 'toolbar=no,location=no,directoryies=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width='+W+',height='+H);
}

	function max(v1, v2)      { return ((v1>v2)?v1:v2);    }
	function max3(v1, v2, v3) { return max(max(v1,v2),v3); }
	function min(v1, v2)      { return ((v1<v2)?v1:v2);    }
	function min3(v1, v2, v3) { return min(min(v1,v2),v3); }

	function heightLine(arg){
		var i;
		var eles=new Array();
		var maxheight=0;
		var eNamz=arg["eles"] || undefined;
		var minH	=arg["minheight"] || 0;
		var maxH	=arg["maxheight"];
		var ofMode	=arg["overflow"];

		if(minH&&maxH){maxH=max(minH,maxH);}

		for (i=0;i<eNamz.length;i++){
			eles[i]=document.getElementById(eNamz[i]);
			if(eles[i]&&eles[i].clientHeight){
				maxheight=max(maxheight,eles[i]&&eles[i].clientHeight);
			}
		}

		maxheight=max(maxheight,minH);

		if(! maxH ||  maxheight<=maxH ){
			for (i=0;i<eles.length;i++){
				if(eles[i] && eles[i].style){
					eles[i].style.height=maxheight+"px";
				}
			}
		} else {
			for (i=0;i<eles.length;i++){
				if(eles[i] && eles[i].style){	
					eles[i].style.height=maxH+"px";
					if(ofMode){eles[i].style.overflowY=ofMode;}
				}
			}
		}
		return maxheight;
	}
