// MausOMeter.js
// 13. 11. 2007
// J. Berkemeier - www.j-berkemeier.de
// Benötigt AddEvent.js und jb_mousemove.js
if (document.getElementById) addEvent(window,"onload",function() {
 if(!document.getElementById) return;
 var mm_altX=-1,mm_altY=0,mm_Weg=0 ;
 var mm_altWeg=0,Zeit=1;
 var mm_mp,mm_AnzPos,mm_AnzWeg,mm_AnzSpd,mm_to;
 var mm_aufraeumen=function() {
  document.onmousemove=null;
  document.onclick=null;
 }
 var mm_smp=function(evt) {
  var pos=jb_mousemove.getPos();
  mm_mp.firstChild.nodeValue=pos.x+","+pos.y;
  mm_mp.style.left=pos.x+"px";
  mm_mp.style.top=pos.y+"px";
  mm_mp.style.display="block";
  window.clearTimeout(mm_to);
  mm_to=window.setTimeout(function(){mm_mp.style.display='none'},2000);
 }
 var mm_speed=function() {
  var Spd=(mm_Weg-mm_altWeg)/Zeit;
  mm_AnzSpd.nodeValue = Math.round(Spd) ;
  mm_altWeg=mm_Weg;
 }
 var mm_loeschen=function() {
  mm_Weg=0 ;
  mm_altWeg=0 ;
  mm_AnzWeg.nodeValue = 0 ;
  mm_AnzSpd.nodeValue = 0 ;
 }
 var mm_messe=function(posx,posy) {
  var x,y,dx,dy ;
  if (mm_altX==-1) {
   mm_altX=posx ;
   mm_altY=posy ;
  }
  else {
   x = posx ;
   y = posy ;
   mm_AnzPos.nodeValue = x+","+y;
   dx = x-mm_altX ;
   dy = y-mm_altY ;
   mm_altX = x ;
   mm_altY = y ;
   mm_Weg += Math.sqrt(dx*dx+dy*dy) ;
   mm_AnzWeg.nodeValue = Math.round(mm_Weg) ;
  }
 }
 if(!document.getElementById("Weg") || !document.getElementById("Spd")) {
  var dv=document.createElement("div");
  dv.style.position="absolute";
  dv.style.top="5px";
  dv.style.left="30px";
  dv.style.padding="0";
  dv.style.border="1px solid black";
  dv.className="Drag_n_Drop";
  dv.innerHTML="<div style='border-bottom:1px solid black;height:1em;width:17em' class='Drag_Bar'></div>"
  +"<div style='padding:0.5em'>Aktuelle Position: <span id='Pos'>0,0</span><br>Zurückgelegte Strecke: <span id='Weg'>0</span> Pixel<br>Geschwindigkeit: <span id='Spd'>0</span> Pixel/sec<br><button type='button' id='Clr'>Zähler zurücksetzen</button></div>"  ;
  document.body.appendChild(dv);
 }
 if (document.getElementById("Clr")) document.getElementById("Clr").onclick=function(){mm_loeschen();return false;};
 mm_AnzWeg=document.getElementById("Weg").firstChild ;
 mm_AnzSpd=document.getElementById("Spd").firstChild ;
 mm_AnzPos=document.getElementById("Pos").firstChild ;
 mm_mp=document.createElement("div");
 mm_mp.style.position="absolute";
 mm_mp.style.width="5em";
 mm_mp.style.height="1.3em";
 mm_mp.style.border="2px solid #5050ff";
 mm_mp.style.display="none";
 mm_mp.style.textAlign="center";
 mm_mp.style.verticalAlign="middle";
 mm_mp.appendChild(document.createTextNode("0,0"));
 document.body.appendChild(mm_mp);
 jb_mousemove.add(mm_messe);
 addEvent(document,"onclick",mm_smp);
 addEvent(window,"onunload",mm_aufraeumen);
 window.setInterval(function(){mm_speed()},Zeit*1000);
});
