BasePlayer.js
上传用户:wenllgg125
上传日期:2020-04-09
资源大小:7277k
文件大小:44k
源码类别:

SCSI/ASPI

开发平台:

Others

  1. //----------------------------------------------------------
  2. // BasePlayer.js
  3. Type.registerNamespace("Eme.UI.Xaml");Eme.UI.Xaml.scriptVersion="1.0.070606.0";Eme.UI.Xaml.ScaleMode=function(){throw Error.notImplemented()};Eme.UI.Xaml.ScaleMode.prototype={none:0,zoom:1,stretch:2};Eme.UI.Xaml.ScaleMode.registerEnum("Eme.UI.Xaml.ScaleMode");Eme.UI.Xaml.Control=function(a){Eme.UI.Xaml.Control.initializeBase(this,[a])};Eme.UI.Xaml.Control.prototype={_xamlSource:null,_xamlInitialized:false,_scaleMode:Eme.UI.Xaml.ScaleMode.none,_resizeDelegate:null,add_xamlError:function(a){this.get_events().addHandler("xamlError",a)},remove_xamlError:function(a){this.get_events().removeHandler("xamlError",a)},add_resize:function(a){this.get_events().addHandler("resize",a)},remove_resize:function(a){this.get_events().removeHandler("resize",a)},add_xamlInitialized:function(a){this.get_events().addHandler("xamlInitialized",a)},remove_xamlInitialized:function(a){this.get_events().removeHandler("xamlInitialized",a)},get_scaleMode:function(){return this._scaleMode},set_scaleMode:function(a){this._scaleMode=a;if(this._xamlInitialized&&a!==Eme.UI.Xaml.ScaleMode.none)this._ensureTransform()},get_xamlSource:function(){return this._xamlSource||""},set_xamlSource:function(a){this._xamlSource=a},dispose:function(){var a=this.get_element();if(a){if(this._resizeDelegate){a.content.onResize=null;this._resizeDelegate=null}a.OnLoad=null;a.OnError=null}if(this._xamlInitialized){this.xamlDispose();this._xamlInitialized=false}Eme.UI.Xaml.Control.callBaseMethod(this,"dispose")},initialize:function(){Eme.UI.Xaml.Control.callBaseMethod(this,"initialize");var a=this.get_element();a.OnError=Function.createDelegate(this,this._xamlError);var b=this.get_xamlSource();if(b&&(typeof a.Source==="undefined"||a.Source!==b)){a.OnLoad=Function.createDelegate(this,this._xamlLoaded);a.Source=b}else this._raiseXamlInitialize()},onResize:function(){},onXamlError:function(){},xamlDispose:function(){},xamlInitialize:function(){},_ensureTransform:function(){var b=this.get_element().content.root,a=Eme.UI.Xaml.Control._computeScale(b),c,d;if(this.get_scaleMode()===Eme.UI.Xaml.ScaleMode.zoom)c=d=Math.min(a.horizontal,a.vertical);else{c=a.horizontal;d=a.vertical}Eme.UI.Xaml.Control._ensureScale(b,c,d);if(!this._resizeDelegate){this._resizeDelegate=Function.createDelegate(this,this._onResize);b.getHost().content.onResize=this._resizeDelegate}},_onResize:function(){var c=this.get_element();if(c&&this.get_scaleMode()!==Eme.UI.Xaml.ScaleMode.none){this._ensureTransform();var b=Sys.EventArgs.Empty;this.onResize(b);var a=this.get_events().getHandler("resize");if(a)a(this,b)}},_raiseXamlError:function(c,a){this.onXamlError(a);if(!a.get_cancel()){var b=this.get_events().getHandler("xamlError");if(b)b(this,a)}},_raiseXamlInitialize:function(){if(this.get_scaleMode()!==Eme.UI.Xaml.ScaleMode.none)this._ensureTransform();this._xamlInitialized=true;this.xamlInitialize();var a=this.get_events().getHandler("xamlInitialized");if(a)a(this,Sys.EventArgs.Empty)},_xamlError:function(b,c){var a=this.get_element();if(a)this._raiseXamlError(b,new Eme.UI.Xaml.ErrorEventArgs(c))},_xamlLoaded:function(){var a=this.get_element();if(a){a.OnLoad=null;this._raiseXamlInitialize()}}};Eme.UI.Xaml.Control._computeScale=function(a){var c=a.width,b=a.height,d=a.getHost(),e=c?d.content.ActualWidth/c:0,f=b?d.content.ActualHeight/b:0;return {horizontal:e,vertical:f}};Eme.UI.Xaml.Control._ensureScale=function(b,c,d){var a=b.RenderTransform;if(!a)b.RenderTransform=a=b.getHost().content.createFromXaml('<ScaleTransform ScaleX="1" ScaleY="1"/>');a.ScaleX=c;a.ScaleY=d};Eme.UI.Xaml.Control.registerClass("Eme.UI.Xaml.Control",Sys.UI.Control);Eme.UI.Xaml.ErrorEventArgs=function(a){this._xamlError=a;Eme.UI.Xaml.ErrorEventArgs.initializeBase(this)};Eme.UI.Xaml.ErrorEventArgs.prototype={_xamlError:null,get_error:function(){return this._xamlError}};Eme.UI.Xaml.ErrorEventArgs.registerClass("Eme.UI.Xaml.ErrorEventArgs",Sys.CancelEventArgs);Type.registerNamespace("Eme.UI.Xaml.Media");Eme.UI.Xaml.Media.PlayerElementName={videoWindow:"VideoWindow",placeholderImage:"PlaceholderImage",playerControls:"PlayerControls",playButton:"PlayButton",playPauseButton:"PlayPauseButton",playSymbol:"PlaySymbol",pauseSymbol:"PauseSymbol",stopButton:"StopButton",pauseButton:"PauseButton",nextButton:"NextButton",previousButton:"PreviousButton",muteButton:"MuteButton",muteOnSymbol:"MuteOnSymbol",muteOffSymbol:"MuteOffSymbol",timeSlider:"TimeSlider",timeThumb:"TimeThumb",timeCompleted:"TimeCompleted",volumeSlider:"VolumeSlider",volumeThumb:"VolumeThumb",volumeUpButton:"VolumeUpButton",volumeDownButton:"VolumeDownButton",totalTimeText:"TotalTimeText",currentTimeText:"CurrentTimeText",downloadSlider:"DownloadProgressSlider",downloadText:"DownloadProgressText",bufferingArea:"BufferingArea",bufferingText:"BufferingText",fullScreenButton:"FullScreenButton",chapterArea:"ChapterArea",chapterToggleButton:"ChapterToggleButton",chapterScroll:"ChapterScroll",chapterPrev:"ChapterScrollPrevious",chapterNext:"ChapterScrollNext",chapterItem:"ChapterScrollItem",captionText:"CaptionText",captionArea:"CaptionArea",captionToggleButton:"CaptionToggleButton",captionOnSymbol:"CaptionOnSymbol",captionOffSymbol:"CaptionOffSymbol",fullScreenArea:"FullScreenArea",fullScreenCaptionText:"FullScreenCaptionText",fullScreenCaptionArea:"FullScreenCaptionArea"};Eme.UI.Xaml.Media._DomElement=function(b,a){this._control=b.content.findName(a);if(this._control){this.bindEvent("mouseEnter",a+"_MouseEnter");this.bindEvent("mouseLeave",a+"_MouseLeave");this._showAnimation=this._control.findName(a+"_Show");this._hideAnimation=this._control.findName(a+"_Hide");this._enableAnimation=this._control.findName(a+"_Enable");this._disableAnimation=this._control.findName(a+"_Disable")}};Eme.UI.Xaml.Media._DomElement.prototype={_control:null,_boundEvents:null,_showAnimation:null,_hideAnimation:null,_enableAnimation:null,_disableAnimation:null,_enabled:true,get_control:function(){return this._control},get_enabled:function(){return this._enabled},set_enabled:function(a){if(a!==this.get_enabled()){var b=a?this._enableAnimation:this._disableAnimation;if(b)b.begin();this._enabled=a}},bindEvent:function(d,c,a,e){if(c||a){var b=null;if(c)b=this._control.findName(c);if(!b&&!a)return;if(!this._boundEvents)this._boundEvents=[];if(a)a=Function.createDelegate(e||this,a);var g=this;function f(c,d){if(!g.get_enabled())return;if(a&&!a(c,d))return;if(b)b.begin()}var h=this._control.addEventListener(d,f);this._boundEvents[this._boundEvents.length]={eventName:d,token:h}}},dispose:function(){if(this._control){if(this._boundEvents){for(var a=0,c=this._boundEvents.length;a<c;a++){var b=this._boundEvents[a];this._control.removeEventListener(b.eventName,b.token)}this._boundEvents=null}this._showAnimation=null;this._hideAnimation=null;this._enableAnimation=null;this._disableAnimation=null;this._control=null}},setVisible:function(a){var b=a?this._showAnimation:this._hideAnimation;if(b)b.begin();else if(this._control)this._control.visibility=a?0:1}};Eme.UI.Xaml.Media._DomElement.registerClass("Eme.UI.Xaml.Media._DomElement",null,Sys.IDisposable);Eme.UI.Xaml.Media._Button=function(h,a,e,g,c,b,f){Eme.UI.Xaml.Media._Button.initializeBase(this,[h,a]);this._repeatInterval=e||0;var d=this.get_control();if(d){d.cursor="Hand";this.bindEvent("mouseLeftButtonDown",a+"_MouseDown",this._mouseDown);this.bindEvent("mouseLeftButtonUp",a+"_MouseUp",this._mouseUp);this.bindEvent("mouseLeave",a+"_MouseUp",this._mouseLeave)}if(b){this._requiresSender=!!f;this._clickDelegate=Function.createDelegate(b,g);if(c)this._doubleClickDelegate=Function.createDelegate(b,c)}};Eme.UI.Xaml.Media._Button.prototype={_down:false,_repeatInterval:0,_repeatTimeout:null,_repeatClickDelegate:null,_timeLastLeftButtonUp:0,_clickDelegate:null,_doubleClickDelegate:null,set_enabled:function(a){Eme.UI.Xaml.Media._Button.callBaseMethod(this,"set_enabled",[a]);var b=this.get_control();if(b)b.cursor=a?"Hand":"Default"},dispose:function(){this._cancelRepeat();this._clickDelegate=null;this._doubleClickDelegate=null;Eme.UI.Xaml.Media._Button.callBaseMethod(this,"dispose")},_cancelRepeat:function(){if(!this._repeatTimeout)return;window.clearTimeout(this._repeatTimeout);this._repeatTimeout=null;this._repeatClickDelegate=null},_doClick:function(a){if(a&&this._doubleClickDelegate)this._requiresSender?this._doubleClickDelegate(this):this._doubleClickDelegate();else if(this._clickDelegate)this._requiresSender?this._clickDelegate(this):this._clickDelegate()},_mouseDown:function(){this._down=true;if(this._repeatInterval&&!this._repeatTimeout){this._doClick(false);this._repeatClickDelegate=Function.createDelegate(this,this._repeatClick);this._repeatTimeout=window.setTimeout(this._repeatClickDelegate,this._repeatInterval)}return true},_mouseLeave:function(){if(!this._down)return false;this._down=false;this._cancelRepeat();return true},_mouseUp:function(){this._down=false;if(this._repeatTimeout)this._cancelRepeat();else{var b=(new Date).getTime(),c=this._timeLastLeftButtonUp;this._timeLastLeftButtonUp=b;var a=c&&b-c<300;if(a)this._timeLastLeftButtonUp=0;this._doClick(a)}return true},_repeatClick:function(){this._repeatTimeout=window.setTimeout(this._repeatClickDelegate,this._repeatInterval);this._doClick(false)}};Eme.UI.Xaml.Media._Button.registerClass("Eme.UI.Xaml.Media._Button",Eme.UI.Xaml.Media._DomElement);Eme.UI.Xaml.Media.Player=function(a){Eme.UI.Xaml.Media.Player.initializeBase(this,[a]);this.set_scaleMode(Eme.UI.Xaml.ScaleMode.zoom)};Eme.UI.Xaml.Media.Player.prototype={_mediaEnded:false,_naturalduration:null,_domElements:null,_timerCookie:null,_mediaOpened:true,_autoPlay:null,_canSeek:true,_hasDuration:true,_caption:null,_chapters:null,_currentChapter:-1,_lastChapterStarted:-1,_nextChapterTime:-1,_currentChapterTime:-1,_enableCaptions:true,_toggledCaptions:true,_mediaMarkers:null,_mediaUrl:null,_muted:null,_placeholderImage:null,_imageElement:null,_volume:null,_chaptersActive:false,_bufferingProgressVisible:false,_bufferingProgress:null,_bufferingStoryboard:null,_bufferingText:null,_captionButton:null,_captionArea:null,_captionAreaFS:null,_chapterArea:null,_currentTimeText:null,_downloadProgress:null,_dragTime:null,_dragVolume:null,_mediaElement:null,_muteButton:null,_nextButton:null,_playPauseButton:null,_playButton:null,_pauseButton:null,_stopButton:null,_previousButton:null,_totalTimeText:null,add_chapterStarted:function(a){this.get_events().addHandler("chapterStarted",a)},remove_chapterStarted:function(a){this.get_events().removeHandler("chapterStarted",a)},add_markerReached:function(a){this.get_events().addHandler("markerReached",a)},remove_markerReached:function(a){this.get_events().removeHandler("markerReached",a)},add_mediaEnded:function(a){this.get_events().addHandler("mediaEnded",a)},remove_mediaEnded:function(a){this.get_events().removeHandler("mediaEnded",a)},add_mediaFailed:function(a){this.get_events().addHandler("mediaFailed",a)},remove_mediaFailed:function(a){this.get_events().removeHandler("mediaFailed",a)},add_mediaOpened:function(a){this.get_events().addHandler("mediaOpened",a)},remove_mediaOpened:function(a){this.get_events().removeHandler("mediaOpened",a)},add_stateChanged:function(a){this.get_events().addHandler("stateChanged",a)},remove_stateChanged:function(a){this.get_events().removeHandler("stateChanged",a)},add_volumeChanged:function(a){this.get_events().addHandler("volumeChanged",a)},remove_volumeChanged:function(a){this.get_events().removeHandler("volumeChanged",a)},get_autoPlay:function(){if(this._mediaElement)return this._mediaElement.AutoPlay;if(this._autoPlay!==null)return this._autoPlay;return false},set_autoPlay:function(a){if(this._mediaElement)this._mediaElement.AutoPlay=a;else this._autoPlay=a},get_caption:function(){return this._caption||""},set_caption:function(a){this._caption=a;if(this._captionArea)this._captionArea.set_text(a);if(this._captionAreaFS)this._captionAreaFS.set_text(a)},get_chapters:function(){if(!this._chapters)return [];return Array.clone(this._chapters)},set_chapters:function(a){this._chapters=a;if(this._chapterArea)this._loadChapters(a)},get_currentChapter:function(){return this._currentChapter},set_currentChapter:function(a){var b=this.get_chapters();if(!b||a<0||a>=b.length)throw Error.argumentOutOfRange("currentChapter",a,Eme.UI.Xaml.Media.Res.invalidChapterIndex);var c=b[a].time;if(c!==-1)this.set_timeIndex(c)},get_enableCaptions:function(){return this._enableCaptions||true},set_enableCaptions:function(a){if(this._enableCaptions!==a){this._enableCaptions=a;if(!a){if(this._captionArea)this._captionArea.setVisible(false);if(this._captionAreaFS)this._captionAreaFS.setVisible(false)}else{var b=this.get_caption();if(this._captionArea)this._captionArea.set_text(b);if(this._captionAreaFS)this._captionAreaFS.set_text(b)}}},get_mediaMarkers:function(){if(!this._mediaMarkers)return [];return Array.clone(this._mediaMarkers)},get_mediaElement:function(){return this._mediaElement||null},get_mediaUrl:function(){if(this._mediaElement)return this._mediaElement.Source||"";return this._mediaUrl||""},set_mediaUrl:function(a){if(this._mediaElement){this._loadPlaceholderImage();this._loadMediaUrl(a)}else this._mediaUrl=a},get_muted:function(){if(this._mediaElement)return this._mediaElement.IsMuted;return !!this._muted},set_muted:function(a){if(a!==this.get_muted()){if(this._mediaElement){this._mediaElement.IsMuted=a;this._muteButton.set_state(a?1:0)}else this._muted=a;if(!this.get_isUpdating())this._raiseVolumeChanged(Sys.EventArgs.Empty)}},get_placeholderImage:function(){return this._placeholderImage||""},set_placeholderImage:function(a){this._placeholderImage=a},get_playState:function(){return this._mediaElement?this._mediaElement.CurrentState:"Stopped"},get_timeIndex:function(){return this._mediaElement?this._mediaElement.position.seconds:0},set_timeIndex:function(a){if(this._mediaElement&&this._canSeek){this.set_caption("");a=Math.max(0,a);a=Math.min(this._naturalduration,a);var b=this._mediaElement.position;b.seconds=a;this._mediaElement.position=b;this._updateTime(a);this._currentChapter=this._getChapterAt(a,true);this._detectChapterChanged()}},get_volume:function(){if(this._volume!==null)return this._volume;if(this._mediaElement)return this._mediaElement.volume;return Eme.UI.Xaml.Media.Player._defaultVolume},set_volume:function(a){if(a!==this.get_volume()){if(this._mediaElement&&this._mediaElement.CurrentState!=="Closed")this._mediaElement.volume=a;else this._volume=a;if(!this.get_isUpdating())this._raiseVolumeChanged(Sys.EventArgs.Empty)}if(this._dragVolume)this._dragVolume.set_value(a)},nextChapter:function(){if(!this._canSeek)return false;var a=this.get_chapters();if(a){var b=this.get_currentChapter();if(++b<a.length){this.set_currentChapter(b);return true}}return false},onChapterStarted:function(){},onMarkerReached:function(){},onPlayStateChanged:function(){},onVolumeChanged:function(){},pause:function(){if(!this._mediaElement)throw Error.invalidOperation(Eme.UI.Xaml.Media.Res.noMediaElement);if(!this._mediaOpened)return;this._mediaElement.pause()},play:function(){if(!this._mediaElement)throw Error.invalidOperation(Eme.UI.Xaml.Media.Res.noMediaElement);if(!this._mediaOpened)return;this.set_caption("");var a=this._mediaElement;if(this._mediaEnded){a.stop();this._mediaEnded=false;window.setTimeout(function(){a.play()},0)}else a.play()},previousChapter:function(){if(!this._canSeek)return false;var b=this.get_chapters();if(b){var a=this.get_currentChapter();if(--a>=0){this.set_currentChapter(a);return true}}return false},stop:function(){if(!this._mediaElement)throw Error.invalidOperation(Eme.UI.Xaml.Media.Res.noMediaElement);if(!this._mediaOpened)return;this._mediaEnded=false;this._currentChapter=this._getChapterAt(0,true);this._mediaElement.stop();this.set_caption("")},toggleMuted:function(){var a=!this.get_muted();this.set_muted(a);return a},togglePlayPause:function(){this.get_playState()==="Playing"?this.pause():this.play();return this.get_playState()},xamlDispose:function(){if(this._timerCookie){window.clearTimeout(this._timerCookie);this._timerCookie=null}if(this._domElements){for(var a=0,c=this._domElements.length;a<c;a++)this._domElements[a].dispose();delete this._domElements}if(this._mediaElement)this._mediaElement.stop();this._mediaElement=null;this._bufferingText=null;this._bufferingStoryboard=null;var b=this.get_element()?this.get_element().content:null;if(b)b.onFullScreenChange=null;Eme.UI.Xaml.Media.Player.callBaseMethod(this,"xamlDispose")},xamlInitialize:function(){this._bindChildControls();Eme.UI.Xaml.Media.Player.callBaseMethod(this,"xamlInitialize");var a=this.get_chapters();if(a)this._loadChapters(a);if(this._mediaUrl===null){this._ensureSeeking(false);this._mediaAvailable(false)}this._loadPlaceholderImage();this._clearMediaCache()},_bindChildControls:function(){var a=Eme.UI.Xaml.Media.PlayerElementName,b=this.get_element(),c=Eme.UI.Xaml.Media._Button,f=Eme.UI.Xaml.Media._DomElement,h=Eme.UI.Xaml.Media._Slider,g=Eme.UI.Xaml.Media._MultiStateButton,e=Eme.UI.Xaml.Media._TextBlock,d;this._domElements=[d=new c(b,a.videoWindow,null,this.togglePlayPause,this._onFullScreenME,this),this._fsCanvas=new c(b,a.fullScreenArea,null,this.togglePlayPause,this._onFullScreenME,this),this._bufferingProgress=new f(b,a.bufferingArea),new f(b,a.playerControls),this._playButton=new c(b,a.playButton,null,this.play,null,this),this._stopButton=new c(b,a.stopButton,null,this.stop,null,this),this._pauseButton=new c(b,a.pauseButton,null,this.pause,null,this),new c(b,a.volumeUpButton,20,this._onVolumeUp,null,this),new c(b,a.volumeDownButton,20,this._onVolumeDown,null,this),new c(b,a.fullScreenButton,null,this._onFullScreen,null,this),this._previousButton=new c(b,a.previousButton,null,this._chapterPrevious,null,this),this._nextButton=new c(b,a.nextButton,null,this._chapterNext,null,this),this._playPauseButton=new g(b,a.playPauseButton,null,this.togglePlayPause,null,this,a.playSymbol,a.pauseSymbol),this._muteButton=new g(b,a.muteButton,null,this.toggleMuted,null,this,a.muteOffSymbol,a.muteOnSymbol),this._dragTime=new h(b,a.timeThumb,a.timeSlider,this._onTimeSliderChanged,this),this._dragVolume=new h(b,a.volumeThumb,a.volumeSlider,this._onVolumeSliderChanged,this),this._totalTimeText=new e(b,a.totalTimeText),this._currentTimeText=new e(b,a.currentTimeText),this._downloadProgress=new Eme.UI.Xaml.Media._ProgressBar(b,a.downloadSlider,a.downloadText),this._chapterArea=new Eme.UI.Xaml.Media._ChapterArea(this),this._captionArea=new e(b,a.captionText,a.captionArea),this._captionAreaFS=new e(b,a.fullScreenCaptionText,a.fullScreenCaptionArea),this._captionButton=new g(b,a.captionToggleButton,null,this._onCaptionToggle,null,this,a.captionOnSymbol,a.captionOffSymbol),this._imageElement=new f(b,a.placeholderImage)];d.bindEvent("mediaOpened",null,this._meMediaOpened,this);d.bindEvent("mediaFailed",null,this._meMediaFailed,this);d.bindEvent("mediaEnded",null,this._meMediaEnded,this);d.bindEvent("downloadProgressChanged",null,this._meDownloadProgress,this);d.bindEvent("bufferingProgressChanged",null,this._meBufferingProgress,this);d.bindEvent("markerReached",null,this._meMarkerReached,this);d.bindEvent("currentStateChanged",null,this._meStateChanged,this);this._bufferingStoryboard=b.content.findName(a.bufferingArea+"_Buffering");this._bufferingText=b.content.findName(a.bufferingText);this._dragVolume.set_value(this.get_volume());b.content.onFullScreenChange=Function.createDelegate(this,this._fullScreenChanged);this._mediaElement=d.get_control();if(!this._mediaElement)throw Error.invalidOperation(Eme.UI.Xaml.Media.Res.noMediaElement);this._mediaElement.AutoPlay=false},_chapterNext:function(){var a=this.get_chapters();if(!a||!a.length)this._skipTime(1);else this.nextChapter()},_chapterPrevious:function(){var b=this.get_chapters();if(!b||!b.length)this._skipTime(-1);else{var a=this._getChapterAt(this.get_timeIndex()-1);if(a===-1)this.set_timeIndex(0);else this.set_currentChapter(a)}},_clearMediaCache:function(){if(this._muted!==null){this._mediaElement.IsMuted=this._muted;this._muteButton.set_state(this._muted?1:0);this._muted=null}if(this._volume!==null){this._mediaElement.Volume=this._volume;this._dragVolume.set_value(this._volume);this._volume=null}if(this._autoPlay!==null){this._mediaElement.AutoPlay=this._autoPlay;this._autoPlay=null}if(this._mediaUrl!==null){this._loadMediaUrl(this._mediaUrl);this._mediaUrl=null}},_detectChapterChanged:function(a){if(this._lastChapterStarted!==this._currentChapter){this._lastChapterStarted=this._currentChapter;this._raiseChapterStarted(new Eme.UI.Xaml.Media.ChapterEventArgs(this._currentChapter))}else if(this._nextChapterTime!==-1&&a>=this._nextChapterTime||this._currentChapterTime!==-1&&a<this._currentChapterTime){this._currentChapter=this._getChapterAt(a,true);this._lastChapterStarted=this._currentChapter;this._raiseChapterStarted(new Eme.UI.Xaml.Media.ChapterEventArgs(this._currentChapter))}},_enableBuffering:function(a,b){if(a){if(this._bufferingText){this._bufferingText.Visibility=0;this._bufferingText.Text=b.toString()}if(!this._bufferingProgressVisible){this._bufferingProgress.setVisible(true);if(this._bufferingStoryboard)this._bufferingStoryboard.begin()}this._bufferingProgressVisible=true}else if(this._bufferingProgressVisible){if(this._bufferingText)this._bufferingText.Visibility=1;this._bufferingProgress.setVisible(false);if(this._bufferingStoryboard)this._bufferingStoryboard.stop();this._bufferingProgressVisible=false}},_ensureChapterArea:function(){var a=this._canSeek;if(a){var b=this.get_chapters();a=b&&b.length}if(a&&!this._chaptersActive){this._chapterArea.activate();this._chaptersActive=true}else if(!a&&this._chaptersActive){this._chapterArea.deactivate();this._chapterArea.setVisible(false);this._chaptersActive=false}},_ensureSeeking:function(a){if(this._canSeek!==a){this._canSeek=a;this._previousButton.set_enabled(a);this._nextButton.set_enabled(a);this._ensureChapterArea();this._dragTime.set_enableSeeking(a)}},_ensureDuration:function(a){if(this._hasDuration!==a){this._hasDuration=a;this._totalTimeText.setVisible(a);this._currentTimeText.setVisible(a);this._dragTime.set_enabled(a)}},_formatTime:function(e){var b=Math.floor(e/(1000*60*60)),c=Math.floor(e/(1000*60))-b*60,d=Math.floor(e/1000)-b*60*60-c*60,a="";if(b>0){a=b<10?"0"+b:""+b;a+=":"}a+=c<10?"0"+c:""+c;a+=":";a+=d<10?"0"+d:""+d;return a},_fullScreenChanged:function(){var a=this._fsCanvas.get_control();if(!a)return;if(this.get_element().content.fullScreen){var b=this.get_element().content.root.RenderTransform,c=1,d=1;if(b&&b.toString()==="ScaleTransform"){c=b.ScaleX;d=b.ScaleY}var e=Eme.UI.Xaml.Control._computeScale(a);Eme.UI.Xaml.Control._ensureScale(a,e.horizontal/c,e.vertical/d);a.Visibility=0}else a.Visibility=1},_getChapterAt:function(d,e){var b=this.get_chapters(),a=-1;d+=.001;if(b)for(var c=0,f=b.length;c<f;c++){var g=b[c].time;if(g<=d)a=c;else break}if(e){this._currentChapterTime=a>=0?b[a].time:-1;this._nextChapterTime=a<b.length-1?b[a+1].time:-1}return a},_loadChapters:function(a){this._ensureChapterArea();this._chapterArea.setChapters(a);this._currentChapter=this._getChapterAt(this.get_timeIndex(),true);this._lastChapterStarted=-1;this._detectChapterChanged()},_loadMediaUrl:function(a){this._currentChapter=-1;this._lastChapterStarted=-1;this._mediaElement.Source=a},_loadPlaceholderImage:function(){var b=this.get_placeholderImage();if(b){var a=this._imageElement.get_control();if(a){a.Source=b;this._placeholderImageShowing=true;this._imageElement.setVisible(true)}}},_onCaptionToggle:function(){this._toggledCaptions=!this._toggledCaptions;if(this.get_enableCaptions()&&!this._toggledCaptions)this.set_caption("");this._captionButton.set_state(this._toggledCaptions?0:1)},_onFullScreen:function(){var a=this.get_element().content;a.fullScreen=!a.fullScreen},_onFullScreenME:function(){this.togglePlayPause();this._onFullScreen()},_onTimeSliderChanged:function(){this.set_timeIndex(this._dragTime.get_value()*this._naturalduration)},_onVolumeDown:function(){this.set_volume(Math.max(0,this.get_volume()-.02))},_onVolumeSliderChanged:function(){this.set_volume(this._dragVolume.get_value())},_onVolumeUp:function(){this.set_volume(Math.min(1,this.get_volume()+.02))},_mediaAvailable:function(a){if(this._mediaOpened!==a){this._mediaOpened=a;this._playPauseButton.set_enabled(a);this._playButton.set_enabled(a);this._pauseButton.set_enabled(a);this._stopButton.set_enabled(a);if(!a)this.set_caption("")}},_meBufferingProgress:function(){var b=this._mediaElement.bufferingProgress,a=Math.round(b*100);if(a>=100)this._enableBuffering(false);else this._enableBuffering(true,a)},_meDownloadProgress:function(){this._enableBuffering(false);this._downloadProgress.set_value(this._mediaElement.downloadProgress)},_meMarkerReached:function(b,a){this._raiseMarkerReached(new Eme.UI.Xaml.Media.MarkerEventArgs(a.marker))},_meMediaEnded:function(){this._mediaEnded=true;this._raiseEvent("mediaEnded",Sys.EventArgs.Empty)},_meMediaFailed:function(){this._naturalduration=null;this._enableBuffering(false);this._mediaAvailable(false);this._ensureDuration(false);this._ensureSeeking(false);this._mediaEnded=false;this._raiseEvent("mediaFailed",Sys.EventArgs.Empty)},_meMediaOpened:function(){this._mediaEnded=false;this._clearMediaCache();if(this._placeholderImageShowing){this._imageElement.setVisible(false);this._placeholderImageShowing=false}this._markers=[];var d=this._mediaElement.Markers;for(var b=0,e=d.Count;b<e;b++)Array.add(this._markers,d.getItem(b));this._naturalduration=this._mediaElement.naturalduration.seconds;var a=!!this._naturalduration,c=a&&this._mediaElement.CanSeek;if(c){this._currentChapter=this._getChapterAt(0,true);this._lastChapterStarted=-1;this._detectChapterChanged()}if(a){this._totalTimeText.set_text(this._formatTime(this._naturalduration*1000));this._currentTimeText.set_text(this._formatTime(this.get_timeIndex()*1000))}this._mediaAvailable(true);this._ensureDuration(a);this._ensureSeeking(c);if(!this._timerCookie){this._tickTimerDelegate=Function.createDelegate(this,this._tickTimer);this._timerCookie=window.setTimeout(this._tickTimerDelegate,100)}this._raiseEvent("mediaOpened",Sys.EventArgs.Empty)},_meStateChanged:function(){var a=this.get_playState();if(a==="Closed"){this._enableBuffering(false);this._mediaAvailable(false);this._ensureSeeking(false);this._mediaEnded=false}else if(a==="Playing"||a==="Paused")this._enableBuffering(false);var b=this._oldState||"";if(a!==b){this._oldState=a;this._raisePlayStateChanged(new Eme.UI.Xaml.Media.StateChangedEventArgs("playState",b,a))}},_raiseChapterStarted:function(a){this.onChapterStarted(a);this._raiseEvent("chapterStarted",a);this.raisePropertyChanged("currentChapter")},_raiseEvent:function(c,b){var a=this.get_events().getHandler(c);if(a)a(this,b)},_raiseMarkerReached:function(b){this.onMarkerReached(b);if(this.get_enableCaptions()){var a=b.get_marker(),d=a.type?a.type.toLowerCase():"";if(d==="caption"&&this.get_enableCaptions()&&this._toggledCaptions){if(!this._enabledCaptionToggleButton){this._enabledCaptionToggleButton=true;this._captionButton.setVisible(true)}var c=a.text?a.text.trim():"";this.set_caption(c);this.raisePropertyChanged("caption")}}this._raiseEvent("markerReached",b)},_raisePlayStateChanged:function(a){this._playPauseButton.set_state(a.get_currentState()==="Playing"?1:0);this.onPlayStateChanged(a);this._raiseEvent("stateChanged",a);this._raiseEvent("propertyChanged",a)},_raiseVolumeChanged:function(a){this.onVolumeChanged(a);this._raiseEvent("volumeChanged",a);this.raisePropertyChanged("volume")},_skipTime:function(b){var a=this._naturalduration/10;a=b*Math.max(5,a);var c=a+this.get_timeIndex();this.set_timeIndex(c)},_tickTimer:function(){this._timerCookie=window.setTimeout(this._tickTimerDelegate,100);var a=this.get_timeIndex();if(this._hasDuration){if(!this._dragTime._isDragging)this._dragTime.set_value(a/this._naturalduration);this._updateTime(a)}if(this._canSeek)this._detectChapterChanged(a)},_updateTime:function(a){this._currentTimeText.set_text(this._formatTime(a*1000))}};Eme.UI.Xaml.Media.Player._defaultVolume=.5;Eme.UI.Xaml.Media.Player.registerClass("Eme.UI.Xaml.Media.Player",Eme.UI.Xaml.Control);Eme.UI.Xaml.Media.StateChangedEventArgs=function(c,a,b){this._currentState=b;this._previousState=a;Eme.UI.Xaml.Media.StateChangedEventArgs.initializeBase(this,[c])};Eme.UI.Xaml.Media.StateChangedEventArgs.prototype={get_currentState:function(){return this._currentState||null},get_previousState:function(){return this._previousState||null}};Eme.UI.Xaml.Media.StateChangedEventArgs.registerClass("Eme.UI.Xaml.Media.StateChangedEventArgs",Sys.PropertyChangedEventArgs);Eme.UI.Xaml.Media.ChapterEventArgs=function(a){this._chapterIndex=a;Eme.UI.Xaml.Media.ChapterEventArgs.initializeBase(this)};Eme.UI.Xaml.Media.ChapterEventArgs.prototype={get_chapterIndex:function(){return this._chapterIndex}};Eme.UI.Xaml.Media.ChapterEventArgs.registerClass("Eme.UI.Xaml.Media.ChapterEventArgs",Sys.EventArgs);Eme.UI.Xaml.Media.MarkerEventArgs=function(a){this._marker=a;Eme.UI.Xaml.Media.MarkerEventArgs.initializeBase(this)};Eme.UI.Xaml.Media.MarkerEventArgs.prototype={get_marker:function(){return this._marker||null}};Eme.UI.Xaml.Media.MarkerEventArgs.registerClass("Eme.UI.Xaml.Media.MarkerEventArgs",Sys.EventArgs);Eme.UI.Xaml.Media._TextBlock=function(e,d,b){Eme.UI.Xaml.Media._TextBlock.initializeBase(this,[e,d]);var c=this.get_control();if(c&&b){var a=c.findName(b);if(a){this._centerX=a["Canvas.Left"]+a.width/2;this._bottomY=a["Canvas.Top"]+a.height;this._background=a}}};Eme.UI.Xaml.Media._TextBlock.prototype={_centerX:0,_bottomY:0,_background:null,get_backgroundControl:function(){return this._background||null},get_text:function(){var a=this.get_control();return a?a.Text||"":""},set_text:function(c){var b=this.get_control();if(b){b.Text=c||"";this.setVisible(!!c);var a=this.get_backgroundControl();if(a){var d=b.ActualWidth,e=b.ActualHeight;a["Canvas.Left"]=this._centerX-d/2;a["Canvas.Top"]=this._bottomY-e;a.width=d;a.height=e}}},dispose:function(){Eme.UI.Xaml.Media._TextBlock.callBaseMethod(this,"dispose");this._background=null},setVisible:function(a){Eme.UI.Xaml.Media._TextBlock.callBaseMethod(this,"setVisible",[a]);var b=this.get_backgroundControl();if(b)b.visibility=a?0:1}};Eme.UI.Xaml.Media._TextBlock.registerClass("Eme.UI.Xaml.Media._TextBlock",Eme.UI.Xaml.Media._DomElement);Eme.UI.Xaml.Media._MultiStateButton=function(k,j,f,h,g,i){Eme.UI.Xaml.Media._MultiStateButton.initializeBase(this,[k,j,f,h,g,i]);var c=arguments.length-6;this._animationsOn=new Array(c);this._animationsOff=new Array(c);this._controls=new Array(c);var e=this.get_control();for(var a=0;a<c;a++){var d=arguments[a+6],b=e?e.findName(d):null;this._controls[a]=b||null;this._animationsOn[a]=b?b.findName(d+"_Show"):null;this._animationsOff[a]=b?b.findName(d+"_Hide"):null}};Eme.UI.Xaml.Media._MultiStateButton.prototype={_state:0,_animationsOn:null,_animationsOff:null,_controls:null,get_state:function(){return this._state},set_state:function(b){if(b!==this._state){var a=this._animationsOff[this._state];if(a)a.begin();else{var c=this._controls[this._state];if(c)c.visibility=1}this._state=b;a=this._animationsOn[this._state];if(a)a.begin();else{var d=this._controls[this._state];if(d)d.visibility=0}}},dispose:function(){Eme.UI.Xaml.Media._MultiStateButton.callBaseMethod(this,"dispose");this._animationsOn=null;this._animationsOff=null;this._controls=null;this._state=0}};Eme.UI.Xaml.Media._MultiStateButton.registerClass("Eme.UI.Xaml.Media._MultiStateButton",Eme.UI.Xaml.Media._Button);Eme.UI.Xaml.Media._ImageList=function(d,a){Eme.UI.Xaml.Media._ImageList.initializeBase(this,[d,a]);var c=this.get_control();if(!c)return;c.cursor="Arrow";this._scrollAnimationSB=c.findName(a+"_ScrollAnimationStoryboard");if(this._scrollAnimationSB)this._scrollAnimation=c.findName(a+"_ScrollAnimation");var b=this._scrollAnimation?this._scrollAnimation.duration.seconds*1000:200;b=Math.max(b,200);this._scrollNext=new Eme.UI.Xaml.Media._Button(d,a+"_ScrollNext",b,this._scrollNextClick,null,this);this._scrollPrev=new Eme.UI.Xaml.Media._Button(d,a+"_ScrollPrevious",b,this._scrollPrevClick,null,this);this._findItems(a);this._virtualItems=[]};Eme.UI.Xaml.Media._ImageList.prototype={_items:null,_virtualItems:null,_scrollNext:null,_scrollPrev:null,_scrollAnimation:null,_scrollAnimationSB:null,_itemSize:0,_itemSpacing:0,_overflowIndex:0,get_items:function(){return this._virtualItems},set_items:function(a){this._virtualItems=Array.clone(a);this._reset();this._assignImages()},onItemClick:function(){},_assignImages:function(){for(var b=0,d=this._items.length;b<d;b++){var a=this._items[b],c=this._itemOffset+b;if(c<this._virtualItems.length){a.image.Source=this._virtualItems[c];a.button.get_control().visibility=0;a.button._virtualIndex=c}else a.button.get_control().visibility=1}},_findItems:function(b){var a=this.get_control(),d=1;this._items=[];var c=b+"_ScrollItem1",e=b+"_ScrollItem1_Image",h=a.findName(c),g=a.findName(e);while(h){var i=new Eme.UI.Xaml.Media._Button(a.getHost(),c,null,this._itemClick,null,this,true);i._physicalIndex=d-1;this._items[this._items.length]={button:i,image:g};d++;c=b+"_ScrollItem"+d;e=b+"_ScrollItem"+d+"_Image";h=a.findName(c);g=a.findName(e)}if(this._items.length===0)throw Error.invalidOperation("ImageList needs at least one scroll item.");var f=this._items[0].button.get_control();this._itemSize=f.width;this._itemSpacing=f["Canvas.Left"]*2},_handleOverflow:function(c){var d=c===1?this._items.length-1:-1,b=this._itemOffset+d,a=this._items[this._overflowIndex];a.image.Source=this._virtualItems[b];a.button._virtualIndex=b;var e=a.button.get_control();e["Canvas.Left"]=b*(this._itemSize+this._itemSpacing)+this._itemSpacing/2;this._overflowIndex+=c;if(this._overflowIndex<0)this._overflowIndex=this._items.length-1;else if(this._overflowIndex>=this._items.length)this._overflowIndex=0},_itemClick:function(a){this.onItemClick(a._virtualIndex)},_reset:function(){this._itemOffset=0;for(var a=0,c=this._items.length;a<c;a++){var b=this._items[a].button;b._virtualIndex=a;b.get_control()["Canvas.Left"]=a*(this._itemSize+this._itemSpacing)+this._itemSpacing/2}this._overflowIndex=this._items.length-1;if(this._scrollAnimation){this._scrollAnimation.To="0";this._scrollAnimationSB.begin()}},_scroll:function(a){if(this._scrollAnimation){this._handleOverflow(a);var b=this._itemOffset;this._itemOffset+=a;this._scrollAnimation.From="-"+b*(this._itemSize+this._itemSpacing);this._scrollAnimation.To="-"+this._itemOffset*(this._itemSize+this._itemSpacing);this._scrollAnimationSB.begin()}else{this._itemOffset+=a;this._assignImages()}},_scrollNextClick:function(){if(this._itemOffset<this._virtualItems.length-this._items.length+1)this._scroll(1)},_scrollPrevClick:function(){if(this._itemOffset>0)this._scroll(-1)},dispose:function(){if(this._scrollNext)this._scrollNext.dispose();if(this._scrollPrev)this._scrollPrev.dispose();this._scrollNext=null;this._scrollPrev=null;if(this._items){for(var a=0,c=this._items.length;a<c;a++){var b=this._items[a].button;b.dispose()}this._items=null}this._virtualItems=null;this._itemSize=null;this._itemSpacing=null;this._scrollAnimation=null;this._scrollAnimationSB=null;Eme.UI.Xaml.Media._ImageList.callBaseMethod(this,"dispose")}};Eme.UI.Xaml.Media._ImageList.registerClass("Eme.UI.Xaml.Media._ImageList",Eme.UI.Xaml.Media._DomElement);Eme.UI.Xaml.Media._ChapterArea=function(a){this._player=a;var b=Eme.UI.Xaml.Media.PlayerElementName;Eme.UI.Xaml.Media._ChapterArea.initializeBase(this,[a.get_element(),b.chapterArea]);var c=this.get_control();if(c)this._toggleButton=new Eme.UI.Xaml.Media._Button(a.get_element(),b.chapterToggleButton,null,this._onToggle,null,this)};Eme.UI.Xaml.Media._ChapterArea.prototype={_player:null,_visible:false,_toggleButton:null,activate:function(){var a=this.get_control();if(!a)return;a.visibility=0;this._toggleButton.setVisible(true)},deactivate:function(){var a=this.get_control();if(!a)return;a.visibility=1;this._toggleButton.setVisible(false)},dispose:function(){Eme.UI.Xaml.Media._ChapterArea.callBaseMethod(this,"dispose");this._player=null;if(this._toggleButton)this._toggleButton.dispose();this._toggleButton=null},onItemClick:function(a){this._player.set_currentChapter(this._imageChapters[a])},setChapters:function(c){if(!this.get_control())return;var b=[];if(c){this._imageChapters=[];for(var a=0,e=c.length;a<e;a++){var d=c[a];if(d.imageUrl){this._imageChapters[this._imageChapters.length]=a;b[b.length]=d.imageUrl}}}this.set_items(b)},_onToggle:function(){this._visible=!this._visible;this.setVisible(this._visible);var a=this.get_control();if(a)a.IsHitTestVisible=this._visible}};Eme.UI.Xaml.Media._ChapterArea.registerClass("Eme.UI.Xaml.Media._ChapterArea",Eme.UI.Xaml.Media._ImageList);Eme.UI.Xaml.Media._Slider=function(a,e,c,d,b){Eme.UI.Xaml.Media._Slider.initializeBase(this,[a,c]);this._slider=this.get_control();this._thumb=new Eme.UI.Xaml.Media._DomElement(a,e);this._thumbControl=this._thumb.get_control();if(!this._thumbControl||!this._slider)return;this._highlight=new Eme.UI.Xaml.Media._DomElement(a,c+"_Highlight");this._highlightControl=this._highlight.get_control();this._slider.cursor="Hand";this._thumbControl.cursor="Hand";this._thumb.bindEvent("mouseLeftButtonDown",null,this._thumbMouseLeftButtonDown,this);this._thumb.bindEvent("mouseLeftButtonUp",null,this._thumbMouseLeftButtonUp,this);this._thumb.bindEvent("mouseMove",null,this._thumbMouseMove,this);this.bindEvent("mouseLeftButtonDown",null,this._sliderLeftButtonDown,this);this._rootToken=this._slider.getHost().content.root.addEventListener("mouseLeave",Function.createDelegate(this,this._cancelDragging));this._isHorizontal=this._slider.width>=this._slider.height;if(this._highlightControl)this._highlightControl[this._isHorizontal?"width":"height"]=0;if(b)this._changedHandler=Function.createDelegate(b,d)};Eme.UI.Xaml.Media._Slider.prototype={_slider:null,_thumb:null,_thumbControl:null,_enableSeeking:true,_highlight:null,_highlightControl:null,_isDragging:false,_isHorizontal:true,_rootToken:null,set_enabled:function(a){if(this.get_enabled()!==a){Eme.UI.Xaml.Media._Slider.callBaseMethod(this,"set_enabled",[a]);this._highlight.set_enabled(a);this._thumb.setVisible(a);if(this._thumbControl)this._thumbControl.cursor=a?"Hand":"Default";if(!a)this.set_value(0);if(this._slider)this._slider.cursor=a?"Hand":"Default"}},get_enableSeeking:function(){return !!this._enableSeeking},set_enableSeeking:function(a){if(this._enableSeeking!==a){this._enableSeeking=a;if(!a)this._cancelDragging()}},get_value:function(){if(!this._thumbControl||!this._slider)return 0;var a;if(this._isHorizontal){a=this._thumbControl["Canvas.Left"]/*-this._slider["Canvas.Left"]*/;a=a/(this._slider.width-this._thumbControl.width)}else{a=this._thumbControl["Canvas.Top"]-this._slider["Canvas.Top"]+this._thumbControl.height/2;a=1-a/this._slider.height}a=Math.round(a*1000)/1000;return Math.min(1,Math.max(0,a))},set_value:function(a){a=Math.min(1,Math.max(0,a));this._setThumbPosition(a)},dispose:function(){if(this._highlight)this._highlight.dispose();if(this._thumb)this._thumb.dispose();this._changedHandler=null;if(this._rootToken)this._slider.getHost().content.root.removeEventListener("mouseLeave",this._rootToken);this._slider=null;this._thumb=null;this._thumbControl=null;this._rootToken=null;this._highlight=null;this._highlightControl=null;Eme.UI.Xaml.Media._Slider.callBaseMethod(this,"dispose")},_cancelDragging:function(){if(this._isDragging){this._isDragging=false;this._thumbControl.ReleaseMouseCapture()}},_setThumbPosition:function(b){if(this._thumbControl&&this._slider){var a=this._toLocation(b);if(this._isHorizontal){this._thumbControl["Canvas.Left"]=/*this._slider["Canvas.Left"]+*/a-this._thumbControl.width/2;if(this._highlightControl)this._highlightControl.width=a+this._thumbControl.width/2}else{this._thumbControl["Canvas.Top"]=this._slider["Canvas.Top"]+a-this._thumbControl.height/2;if(this._highlightControl){this._highlightControl["Canvas.Top"]=this._thumbControl["Canvas.Top"]+this._thumbControl.height/2;this._highlightControl.height=b*(this._slider.height-this._thumbControl.height)-this._thumbControl.height/2}}}},_sliderLeftButtonDown:function(c,a){if(!this._enableSeeking)return false;var b=this._toValue(a.getPosition(c));this._setThumbPosition(b);if(this._changedHandler)this._changedHandler();if(this._thumbControl){this._isDragging=true;this._thumbControl.CaptureMouse()}return true},_thumbMouseLeftButtonDown:function(){if(!this._enableSeeking)return false;this._isDragging=true;this._thumbControl.CaptureMouse();return true},_thumbMouseLeftButtonUp:function(){if(!this._enableSeeking)return false;this._isDragging=false;this._thumbControl.ReleaseMouseCapture();return true},_thumbMouseMove:function(b,a){if(this._isDragging){this._setThumbPosition(this._toValue(a.getPosition(this._slider)));if(this._changedHandler)this._changedHandler()}return true},_toValue:function(b){var a;if(this._isHorizontal)a=(b.X-this._thumbControl.width/2)/(this._slider.width-this._thumbControl.width);else{a=(b.Y-this._thumbControl.height/2)/(this._slider.height-this._thumbControl.height);a=1-a}return Math.min(1,Math.max(0,a))},_toLocation:function(a){a=Math.min(1,Math.max(0,a));if(this._isHorizontal)return a*(this._slider.width-this._thumbControl.width)+this._thumbControl.width/2;else{var b=this._slider.height-this._thumbControl.height;return b-a*b+this._thumbControl.height/2}}};Eme.UI.Xaml.Media._Slider.registerClass("Eme.UI.Xaml.Media._Slider",Eme.UI.Xaml.Media._DomElement);Eme.UI.Xaml.Media._ProgressBar=function(c,d,b){Eme.UI.Xaml.Media._ProgressBar.initializeBase(this,[c,d]);var a=this.get_control();if(a){this._originalWidth=a.width;a.width=0}if(b){this._xamlText=new Eme.UI.Xaml.Media._TextBlock(c,b);this._xamlText.set_text("")}};Eme.UI.Xaml.Media._ProgressBar.prototype={_xamlText:null,_originalWidth:0,get_value:function(){var a=this.get_control();if(!a)return 0;return a.width/this._originalWidth},set_value:function(a){var b=this.get_control();if(b)b.width=this._originalWidth*a;this._xamlText.set_text(""+Math.floor(a*100))},setVisible:function(a){Eme.UI.Xaml.Media._ProgressBar.callBaseMethod(this,"setVisible",[a]);if(this._xamlText)this._xamlText.setVisible(a)},dispose:function(){Eme.UI.Xaml.Media._ProgressBar.callBaseMethod(this,"dispose");if(this._xamlText){this._xamlText.dispose();this._xamlText=null}}};Eme.UI.Xaml.Media._ProgressBar.registerClass("Eme.UI.Xaml.Media._ProgressBar",Eme.UI.Xaml.Media._DomElement);Type.registerNamespace("EmePlayer");EmePlayer.UrlParam={startTime:"startTime",chapter:"chapter",loopCount:"loopCount",mediaUrl:"mediaUrl",volume:"volume",muted:"muted",duration:"duration",autoplay:"autoplay",mediainfo:"mediainfo"};EmePlayer.Player=function(a){EmePlayer.Player.initializeBase(this,[a]);this._fInitialized=false};EmePlayer.Player.prototype={initialize:function(){EmePlayer.Player.callBaseMethod(this,"initialize");this.set_autoPlay($getArgument(EmePlayer.UrlParam.autoplay,this.get_autoPlay().toString())==="true");this.set_mediaUrl($getArgument(EmePlayer.UrlParam.mediaUrl,this.get_mediaUrl()));this.set_muted($getArgument(EmePlayer.UrlParam.muted,this.get_muted().toString())==="true");this.set_volume(parseFloat($getArgument(EmePlayer.UrlParam.volume,this.get_volume())));this.set_timeIndex(parseFloat($getArgument(EmePlayer.UrlParam.startTime,this.get_timeIndex())));this.set_mediainfo($getArgument(EmePlayer.UrlParam.mediainfo,this.get_mediainfo()));var a=$getArgument(EmePlayer.UrlParam.chapter);if(a!=="")this.set_currentChapter(parseInt(a));if(this.get_mediainfo()!=="")this._initMediainfo();this._fInitialized=true},get_mediainfo:function(){return this._mediainfo},set_mediainfo:function(a){this._mediainfo=a;if(this._fInitialized)this._initMediainfo()},_initMediainfo:function(){if(typeof this._mediainfo==="string"){var b=new Sys.Net.WebRequest;b.set_url(this._mediainfo);b.add_completed(Function.createDelegate(this,this._loadedMediainfo));var a=new Sys.Net.XMLHttpExecutor;b.set_executor(a);a.executeRequest();var c=a.get_started()}else if(typeof this._mediainfo==="function"){this.set_mediaUrl(this._mediainfo().mediaUrl);this.set_chapters(this._mediainfo().chapters);this.set_placeholderImage(this._mediainfo().placeholderImage)}else if(this._mediainfo.mediaUrl!=null){this.set_mediaUrl(this._mediainfo.mediaUrl);this.set_chapters(this._mediainfo.chapters);this.set_placeholderImage(this._mediainfo.placeholderImage)}else throw Error.invalidOperation("unknown type for mediainfo")},_loadedMediainfo:function(executor,eventArgs){if(executor.get_statusText()==="OK")try{eval("("+executor.get_responseData()+")");var mediainfoJSON=mediainfo();this.set_mediaUrl(mediainfoJSON.mediaUrl);this.set_chapters(mediainfoJSON.chapters);this.set_placeholderImage(mediainfoJSON.placeholderImage)}catch(a){throw Error.invalidOperation("problem with mediainfo")}}};EmePlayer.Player._playerCount=0;EmePlayer.Player._getUniqueName=function(a){return a+EmePlayer.Player._playerCount++};EmePlayer.Player.registerClass("EmePlayer.Player",Eme.UI.Xaml.Media.Player);function $getArgument(g,b){var f=window.location.search.substring(1),d=f.split("&"),e=g.toLowerCase();for(var a=0;a<d.length;a++){var c=d[a].split("=");if(c[0].toLowerCase()===e)return unescape(c[1])}if(typeof b!=="undefined")return b;return ""};