//smartRollover

function smartRollover() {
	if(document.getElementsByTagName) {
		var images = document.getElementsByTagName("img");

		for(var i=0; i < images.length; i++) {
			if(images[i].getAttribute("src").match("_off."))
			{
				images[i].onmouseover = function() {
					this.setAttribute("src", this.getAttribute("src").replace("_off.", "_on."));
				}
				images[i].onmouseout = function() {
					this.setAttribute("src", this.getAttribute("src").replace("_on.", "_off."));
				}
			}
		}
	}
}

if(window.addEventListener) {
	window.addEventListener("load", smartRollover, false);
}
else if(window.attachEvent) {
	window.attachEvent("onload", smartRollover);
}




//page top

var pageScrollTimer = null;
var isIE = false;

if (navigator.appName.indexOf("Microsoft Internet Explorer", 0) == 0) {
	isIE = true;
}

/* 
 * ページのトップ部分までスクロールする
 */
function backToTop() {
	scrollPage(0);

}

/* 
 * idが指定されたエレメントまでスクロールする
 */
function moveTo(id) {
	var el = document.getElementById(id);
	var targetTop = el.offsetTop;
	if (isIE) {
		while ((el = el.offsetParent) != null) {
			targetTop += el.offsetTop;
		}
	}

	var winHeight;
	if (document.documentElement.clientHeight) {
		winHeight = document.documentElement.clientHeight;
	} else if (window.innerHeight) {
		winHeight = window.innerHeight;
	}
	var scrollHeight = document.documentElement.scrollHeight;

	if (scrollHeight - targetTop < winHeight) {
		targetTop = scrollHeight - winHeight;
	}

	scrollPage(targetTop);
}

/* 
 * スクロール処理
 */
function scrollPage(targetTop, prevTop) {
	if (pageScrollTimer) {
		clearTimeout(pageScrollTimer);
		pageScrollTimer = null;
	}
	var nowLeft = document.body.scrollLeft || document.documentElement.scrollLeft;
	var nowTop = document.body.scrollTop || document.documentElement.scrollTop;

	if (prevTop) {
		if (nowTop == prevTop) {
			return;
		}
	}

	var sabunX = 0 - nowLeft;
	var sabunY = targetTop - nowTop;

	// 移動位置（X座標）を算出する
	var setLeft;
	if (Math.abs(sabunX) == 1) {
		setLeft = nowLeft + sabunX;
	} else {
		setLeft = nowLeft + Math.floor(sabunX / 2);
	}

	// 移動位置（Y座標）を算出する
	var setTop;
	if (Math.abs(sabunY) == 1) {
		setTop = nowTop + sabunY;
	} else {
		setTop = nowTop + Math.floor(sabunY / 2);
	}

	if (setLeft == 0 && setTop == targetTop) {
		clearTimeout(pageScrollTimer);
		pageScrollTimer = null;
	} else {
		window.scrollTo(setLeft, setTop);
		pageScrollTimer = window.setTimeout("scrollPage(" + targetTop + ", " + nowTop + ")", 25);
	}
}



