
var IE = document.all?true:false;
var object_CursorLayer;   
var tempX = 0;
var tempY = 0;
var aX;
var aY;

function init(){

   object_CursorLayer = new getObj('text');
   object_CursorLayer.style.visibility = "hidden"; 
  
   aX = new Array();
   aY = new Array();

   if (!IE) document.captureEvents(Event.MOUSEMOVE)
   document.onmousemove = getMouseXY;

}


function getObj(name) {
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
   	this.obj = document.layers[name];
   	this.style = document.layers[name];
  }
}


function moveLayer(left,top) {
  object_CursorLayer.style.left = (left - 4) + "px";
  object_CursorLayer.style.top = (top - 4) + "px";
}


function playbackMoves() {

  object_CursorLayer.style.visibility = "visible";
	
  //tail recursion
  CursorPlayback(-1);

}


function CursorPlayback(pos) {

  pos = pos + 1;

  if (pos < aX.length) {

     moveLayer(aX[pos],aY[pos]);
     setTimeout('CursorPlayback('+pos+')',6);

  } else {

     object_CursorLayer.style.visibility = "hidden";
  
     //reset
     aX = new Array();
     aY = new Array();
     return "test";

  }
 
}


function exportXML() { //Work in progress
  try {
    window.iFrameXML.document.execCommand("SaveAs","false","MouseCapture.xml");
    window.event.returnValue = 0;
  } catch (exceptionObj) {
    alert("This feature requires a client-side command compatible with IE 5+.");
  }
}

function getMouseXY(e) {
  if (IE) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.body.scrollLeft;
    tempY = event.clientY + document.body.scrollTop;
  } else {  // grab the x-y pos.s if browser is NS/Moz
    tempX = e.pageX;
    tempY = e.pageY;
  }  
  
  if (tempX < 0){tempX = 0;}
  if (tempY < 0){tempY = 0;}  
  
  //update display
  document.Show.MouseX.value = tempX;
  document.Show.MouseY.value = tempY;
	
  aX[aX.length] = tempX;
  aY[aY.length] = tempY;

  return true;
}