/* 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); }