// JavaScript Document


/*
01.PageTop (cssの設定により編集必要)
01+.scroll up
02.RollOver 
03.Current 
04.popup window
05.basefont_css
*/




/*  01.PageTop
---------------------------------------------------------------------------------- */

var ScrollWin = {
	w3c : document.getElementById,
	iex : document.all,
	scrollLoop : false, 
	scrollInterval : null, // setInterval id
	currentBlock : null,   // object reference
	getWindowHeight : function(){
		if(this.iex) return (document.documentElement.clientHeight) ? document.documentElement.clientHeight : document.body.clientHeight;
		else return window.innerHeight;
	},
	getScrollLeft : function(){
		if(this.iex) return (document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
		else return window.pageXOffset;
	},
	getScrollTop : function(){
		if(this.iex) return (document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
		else return window.pageYOffset;
	},
	getElementYpos : function(el){
		var y = 0;
		while(el.offsetParent){
			y += el.offsetTop
			el = el.offsetParent;
		}
		return y;
	},
	scroll : function(num){
		if(!this.w3c){
			location.href = "#"+this.anchorName+num;
			return;
		}
		if(this.scrollLoop){
			clearInterval(this.scrollInterval);
			this.scrollLoop = false;
			this.scrollInterval = null;
		}
		if(this.currentBlock != null) this.currentBlock.className = this.offClassName;
		this.currentBlock = document.getElementById(this.blockName+num);
		this.currentBlock.className = this.onClassName;
		var doc = document.getElementById(this.containerName);
		var documentHeight = this.getElementYpos(doc) + doc.offsetHeight;
		var windowHeight = this.getWindowHeight();
		var ypos = this.getElementYpos(this.currentBlock);
		if(ypos > documentHeight - windowHeight) ypos = documentHeight - windowHeight;
		this.scrollTo(0,ypos);
	},
	scrollTo : function(x,y){
		if(this.scrollLoop){
			var left = this.getScrollLeft();
			var top = this.getScrollTop();
			if(Math.abs(left-x) <= 1 && Math.abs(top-y) <= 1){
				window.scrollTo(x,y);
				clearInterval(this.scrollInterval);
				this.scrollLoop = false;
				this.scrollInterval = null;
			}else{
				window.scrollTo(left+(x-left)/2, top+(y-top)/2);
			}
		}else{
			this.scrollInterval = setInterval("ScrollWin.scrollTo("+x+","+y+")",25);
			this.scrollLoop = true;
		}
	}
};


//  ↓↓Edit these variables
ScrollWin.containerName = "wrapper"; // wrapperのDIVのIDを入れる。
ScrollWin.anchorName    = "top";    // 　<a name="top0"> のID
ScrollWin.blockName     = "block";     // <div id="block0"></div> の空のDIVを ページを戻したい位置にいれる。
//　↑↑ Edit these variables								　　　
// 通常は <body>の直下に置く。

ScrollWin.onClassName   = "active";    // 
ScrollWin.offClassName  = "visited";   // 




/*  01+.scroll up
------------------------------------------------ */
function slowdownScroll() {
   if(navigator.appName == "Microsoft Internet Explorer" && document.compatMode == "CSS1Compat") {
      sctop = document.body.parentNode.scrollTop;
   }
   else if(window.pageYOffset){
      sctop = window.pageYOffset;
   } else {
      sctop = document.body.scrollTop;
   }

   if(sctop){
      scup = Math.ceil(sctop*.2);
      scrollBy(0,-scup);
      if (sctop-scup) setTimeout("slowdownScroll()",10);
   }
}




/*  02.RollOver 
---------------------------------------------------------------------------------- 

	Standards Compliant Rollover Script
	Author : Daniel Nolan
	http://www.bleedingego.co.uk/webdev.php
*/


function initRollovers() {
	if (!document.getElementById) return
	
	var aPreLoad = new Array();
	var sTempSrc;
	var aImages = document.getElementsByTagName('img');

	for (var i = 0; i < aImages.length; i++) {		
		if (aImages[i].className == 'imgover') {
			var src = aImages[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_o'+ftype);

			aImages[i].setAttribute('hsrc', hsrc);
			
			aPreLoad[i] = new Image();
			aPreLoad[i].src = hsrc;
			
			aImages[i].onmouseover = function() {
				sTempSrc = this.getAttribute('src');
				this.setAttribute('src', this.getAttribute('hsrc'));
			}	
			
			aImages[i].onmouseout = function() {
				if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_o'+ftype, ftype);
				this.setAttribute('src', sTempSrc);
			}
		}
	}
}

try{
	window.addEventListener("load",initRollovers,false);
}catch(e){
	window.attachEvent("onload",initRollovers);
}






/*  03.Current
 
 　imgの設置は　current_ js　ファイルで設定
 ---------------------------------------------------------------------------------- */

/*ChangeImageNum*/
	function imgChangeNum(nam,num) {
		if(document.images && (checkObj != 1)) {
			document[nam].src = arrowSecond[num].src;
		}
	}

	/*ChangeImage*/
	imgId = "";
	stayId = "";
	function imgChange(imgName,imgState) {
		if(document.images) {
			stringId0 = imgName.substring(0,4);
			stringId = imgName
			if(((stringId0 == "navi") || (stringId0 == "navs")) && (stringId == imgId)){
				document[imgName].src = eval(imgName + "stay" + ".src");
			} else {
				document[imgName].src = eval(imgName + imgState + ".src");
			}
		}
	}

	function stayMenu(stayId){
		imgChange(stayId,"stay");
		imgId = stayId;
	}
	




/*  03-01	グローバルナビゲーション　カレント表示
 	カレント表示にしたいページで　body onload="curentImg_01()" と記述
   
------------------------------------------------------------ */

/* ローカルナビ */
function curentImg_menu01(){
	lnavi_01off.src = lnavi_01stay.src
	stayMenu('lnavi_01');
 	}

function curentImg_menu02(){
	lnavi_02off.src = lnavi_01stay.src
	stayMenu('lnavi_02');
 	}

function curentImg_menu03(){
	lnavi_03off.src = lnavi_03stay.src
	stayMenu('lnavi_03');
 	}

function curentImg_menu04(){
	lnavi_04off.src = lnavi_04stay.src
	stayMenu('lnavi_04');
 	}
/* */
function curentImg_menu031(){
	lnavi_031off.src = lnavi_031stay.src
	stayMenu('lnavi_031');
 	}

function curentImg_menu032(){
	lnavi_032off.src = lnavi_032stay.src
	stayMenu('lnavi_032');
 	}
		
function curentImg_menu033(){
	lnavi_033off.src = lnavi_033stay.src
	stayMenu('lnavi_033');
 	}



/*  04. popup window 

	位置指定_有り スクロール有り時のos,ブラウザ別windowサイズ補正　位置中央
 ---------------------------------------------------------------------------------- */

function openwin4(file,name,h,w) {//位置指定_センター
	
	sw=screen.availWidth/2-w/2;
	sh=screen.availHeight/2-h/2
 	//h=screen.height

	
	mac = (navigator.appVersion.indexOf("Mac") != -1) ?true:false;
	ie = (navigator.appName.charAt(0) == "M") ?true:false;
	nn = (navigator.appName.charAt(0) == "N") ?true:false;
	
	if (mac){
		if (ie){
		// mac IE
		w+=1;
		h-=130;
		}
		
		else{
		// mac NN etc.
		w+=16;
		h-=10;
		}
	}
	else{
		if (ie){
		// win IE
		w+=17;
		h-=130;
		}
		else{
		// win NN etc.
		w+=16;
		h-=130;
		}
	}



newWin4= window.open(file,name,"height="+h+",width="+w+",top="+sh+",screenY="+sh+",left="+sw+",screenX="+sw+",toolbar=1,location=1,directories=0,status=1,menubar=1,scrollbars=1,resizable=1");
document.MM_returnValue = false;
newWin4.focus()
}


/*  05. basefont_css 

	ブラウザ別フォントの振り分け
 ---------------------------------------------------------------------------------- */
/*====================================================================================================
//////////////////////////////////////////////////////////////////////////////////////////////////////

 Author : http://www.yomotsu.net
 created: 2008/06/06
 update : 2009/06/09
 Licensed under the GNU Lesser General Public License

//////////////////////////////////////////////////////////////////////////////////////////////////////
====================================================================================================*/

(function(){
	var fontRule = {
		hiragino  : "font-family:'Hiragino Kaku Gothic Pro',\\30D2\\30E9\\30AE\\30CE\\89D2\\30B4\\20Pro\\20W3,sans-serif;",
		msPGothic : "font-family:'MS PGothic',\\FF2D\\FF33\\20\\FF30\\30B4\\30B7\\30C3\\30AF,sans-serif;",
		meiryo    : "font-family:Meiryo,\\30E1\\30A4\\30EA\\30AA,'Segoe UI',sans-serif;"
	}
	var CSSRule = '';
	
	//Macintosh
	if(navigator.userAgent.match(/Macintosh|Mac_PowerPC/))
		CSSRule = 'html body {' + fontRule.hiragino + '}';
	//Server 2003, XP, 2000, NT 4.0, ME, 98, 95, CE
	else if(navigator.userAgent.match(/Windows NT (4|5)\.\d+|windows (98|95|CE)/))
		CSSRule = 'html body {' + fontRule.msPGothic + '}';
	//Vista and later
	else if(navigator.userAgent.match(/Windows NT (6)\.\d+/) || navigator.userAgent.match(/Windows/))
		CSSRule = 'html body {' + fontRule.meiryo + '}';
	
	if (document.createStyleSheet)
		document.createStyleSheet().cssText = CSSRule;
	else {
		var element = document.createElement('style');
		document.getElementsByTagName('head')[0].appendChild(element);
		element.sheet.insertRule(CSSRule, 0 )
	}
})()






/* other dreamweaver js
---------------------------------------------------------------------------------- */

function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

<!--
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->
