//KzM takakurap.js

function KZ_swapImage() { //v3.0
  var i,j=0,x,a=KZ_swapImage.arguments; document.KZ_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=KZ_findObj(a[i]))!=null){document.KZ_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function KZ_swapImgRestore() { //v3.0
  var i,x,a=document.KZ_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function KZ_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.KZ_p) d.KZ_p=new Array();
   var i,j=d.KZ_p.length,a=KZ_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.KZ_p[j]=new Image; d.KZ_p[j++].src=a[i];}}
}

function KZ_findObj(n, d) { //v4.0
  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=KZ_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

// hart お遊び No.4.3 Produced by「CLUB とむやん君」
// URL http://www2s.biglobe.ne.jp/~club_tom/
///////////////////////////////////////////////////
// 画像の個数＆移動間隔を書いて下さい。
// (移動間隔は、1以上)
var kazuOa43=2;   // 個数(0から始まります。)
var ddlOa43=10;   // 移動間隔(増やすと激しく移動します。)
///////////////////////////////////////////////////
// 画像の開始位置を書いて下さい。
// (x座標：xOa43[?]、y座標：xOa43[?])
var xOa43=new Array(),yOa43=new Array();
xOa43[0]=100,yOa43[0]=300;
xOa43[1]=150,yOa43[1]=330;
xOa43[2]=250,yOa43[2]=290;
//xOa43[3]=250,yOa43[3]=250;
///////////////////////////////////////////////////
// 画像の停止時間＆移動スピードを書いて下さい。
var waitTiOa43=500;   // 画像の停止時間(単位：1/1000秒)
var speedOa43=50;     // 移動スピード(単位：1/1000秒)
///////////////////////////////////////////////////

var xToOa43=new Array(),yToOa43=new Array(),dlOa43=new Array();
var xStOa43,yStOa43,xEnOa43,yEnOa43;
var i,moFlOa43=new Array(),tiOa43=new Array();
for (i=0;i<=kazuOa43;i++) moFlOa43[i]=false,tiOa43[i]=-1;
waitTiOa43/=speedOa43;

// スタイルシートのxy座標をセットする部分です。
function setXYOa43(name,x,y) {
	if (document.all) {
		document.all(name).style.posLeft=x;
		document.all(name).style.posTop=y;
	}
	else if (document.getElementById) {
		document.getElementById(name).style.left=x;
		document.getElementById(name).style.top=y;
	}
	else if (document.layers) document.layers[name].moveTo(x,y);
}

// ウィンドウの移動範囲をゲットする部分です。
function getWiOa43() {
	if (document.all) {
		xStOa43=document.body.scrollLeft+document.body.clientWidth/5;
		yStOa43=document.body.scrollTop+document.body.clientHeight/5;
		xEnOa43=xStOa43+document.body.clientWidth*3/5;
		yEnOa43=yStOa43+document.body.clientHeight*3/5;
	}
	else if (document.getElementById) {
		xStOa43=window.scrollX+window.innerWidth/5;
		yStOa43=window.scrollY+window.innerHeight/5;
		xEnOa43=xStOa43+window.innerWidth*3/5;
		yEnOa43=yStOa43+window.innerHeight*3/5;
	}
	else if (document.layers) {
		xStOa43=window.pageXOffset+window.innerWidth/5;
		yStOa43=window.pageYOffset+window.innerHeight/5;
		xEnOa43=xStOa43+window.innerWidth*3/5;
		yEnOa43=yStOa43+window.innerHeight*3/5;
	}
}

// 移動距離からxy座標を算出する部分です。
function getXYOa41(nu,x1,y1,x2,y2,l,dl) {
	var x,y;
	x=dl/l*(x2-x1)+x1;
	if (x1-x2==0) {
		if (y1<y2) y=y1+dl;
		else y=y1-dl;
	} else y=(y1-y2)/(x1-x2)*x+y1-(y1-y2)/(x1-x2)*x1;
	xOa43[nu]=x,yOa43[nu]=y;
}

// スタイルシートの移動を設定する部分です。
function setMoOa43(nu) {
	xToOa43[nu]=Math.floor(Math.random()*(xEnOa43-xStOa43+1)+xStOa43);
	yToOa43[nu]=Math.floor(Math.random()*(yEnOa43-yStOa43+1)+yStOa43);
	dlOa43[nu]=Math.floor(Math.random()*ddlOa43+2);
	moFlOa43[nu]=true;
}

// スタイルシートを移動させる部分です。
function moveOa43() {
	if (document.all || document.getElementById || document.layers) {
		var i,l;
		getWiOa43();
		for (i=0;i<=kazuOa43;i++) {
			if (tiOa43[i]==-1) {
				if (!moFlOa43[i]) setMoOa43(i);
				l=Math.sqrt((xToOa43[i]-xOa43[i])*(xToOa43[i]-xOa43[i])+(yToOa43[i]-yOa43[i])*(yToOa43[i]-yOa43[i]));
				if (l>dlOa43[i]) getXYOa41(i,xOa43[i],yOa43[i],xToOa43[i],yToOa43[i],l,dlOa43[i]);
				else {
					xOa43[i]=xToOa43[i],yOa43[i]=yToOa43[i];
					moFlOa43[i]=false,tiOa43[i]=0;
				}
				setXYOa43("img"+i+"Oa43",xOa43[i],yOa43[i]);
			}
			else {
				tiOa43[i]++;
				if (tiOa43[i]>=waitTiOa43) tiOa43[i]=-1;
			}
		}
		setTimeout("moveOa43()",speedOa43);
	}
}
