// JavaScript Document

//ページ上部へ戻る

function pageTopScroll() {
	var scrj = 1;
   if(navigator.appName == "Microsoft Internet Explorer" && document.compatMode == "CSS1Compat") {
      var scdist = document.body.parentNode.scrollTop;
   } else {
      var scdist = document.body.scrollTop;
   }
   if(scrj<50 && scdist) {
      scdist = (scdist>2) ? Math.ceil(scdist*.2) : 1;
      scrj++;
      scrollBy(0,-scdist);
      setTimeout("pageTopScroll()",20);
   } else {
      scrollTo(0,0);
      scrj = 1;
   }
}

//表示非表示
  function hideLAYER(layName){
    if(document.getElementById)         //e5,e6,n6,n7,m1,o6,o7,s1ﾍﾑ
      document.getElementById(layName).style.display='none'
    else if(document.all)               //e4ﾍﾑ
      document.all(layName).style.visibility='hidden'
    else if(document.layers)            //n4ﾍﾑ
      document.layers[layName].display='hide'
  }
  
  function showLAYER(layName){
    if(document.getElementById)         //e5,e6,n6,n7,m1,o6,o7,s1ﾍﾑ
      document.getElementById(layName).style.display='block'
    else if(document.all)               //e4ﾍﾑ
      document.all(layName).style.visibility='block'
    else if(document.layers)            //n4ﾍﾑ
      document.layers[layName].display='block'
  }


window.onload = function () {
	/**
	 * calculate X-coord in a page
	 * @param elem element
	 * @returns {Number} X-coordinate
	 */
	function calculateXcoord(elem) {
		var xCoord = 0;
		while (elem) {
			xCoord += new Number(elem.offsetLeft);
			elem = elem.offsetParent;
		}
		if (navigator.userAgent.indexOf('Mac') != -1 &&
				typeof document.body.leftMargin != 'undefined') {
			xCoord += new Number(document.body.leftMargin);
		}
		return xCoord;
	}
	/**
	 * calculate Y-coord in a page
	 * @param elem element
	 * @returns {Number} Y-coordinate
	 */
	function calculateYcoord(elem) {
		var yCoord = 0;
		while (elem) {
			yCoord += new Number(elem.offsetTop);
			elem = elem.offsetParent;
		}
		if (navigator.userAgent.indexOf('Mac') != -1 &&
				typeof document.body.topMargin != 'undefined') {
			yCoord += new Number(document.body.topMargin);
		}
		return yCoord;
	}
	/**
	 * start smoothscroll action
	 * @param elem_dst element to jump
	 */
	function startScroll(elem_dst) {
		var destY = calculateYcoord(elem_dst);
		var ename = elem_dst.id ? elem_dst.id : elem_dst.name;
		var urlHash = (ename) ? ('#'+ename) : null;
		var interval = 30;  // millisecond
		var steps = 15;  // times
		var crnt = 0;  // counter
		var scrollTop = null;
		if (document.body.parentNode.scrollTop != null) {  //IE
			scrollTop = document.body.parentNode.scrollTop;
		} else if (window.scrollY != null) {  //NN5
			scrollTop = window.scrollY;
		} else if (window.pageYOffset != null) {  //NN4
			scrollTop = window.pageYOffset;
		}
		var diff = destY - scrollTop;
		var timerid = setInterval(function () {
			if (crnt++ < steps) {
				var t = crnt / steps;
				var f = t-1/Math.PI*Math.sin(Math.PI*t);
				var y = scrollTop + diff * f;
				window.scrollTo(0, y);
			} else {
				clearInterval(timerid);
				if (urlHash) {
					document.location.hash = urlHash;
				}
				if (navigator.userAgent.indexOf('Opera 8.01') != -1) {
					document.location.reload();  // Opera8.01 bug
				}
				return true;
			}
		}, interval);
	}
	/**
	 * closure that returns onclick handler for link
	 * @param anchor element to jump
	 * @returns event handler function
	 */
	function cloOnLinkClick(anchor) {
		return function(event) {
			startScroll(anchor);
			Event.stop(event);  // prevent browser default action(jump)
		};
	}
	
	// ページ内リンクでスムーススクロールするハンドラを全リンクに自動設定
	var myURL = document.location.href.replace(document.location.hash, ''); // remove hash
	var regex = '^'+myURL+'#';
	
	var anchorMap = new Object();  // hash -> anchor
	for (var i = 0; i < document.anchors.length; i++) {
		var a = document.anchors[i];
		var aname = a.id ? a.id : a.name;
		anchorMap['#'+aname] = a;
	}
	for (var i = 0; i < document.links.length; i++) {
		var link = document.links[i];
		if (!link.onclick && !link.onmousedown && link.href &&
				link.href.match(regex) && anchorMap[link.hash]) {
			// onclick,onmousedownハンドラ未定義　かつ　ページ内リンク
			var anchor = anchorMap[link.hash];
			Event.observe(link, 'click', cloOnLinkClick(anchor), false);
		}
	}
};

function MM_CheckFlashVersion(reqVerStr,msg){
  with(navigator){
    var isIE  = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
    var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
    if (!isIE || !isWin){  
      var flashVer = -1;
      if (plugins && plugins.length > 0){
        var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
        desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
        if (desc == "") flashVer = -1;
        else{
          var descArr = desc.split(" ");
          var tempArrMajor = descArr[2].split(".");
          var verMajor = tempArrMajor[0];
          var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
          var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
          flashVer =  parseFloat(verMajor + "." + verMinor);
        }
      }
      // WebTV has Flash Player 4 or lower -- too low for video
      else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;

      var verArr = reqVerStr.split(",");
      var reqVer = parseFloat(verArr[0] + "." + verArr[2]);
  
      if (flashVer < reqVer){
        if (confirm(msg))
          window.location = "http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
      }
    }
  } 
}

// ランダム表示


// ロールオーバー

<!--
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_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_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

