/*Credit JavaScript Kit www.javascriptkit.com includer kan event functie drag_onMouseOut(dragElement) definieren en drag_onDragEnd(dragElement) */ var evt; var dragapproved=false; var dragElement,dragStartX,dragStartY; // show of hide van dragElement scrollde ons navi-frame nogal eens. // Het lukte niet om dat te voorkomen dus gewoon positie onthouden // en vaak terugzetten. var naviTop; function dragmove(evt){ if (!dragapproved) return; if (!evt.which==1 && !evt.button==1) { $(dragElement).hide(); $("#navigationCell").scrollTop(naviTop); return; } if (!evt) evt=event; $(dragElement).show() .css('position', 'absolute') .css('left', temp1+evt.clientX-dragStartX + "px") .css('top', temp2+evt.clientY-dragStartY + "px"); $("#navigationCell").scrollTop(naviTop); return false; } // Let op: we gebruiken eigenlijk default.asp/mydragstart function dragstart(evt){ if (!evt) evt=event; var srcEl = evt.srcElement || evt.target; if (srcEl.className=="draggable") { /* global */ naviTop = $("#navigationCell").scrollTop(); clearSelect(); dragapproved=true; dragElement=srcEl; temp1=$(dragElement).position().left; temp2=$(dragElement).position().top; dragStartX=evt.clientX; dragStartY=evt.clientY; } } function dragend(evt){ if (dragapproved) { dragapproved=false; $(dragElement).show() .css('left', temp1 + "px") .css('top', temp2 + "px"); $("#navigationCell").scrollTop(naviTop); if (typeof drag_onDragEnd == 'function') drag_onDragEnd.call(this, dragElement,evt||event); } } function mouseout(evt){ if (dragapproved) { clearSelect(); $(dragElement).hide(); $("#navigationCell").scrollTop(naviTop); if (typeof drag_onMouseOut == 'function') drag_onMouseOut.call(this, dragElement,evt||event); } } function draginit() { $(document).on("mouseout", mouseout) .on("mousedown", dragstart) .on("mousemove", dragmove) .on("mouseup", dragend); } function clearSelect() { if (document.selection) // IE { document.selection.clear(); // Is anders irritant } else { if (document.getSelection) // Safari document.getSelection().removeAllRanges(); // Is anders irritant } }