  *  @langversion 3.0
  *  @playerversion Flash 10
  *  @playerversion AIR 1.0
- *  @productversion OSMF 1.0
+ *  @productversion Flex 4
  */
 [Event(name="bytesLoadedChange",type="org.osmf.events.LoadEvent")]
+
+/**
+ *  Dispatched when the playhead reaches the duration for playable media.
+ * 
+ *  @eventType org.osmf.events.TimeEvent.COMPLETE
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.0
+ *  @productversion Flex 4
+ */	 
+[Event(name="complete", type="org.osmf.events.TimeEvent")]
 
 /**
  *  Dispatched when the <code>currentTime</code> property of the MediaPlayer has changed.

            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);

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