f8g

座標取得はこれ。

function getCoordinate(e, mode)
{
  switch(mode)
  {
    case "page" : 
      (typeof(e) == "object") ?
        (this.x = e.pageX, this.y = e.pageY):
        (this.x = event.pageX, this.y = event.pageY);
    default : 
      (typeof(e) == "object") ?
        (this.x = e.layerX, this.y = e.layerY):
        (this.x = event.offsetX, this.y = event.offsetY);
  }
}

調べてみるとブラウザ間で合わせるの面倒っぽいね。とりあえず、どれにでも使えるpageXと、よく使う要素上の座標のみ。
タブは見づらい。