/* ====================================
  File        : common.js
  Date        : 2008.05.19
  Last Update : 2008.05.19
===================================== */

/* ------------------------------
 Rollover
------------------------------ */
	var elementTagName = "img";
	// 
	var clsName = "rollover";
	// 
	var postfixName = "_ov";

	function rollOver() {
		// 
		var preloadImg = new Array();
		var elementImg
		var objectId = document.getElementsByTagName( elementTagName );
		for( i=0; i<objectId.length; i++ ) {
			if( objectId[i].className == clsName ) {
				// preload
				var imgSource = objectId[i].getAttribute( "src" );
				var fileType = imgSource.substring( imgSource.lastIndexOf( "." ), imgSource.length );
				var mouseoverImg = imgSource.replace( fileType, postfixName + fileType );
				objectId[i].setAttribute( "mouseoverImg" , mouseoverImg );
				// 
				preloadImg[i] = new Image();
				preloadImg[i].src = mouseoverImg;
				objectId[i].onmouseover = function() {
					elementImg = this.getAttribute( "src" );
					this.setAttribute( "src", this.getAttribute( "mouseoverImg" ));
				}
				objectId[i].onmouseout = function() {
					if ( !elementImg ) {
						elementImg = this.getAttribute( "src" ).replace( postfixName + fileType, fileType);
					} else {
						this.setAttribute( "src", elementImg );
					}
				}

			}
		}

	}
	function loadFunction( objctName, eventType, functionName ) {
		eval( objctName + "." + eventType + " = " + functionName );
	}
	// Program Execution
	loadFunction( "window", "onload", "rollOver" );
// ------------------------------------------------------



/* ------------------------------
 スクロールバー制御
------------------------------ */

var __scroll = {sp:6, fps:16, timer:0};

function setScrollSp(sp) {

	if(typeof sp == "number") {

		this.__scroll.sp = sp;

	}

}

function setScrollFps(fps) {

	if(typeof fps == "number") {

		this.__scroll.fps = fps;

	}

}

function scrollToTop() {

	pageScroll(0, 0);

}

function getScrollLeft() {

	if(navigator.userAgent.indexOf("MSIE") != -1) {

		return document.body.scrollLeft;

	} else {

 	 return (window.pageXOffset) ? window.pageXOffset : 0;

 }

}

function getScrollTop() {

	if(navigator.userAgent.indexOf("MSIE") != -1) {

		return document.body.scrollTop;

	} else {

 	 return (window.pageYOffset) ? window.pageYOffset : 0;

 }

}

function pageScroll(toX, toY, cuX, cuY) {

	clearTimeout(this.__scroll.timer);

	toX = (!toX || toX < 0) ? 0 : toX;

	toY = (!toY || toY < 0) ? 0 : toY;

	cuX = (!cuX) ? 0 + getScrollLeft() : cuX;

	cuY = (!cuY) ? 0 + getScrollTop() : cuY;

	cuX += (toX - getScrollLeft()) / this.__scroll.sp; 

	cuY += (toY - getScrollTop()) / this.__scroll.sp; 

	if(cuX < 0) { cuX = 0; }

	if(cuY < 0) {	cuY = 0;	}

	window.scrollTo(Math.floor(cuX), Math.floor(cuY));

	if(Math.floor(cuX) != toX || Math.floor(cuY) != toY) {

		this.__scroll.timer = setTimeout("pageScroll("+toX+","+toY+"," +cuX+","+cuY+")",this.__scroll.sp);

	}

}