var dxOa34=100,dyOa34=100; // 開始位置(dxOa34：x座標、dyOa34：y座標)
var hOa34=10;              // 移動間隔
var mouseSpeedOa34=20;     // 移動スピード(単位：1/1000秒)
var h2Oa34=300;            // 方向転換の距離(hOa34より小さくしないで下さい。)
var moveStopOa34=true;     // 画像の停止の有無です。
                           // (true：有り、false：無し)

var mxOa34=dxOa34,myOa34=dyOa34,moveStopFlagOa34=false;

// イベントキャプチャーを設定する部分です。
if (document.all || document.getElementById || document.layers) {
	if (document.layers) document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove=mouseMoveEvOa34;
	if (moveStopOa34) {
		if (document.layers) document.captureEvents(Event.MOUSEDOWN);
		document.onmousedown=mouseMoveStopOa34;
	}
}

// イベントキャプチャーのマウス位置関数の部分です。
function mouseMoveEvOa34(e) {	
	if (!window.opera && document.all) {
		mxOa34=document.body.scrollLeft+event.clientX;
		myOa34=document.body.scrollTop+event.clientY;
	}
	else if (document.getElementById || document.layers) {
		mxOa34=e.pageX;
		myOa34=e.pageY;
	}
}

// イベントキャプチャーのStop関数の部分です。
function mouseMoveStopOa34() {
	moveStopFlagOa34=!moveStopFlagOa34;
}

// 指定した場所に画像を移動させる部分です。
function setPoOa34(name,x,y) {
	if (document.all) {
		document.all(name).style.pixelLeft=x;
		document.all(name).style.pixelTop=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);
}

// 移動距離からxy座標を算出する部分です。
function getXYOa34(x1,y1,x2,y2,l,dl,flag) {
	var x,y;
	if (l==0) {
		if (flag==true) return x1;
		if (flag==false) return y1;
	}
	else {
		x=dl/l*(x2-x1)+x1;
		if (flag==true) return x;
		if (flag==false) {
			if (x1-x2==0) {
				if (y1<y2) return y1+dl;
				else return y1-dl;
			} else return (y1-y2)/(x1-x2)*x+y1-(y1-y2)/(x1-x2)*x1;
		}
	}
}

// メイン関数の部分です。
function mouseMoveOa34() {
	if (document.all || document.getElementById || document.layers) {
		if (!moveStopFlagOa34) {
			var xx,l;
			l=Math.abs(Math.sqrt(Math.pow((mxOa34-dxOa34),2)+Math.pow((myOa34-dyOa34),2)));
			if (l<h2Oa34-hOa34) {
				xx=getXYOa34(dxOa34,dyOa34,mxOa34,myOa34,l,-hOa34,true);
				dyOa34=getXYOa34(dxOa34,dyOa34,mxOa34,myOa34,l,-hOa34,false);
				dxOa34=xx;
				setPoOa34("imgOa34",dxOa34,dyOa34);
			}
			else if (l>=h2Oa34) {
				xx=getXYOa34(dxOa34,dyOa34,mxOa34,myOa34,l,hOa34,true);
				dyOa34=getXYOa34(dxOa34,dyOa34,mxOa34,myOa34,l,hOa34,false);
				dxOa34=xx;
				setPoOa34("imgOa34",dxOa34,dyOa34);
			}
		}
		setTimeout("mouseMoveOa34()",mouseSpeedOa34);
	}
}

