 		if (event is SWFBridgeEvent)
 			return;
 			
-		var eObj:Object = Object(event);
-
 		//trace("FM bridgeEventActivateHandler for " + form.systemManager.loaderInfo.url);
-		//trace("before clearing, lastFocus = " + lastFocus);
 		
 		// clear last focus if we aren't active.
 		lastActiveFocusManager = null;
 		_lastFocus = null;
 
-		dispatchActivatedFocusManagerEvent(eObj);			
+		dispatchActivatedFocusManagerEvent(IEventDispatcher(event.target));			
 	}
 
     /**

	       		}
	    
	   			// add listener activate/deactivate requests
	   			if (!(form.systemManager is SystemManagerProxy))
	   			{
	   				bridge.addEventListener(SWFBridgeRequest.ACTIVATE_FOCUS_REQUEST, focusRequestActivateHandler);
	   				bridge.addEventListener(SWFBridgeRequest.DEACTIVATE_FOCUS_REQUEST, focusRequestDeactivateHandler);

	 *  @param eObj if a SandboxBridgeEvent, then propagate the message,
	 * 			   if null, start a new message.
	 */
	private function dispatchActivatedFocusManagerEvent(skip:IEventDispatcher = null):void
	{

		// Don't send the ACTIVATED_FOCUS_MANAGER message if we are already
		// active.	       	
       	if (lastActiveFocusManager == this)
       	{
       		// trace("FM: dispatchActivatedFocusManagerEvent already active, skipping messages");
       		return;		// already active
       	}
	       		
    	var event:SWFBridgeEvent = new SWFBridgeEvent(SWFBridgeEvent.BRIDGE_FOCUS_MANAGER_ACTIVATE);
        dispatchEventFromSWFBridges(event, skip);			
	}
	
	/**
     *  A Focus Manager has its own set of child bridges that may be different from the child
     *  bridges of its System Manager if the Focus Manager is managing a pop up. In the case of
     *  a pop up don't send messages to the SM parent bridge because that will be the form. But
     *  do send the messages to the bridges in bridgeFocusManagers dictionary.
     */
    private function dispatchEventFromSWFBridges(event:Event, skip:IEventDispatcher = null):void
    {


        var clone:Event;
        // trace(">>dispatchEventFromSWFBridges", this, event.type);
        var sm:ISystemManager = form.systemManager;
        
        if (!popup)
        {
            var parentBridge:IEventDispatcher = swfBridgeGroup.parentBridge;
            
            if (parentBridge && parentBridge != skip)
            {
                // Ensure the requestor property has the correct bridge.
                clone = event.clone();
                if (clone is SWFBridgeRequest)
                    SWFBridgeRequest(clone).requestor = parentBridge;
         
                parentBridge.dispatchEvent(clone);
            }
        }
        
        var children:Array = swfBridgeGroup.getChildBridges();
        for (var i:int = 0; i < children.length; i++)
        {
            if (children[i] != skip)
            {
                // trace("send to child", i, event.type);
                clone = event.clone();
    
                // Ensure the requestor property has the correct bridge.
                if (clone is SWFBridgeRequest)
                    SWFBridgeRequest(clone).requestor = IEventDispatcher(children[i]);

                IEventDispatcher(children[i]).dispatchEvent(clone);
            }
        }

        // trace("<<dispatchEventFromSWFBridges", this, event.type);
    }
	
	private function getBrowserFocusComponent(shiftKey:Boolean):InteractiveObject
	{
    	var focusComponent:InteractiveObject = form.systemManager.stage.focus;
