Description of drag and drop :
Implementing drag and drop functionality is not as simple as one would think. Besides having to do a boundary check on all the draggable layers, you also have to make sure that the right layer is selected when overlapping occurs.