I was looking at several drag and drop examples and noticed that when onmouseup event occurs outside the viewport it isn't register. Which results in the item still being dragged when the cursor is back within the browsers viewport.

You can check this script to see what I mean.