/*
########################################################
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 == 'rollover') {
			var src = aImages[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_on'+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;


/*
########################################################
scroll up
########################################################
*/

var IE = navigator.appName.indexOf("Microsoft Internet Explorer",0) != -1;

flag = false;

function getAnchorPos(elementID){
//ターゲットアンカーのx座標、y座標を求める
var objnew = new Object();
	if(document.getElementById){
		var obj = document.getElementById(elementID);
		objnew.x = obj.offsetLeft;
		objnew.y = obj.offsetTop;
		while((obj = obj.offsetParent) != null){
			objnew.x += obj.offsetLeft;
			objnew.y += obj.offsetTop;
		}
	}
	else if(document.all){
	var obj = document.all(elementID);
	objnew.x = obj.offsetLeft;
	objnew.y = obj.offsetTop;
	while((obj = obj.setParent) != null){
			objnew.x += obj.offsetLeft;
			objnew.y += obj.offsetTop;
		}
	}
	else if(domument.layers){
		objnew = document.anchors[elementID].x;
		objnew = document.anchors[elementID].y;
	}
	else{
		objnew .x = 0;
		objnew.y = 0;
	}
	return objnew;
}

function goToAnchor(elementID){
	if((getAnchorPos(elementID).x >=0 || getAnchorPos(elementID).y >=0)){
		pageScroll(0,getAnchorPos(elementID).y,10);
		}
	else{
		flag = true;
	}
}

function getInnerSize(){
//ウィンドウサイズを取得するスクリプト
var obj = new Object();
	if(document.all || (document.getElementById && IE)){
	obj.width = document.body.clientWidth;
	obj.height = document.body.clientHeight;
	}
	else if(document.layers || document.getElementById){
	obj.width = window.innerWidth;
	obj.height = window.innerHeight;
	}
	return obj;
}

function getScrollLeft(){
//現在の横位置を取得
	if(IE){
		return document.body.scrollLeft;
	}
	else if(window.pageXOffset){
	return window.pageXOffset;
	}
	else{
	return 0;
	}
}

function getScrollTop(){
//現在の縦位置を取得
	if(IE){
		return document.body.scrollTop;
	}
	else if(window.pageYOffset){
	return window.pageYOffset;
	}
	else{
	return 0;
	}
}

var timeID;
function pageScroll(endX,endY,frms,cuX,cuY){
//ページスクロール本体
	if(timeID){
	clearTimeout(timeID);
	}
	if(endX < 0){
		endX = 0;
	}
	if(endY < 0){
	endY = 0;
	}
	if(!cuX){
	cuX = getScrollLeft();
	}
	if(!cuY){
	cuY = getScrollTop();
	}
	if(endY > cuY && endY > (getAnchorPos('end').y) - getInnerSize().height) {
	endY = (getAnchorPos('end').y - getInnerSize().height)+1;
	}
	cuX += (endX - getScrollLeft())/frms;
	if(cuX < 0){cuX = 0;}
	cuY +=(endY - getScrollTop())/frms;
	if(cuY < 0){cuY = 0;}
	var posiX = Math.floor(cuX);
	var posiY = Math.floor(cuY);
	window.scrollTo(posiX,posiY);
	if(posiX != endX || posiY != endY){
	timeID = setTimeout("pageScroll("+endX+","+endY+","+frms+","+cuX+","+cuY+")",25);
	}
}


/*
########################################################
fold
########################################################
*/

function toggleFold(sender, id) {
	var elm = document.getElementById(id);
	if (elm.style.display == "none") {
		elm.style.display = "block";
		sender.className = "unfolded";
	} else {
		elm.style.display = "none";
		sender.className = "folded";
	}
}


function FIND(item) {
// id=item のオブジェクトを返す
	if( window.mmIsOpera ) return(document.getElementById(item));
	if (document.all) return(document.all[item]);
	if (document.getElementById) return(document.getElementById(item));
	return(false);
}