// =============================== //
// Cursor Trails                   //
// v1.0 - Jan 30, 2005             //
// ------------------------------- //
// Written by Lloyd Hassell        //
// Website: lloydhassell.com       //
// Email: lloydhassell@hotmail.com //
// =============================== //

// INITIALIZATION:

cursorTrails = new Object();

// CONFIGURATION:

cursorTrails.imageSrc = 'cursor.gif';
cursorTrails.imageWidth = 11;
cursorTrails.imageHeight = 19;

cursorTrails.cursorCount = 5;

cursorTrails.delayRate = 50;

// MAIN:

cursorTrails.isLoaded = false;
cursorTrails.posX = new Array();
cursorTrails.posY = new Array();
var winWidth, winHeight;

if (dyn) {
   captureCursor();
   cursorPageX = 0 - cursorTrails.imageWidth;
   cursorPageY = 0 - cursorTrails.imageHeight;
   cursorTrails.imgObj = loadImg(cursorTrails.imageSrc);
   }

function loadCursorTrails() {
   if (dyn && !cursorTrails.isLoaded) {
      winWidth = getWinWidth();
      winHeight = getWinHeight();
      for (var cursorLoop = 0; cursorLoop < cursorTrails.cursorCount; cursorLoop++) {
         cursorTrails.posX[cursorLoop] = 0 - cursorTrails.imageWidth;
         cursorTrails.posY[cursorLoop] = 0;
         var tempLayerObj = addLayer('cursorTrailsLayer' + cursorLoop);
         cursorTrails['layerObj' + cursorLoop] = tempLayerObj;
         setLayerSize(tempLayerObj,cursorTrails.imageWidth,cursorTrails.imageHeight);
         setLayerClip(tempLayerObj,0,cursorTrails.imageWidth,cursorTrails.imageHeight,0);
         setLayerHTML(tempLayerObj,getImgTag('cursorImg' + cursorLoop,cursorTrails.imageSrc,cursorTrails.imageWidth,cursorTrails.imageHeight,0));
         moveLayerTo(tempLayerObj,cursorTrails.posX[cursorLoop],cursorTrails.posY[cursorLoop]);
         showLayer(tempLayerObj);
         }
      cursorTrails.isLoaded = true;
      moveCursorTrails();
      }
   }

function moveCursorTrails() {
   for (var cursorLoop = cursorTrails.cursorCount - 1; cursorLoop > 0; cursorLoop--) {
      cursorTrails.posX[cursorLoop] = cursorTrails.posX[cursorLoop - 1];
      cursorTrails.posY[cursorLoop] = cursorTrails.posY[cursorLoop - 1];
      }
   cursorTrails.posX[0] = (cursorWinX + cursorTrails.imageWidth < winWidth) ? cursorPageX : 0 - cursorTrails.imageWidth;
   cursorTrails.posY[0] = (cursorWinY + cursorTrails.imageHeight < winWidth) ? cursorPageY : 0 - cursorTrails.imageHeight;
   for (var cursorLoop = 0; cursorLoop < cursorTrails.cursorCount; cursorLoop++) moveLayerTo(cursorTrails['layerObj' + cursorLoop],cursorTrails.posX[cursorLoop],cursorTrails.posY[cursorLoop]);
   window.setTimeout('moveCursorTrails()',cursorTrails.delayRate);
   }