 	private function mouseDownHandler(event:MouseEvent):void
 	{
 		// trace("SM:mouseDownHandler " + this);
-		
-		if (!dispatchEvent(new FocusEvent(MouseEvent.MOUSE_DOWN, false, true, InteractiveObject(event.target))))
-			return;
+		if (hasEventListener(MouseEvent.MOUSE_DOWN))
+		    if (!dispatchEvent(new FocusEvent(MouseEvent.MOUSE_DOWN, false, true, InteractiveObject(event.target))))
+			    return;
 
 		if (numModalWindows == 0) // no modal windows are up
 		{

	 */
	 private function canActivatePopUp(f:Object):Boolean
	 {
		 
		var e:Request = new Request("canActivateForm", false, true);
		e.value = f;
	 	if (!dispatchEvent(e))
	 	{
			return e.value;
	 	}
	 	else if (canActivateLocalComponent(f))
			return true;
			
		return false;

	 */
	private function deactivateForm(f:Object):void
	{
        var e:DynamicEvent;

		// trace(">>SM: deactivate " + f);

		if (form)
