function TreeMenuMediator(tree_menu)
{
	this.NAME = "TreeMenuMediator";
	
	tree_menu.addEventListener(tree_menu.ON_CLICK, onClickHandler );
	
	function onClickHandler(e){
		
		app_data_proxy.toURL(e.target.url);
	}
	this.listNotificationInterests = function()
	{
		return Array(
					facade.REORDER_ITEMS,
					facade.ADD_ITEM,
					facade.REMOVE_ITEM,
					facade.STARTUP
					);
	}
	
	this.handleNotification = function(note)
	{
		switch(note.name)
		{
			case facade.REORDER_ITEMS:
				tree_menu.reorder(note.body.values,note.body.selected);
				break;
			case facade.ADD_ITEM:
				info = note.body;
				if(info.id == undefined){
					obj = note.body;
					info = new Object();
					info.id = obj.attr('id');
					info.name = obj.find('.'+info.id).html();
				}
				info.url = app_data_proxy.url('admin/object/')+info.id;
				tree_menu.add_item(info,$("#object_id").val());
				break;
			case facade.REMOVE_ITEM:
				tree_menu.remove_item(note.body);
				break;
			case facade.STARTUP:
				tree_menu.start();
				break;
		}
	}
	
}

