﻿
// ******** PRART_JS_FILE *********



// ########## Delete Error Message
window.onerror = null;


// ########## IMGのPreLoad
function PreLoad() {
	var d = document;
	if(d.images){
		if(!d.My_IMG) d.My_IMG = new Array();
		var i , j = d.My_IMG.length , a = PreLoad.arguments;
		for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){
			d.My_IMG[j] = new Image;
			d.My_IMG[j++].src = a[i];
		}
	}
}

// ########## Object検索・取得
function GetObj(n, d) {
	var p,i,x;
	if(!d) d = document;
	if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d = parent.frames[n.substring(p+1)].document;
		n = n.substring(0,p);
	}
	if(!(x=d[n])&&d.all) x = d.all[n];
	for(i=0; !x&&i<d.forms.length; i++) x = d.forms[i][n];
	for(i=0; !x&&d.layers&&i<d.layers.length; i++) x = GetObj(n,d.layers[i].document);
	if(!x && document.getElementById) x = document.getElementById(n);
	return x;
}

// ########## IMG切り替え
function ChgIMG() {
	var i , j = 0 , x , a = ChgIMG.arguments;
	document.My_sr = new Array;
	for(i=0; i<(a.length-2); i+=3) if ((x=GetObj(a[i]))!=null){
		document.My_sr[j++] = x;
		if(!x.oSrc) x.oSrc = x.src;
		x.src = a[i+2];
	}
}

// ########## 切り替えIMGのReset
function ResetIMG() {
	var i , x , a = document.My_sr;
	for(i=0; a&&i<a.length&&(x=a[i])&&x.oSrc; i++) x.src = x.oSrc;
}



// ########## IMG切り替え
function ChgIMG2() {
	var i , j = 0 , x , a = ChgIMG2.arguments;
	document.My_sr2 = new Array;
	for(i=0; i<(a.length-2); i+=3) if ((x=GetObj(a[i]))!=null){
		document.My_sr2[j++] = x;
		if(!x.oSrc) x.oSrc = x.src;
		x.src = a[i+2];
	}
}

// ########## 切り替えIMGのReset
function ResetIMG2() {
	var i , x , a = document.My_sr2;
	for(i=0; a&&i<a.length&&(x=a[i])&&x.oSrc; i++) x.src = x.oSrc;
}




// ########## Browser Info
var ie = (document.all);
var nn4 = (document.layers);
var nn6 = (!document.all && document.getElementById);

// ########## fmenu
function fmenu(menu){
	if(nn6){
		if(document.getElementById(menu).style.display == "none"){
			document.getElementById(menu).style.display = "block";
		}else{
			document.getElementById(menu).style.display = "none";
		}
	}
	if(ie){
		if(document.all[menu].style.display == "none"){
			document.all[menu].style.display = "block";
		}else{
			document.all[menu].style.display = "none";
		}
	}
}

// ########## swaplay
function chglay(layName,imgName,img){
	if(nn4){
		document.layers[layName].document.images[imgName].src = img;
	}else if(ie || nn6){
		document.images[imgName].src = img;
	}
}


// ########## ネスケ4.x用
function reloadPage(pra){
	if(pra==true) with(navigator){
		if((appName=="Netscape")&&(parseInt(appVersion)==4)){
			document.pgW=innerWidth;
			document.pgH=innerHeight;
			window.onresize=reloadPage;
		}
	}else if(innerWidth!=document.pgW || innerHeight!=document.pgH) location.reload();
}

reloadPage(true);

function checkWin(Num){
	winNum=Num;
}

function centerLayers(){
	if(document.layers || document.all || document.getElementById){
		var winWidth, winHeight, i, horz, vert, width, height, offsetX, offsetY, negX, negY, group, x, y, args;
		
		args = centerLayers.arguments;
		
		onresize = reloadpage;
				
		winWidth = (document.all)?document.body.clientWidth:window.innerWidth;
		winHeight = (document.all)?document.body.clientHeight:window.innerHeight;
				
		for(i=0; i<(args.length-9); i+=10){
			horz = args[i+1];
			vert = args[i+2];
			width = parseInt(args[i+3]);
			height = parseInt(args[i+4]);
			offsetX = parseInt(args[i+5]);
			offsetY = parseInt(args[i+6]);
			negX = args[i+7];
			negY = args[i+8];
			x = ((winWidth - width)/2) + offsetX;
			y = ((winHeight - height)/2) + offsetY;
			x = (negX=='false' && (x < 0))?0:x;
			if(winHeight<=winNum){
				if(!document.all && document.getElementById) x=x-8;
				if((document.layers)&&(mac)) x=x+8;
			}
			if(document.layers) x=x-8;
			y = (negY=='false' && (y < 0))?0:y;
			layerObj = (document.getElementById)?document.getElementById(args[i]):GetObj(args[i]);
			
			if(layerObj!=null){
				layerObj = (layerObj.style)?layerObj.style:layerObj;
				layerObj.left = (horz=="true")?x:layerObj.left;
				layerObj.top = (vert=="true")?y:layerObj.top;
			}
		}
	}
}


// ########## Sub Window Open
function popup(u,n,w,h) {
  	window.open(u,n,'width=' + w + ',height=' + h + ',toolbar=no,menubar=no,location=no,directories=no,status=no,scrollbars=yes,resizable=no');

}


//## Win IE4／Mac IE4でclosed判定バグ回避
function sbwin_closed(winVar) {
	if( !winVar ) {
		if( winie4 ) return winVar.closed;
		else return typeof winVar.document != 'object';
	}else{
		return true;
	}
}




// ########## StatusBar Message
function StatusMsg(MS) {
	status = MS;
	document.FLAG = true;
}

// ########## Layer 切り替え
function SHLayer() {
	var i,p,v,obj,args = SHLayer.arguments;
	for (i=0; i<(args.length-2); i+=3) if ((obj = GetObj(args[i])) != null) {
		v = args[i+2];
		if (obj.style) {
			obj = obj.style;
			v = (v=='show')?'visible':(v='hide')?'hidden':v;
		}
		obj.visibility = v;
	}
}


// ########## TO_TOP

isIE = document.all;            // ブラウザ(IE)のチェック用
isN6 = document.getElementById; // ブラウザ(N6)のチェック用
isN4 = document.layers;         // ブラウザ(N4)のチェック用
myObj = "";                     // ブラウザオブジェクト退避用

//	var Mac = navigator.appVersion.indexOf('Mac',0) != -1;
//	var Win = navigator.appVersion.indexOf('Win',0) != -1;
//	var IE  = navigator.appName.indexOf("Microsoft Internet Explorer",0) != -1;
//	var NN  = navigator.appName.indexOf("Netscape",0) != -1;
//	var Moz = navigator.userAgent.indexOf("Gecko") != -1;
//	var Vmajor = parseInt(navigator.appVersion); // ex. 3
//	var Vminor = parseFloat(navigator.appVersion); // ex. 3.01

//	var MacIE4 = ((Mac && navigator.appVersion.indexOf('MSIE 4.',0) != -1));
//	var MacIE3 = ((Mac && navigator.appVersion.indexOf('MSIE 3.',0) != -1));

function CurrLeft() {
	if (isIE) {
		return document.body.scrollLeft;
	} else if (window.pageXOffset) {
		return window.pageXOffset;
	} else {
		return 0;
	}
}

function CurrTop() {
	if (isIE) {
		return document.body.scrollTop;
	} else if (window.pageYOffset) {
		return window.pageYOffset;
	} else {
		return 0;
	}
}


var TimerOfScrollPage;
var currX;
var currY;
var currX0;
var currY0;
var newX;
var newY;
var unittime = 2;

function ScrollPage(toX, toY, breaking) {
	if (TimerOfScrollPage) clearTimeout(TimerOfScrollPage);

	if (!toX || toX < 0)	{toX = 0;}
	if (!toY || toY < 0)	{toY = 0;}
//	if (!currX)	{currX = CurrLeft();}
//	if (!currY)	{currY = CurrTop();}
	currX0 = CurrLeft();
	currY0 = CurrTop();
	currX = currX0;
	currY = currY0;
	if (!breaking)	{breaking = 5;}

//	alert("stop " + toX + "," + toY + "," + currX + "," + currY);

	currX += (toX - currX) / breaking;
	if (currX < 0) {currX = 0;}
	currY += (toY - currY) / breaking;
	if (currY < 0) {currY = 0;}

//	alert("stop " + currX + "," + currY);

	if (toX < currX) {
		currX = Math.floor(currX);
	} else {
		currX = Math.ceil(currX);
	}
	if (toY < currY) {
		currY = Math.floor(currY);
	} else {
		currY = Math.ceil(currY);
	}
	window.scrollTo(currX, currY);

//	alert("stop " + currX + "," + currY );

	newX = CurrLeft();
	newY = CurrTop();
	//	まだ動く余地があって、
	if (newX != currX0 || newY != currY0) {
		//	未到達の場合は、
		if (currX != toX || currY != toY) {
//			alert("set timer " + toX + "," + toY + "," + breaking);
			//	繰り返し
			TimerOfScrollPage = setTimeout("ScrollPage(" + toX + "," + toY + "," + breaking + ")", unittime);
		}
	}

}


function JumpToPageTop() {
	ScrollPage(0, 0, 10);
}


function getAnchorPosObj(objectname)
{
	var obj;
	if( document.all ) {
		obj =  document.all(objectname);
	} else if( document.getElementById ) {
		obj =  document.getElementById(objectname);
	} else if( document.layers ) {
		obj =  document.layers[objectname];
	} else {
		return false;
	}

	var objnew = new Object();
	var objtmp;
	if( document.getElementById )
	{
		objtmp = obj;
		objnew.x = objtmp.offsetLeft;
		objnew.y = objtmp.offsetTop;
		while( ( objtmp = objtmp.offsetParent ) != null )
		{
			objnew.x += objtmp.offsetLeft;
			objnew.y += objtmp.offsetTop;
		}
	}
	else if( document.all )
	{
		objtmp = obj;
		objnew.x = objtmp.offsetLeft;
		objnew.y = objtmp.offsetTop;
		while( ( objtmp = objtmp.offsetParent ) != null )
		{
			objnew.x += objtmp.offsetLeft;
			objnew.y += objtmp.offsetTop;
		}
	}
	else if( document.layers )
	{
		objnew.x = document.anchors[objectname].x;
		objnew.y = document.anchors[objectname].y;
	}
	else
	{
		objnew.x = 0;
		objnew.y = 0;
	}
	return objnew;
}


function JumpToAnchor(anchorname) {
	if (getAnchorPosObj(anchorname)) {
//		ScrollPage(getAnchorPosObj(anchorname).x, getAnchorPosObj(anchorname).y, 10);
		ScrollPage(0, getAnchorPosObj(anchorname).y, 10);
	} else {
		return false;
	}
}

// E N D
