// Cursor Tracker by Javier Peletier 
// Copyright (c) peletier.com 2001

var step=8 
var stepbasic=8
var numberofimages=8
var spacebetweenimgs=32
var x,y
var currentX=0
var currentY=0
var flag=0
var sinShift=0
var xpos=new Array()

for (i=0;i<=8;i++) {
	xpos[i]=-100
}

var ypos=new Array()
for (i=0;i<=numberofimages;i++) {
	ypos[i]=-100
}

function handlerMM(e) {
	x = (document.layers) ? e.pageX : document.body.scrollLeft+event.clientX
	y = (document.layers) ? e.pageY : document.body.scrollTop+event.clientY
	flag=1
}

function initiatetracker() {


	var W 
	var H 

	if(document.all) //ie
	{
		W = document.body.scrollWidth-20
		H = document.body.scrollHeight-4
	}

	if(document.layers)
	{
		W = document.width;
		H = document.height;
	}


    currentX=W+200
    currentY=300
    x=100
    y=100

	if (document.all) {
		for (i=0; i<numberofimages; i++) {
    		var thisspan=eval("span"+(i)+".style")
			thisspan.posLeft=xpos[i]
			thisspan.posTop=ypos[i]
    		thisspan.visibility="visible"
    	}
		makesnake()
	}
	if (document.layers) {
		for (i=0; i<numberofimages; i++) {
    		var thisspan=eval("document.span"+i)
			thisspan.left=xpos[i]
			thisspan.top=ypos[i]
			thisspan.visibility="visible"
		}

    	makesnake()
	}
}

function makesnake() {
	
	var mvy
	
	
	sinShift++
	
	
	var newX
	var newY
	
	
	var m
	var dx
	var dy
	
	var dist=3

	
	
		
	if(x==currentX)
	{
		if(y<currentY)
			alpha=Math.PI/2
		else
			alpha=-Math.PI/2
	}
		
	m=(y-currentY)/(x-currentX)

	alpha=Math.atan(m)

	if((y > currentY) && (x < currentX))
		alpha-=Math.PI
		
	if((y < currentY ) && ( x < currentX))
		alpha-=Math.PI
			
		
	
	//h=dx/Math.cos(alpha)
	h=dist

	if(Math.abs(x-currentX)<10)
		dx=0
	else
		dx=h*Math.cos(alpha)
	
	if(Math.abs(y-currentY)<10)
		dy=0
	else
		dy=h*Math.sin(alpha)
	



	
		
	
	currentX+=dx;
	currentY+=dy;
	//document.title="X="+currentX+"; Y=" + currentY +  "; a= " + alpha * 180 / Math.PI
	
		
	mvy=25*Math.sin(sinShift/15)

	newX=currentX  +stepbasic
	newY=currentY +mvy
	

	
	
	if (flag==1 && document.all) {
    	for (i=numberofimages; i>=1; i--) {
   			xpos[i]=xpos[i-1]+spacebetweenimgs
			ypos[i]=ypos[i-1]
    	}
		xpos[0]=newX
		ypos[0]=newY
	
		for (i=0; i<numberofimages; i++) {
    		var thisspan = eval("span"+(i)+".style")
    		thisspan.posLeft=xpos[i]
			thisspan.posTop=ypos[i]
    	}
	}
	
	else if (flag==1 && document.layers) {
    	for (i=numberofimages; i>=1; i--) {
   			xpos[i]=xpos[i-1]+spacebetweenimgs
			ypos[i]=ypos[i-1]
    	}
		xpos[0]=newX
		ypos[0]=newY
	
		for (i=0; i<numberofimages; i++) {
    		var thisspan = eval("document.span"+i)
    		thisspan.left=xpos[i]
			thisspan.top=ypos[i]
    	}
	}
		var timer=setTimeout("makesnake()",30)
}


