 	 */
 	 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))
+		var e:Request;
+
+        if (hasEventListener("canActivateForm"))
+        {
+		    e = new Request("canActivateForm", false, true);
+		    e.value = f;
+	 	    if (!dispatchEvent(e))
+	 	    {
+			    return e.value;
+	 	    }
+        }
+
+	 	if (canActivateLocalComponent(f))
 			return true;
 			
 		return false;

	private function mouseDownHandler(event:MouseEvent):void
	{
		// trace("SM:mouseDownHandler " + this);
		
		if (!dispatchEvent(new FocusEvent(MouseEvent.MOUSE_DOWN, false, true, InteractiveObject(event.target))))
			return;

		if (numModalWindows == 0) // no modal windows are up
		{

								activate(IFocusManagerContainer(p));

								if (p == systemManager.document)
                                {
                                    if (hasEventListener("activateApplication"))
									    dispatchEvent(new Event("activateApplication"));
                                }
								else if (p is DisplayObject)
                                {
                                    if (hasEventListener("activateWindow"))
    									dispatchEvent(new FocusEvent("activateWindow", false, false, InteractiveObject(p)));
                                }
							}
							
							if (systemManager.popUpChildren.contains(p))
