      */
     private static const VOLUME_PROPERTY_FLAG:uint = 1 << 5;
     
+    /**
+     *  @private
+     *  The default value that we wait in fullscreen mode with no user-interaction 
+     *  before the play controls go away.
+     *
+     *  @default 3000
+     */
+    private static const FULL_SCREEN_HIDE_CONTROLS_DELAY:Number = 3000;
+    
     //--------------------------------------------------------------------------
     //
     //  Constructor

        }
    }
    
    private function fullScreenEventHandler(event:FullScreenEvent):void
    {
        if (event.fullScreen)
            return;
        
        fullScreen = false;
        invalidateSkinState();
        stage.removeEventListener(FullScreenEvent.FULL_SCREEN, fullScreenEventHandler);
        includeInLayout = true;
        invalidateSize();
        invalidateDisplayList();
//        var myParent:IVisualElementContainer = parent as IVisualElementContainer;
//        if (myParent)
//        {
//            var index:int = myParent.getElementIndex(this);
//            myParent.removeElement(this);
//            myParent.addElementAt(this, index);
//        }
    }
    
    /**

            videoElement.removeEventListener(spark.events.VideoEvent.PLAYHEAD_UPDATE, videoElement_playHeadUpdateHandler);
            videoElement.removeEventListener(ProgressEvent.PROGRESS, videoElement_progressHandler);
            videoElement.removeEventListener(fl.video.VideoEvent.STATE_CHANGE, videoElement_stateChangeHandler);
            videoElement.removeEventListener("playingChanged", videoElement_playingChangedHandler);
            
            // just strictly for binding purposes
            videoElement.removeEventListener("sourceChanged", dispatchEvent);
