         }
         
         // remove from top level application:
-        if (parent is IVisualElementContainer)
-        {
-            var ivec:IVisualElementContainer = IVisualElementContainer(parent);
-            ivec.removeElement(this);
-        }
-        else
-        {
-            parent.removeChild(this);
-        }
+        PopUpManager.removePopUp(this);
         
         // add back to original parent
         if (beforeFullScreenInfo.parent is IVisualElementContainer)
             beforeFullScreenInfo.parent.addElementAt(this, beforeFullScreenInfo.childIndex);
         else
             beforeFullScreenInfo.parent.addChildAt(this, beforeFullScreenInfo.childIndex);
-        
-        includeInLayout = beforeFullScreenInfo.includeInLayout;
         
         // want to update pauseWhenHidden, but can't do it here
         // b/c the AIR window thinks it's invisible at this point

            videoDisplay.addEventListener(LoadEvent.BYTES_LOADED_CHANGE, videoDisplay_bytesLoadedChangeHandler);
            videoDisplay.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, videoDisplay_mediaPlayerStateChangeHandler);
            videoDisplay.addEventListener(TimeEvent.DURATION_CHANGE, videoDisplay_durationChangeHandler);
            
            // just strictly for binding purposes
            videoDisplay.addEventListener("sourceChanged", dispatchEvent);

            beforeFullScreenInfo = {parent: this.parent,
                x: this.x,
                y: this.y,
                explicitWidth: this.explicitWidth,
                explicitWidth: this.explicitWidth};
            
            pauseWhenHidden = false;
            
            // remove from old parent
