1) { var popups:int = application.parent.popUpChildren.numChildren; if(popups > 0) { FlexGlobals.topLevelApplication.addEventListener('remove' , childRemoved); application.parent.removeChild(application.parent.popUpChildren.getChildAt(0)); } FlexGlobals.topLevelApplication.dispatchEvent(new Event("cleanUpComplete")); } FlexGlobals.topLevelApplication.dispatchEvent(new Event("cleanUpComplete")); } private function childRemoved(e:Event):void { cleanUpPopUps(); } ]]>