// オンマウス

(function(){
	function rollover(){
		var targetClassName = "hv";
		var suffix = "_on";

		var overReg = new RegExp("^(.+)(\\.[a-z]+)$");
		var outReg = new RegExp("^(.+)" + suffix + "(\\.[a-z]+)$");
		var onn = false;

		var preload = new Array();
		var images = document.getElementsByTagName("img");

		for (var i = 0, il = images.length; i < il; i++) {
			var classStr = images[i].getAttribute("class") || images[i].className;
			var classNames = classStr.split(/\s+/);
			for(var j = 0, cl = classNames.length; j < cl; j++){
				if(classNames[j] == targetClassName){

					//preload
					preload[i] = new Image();
					preload[i].src = images[i].getAttribute("src").replace(overReg, "$1" + suffix + "$2");

					//mouseover
					images[i].onmouseover = function() {
						this.src = this.getAttribute("src").replace(overReg, "$1" + suffix + "$2");
					}

					//mouseout
					images[i].onmouseout = function() {
						this.src = this.getAttribute("src").replace(outReg, "$1$2");
					}										
					//onclick
					images[i].onclick = function() {
						this.src = this.getAttribute("src").replace(outReg, "$1$2");
					}

				}
			}
		}
	}

	function addEvent(elem,event,func){
		if(elem.addEventListener) {
			elem.addEventListener(event, func, false);
		}else if(elem.attachEvent) {
			elem.attachEvent("on" + event, func);
		}
	}
	addEvent(window,"load",rollover);
})();

jmp = new Array();
img = new Array();

jmp[0] = "/portal/function/ks/index.html";
jmp[1] = "/portal/function/gridy/index.html";
jmp[2] = "/portal/function/private/index.html";

img[0] = "/portal/img/bnr_ks.gif";
img[1] = "/portal/img/bnr_gridy.gif";
img[2] = "/portal/img/bnr_private.gif";

function setBanner(){
	amount = img.length;
	No = Math.floor(Math.random()*amount);
	document.write("<a href='"+jmp[No]+"'>");
	document.write("<img src='" + img[No] + "' style='padding:0 0 10px 0;' class='hv' />");
	document.write("</a>");
}

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

function Scroll(base,move){
    //ie6対策
    if(typeof document.body.style.maxHeight == "undefined") return true;
    // 移動元(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() {
    //ie6対策
    if(typeof document.body.style.maxHeight == "undefined") return true;
    var moveValue=0;
    // スクロール残量が80以上の場合、スクロール量を変える
    // Math.abs()では値の絶対値を取得
    if(Math.abs(restScroll)>80){
        moveValue = (restScroll>0)?20:-60;
    }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) {
    //ie6対策
    if(typeof document.body.style.maxHeight == "undefined") return true;
    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;
}