/*
	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);
			}
		}
	}
}

window.onload = initRollovers;


//地図ポップアップ

function disp(url){ 

window.open(url, "window_name", "width=550,height=600,scrollbars=yes"); 

} 



//
//ページスクロール
//

var eventTimer;	//タイマー変数
var restScroll=0;	//スクロール残量

function Scroll(base,move){

	//移動元(base)要素＆オブジェクトを取得
	var obj_base  = getElemPosition(base);

	//移動先(move)要素＆オブジェクトを取得
	var elem_move = document.getElementById(move);
	var obj_move  = getElemPosition(elem_move);

	restScroll = obj_move.y-obj_base.y;
	eventTimer = setInterval(setScrollPosition,10);
}
//スクロール処理をする
function setScrollPosition() {

	var moveValue=0;

	//スクロール残量が80以上の場合、スクロール量を変える
	//Math.abs()では値の絶対値を取得
	if(Math.abs(restScroll)>80){
		moveValue = (restScroll>0)?20:-20;
	}else{
		moveValue = Math.round(restScroll/4);
	}
	//スクロールを処理
	parent.scrollBy(0,moveValue);

	//スクロール残量を計算して、残りが無ければタイマー解除
	restScroll = (restScroll>0)?restScroll-moveValue:restScroll-moveValue;

	if(moveValue==0){
		clearInterval(eventTimer);
		restScroll=0;
	}
}

//要素の位置を取得し、オブジェクトとして返す
function getElemPosition(elem) {
	var obj = new Object();
	obj.x = elem.offsetLeft;
	obj.y = elem.offsetTop;

	//親要素を取得して位置情報を修正する
	while(elem.offsetParent) {
		elem = elem.offsetParent;
		obj.x += elem.offsetLeft;
		obj.y += elem.offsetTop;
	}
	return obj;
}



//記事折りたたみ（Q＆A）

allOpened = false;
function foldingMenu(obj) {
  if(!obj.id || obj.id.indexOf("li")!=0)return false;
  if(obj.id=="allopenbutton") {
    allOpen();return false
  }
  obj2 = "u" + obj.id;
  if(document.all) {
    if(!document.all(obj2))return false;
    obj2 = document.all(obj2);
    obj2.className = obj2.className=="open" ? "close" : "open";
    obj.className = obj2.className;
  }
  else if(document.getElementById) {
    if(!document.getElementById(obj2))return false;
    obj2 = document.getElementById(obj2);
    obj2.className = obj2.className=="open" ? "close" : "open";
    obj.className = obj2.className;
  }
}
