Use dragover instead of drag (which returns incorrect clientX/Y values in FF)
Implement copying blocks with drag and drop