Если вам нужна основная идея, тогда это будет так.
Флаг должен быть установлен при mousedown.
Если установлен флаг и происходит перемещение мыши, измените положение div в соответствии с положением мыши.
Снять флажок при наведении мыши.
Исходя из этого, я не думаю, что намного сложнее его развить.
Если вам нужен один на основе фреймворка, то этот поможет вам. Использование jQuery
Draggable
$("#modaldiv").draggable();
сделает div перетаскиваемым.