// JavaScript Document


/*

02.RollOver 
03.Current 
04.popup window
05.page scroll
*/


/*  02.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 == 'imgover') {
			var src = aImages[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);

			if( src.indexOf( "_o"+ftype) > 0 ){
				//next;
			}

			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);
			}
		}
	}
}





/*  03.Current
 ---------------------------------------------------------------------------------- */

/*ChangeImageNum*/
	function imgChangeNum(nam,num) {
		if(document.images && (checkObj != 1)) {
			document[nam].src = arrowSecond[num].src;
		}
	}

	/*ChangeImage*/
	imgId = "";
	stayId = "";
	function imgChange(imgName,imgState) {
		if(document.images) {
			stringId0 = imgName.substring(0,4);
			stringId = imgName
			if(((stringId0 == "navi") || (stringId0 == "navs")) && (stringId == imgId)){
				document[imgName].src = eval(imgName + "stay" + ".src");
			} else {
				document[imgName].src = eval(imgName + imgState + ".src");
			}
		}
	}

	function stayMenu(stayId){
		imgChange(stayId,"stay");
		imgId = stayId;
	}





/*  03-01	Current
 	onload="curentImg_01()"  
------------------------------------------------------------ */

function curentImg_01(){
	gnavi_01off.src = gnavi_01stay.src
	stayMenu('gnavi_01');
 	}


function curentImg_02(){
	gnavi_02off.src = gnavi_02stay.src
	stayMenu('gnavi_02');
 	}

function curentImg_03(){
	gnavi_03off.src = gnavi_03stay.src
	stayMenu('gnavi_03');
 	}

function curentImg_04(){
	gnavi_04off.src = gnavi_04stay.src
	stayMenu('gnavi_04');
 	}

function curentImg_05(){
	gnavi_05off.src = gnavi_05stay.src
	stayMenu('gnavi_05');
 	}
	
function curentImg_06(){
	gnavi_06off.src = gnavi_06stay.src
	stayMenu('gnavi_06');
 	}

function curentImg_07(){
	gnavi_07off.src = gnavi_07stay.src
	stayMenu('gnavi_07');
 	}

function curentImg_08(){
	gnavi_08off.src = gnavi_08stay.src
	stayMenu('gnavi_08');
 	}

function curentImg_09(){
	gnavi_09off.src = gnavi_09stay.src
	stayMenu('gnavi_09');
 	}

function curentImg_10(){
	gnavi_10off.src = gnavi_10stay.src
	stayMenu('gnavi_10');
 	}

function curentImg_11(){
	gnavi_11off.src = gnavi_11stay.src
	stayMenu('gnavi_11');
 	}

function curentImg_12(){
	gnavi_12off.src = gnavi_12stay.src
	stayMenu('gnavi_12');
 	}

function curentImg_13(){
	gnavi_13off.src = gnavi_13stay.src
	stayMenu('gnavi_13');
 	}

function curentImg_14(){
	gnavi_14off.src = gnavi_14stay.src
	stayMenu('gnavi_14');
 	}


function curentImg_21(){
	lnavi_01off.src = lnavi_01stay.src
	stayMenu('lnavi_01');
 	}

function curentImg_22(){
	lnavi_02off.src = lnavi_02stay.src
	stayMenu('lnavi_02');
 	}

function curentImg_23(){
	lnavi_03off.src = lnavi_03stay.src
	stayMenu('lnavi_03');
 	}

function curentImg_24(){
	lnavi_04off.src = lnavi_04stay.src
	stayMenu('lnavi_04');
 	}


/*  04. popup window 
 ---------------------------------------------------------------------------------- */
function openwin4(file,name,h,w) {
	
	sw=screen.availWidth/2-w/2;
	sh=screen.availHeight/2-h/2
 	//h=screen.height

	
	mac = (navigator.appVersion.indexOf("Mac") != -1) ?true:false;
	ie = (navigator.appName.charAt(0) == "M") ?true:false;
	nn = (navigator.appName.charAt(0) == "N") ?true:false;
	
	if (mac){
		if (ie){
		// mac IE
		w+=1;
		h-=0;
		}
		
		else{
		// mac NN etc.
		w+=16;
		h-=0;
		}
	}
	else{
		if (ie){
		// win IE
		w+=17;
		h-=0;
		}
		else{
		// win NN etc.
		w+=16;
		h-=0;
		}
	}



newWin4= window.open(file,name,"height="+h+",width="+w+",top="+sh+",screenY="+sh+",left="+sw+",screenX="+sw+",toolbar=1,location=1,directories=0,status=1,menubar=1,scrollbars=1,resizable=1");
document.MM_returnValue = false;
newWin4.focus()
}

/*  05.pagedcroll 書き足しました
 ---------------------------------------------------------------------------------- */
 // ページスクロール 
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.compatMode == "CSS1Compat") ? document.documentElement.scrollLeft : document.body.scrollLeft;
	} else {
 	 return (window.pageXOffset) ? window.pageXOffset : 0;
 }
}
function getScrollTop() {
	if(navigator.userAgent.indexOf("MSIE") != -1) {
		return (document.compatMode == "CSS1Compat") ? document.documentElement.scrollTop : 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);
	}
}
// SCROLL_PAGE_LINK
ScrollClass.prototype.speed = 12;
ScrollClass.prototype.timer = 0;
ScrollClass.prototype.isCompatMode = document.compatMode == "CSS1Compat";
ScrollClass.prototype.isIE = navigator.userAgent.indexOf("MSIE") != -1;
ScrollClass.prototype.isOpera = window.opera;
ScrollClass.prototype.isMozilla = navigator.userAgent.indexOf("Gecko") != -1;
ScrollClass.prototype.isNN  = navigator.userAgent.indexOf("Netscape") != -1;
ScrollClass.prototype.isNC  = navigator.userAgent.indexOf("Mozilla") != -1 && navigator.userAgent.indexOf("MSIE") == -1;
ScrollClass.prototype.isSafari  = navigator.userAgent.indexOf("Safari") != -1;

ScrollClass.prototype.direction = new Object();
ScrollClass.prototype.offset = new Object();
var scroll = new ScrollClass();
function ScrollClass() {}
ScrollClass.prototype.setScrollSpeed = function(num) {
	if(typeof num == "number") {
		this.speed = num;
	}
}
ScrollClass.prototype.getScrollSpeed = function() {
	return this.speed;
}
ScrollClass.prototype.getMaxScroll = function() {
	var pos = new Object();
	if(this.isNN) {
		pos.x = document.body.scrollWidth - document.body.clientWidth;
		pos.y = document.body.scrollHeight - document.body.clientHeight;
	} else {
		pos.x = this.isCompatMode ? document.documentElement.scrollWidth - document.documentElement.clientWidth : document.body.clientWidth;
		pos.y = this.isCompatMode ? document.documentElement.scrollHeight - document.documentElement.clientHeight : document.body.offsetHeight- document.body.clientHeight;
	}
	return pos;
}
ScrollClass.prototype.getScrollLeft = function() {
	if(this.isIE) {
		return this.isCompatMode ? document.documentElement.scrollLeft : document.body.scrollLeft;
	} else {
		return window.pageXOffset ? window.pageXOffset : 0;
	}
}
ScrollClass.prototype.getScrollTop = function() {
	if(this.isIE) {
		return this.isCompatMode ? document.documentElement.scrollTop : document.body.scrollTop;
	} else {
		return window.pageYOffset ? window.pageYOffset : 0;
	}
}
ScrollClass.prototype.scrollTo = function() {
	if(this.isNC && parseFloat(navigator.appVersion)<5) {
		jump_point = "#" + arguments[1];
		location.href = jump_point;
		return;
	}
	if(this.isSafari) {
		jump_point = "#" + arguments[1];
		location.href = jump_point;
		return;
	}

	var toX = this.parse("x", this.findAnchor(arguments[0]) ? this.getAnchorPos(arguments[0]).x : arguments[0]);
	var toY = this.parse("y", this.findAnchor(arguments[1]) ? this.getAnchorPos(arguments[1]).y : arguments[1]);

	this.direction.is_x = toX - this.getScrollLeft() >= 0 ? true : false;
	this.direction.is_y = toY - this.getScrollTop() >= 0 ? true : false;

	this.pageScroll(toX, toY);
}
ScrollClass.prototype.findAnchor = function(id) {
	if(document.getElementsByName){
		return (document.getElementsByName(id)[0]);
	}
	return (document.anchors[id]);
	//return (document.getElementsByName(id)[0] || document.anchors[id]);
}
ScrollClass.prototype.getAnchorPos = function(id) {

	if(document.getElementsByName) {
		var element = document.getElementsByName(id)[0];
		var obj = new Object();
		do {
			obj.x = (!obj.x) ? element.offsetLeft : obj.x + element.offsetLeft;
			obj.y = (!obj.y) ? element.offsetTop : obj.y + element.offsetTop;
		} while((element = element.offsetParent) != null);
		return {x:obj.x < 0 ? 0 : obj.x, y:obj.y };
	} else if(document.layers) {
		var element = document.anchors[id];
		return {x:element.x, y:element.y };
	} else {
		return {x:0, y:0};
	}
}
ScrollClass.prototype.parse = function(direction, value) {
	var maxScroll = this.getMaxScroll();
	var range = {min_x:0, max_x:maxScroll.x, min_y:0, max_y:maxScroll.y };
	switch(direction) {
		case "x":
//			if(value == undefined) {
			if(!value) {
				return 0;
			} else if(typeof value == "boolean") {
				return value ? 0 : this.getScrollLeft();
			} else if(typeof value == "number") {
				if(!this.isOpera) {
					if(value < 0) {
						return 0;
					} else if(value > range.max_x) {
						return range.max_x;
					}
				}
				return value;
			} else if(typeof value == "string") {
				switch(value) {
					case "left": return 0;
					case "center": return Math.floor(range.max_x / 2);
					case "right": return range.max_x;
					default: this.getScrollLeft();
				}
			}
			return this.getScrollLeft();
			break;
		case "y":
//			if(value == undefined) {
			if(!value) {
				return 0;
			} else if(typeof value == "boolean") {
				return value ? 0 : this.getScrollTop();
			} else if(typeof value == "number") {
				if(value < 0) {
					return 0;
				} else if(value > range.max_y) {
					return range.max_y;
				}
				return value;
			} else if(typeof value == "string") {
				switch(value) {
					case "top": return 0;
					case "middle": return Math.floor(range.max_y / 2);
					case "bottom": return range.max_y;
					default: this.getScrollTop();
				}
			}
			return this.getScrollTop();
			break;
	}
}
ScrollClass.prototype.pageScroll = function(toX, toY) {
	if(this.isOpera) {
		window.scrollTo(toX, toY);
		return;
	}
	clearTimeout(this.timer);
	var dX = this.direction.is_x;
	var dY = this.direction.is_y;
	var scX = this.getScrollLeft();
	var scY = this.getScrollTop();
	var cuX = dX ? Math.ceil((toX - scX) / this.speed) : Math.floor((toX - scX) / this.speed);
	var cuY = dY ? Math.ceil((toY - scY) / this.speed) : Math.floor((toY - scY) / this.speed);
	if(((dX && scX + cuX < toX -1) || (!dX && scX + cuX > toX + 1)) || ((dY && scY + cuY < toY - 1) || (!dY && scY + cuY > toY +1))) {
		window.scrollTo(scX + cuX, scY + cuY);
		if(this.isNN) {
			if(this.offset.x == window.pageXOffset && this.offset.y == window.pageYOffset) {
				return;
			}
			this.offset.x = window.pageXOffset;
			this.offset.y = window.pageYOffset;
		}
		this.timer = setTimeout("ScrollClass.prototype.pageScroll("+toX+","+toY+")",this.speed);
	} else {
		clearTimeout(this.timer);
		window.scrollTo(toX, toY);
		return false;
	}
}
