   //
   // MoveToDestnation version 0.1 
   // (c)2001 HistoryWalker and Miko-Aisa aisa@miko.to
   //
function Mover( ){
 this.x = -50;
 this.y = -50;
 this.sx = -50;
 this.sy = -50;
 this.dx = -50;
 this.dy = -50;
 
 this.i = 0;
 this.n = 10;
}
function Ball( ){
 this.x = -50;
 this.y = -50;
}
 var moverNum = 2;     //number of mover
 var mover;
 var ballNum = 5;
 var ball;
 
 var counter = 0;
 var countForLoop = 26;
 var ballEachRadian = 2*3.14158266/16;

 var bBall = 0;

 var ns;
 var ex;
 var ns6;
 
function initMoveToDest(){
  ns=document.layers ? 1 : 0;
  ex=document.all ? 1 : 0;
  ns6= document.getElementById ? 1 : 0; 
  mover = new Array( moverNum );
  var i;
  for( i=0;i<moverNum;i++ ){
   mover[ i ] = new Mover;
  }
  mover[ 0 ].sx = -1000;
  mover[ 0 ].sy = 1000;
  mover[ 0 ].dx = 5;
  mover[ 0 ].dy = 20;
  mover[ 1 ].sx = 500;
  mover[ 1 ].sy = -100;
  mover[ 1 ].dx = 10;
  mover[ 1 ].dy = 20;
 
  ball = new Array( ballNum );
  for( i=0;i<ballNum;i++ ){
   ball[ i ] = new Ball;
  }
}
function moveBall1( anum ){
	var theta = 2*3.14159266*counter/countForLoop - anum * ballEachRadian;
	var r = 15;
	var x = Math.floor( r*Math.cos( theta ) + mover[ 1 ].x+8 );
	var y = Math.floor( r*Math.sin( theta ) + mover[ 1 ].y+12 );
	var objName = "ball"+anum;
	if( ns ){
		var theLayer = document.layers[objName];
		theLayer.top = y;
		theLayer.left = x;
	}else if( ns6 ){
		document.getElementById(objName).style.top = y;
		document.getElementById(objName).style.left = x;
	}else{
		document.all[objName].style.top = y
		document.all[objName].style.left = x;
	}
}
function moveToDest1( anum ){
	if( ns || ex || ns6 ){
		var objName = "mover"+anum;
		var theLayer;
		var x,y;
		if( ns ){
			theLayer = document.layers[objName];
		}
		var x = mover[anum].x;
		var y = mover[anum].y;
		var sx = mover[anum].sx;
		var sy = mover[anum].sy;
		var dx = mover[anum].dx;
		var dy = mover[anum].dy;
		var i = mover[anum].i;
		var n = mover[anum].n;
		if( x != dx && y != dy ){		//まだ目的地に達してない
			if( i <= n ){
				if( n == i ){
					x = dx;
					y = dy;
					bBall = 1;
				}else{
					x = Math.floor( ( dx-sx )*i/n+sx );
					y = Math.floor( ( dy-sy )*i/n+sy );
					mover[anum].i = i+1;
				}
				mover[anum].x = x;
				mover[anum].y = y;
/*
				if(anum==0 && i==0){
					defaultStatus = "i="+i+",n="+n+",sx="+sx+",dx="+dx+",x="+x+",y="+y+",objName="+objName;
				}
*/
				if( ns ){
					theLayer.top = y;
					theLayer.left = x;
				}else if( ns6 ){
					document.getElementById(objName).style.top = y;
					document.getElementById(objName).style.left = x;
				}else{
					document.all[objName].style.top = y
					document.all[objName].style.left = x;
				}
			}
		}
	}
}
function moveToDest(){
	setTimeout("moveToDest()",40);
	if( bBall == 0 ){
		for( i=0;i<moverNum;i++ ){
			moveToDest1( i );
		}
	}else{
		for( i=0;i<ballNum;i++ ){
			moveBall1( i );
		}
		counter++;
		if( counter > countForLoop )counter = 0;
	}
}

