This JavaScript tree menu has extended drag-and-drop functionality (within one tree, between trees, between frames). Drop-as-sibling behavior makes it easy to reorder nodes in a tree view. You can easily edit the tree by dragging nodes within one tree or between trees or even to another object.
Drag-and-Drop works in each tree and between trees too.