<!--
///////////////////////////////////////////////////
// スタイルシートの個数＆移動する画像の最大個数＆移動スピードを書いて下さい。
var imKaOa5=1;     // スタイルシートの個数(0から始まります。)
var kaOa5=30;      // 移動する画像の最大個数(0から始まります。)
var speedOa5=40;   // 移動スピード(単位：1/1000秒)
///////////////////////////////////////////////////
// 最初の画像が移動する図形番号＆マウスからの位置を書いて下さい。
var saNuOa5=0;     // 図形番号(この下の daPoOa5[?] の ? 部分です。)
var saDxOa5=0;     // マウスからのx座標
var saDyOa5=15;    // マウスからのy座標
///////////////////////////////////////////////////
var daKaOa5=1;   // 図形の個数(0から始まります。)
var daPoOa5=new Array();
daPoOa5[0]="8,7,1,0:20:0r+,40:20:0r-,";   
daPoOa5[1]="14,5,9,0:18:l,18:18:l,24:0:l,31:18:l,48:18:l,34:29:l,40:47:l,24:36:l,9:47:l,14:29:l,";   

var obLiOa5=new Array();
var i,moLeOa5=0,daNuOa5,xOa5=new Array(),yOa5=new Array();
var xMoOa5=0,yMoOa5=0,dxOa5,dyOa5,onFlOa5=false,stFlOa5=false,loFlOa5=false;
var daLiKaOa5=new Array(),daMoDeOa5=new Array(),daPoKaOa5=new Array();
var daXPoOa5=new Array(),daYPoOa5=new Array();
var daKPoOa5=new Array(),daKFlOa5=new Array();
var daLeToOa5=new Array(),daLeOa5=new Array(),daLeDeOa5=new Array();
for (i=0;i<=daKaOa5+1;i++) {
	daXPoOa5[i]=new Array(),daYPoOa5[i]=new Array();
	daKPoOa5[i]=new Array(),daKFlOa5[i]=new Array();
	daLeOa5[i]=new Array();
}

// スタイルシートのxy座標をセットする部分です。
function setXYOa5(obj,x,y) {
	if (document.all) {
		obj.style.posLeft=x;
		obj.style.posTop=y;
	}
	else if (document.getElementById) {
		obj.style.left=x;
		obj.style.top=y;
	}
	else if (document.layers) obj.moveTo(x,y);
}

// スタイルシートを表示・非表示をセットする部分です。
function setVisOa5(obj,flag) {
	if (document.all || document.getElementById) {
		if (flag) obj.style.visibility="visible";
		else obj.style.visibility="hidden";
	}
	else if (document.layers) {
		if (flag) obj.visibility="show";
		else obj.visibility="hide";
	}
}

// マウスのxy座標をゲットする部分です。
function moMoEvOa5(e) {
	if (document.all) {
		if (!onFlOa5) {
			xMoOa5=document.body.scrollLeft+event.clientX;
			yMoOa5=document.body.scrollTop+event.clientY;
		}
		else {
			xMoOa5=document.body.scrollLeft+event.clientX-event.offsetX;
			yMoOa5=document.body.scrollTop+event.clientY-event.offsetY;
			if (navigator.userAgent.indexOf("Win")!=-1) xMoOa5-=2,yMoOa5-=2;
			else {
				xMoOa5-=document.body.scrollLeft;
				yMoOa5-=document.body.scrollTop;
			}
		}
	}
	else if (document.getElementById || document.layers) {
		if (!onFlOa5) {
			xMoOa5=e.pageX;
			yMoOa5=e.pageY;
		}
		else {
			xMoOa5=e.pageX-e.layerX;
			yMoOa5=e.pageY-e.layerY;
		}
	}
}

// 2点間の距離をゲットする部分です。
function getLeOa5(x0,y0,x1,y1) {
	return Math.sqrt((x1-x0)*(x1-x0)+(y1-y0)*(y1-y0));
}

// 円での2点間の距離をゲットする部分です。
function getCiOa5(x0,y0,x1,y1,r) {
	var l=getLeOa5(x0,y0,x1,y1);
	if (r*2<=l) return l*Math.PI/2;
	else return Math.acos((2*r*r-l*l)/(2*r*r))*r;
}

// 距離から直線でのxy座標をゲットする部分です。
function getLeXYOa5(i,x0,y0,x1,y1,l,dl) {
	xOa5[i]=dl/l*(x1-x0)+x0;
	if (x0==x1) {
		if (y0<=y1) yOa5[i]=y0+dl;
		else yOa5[i]=y0-dl;
	} else yOa5[i]=(y0-y1)/(x0-x1)*xOa5[i]+y0-(y0-y1)/(x0-x1)*x0;
}

// 距離から円でのxy座標をゲットする部分です。
function getCiXYOa5(i,x0,y0,x1,y1,r,dl,fl) {
	var c,d,e,f,l,ds2,f,x,y,xc,yc,xc0,yc0,xc1,yc1,xx,yy;
	l=getLeOa5(x0,y0,x1,y1);
	xx=(x0+x1)/2,yy=(y0+y1)/2;
	if (dl==0) x=x0,y=y0;
	else {
		if (r*2<=l) r=l/2,xc=xx,yc=yy;
		else {
			if (y0!=y1) {
				c=-(x0-x1)/(y0-y1);
				d=(x0*x0-x1*x1+y0*y0-y1*y1)/(2*(y0-y1));
				e=-(c*d-c*y0-x0)/(c*c+1);
				f=Math.sqrt((c*d-c*y0-x0)*(c*d-c*y0-x0)-(c*c+1)*(x0*x0+(d-y0)*(d-y0)-r*r))/(c*c+1);
				xc0=e+f,yc0=c*xc0+d;
				xc1=e-f,yc1=c*xc1+d;
			}
			else {
				xc0=xx,xc1=xc0;
				c=Math.sqrt(r*r-(xc0-x0)*(xc0-x0));
				yc0=y0+c,yc1=y1-c;
			}
			if (x0!=x1) {
				c=(y0-y1)/(x0-x1)*xc0+(x0*y1-x1*y0)/(x0-x1);
				if (yc0>=c) f=true;
				else f=false;
			}
			else {
				if (xc0<=x0) f=true;
				else f=false;
			}
			if (!fl) f=!f;
			if (f) xc=xc0,yc=yc0;
			else xc=xc1,yc=yc1;
		}
		ds2=2*r*r-2*r*r*Math.cos(dl/r);
		if (yc!=y0) {
			c=-(xc-x0)/(yc-y0);
			d=(xc*xc-x0*x0+yc*yc-y0*y0-r*r+ds2)/(2*(yc-y0));
			e=-(c*d-c*yc-xc)/(c*c+1);
			f=Math.sqrt((c*d-c*yc-xc)*(c*d-c*yc-xc)-(c*c+1)*(xc*xc+(d-yc)*(d-yc)-r*r))/(c*c+1);
			xc0=e+f,yc0=c*xc0+d;
			xc1=e-f,yc1=c*xc1+d;
		}
		else {
			xc0=(xc*xc-x0*x0-r*r+ds2)/(2*(xc-x0)),xc1=xc0;
			c=Math.sqrt(r*r-(xc0-xc)*(xc0-xc));
			yc0=yc+c,yc1=yc-c;
		}
		if (x0!=x1) {
			c=(y0-y1)/(x0-x1)*xc0+(x0*y1-x1*y0)/(x0-x1);
			if (yc0>=c) f=false;
			else f=true;
		}
		else {
			if (xc0<=x0) f=false;
			else f=true;
		}
		if (!fl) f=!f;
		if (f) x=xc0,y=yc0;
		else x=xc1,y=yc1;
	}
	xOa5[i]=x,yOa5[i]=y;
}

// 図形のデータを読み込む部分です。
function readDaOa5() {
	var i,j,d;
	for (i=0;i<=daKaOa5;i++) {
		d=daPoOa5[i];
		daLiKaOa5[i]=eval(d.substring(0,d.indexOf(",")));
		d=d.substring(d.indexOf(",")+1,d.length);
		daMoDeOa5[i]=eval(d.substring(0,d.indexOf(",")));
		d=d.substring(d.indexOf(",")+1,d.length);
		daPoKaOa5[i]=eval(d.substring(0,d.indexOf(",")));
		d=d.substring(d.indexOf(",")+1,d.length);
		for (j=0;j<=daPoKaOa5[i];j++) {
			daXPoOa5[i][j]=eval(d.substring(0,d.indexOf(":")));
			d=d.substring(d.indexOf(":")+1,d.length);
			daYPoOa5[i][j]=eval(d.substring(0,d.indexOf(":")));
			d=d.substring(d.indexOf(":")+1,d.length);
			daKPoOa5[i][j]=d.substring(0,d.indexOf(","));
			if (daKPoOa5[i][j].indexOf("r")!=-1) {
				if (daKPoOa5[i][j].indexOf("-")!=-1) daKFlOa5[i][j]=false;
				else daKFlOa5[i][j]=true;
				daKPoOa5[i][j]=eval(daKPoOa5[i][j].substring(0,daKPoOa5[i][j].indexOf("r")));
			}
			d=d.substring(d.indexOf(",")+1,d.length);
		}
		daLeToOa5[i]=0;
		for (j=0;j<=daPoKaOa5[i];j++) {
			if (j!=daPoKaOa5[i]) {
				if (daKPoOa5[i][j]=="l") daLeOa5[i][j]=getLeOa5(daXPoOa5[i][j],daYPoOa5[i][j],daXPoOa5[i][j+1],daYPoOa5[i][j+1]);

				else daLeOa5[i][j]=getCiOa5(daXPoOa5[i][j],daYPoOa5[i][j],daXPoOa5[i][j+1],daYPoOa5[i][j+1],daKPoOa5[i][j]);
			}
			else {
				if (daKPoOa5[i][j]=="l") daLeOa5[i][j]=getLeOa5(daXPoOa5[i][j],daYPoOa5[i][j],daXPoOa5[i][0],daYPoOa5[i][0]);

				else daLeOa5[i][j]=getCiOa5(daXPoOa5[i][j],daYPoOa5[i][j],daXPoOa5[i][0],daYPoOa5[i][0],daKPoOa5[i][j]);
			}
			daLeToOa5[i]+=daLeOa5[i][j];
		}
		daLeDeOa5[i]=daLeToOa5[i]/(daLiKaOa5[i]+1);
	}
}

// メインの動作部分です。
function moveStOa5() {
	if (stFlOa5) {
		var i,n=0,l=moLeOa5;
		while (l>=daLeOa5[daNuOa5][n]) {
			l=l-daLeOa5[daNuOa5][n];
			n++;
			if (n>daPoKaOa5[daNuOa5]) n=0;
		}
		for (i=0;i<=daLiKaOa5[daNuOa5];i++) {
			if (n!=daPoKaOa5[daNuOa5]) {
				if (daKPoOa5[daNuOa5][n]=="l") getLeXYOa5(i,daXPoOa5[daNuOa5][n],daYPoOa5[daNuOa5][n],daXPoOa5[daNuOa5][n+1],daYPoOa5[daNuOa5][n+1],daLeOa5[daNuOa5][n],l);
				else getCiXYOa5(i,daXPoOa5[daNuOa5][n],daYPoOa5[daNuOa5][n],daXPoOa5[daNuOa5][n+1],daYPoOa5[daNuOa5][n+1],daKPoOa5[daNuOa5][n],l,daKFlOa5[daNuOa5][n]);
			}
			else {
				if (daKPoOa5[daNuOa5][n]=="l") getLeXYOa5(i,daXPoOa5[daNuOa5][n],daYPoOa5[daNuOa5][n],daXPoOa5[daNuOa5][0],daYPoOa5[daNuOa5][0],daLeOa5[daNuOa5][n],l);
				else getCiXYOa5(i,daXPoOa5[daNuOa5][n],daYPoOa5[daNuOa5][n],daXPoOa5[daNuOa5][0],daYPoOa5[daNuOa5][0],daKPoOa5[daNuOa5][n],l,daKFlOa5[daNuOa5][n]);
			}
			l+=daLeDeOa5[daNuOa5];
			while (l>=daLeOa5[daNuOa5][n]) {
				l=l-daLeOa5[daNuOa5][n];
				n++;
				if (n>daPoKaOa5[daNuOa5]) n=0;
			}
		}
		for (i=0;i<=daLiKaOa5[daNuOa5];i++) setXYOa5(obLiOa5[i],dxOa5+xMoOa5+xOa5[i],dyOa5+yMoOa5+yOa5[i]);
		moLeOa5+=daMoDeOa5[daNuOa5];
		if (moLeOa5>=daLeToOa5[daNuOa5]) moLeOa5=0;
	}
	setTimeout("moveStOa5()",speedOa5);
}

// マウスオーバーの動作部分です。
function overMoOa5(e,nu,fl,dx,dy,w,h,ka,da) {
	if (document.all || document.getElementById || document.layers) {
		if (loFlOa5) {
			var i,n;
			stFlOa5=false;
			if (nu==-1) {
				n=daKaOa5+1;
				daMoDeOa5[n]=da;
				daLiKaOa5[n]=ka;
				daPoKaOa5[n]=3;
				daLeToOa5[n]=w*2+h*2;
				daLeDeOa5[n]=(w*2+h*2)/(ka+1);
				daXPoOa5[n][0]=0,daYPoOa5[n][0]=0;
				daXPoOa5[n][1]=w,daYPoOa5[n][1]=0;
				daXPoOa5[n][2]=w,daYPoOa5[n][2]=h;
				daXPoOa5[n][3]=0,daYPoOa5[n][3]=h;
				daKPoOa5[n][0]="l",daLeOa5[n][0]=w;
				daKPoOa5[n][1]="l",daLeOa5[n][1]=h;
				daKPoOa5[n][2]="l",daLeOa5[n][2]=w;
				daKPoOa5[n][3]="l",daLeOa5[n][3]=h;
			}
			else n=nu;
			for (i=0;i<=kaOa5;i++) {
				if (i<=daLiKaOa5[n]) setVisOa5(obLiOa5[i],true);
				else {
					setVisOa5(obLiOa5[i],false);
					setXYOa5(obLiOa5[i],-100,-100);
				}
			}
			moLeOa5=0,dxOa5=dx,dyOa5=dy;
			if (fl=="on") onFlOa5=true;
			else onFlOa5=false;
			daNuOa5=n;
			if (e!="") moMoEvOa5(e);
			stFlOa5=true;
		}
	}
}

// マウスアウトの動作部分です。
function outMoOa5(e) {
	if (document.all || document.getElementById || document.layers) {
		if (loFlOa5) {
			var i;
			stFlOa5=false;
			for (i=0;i<=kaOa5;i++) {
				if (i<=daLiKaOa5[saNuOa5]) setVisOa5(obLiOa5[i],true);
				else {
					setVisOa5(obLiOa5[i],false);
					setXYOa5(obLiOa5[i],-50,-50);
				}
			}
			moLeOa5=0,dxOa5=saDxOa5,dyOa5=saDyOa5;
			onFlOa5=false;
			daNuOa5=saNuOa5;
			if (e!="") moMoEvOa5(e);
			stFlOa5=true;
		}
	}
}

// スタイルシートの初期設定をしている部分です。
function preLoadOa5() {
	if (document.all || document.getElementById || document.layers) {
		var i;
		if (document.all) for (i=0;i<=kaOa5;i++) obLiOa5[i]=document.all("ImLi"+i+"Oa5");
		else if (document.getElementById) {
			for (i=0;i<=imKaOa5;i++) document.getElementById("ImR"+i+"Oa5").style.position="absolute";
			for (i=0;i<=kaOa5;i++) obLiOa5[i]=document.getElementById("ImLi"+i+"Oa5");
		}
		else if (document.layers) for (i=0;i<=kaOa5;i++) obLiOa5[i]=document.layers["ImLi"+i+"Oa5"];
		if (document.layers) document.captureEvents(Event.MOUSEMOVE);
		document.onmousemove=moMoEvOa5;
		readDaOa5();
		loFlOa5=true;
		outMoOa5("");
		moveStOa5();
	}
}
// End -->