Salve a tutti,

ho appena cominciato a studiare js e sto cercando di fare un lavoretto per cui mi serve applicare queste funzioni (allego codice HTML e JS):

codice:
<script type="text/javascript">
window.onload = init;
function init() {
	if (window.Event) {
	document.captureEvents(Event.MOUSEMOVE);
	}
	document.onmousemove = getCursorXY;
}

function getCursorXY(e) {
	document.getElementById('cursorX').value = (window.Event) ? e.pageX : event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
	document.getElementById('cursorY').value = (window.Event) ? e.pageY : event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
}
</script>
</head>
<body>


Ciao</p>
<div id="form">
<input type="text" id="cursorX" size="3"> X-position of the mouse cursor



<input type="text" id="cursorY" size="3"> Y-position of the mouse cursor
Lo scopo di questa funzione è quello di restituirmi la posizione del cursore ma non mi accontento di vederlo funzionare. Voglio capire come funziona.
In generale le cose che non ho capito sono:

if (window.Event) {
document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = getCursorXY;


Cosa fa?
window.Event ad esempio non riesco a trovarlo spiegato decentemente da nessuna parte e quindi non ho capito a cosa si riferisce.
document.captureEvents(...) l'ho capito.
In document.onmousemove = getCursorXY; non ho capito perchè nessun parametro viene passato. Leggendo in giro ho notato che è una "funzione callback" ma il parametro viene passato direttamente da JavaScript? Glielo passa ad ogni chiamata o solo in alcuni casi? Visto che ne ho capito poco non è che mi potete spiegare cosa succede oppure passarmi un link per una buona guida
Grazie mille.