function &_fetch(&$counter, $params)
 {
     $result =& parent::_fetch($counter, $params);
     $requested_uri = new uri($_SERVER['REQUEST_URI']);
     $nav_uri = new uri();
     foreach ($result as $key => $data) {
         $nav_uri->parse($data['url']);
         if ($requested_uri->compare_path($nav_uri) === 0) {
             $result[$key]['selected'] = true;
             if ($nav_uri->get_query_item('action') !== $requested_uri->get_query_item('action')) {
                 $result[$key]['selected'] = false;
             }
         }
     }
     return $result;
 }
	function & map_url_to_node($url, $recursive = false)
	{	
		$tree =& tree :: instance();
				
		$uri = new uri($url);
		
		if(($node_id = $uri->get_query_item('node_id')) === false)
			$node =& $tree->get_node_by_path($uri->get_path(), '/', $recursive);
		else
			$node =& $tree->get_node((int)$node_id);
		
		return $node;
	}