Ciao a tutti,

sto studiando da poco JS quindi ci capisco veramente poco sugli eventi.

Il mio problema è che vorrei realizzare (come esercizio) un DIV trascinabile all'interno della finestra del browser.

Ho creato un paio di funzioni ma non sò come passare i valori della prima init() alla seconda sposta().

codice:
function init(evt) {		
    var e = (evt) ? evt : window.event;
    var posX = (e.pageX) ? e.pageX : (e.clientX + document.body.scrollTop);
    var posY = (e.pageY) ? e.pageY : (e.clientY + document.body.scrollLeft);					}							
        						
function sposta(elem) {								
    elem.style.top = posY + 'px';
    elem.style.left = posX + 'px';								
}

Nel body ho messo :
<body onmousemove="init(event)">

mentre nel DIV:
onmousedown="sposta(this)"

Sò che il problema principale è l'ambito di validità delle variabili posX e posY ma se metto davanti GLOBAL non funziona comunque.

Ho un pò di confusione, mi potreste aiutare?

Grazie.

P.S.
Inoltre su IE7 le proprietà document.body.scrollLeft e scrollTop mi restituiscono sempre 0 ... com'è possibile?!