/**
  * Update the page's position in the tree
  *
  * @param string $parentID 
  * @param string $order 
  * @return void
  * @author Drew McLellan
  */
 public function update_tree_position($parentID, $order = false, $cascade = false)
 {
     PerchUtil::debug('updating tree position');
     $Pages = new PerchContent_Pages();
     $ParentPage = $Pages->find($parentID);
     $data = array();
     $data['pageParentID'] = $parentID;
     if ($order === false) {
         if (is_object($ParentPage)) {
             $data['pageOrder'] = $ParentPage->find_next_child_order();
         } else {
             $data['pageOrder'] = $this->find_next_child_order(0);
         }
     } else {
         $data['pageOrder'] = $order;
     }
     if (is_object($ParentPage)) {
         $data['pageDepth'] = $ParentPage->pageDepth() + 1;
         $data['pageTreePosition'] = $ParentPage->pageTreePosition() . '-' . str_pad($data['pageOrder'], 3, '0', STR_PAD_LEFT);
     } else {
         PerchUtil::debug('Could not find parent page');
         $data['pageDepth'] = 1;
         $data['pageTreePosition'] = '000-' . str_pad($data['pageOrder'], 3, '0', STR_PAD_LEFT);
         $data['pageParentID'] = 0;
     }
     $this->update($data);
     if ($cascade) {
         $child_pages = $Pages->get_by('pageParentID', $this->id());
         if (PerchUtil::count($child_pages)) {
             foreach ($child_pages as $ChildPage) {
                 $ChildPage->update_tree_position($this->id());
             }
         }
     }
 }