// jb_mousemove
// Jürgen Berkemeier, www.j-berkemeier.de
// Version vom 18. 8. 2008
// Legt einen onmousemove Eventhandler an, dem dynamisch
// Funktionen hinzu gefügt oder von ihm entfernt werden können.
// Die Funktionen müssen von der Form handler(mouse_x,mouse_y) sein.
// hid=jb_mousemove.add(handler) fügt eine Funktion hinzu, gibt die Id des Handlers zurück.
// jb_mousemove.remove(hid) entfernt die Funktion mit der Id hid.
// Benötigt AddEvent.js.
var jb_mousemove = ( function() {
 var posx=-1,posy=-1;
 var fkt = new Array();
 var fktl = 0;
 var iid = 0;
 var  move = function(e) {
  if(!e) e = window.event;
  posx = e.pageX ? e.pageX : e.clientX + window.document.documentElement.scrollLeft;
  posy = e.pageY ? e.pageY : e.clientY + window.document.documentElement.scrollTop;
  for(var i=0;i<fktl;i++) fkt[i].f(posx,posy);
  return false
 } // move
 addEvent(document,"onmousemove",move);
 return {
  add: function(fun) {
   iid++;
   fkt[fktl] = new Object();
   fkt[fktl].f = fun;
   fkt[fktl].id = iid;
   fktl++;
   return iid;
  }, // add
  remove: function(id) {
  var nr = -1;
   for(var i=0;i<fktl;i++) {
    if(fkt[i].id==id) {
     nr = i;
     break;
    }
   }
   fkt.splice(nr,1);
   fktl--;
  }, // remove
  getPos: function() {
   var pos=new Object() ;
   pos.x = posx; pos.y = posy;
   return pos;
  } // getPos
 } // return
} )();