/* Drastically adapted from: Cross browser cursor trailer script By Brian Caputo (bcaputo@icdc.com): by Antone Roundy */
C=document.layers;
B=document.addEventListener;
D=document.all;
ie5fix1=0;
ie5fix2=0;
if (startX == 0) { startX = 10; }
if (startY == 0) { startY = 10; }
imgString = '
';
MakeFollower("follower",startX,startY,imgW,imgH,imgString);
mouseX=0;
mouseY=0;
function MakeFollower(N,Xp,Yp,W,H,HT) {
if (C) { document.write(""+HT+""); }
else { document.write("
"+HT+"
"); }
}
function getXpos(N) { return C?C[N].left:(D?D[N]:(document.getElementById(N)).style.left); }
function getYpos(N) { return C?C[N].top:(D?D[N]:(document.getElementById(N)).style.top); }
function MoveFollower(N,DX,DY) {
co=C?C[N]:(D?D[N]:document.getElementById(N)).style;
co.left=DX;
co.top=DY;
}
function cycle() {
//if (IE5)
if (D&&window.print){
ie5fix1=document.body.scrollLeft;
ie5fix2=document.body.scrollTop;
}
xPos=parseInt(getXpos("follower"));
yPos=parseInt(getYpos("follower"));
dist = Math.sqrt(((mouseX - xPos)*(mouseX-xPos))+((mouseY-yPos)*(mouseY-yPos)));
if (dist<=moveAmt) {
newX=mouseX;
newY=mouseY;
} else {
newX=xPos+((mouseX-xPos)*(moveAmt/dist));
newY=yPos+((mouseY-yPos)*(moveAmt/dist));
}
MoveFollower("follower",newX,newY);
}
function newPos(e){
if (B) { event=e; }
mouseX=(C)?e.pageX+2:event.clientX+ie5fix1;
mouseY=(C)?e.pageY+2:event.clientY+ie5fix2;
}
if (document.getElementById || C) {
if (document.addEventListener) { document.addEventListener("mousemove",newPos, true);
} else if(document.captureEvents) { document.captureEvents(Event.MOUSEMOVE); }
document.onmousemove=newPos;
setInterval("cycle()",rate);
}