 //		internalActivate(); 
 		focusSetLocally = false;
 					
-    	var request:FocusRequest = FocusRequest.marshal(event);
-		if (request.direction == FocusRequestDirection.TOP || request.direction == FocusRequestDirection.BOTTOM)
+    	var request:SWFBridgeRequest = SWFBridgeRequest.marshal(event);
+		if (request.data == FocusRequestDirection.TOP || request.data == FocusRequestDirection.BOTTOM)
 		{
 			// move focus to the top or bottom child. If there are no children then
 			// send focus back up to the parent.
 			if (focusableObjects.length == 0)
 			{
 				// trace("focusRequestMoveHandler: no focusable objects, setting focus back to parent");
-				moveFocusToParent(request.direction == FocusRequestDirection.TOP ? false : true);
-				if (focusChanged)
-					event.preventDefault();
+				moveFocusToParent(request.data == FocusRequestDirection.TOP ? false : true);
+				request.data = focusChanged;
 				return;
 			}
 
-			if (request.direction == FocusRequestDirection.TOP)
+			if (request.data == FocusRequestDirection.TOP)
 			{
 				setFocusToTop();	
 			}


		// deactivate children in compatibility mode or in sandboxes.
		if (bridgedFocusManagers)
			sendEventToBridgedFocusManagers(new FocusRequest(FocusRequest.DEACTIVATE_FOCUS_REQUEST));

    }


import mx.core.IUIComponent;
import mx.core.mx_internal;
import mx.events.FlexEvent;
import mx.events.FocusRequestDirection;
import mx.events.SWFBridgeEvent;
import mx.events.SWFBridgeRequest;
