 		protected function showList():void
 		{			
 			removeEventListener(MouseEvent.MOUSE_DOWN, self_mouseDown);
-			stage.addEventListener(MouseEvent.MOUSE_DOWN, stage_mouseDown);
+			m_rootElement.addEventListener(MouseEvent.MOUSE_DOWN, document_mouseDown);
 			m_list.removeCSSClass('hidden');
 		}
 		
 		protected function hideList():void
 		{
-			stage.removeEventListener(MouseEvent.MOUSE_DOWN, stage_mouseDown);
+			m_rootElement.removeEventListener(MouseEvent.MOUSE_DOWN, document_mouseDown);
 			addEventListener(MouseEvent.MOUSE_DOWN, self_mouseDown);
 			m_list.addCSSClass('hidden');
 		}

			showList();
		}
		
		protected function stage_mouseDown(e:MouseEvent):void
		{
			if (contains(DisplayObject(e.target)))
			{


package reprise.controls
{
	import reprise.ui.DocumentView;
	import reprise.ui.AbstractInput;
	import reprise.ui.UIComponent;
	
