В разрабатываемом проекте нужно активно применять перетаскивание объектов(DnD). В качестве JS-фреймворка был выбран PrototypeJS. DnD предполагается использовать через script.aculo.us.
Суть DnD очень проста. Есть два объекта: который перетаскивают, на который перетаскивают. API выглядит следующим образом.
new Draggable("id", {
revert: false,
ghosting: true
});
Droppables.add("id", {
accept: "classname",
hoverclass: "classname",
onDrop: function() {
// something
}
});