function ob_OnNodeDrop(src, dst, copy) {
  NodeDropped(src, dst, copy);
}

function ob_OnNodeDropOutside(dst) {}


function ob_OnNodeSelect(id) {
  NodeSelected(id);
}

function ob_OnNodeEdit(id, text, prevText) {
  NodeRename(id, text, prevText);
}

function ob_OnAddNode(parentId, childId, textOrHTML, expanded, image, subTreeURL) {}

function ob_OnRemoveNode(id) {}

function ob_OnNodeExpand(id, dynamic){}

function ob_OnNodeCollapse(id) {}

function ob_OnMoveNodeUp(node_up_id, node_down_id) {}

function ob_OnMoveNodeDown(node_down_id, node_up_id) {}

/*
  Pre-events.
  Use them to implement your own validation for such operations as add, remove, edit
*/

function ob_OnBeforeAddNode(parentId, childId, textOrHTML, expanded, image, subTreeURL) {
  return true;
}

function ob_OnBeforeRemoveNode(id) {
  return true;
}

function ob_OnBeforeNodeEdit(id) {
  return true;
}

function ob_OnBeforeNodeSelect(id) {
  return true;
}

function ob_OnBeforeNodeDrop(src, dst, copy) {
  return true;
}

function ob_OnBeforeNodeDrag(id) {
  return true;
}


function ob_OnBeforeNodeDropOutside(dst) {
  return true;
}

function ob_OnBeforeNodeExpand(id, dynamic) {
  return true;
}

function ob_OnBeforeNodeCollapse(id) {
  return true;
}

