MediasitePlayer = function() { }
MediasitePlayer.prototype = {
_type: 0,
_element: null,
CurrentSlideNumber: -1,
CurrentFullSizeImage: null,
DynamicAdd: false,
PresentationEnded: false,
IsPreview: false,
OpenReported: false,
ShowSlides: true,
DefaultPopupWindowWidth: 1024,
DefaultPopupWindowHeight: 768,
OnBodyLoad: function() {
if (!this.IsPreview) {
this.LoadMediaPlayer();
}
else {
$('PlayerSpeedControl').style.display = 'none';
$('btnFullScreen').style.display = 'none';
}
$('PlayerMask').style.display = 'none';
},
OnLoad: function() {
this.PlayerDetect = new SfKernel.PlayerDetect();
loadingMask('loadingImage', 10, 10);
var playerMode = SfKernel.GetQueryStringValue("mode");
if (playerMode != null && playerMode.toLowerCase() == "skinpreview") {
this.IsPreview = true;
}
if (LayoutOptions.SlideHeight == 0 || LayoutOptions.SlideWidth == 0) {
this.ShowSlides = false;
}
LayoutOptions.OnLoad();
this.LoadThemeStylesheet();
this.BrowserHacks();
this.ResizeWindow();
var BannerLoaderInstance = new LoadBanners();
BannerLoaderInstance.Banner = new Array('AdBanner', 'TitleBanner');
if (LayoutOptions.Images["VendorLogo"]) {
if (!$('VendorLogo')) {
var contentElement = $('MediasitePlayerForm');
var vendorLogoContainer = document.createElement('div');
vendorLogoContainer.setAttribute('id', 'VendorLogo');
vendorLogoContainer.setAttribute('height', LayoutOptions.Images["VendorLogo"].Height);
vendorLogoContainer.setAttribute('width', LayoutOptions.Images["VendorLogo"].Width);
contentElement.appendChild(vendorLogoContainer);
}
BannerLoaderInstance.Banner = new Array('AdBanner', 'TitleBanner', 'VendorLogo');
}
BannerLoaderInstance.OnLoad();
var PlayerNotStartedImageInstance = new SkinImage('PlayerNotStarted');
PlayerNotStartedImageInstance.ImageSRC = LayoutOptions.Images['PlayerNotStarted'].ImageFilename;
PlayerNotStartedImageInstance.ImageHref = LayoutOptions.Images['PlayerNotStarted'].ImageUrl;
PlayerNotStartedImageInstance.ImageHeight = LayoutOptions.Images['PlayerNotStarted'].Height;
PlayerNotStartedImageInstance.ImageWidth = LayoutOptions.Images['PlayerNotStarted'].Width;
PlayerNotStartedImageInstance.Alt = Localization.PlayerLayoutResource.NotStarted;
PlayerNotStartedImageInstance.OnLoad();
if (LayoutOptions.Images['PlayerAudioOnly']) {
var AudioOnlyImageInstance = new SkinImage('PlayerAudioOnly');
AudioOnlyImageInstance.ImageSRC = LayoutOptions.Images['PlayerAudioOnly'].ImageFilename;
AudioOnlyImageInstance.ImageHref = LayoutOptions.Images['PlayerAudioOnly'].ImageUrl;
AudioOnlyImageInstance.ImageHeight = LayoutOptions.Images['PlayerAudioOnly'].Height;
AudioOnlyImageInstance.ImageWidth = LayoutOptions.Images['PlayerAudioOnly'].Width;
AudioOnlyImageInstance.Alt = Localization.PlayerLayoutResource.AudioOnly;
AudioOnlyImageInstance.OnLoad();
}
this.EventManager = new EventManager();
this.OptionsManager = new OptionsManager();
this.PopupWindows = new Object();
this.PopupWindows.FullSize = null;
this.PopupWindows.PreviewSlide = null;
this.PopupWindows.Polls = null;
this.presentationCard = new PresentationCardPanel("PresentationCardPanelInstance", window, "PresentationCardArea");
this.presentationCard.ImageBase = LayoutOptions.ThemeImageBase + '/PresentationCard';
this.presentationCard.ToolTipExpand = Localization.Common.Expand;
this.presentationCard.ToolTipCollapse = Localization.Common.Collapse;
this.presentationCard.AllowZooming = true;
this.presentationCard.Mouseover_Width = "50px";
this.presentationCard.Mouseover_Height = "65px";
this.presentationCard.OnLoad();
if ($('btnAskButton')) {
this.btnAskInstance = new AskButtonPanel();
this.btnAskInstance.button = new SfUI.Button('btnAskButton');
this.btnAskInstance.button.SetNormalImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnAskNormal.gif');
this.btnAskInstance.button.SetOverImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnAskOver.gif');
this.btnAskInstance.button.SetPressedImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnAskPressed.gif');
this.btnAskInstance.button.SetDisabledImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnAskDisabled.gif');
this.btnAskInstance.button.Enable(false);
this.btnAskInstance.OnLoad();
}
if ($('btnLinks')) {
this.btnLinksInstance = new LinksButtonPanel();
this.btnLinksInstance.button = new SfUI.Button('btnLinks');
this.btnLinksInstance.button.SetNormalImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnLinksNormal.gif');
this.btnLinksInstance.button.SetOverImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnLinksOver.gif');
this.btnLinksInstance.button.SetDisabledImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnLinksDisabled.gif');
this.btnLinksInstance.button.Enable(false);
this.btnLinksInstance.OnLoad();
}
if ($('btnPoll')) {
this.btnPollInstance = new PollButtonPanel();
this.btnPollInstance.button = new SfUI.Button('btnPoll');
this.btnPollInstance.button.SetNormalImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnPollResultsNormal.gif');
this.btnPollInstance.button.SetOverImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnPollResultsOver.gif');
this.btnPollInstance.button.SetPressedImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnPollResultsPressed.gif');
this.btnPollInstance.button.SetDisabledImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnPollResultsDisabled.gif');
this.btnPollInstance.button.Enable(false);
this.btnPollInstance.OnLoad();
}
if ($('btnEmail')) {
this.btnEmailInstance = new EmailButtonArea();
this.btnEmailInstance.button = new SfUI.Button('btnEmail');
this.btnEmailInstance.button.SetNormalImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnEmailNormal.gif');
this.btnEmailInstance.button.SetOverImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnEmailOver.gif');
this.btnEmailInstance.button.SetDisabledImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnEmailDisabled.gif');
this.btnEmailInstance.button.Enable(false);
this.btnEmailInstance.OnLoad();
}
if ($('btnHelp')) {
this.btnHelpInstance = new HelpButtonArea();
this.btnHelpInstance.button = new SfUI.Button('btnHelp');
this.btnHelpInstance.button.SetNormalImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnHelpNormal.gif');
this.btnHelpInstance.button.SetOverImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnHelpOver.gif');
this.btnHelpInstance.button.SetPressedImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnHelpPressed.gif');
this.btnHelpInstance.button.SetDisabledImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnHelpDisabled.gif');
this.btnHelpInstance.button.Enable(false);
this.btnHelpInstance.OnLoad();
}
if ($('SlideTicker') && this.ShowSlides) {
this.btnPreviousSlideInstance = new PreviousSlideButtonArea('btnPreviousSlideInstance');
this.btnPreviousSlideInstance.button = new SfUI.Button('btnPreviousSlide');
this.btnPreviousSlideInstance.button.SetNormalImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnPrevNormal.gif');
this.btnPreviousSlideInstance.button.SetOverImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnPrevOver.gif');
this.btnPreviousSlideInstance.button.SetPressedImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnPrevPressed.gif');
this.btnPreviousSlideInstance.button.SetDisabledImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnPrevDisabled.gif');
this.btnPreviousSlideInstance.OnLoad();
this.btnNextSlideInstance = new NextSlideButtonArea('btnNextSlideInstance');
this.btnNextSlideInstance.button = new SfUI.Button('btnNextSlide');
this.btnNextSlideInstance.button.SetNormalImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnNextNormal.gif');
this.btnNextSlideInstance.button.SetOverImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnNextOver.gif');
this.btnNextSlideInstance.button.SetPressedImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnNextPressed.gif');
this.btnNextSlideInstance.button.SetDisabledImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnNextDisabled.gif');
this.btnNextSlideInstance.OnLoad();
this.SlideNumberPanelInstance = new SlideNumberPanel("SlideNumberPanelInstance", window, "SlideNumberArea");
this.SlideNumberPanelInstance.SlideText = Localization.Common.Slide;
this.SlideNumberPanelInstance.OfText = Localization.Common.Of;
this.SlideNumberPanelInstance.DefaultText = ' ';
}
if ($('SlideTabs')) {
this.btnSlideShowInstance = new SlideShowButtonArea('btnSlideShow');
this.btnSlideShowInstance.button = new SfUI.Button('btnSlideShow');
this.btnSlideShowInstance.button.SetNormalImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnSlideShowNormal.gif');
this.btnSlideShowInstance.button.SetOverImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnSlideShowOver.gif');
this.btnSlideShowInstance.button.SetButtonType(SfUI.ButtonType.Check);
this.btnSlideShowInstance.button.SetChecked(true);
this.btnSlideShowInstance.button.SetNormalImage(1, LayoutOptions.ThemeImageBase + '/CommandBar/btnSlideShowCheckedNormal.gif');
this.btnSlideShowInstance.button.SetOverImage(1, LayoutOptions.ThemeImageBase + '/CommandBar/btnSlideShowCheckedOver.gif');
this.btnSlideShowInstance.Enabled = true;
this.btnSlideShowInstance.TooltipId = Localization.Common.SlideShow;
this.btnSlideShowInstance.ControlArea = $('CurrentSlideArea');
this.btnSlideShowInstance.OnLoad();
this.btnSlideListInstance = new SlideShowButtonArea('btnSlideList');
this.btnSlideListInstance.button = new SfUI.Button('btnSlideList');
this.btnSlideListInstance.button.SetNormalImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnSlideNavNormal.gif');
this.btnSlideListInstance.button.SetOverImage(0, LayoutOptions.ThemeImageBase + '/CommandBar/btnSlideNavOver.gif');
this.btnSlideListInstance.button.SetButtonType(SfUI.ButtonType.Check);
this.btnSlideListInstance.button.SetChecked(false);
this.btnSlideListInstance.button.SetNormalImage(1, LayoutOptions.ThemeImageBase + '/CommandBar/btnSlideNavCheckedNormal.gif');
this.btnSlideListInstance.button.SetOverImage(1, LayoutOptions.ThemeImageBase + '/CommandBar/btnSlideNavCheckedOver.gif');
this.btnSlideListInstance.Enabled = true;
this.btnSlideListInstance.TooltipId = Localization.Common.SlideList;
this.btnSlideListInstance.ControlArea = $('CurrentSlideArea');
this.btnSlideListInstance.OnLoad();
}
if ($('StatusBar')) {
this.PlayerStatusPanelInstance = new PlayerStatusPanel("PlayerStatusPanelInstance", window, "PlayerStatusArea");
this.PlayerStatusPanelInstance.OnLoad();
this.PlayerPositionPanelInstance = new PlayerPositionPanel("PlayerPositionPanelInstance", window, "PlayerPositionArea");
this.PlayerPositionPanelInstance.OnLoad();
}
if ($('PlayerControls')) {
this.btnPlayPauseInstance = new PlayPauseButtonArea("btnPlayPauseInstance", window, "btnPlayPause");
this.btnPlayPauseInstance.button = new PlayPauseButton("btnPlayPause", "mPlayer.btnPlayPauseInstance");
this.btnPlayPauseInstance.button.PlayImageDetails.Over = LayoutOptions.ThemeImageBase + '/Player/Buttons/btnPlayOver.gif';
this.btnPlayPauseInstance.button.PlayImageDetails.Normal = LayoutOptions.ThemeImageBase + '/Player/Buttons/btnPlayNormal.gif';
this.btnPlayPauseInstance.button.PlayImageDetails.Disabled = LayoutOptions.ThemeImageBase + '/Player/Buttons/btnPlayDisabled.gif';
this.btnPlayPauseInstance.button.PauseImageDetails.Over = LayoutOptions.ThemeImageBase + '/Player/Buttons/btnPauseOver.gif';
this.btnPlayPauseInstance.button.PauseImageDetails.Normal = LayoutOptions.ThemeImageBase + '/Player/Buttons/btnPauseNormal.gif';
this.btnPlayPauseInstance.button.PauseImageDetails.Disabled = LayoutOptions.ThemeImageBase + '/Player/Buttons/btnPauseDisabled.gif';
this.btnPlayPauseInstance.button.StopImageDetails.Over = LayoutOptions.ThemeImageBase + '/Player/Buttons/btnStopOver.gif';
this.btnPlayPauseInstance.button.StopImageDetails.Normal = LayoutOptions.ThemeImageBase + '/Player/Buttons/btnStopNormal.gif';
this.btnPlayPauseInstance.button.StopImageDetails.Disabled = LayoutOptions.ThemeImageBase + '/Player/Buttons/btnStopDisabled.gif';
this.btnPlayPauseInstance.button.ToolTipPlay = Localization.Buttons.Play;
this.btnPlayPauseInstance.button.ToolTipPause = Localization.Buttons.Pause;
this.btnPlayPauseInstance.button.ToolTipStop = Localization.Buttons.Stop;
this.btnPlayPauseInstance.button.IsEnabled = false;
this.btnPlayPauseInstance.OnLoad();
this.btnSkipbackInstance = new SkipbackButtonArea("btnSkipbackInstance", window, "btnSkipback");
this.btnSkipbackInstance.button = new SfUI.Button('btnSkipback');
this.btnSkipbackInstance.button.SetNormalImage(0, LayoutOptions.ThemeImageBase + '/Player/Buttons/btnSkipbackNormal.gif');
this.btnSkipbackInstance.button.SetOverImage(0, LayoutOptions.ThemeImageBase + '/Player/Buttons/btnSkipbackOver.gif');
this.btnSkipbackInstance.button.SetDisabledImage(0, LayoutOptions.ThemeImageBase + '/Player/Buttons/btnSkipbackDisabled.gif');
this.btnSkipbackInstance.button.Enable(false);
this.btnSkipbackInstance.OnLoad();
this.btnMuteInstance = new MuteButtonArea("btnMuteInstance", window, "btnMute");
this.btnMuteInstance.button = new SfUI.Button('btnMute');
this.btnMuteInstance.button.SetNormalImage(0, LayoutOptions.ThemeImageBase + '/Player/Volume/btnMuteNormal.gif');
this.btnMuteInstance.button.SetOverImage(0, LayoutOptions.ThemeImageBase + '/Player/Volume/btnMuteOver.gif');
this.btnMuteInstance.button.SetDisabledImage(0, LayoutOptions.ThemeImageBase + '/Player/Volume/btnMuteDisabled.gif');
this.btnMuteInstance.button.SetButtonType(SfUI.ButtonType.Check);
this.btnMuteInstance.button.SetNormalImage(1, LayoutOptions.ThemeImageBase + '/Player/Volume/btnMuteCheckedNormal.gif');
this.btnMuteInstance.button.SetOverImage(1, LayoutOptions.ThemeImageBase + '/Player/Volume/btnMuteCheckedOver.gif');
this.btnMuteInstance.button.Enable(false);
this.btnMuteInstance.OnLoad();
this.btnFullScreenInstance = new FullScreenButtonArea("btnFullScreenInstance", window, "btnFullScreen");
this.btnFullScreenInstance.button = new SfUI.Button('btnFullScreen');
this.btnFullScreenInstance.button.SetNormalImage(0, LayoutOptions.ThemeImageBase + '/Player/Buttons/btnFullScreenNormal.gif');
this.btnFullScreenInstance.button.SetOverImage(0, LayoutOptions.ThemeImageBase + '/Player/Buttons/btnFullScreenOver.gif');
this.btnFullScreenInstance.button.SetDisabledImage(0, LayoutOptions.ThemeImageBase + '/Player/Buttons/btnFullScreenDisabled.gif');
this.btnFullScreenInstance.button.Enable(false);
this.btnFullScreenInstance.OnLoad();
}
if ($('CurrentSlideArea') && this.ShowSlides) {
this.CurrentSlidePanelInstance = new CurrentSlidePanel("mPlayer.CurrentSlidePanelInstance", window, "CurrentSlideArea");
this.CurrentSlidePanelInstance.ViewportWidth = Math.floor(LayoutOptions.SlideWidth / 3);
this.CurrentSlidePanelInstance.ViewportHeight = Math.floor(LayoutOptions.SlideHeight / 3);
this.CurrentSlidePanelInstance.OnLoad();
}
ChangePosition.OnLoad();
$('btnCC').style.display = 'none';
if (!this.IsPreview) {
this.OnDataLoad();
}
},
OnDataLoad: function() {
Manifest.OnLoad();
if (Manifest.CaptionsFile.length > 0) {
document.writeln('');
}
$('ApplicationVersionArea').title = 'Mediasite ' + Manifest.Version;
if (this.presentationCard) {
this.presentationCard.OnDataLoad();
}
if (this.btnAskInstance) {
this.btnAskInstance.OnDataLoad();
}
if (this.btnPollInstance) {
this.btnPollInstance.OnDataLoad();
}
if (this.btnEmailInstance) {
this.btnEmailInstance.OnDataLoad();
}
if (this.btnLinksInstance) {
this.btnLinksInstance.OnDataLoad();
this.LinksPanel = new LinksPanel("mPlayer.LinksPanel", window, "LinksPanel");
this.LinksPanel.ID = "LinksPanel";
this.LinksPanel.OnLoad();
}
if ($('SlideTabs')) {
this.btnSlideShowInstance.OnDataLoad();
this.btnSlideListInstance.OnDataLoad();
}
if ($('SlideTicker') && this.ShowSlides) {
this.btnPreviousSlideInstance.OnDataLoad();
this.btnNextSlideInstance.OnDataLoad();
this.SlideNumberPanelInstance.OnDataLoad();
}
if ($('CurrentSlideArea') && this.ShowSlides) {
this.CurrentSlidePanelInstance.OnDataLoad();
this.ThumbnailsPanelInstance = new ThumbnailsPanel("mPlayer.ThumbnailsPanelInstance", window, "ThumbNailsArea");
this.ThumbnailsPanelInstance.OnLoad();
this.ChapterPointsPanelInstance = new ChapterPointsPanel("mPlayer.ChapterPointsPanelInstance", window, "ChapterPointsArea");
this.ChapterPointsPanelInstance.OnLoad();
}
if ($('PlayerControls')) {
this.btnPlayPauseInstance.OnDataLoad();
this.btnSkipbackInstance.OnDataLoad();
this.btnMuteInstance.OnDataLoad();
this.btnFullScreenInstance.OnDataLoad();
this.btnHelpInstance.OnDataLoad();
this.PlayerSliderInstance = new SliderArea("mPlayer.PlayerSliderInstance", window, "PlayerSlider");
this.PlayerSliderInstance.Orientation = SfUI.SfSlider.Orientation.Horizontal;
this.PlayerSliderInstance.SliderBackgroundImage = LayoutOptions.ThemeImageBase + '/Player/slider_bkg.gif';
this.PlayerSliderInstance.ThumbImage = LayoutOptions.ThemeImageBase + '/Player/thumb.gif';
this.PlayerSliderInstance.ThumbOverImage = LayoutOptions.ThemeImageBase + '/Player/thumbOver.gif';
this.VolumeSliderInstance = new VolumeSliderArea("mPlayer.VolumeSliderInstance", window, "VolumeSlider");
this.VolumeSliderInstance.Orientation = SfUI.SfSlider.Orientation.Horizontal;
this.VolumeSliderInstance.SliderBackgroundImage = LayoutOptions.ThemeImageBase + '/Player/Volume/slider_bkg.gif';
this.VolumeSliderInstance.ThumbImage = LayoutOptions.ThemeImageBase + '/Player/Volume/thumb.gif';
this.VolumeSliderInstance.ThumbOverImage = LayoutOptions.ThemeImageBase + '/Player/Volume/thumbOver.gif';
}
if ($('LanguageSelectionArea')) {
this.LanguageSelectionAreaInstance = new LanguageDropDownArea("mPlayer.LanguageSelectionAreaInstance", window, "LanguageSelectionArea");
this.LanguageSelectionAreaInstance.OnLoad();
}
if ($('CaptioningContainer')) {
this.SamiDropDownPanelInstance = new SamiDropDownPanel("mPlayer.SamiDropDownPanelInstance", window, "Captioning");
this.SamiDropDownPanelInstance.OnLoad();
}
if (Manifest.CaptionsFile.length > 0) {
this.btnCCInstance = new CCButtonArea("btnCCInstance", window, "btnCC");
this.btnCCInstance.button = new SfUI.Button('btnCC');
this.btnCCInstance.button.SetNormalImage(0, LayoutOptions.ThemeImageBase + '/Player/Captioning/btnCCNormal.gif');
this.btnCCInstance.button.SetOverImage(0, LayoutOptions.ThemeImageBase + '/Player/Captioning/btnCCOver.gif');
this.btnCCInstance.button.SetDisabledImage(0, LayoutOptions.ThemeImageBase + '/Player/Captioning/btnCCDisabled.gif');
this.btnCCInstance.button.Enable(true);
this.btnCCInstance.OnLoad();
}
window.onbeforeunload = this.OnBeforeUnload;
document.onkeyup = this.OnKeyUp;
},
OnBeforeUnload: function() {
if (mPlayer.OpenReported) {
mPlayer.ReportViewerPageClosed();
}
if (mPlayer.PopupWindows.FullSize) {
mPlayer.PopupWindows.FullSize.close();
}
if (mPlayer.PopupWindows.PreviewSlide) {
mPlayer.PopupWindows.PreviewSlide.close();
}
if (mPlayer.PopupWindows.Polls) {
mPlayer.PopupWindows.Polls.close();
}
},
LoadMediaPlayer: function() {
if (this.PlayerDetect.GetPlayerType() == SfKernel.MediaPlayerType.SL1) {
this.PlayerAreaInstance = new SL1PlayerArea("mPlayer.PlayerAreaInstance", window, "PlayerArea");
$('PlayerSpeedControl').style.display = 'none';
$('btnFullScreen').style.display = 'none';
}
else {
this.PlayerAreaInstance = new WM7PlayerArea("mPlayer.PlayerAreaInstance", window, "PlayerArea");
this.PlayerSpeedControlInstance = new PlayerSpeedControlPanel("mPlayer.PlayerSpeedControlInstance", window, "PlayerSpeedControl");
this.PlayerSpeedControlInstance.OnLoad();
}
this.PlayerAreaInstance.OnLoad();
},
OnKeyUp: function(e) {
if (SfEmailIsShowing || SfForumIsShowing || mPlayer.LinksPanel.IsShowing) {
return;
}
var keyEvent = (window.event) ? event : e;
if (Manifest.PlayStatus == SfKernel.PresentationPlayStatus.OnDemand) {
switch (keyEvent.keyCode) {
case 32: //Space
mPlayer.btnPlayPauseInstance.OnClick();
break;
case 37: // left arrow
if (keyEvent.ctrlKey) {
if (mPlayer.btnPreviousSlideInstance) {
mPlayer.btnPreviousSlideInstance.OnClick();
}
}
else {
mPlayer.EventManager.PostCommandEvent(SfKernel.CommandEventId.SkipBack, this, null);
}
break;
case 38: // up arrow
if (mPlayer.PlayerSpeedControlInstance) {
mPlayer.PlayerSpeedControlInstance._rightDivOnClick$1();
}
break;
case 39: // right arrow
if (keyEvent.ctrlKey) {
if (mPlayer.btnNextSlideInstance) {
mPlayer.btnNextSlideInstance.OnClick();
}
}
else {
mPlayer.EventManager.PostCommandEvent(SfKernel.CommandEventId.SkipForward, this, null);
}
break;
case 40: // down arrow
if (mPlayer.PlayerSpeedControlInstance) {
mPlayer.PlayerSpeedControlInstance._leftDivOnClick$1();
}
break;
}
}
switch (keyEvent.keyCode) {
case 65: //A
mPlayer.btnAskInstance.OnClick();
break;
case 69: //E
mPlayer.btnEmailInstance.OnClick();
break;
case 76: //L
mPlayer.btnLinksInstance.OnClick();
break;
case 77: //M
mPlayer.btnMuteInstance.OnClick();
break;
case 80: //P
mPlayer.btnPollInstance.OnClick();
break;
case 83: //S
if (LayoutOptions.SlideHeight != 0 && LayoutOptions.SlideWidth != 0) {
if (keyEvent.shiftKey) {
if (mPlayer.CurrentSlidePanelInstance) {
mPlayer.CurrentSlidePanelInstance._toolbuttonController$1.ToggleSlideDescriptions();
}
}
else if (mPlayer.btnSlideListInstance && mPlayer.btnSlideShowInstance) {
if (mPlayer.btnSlideListInstance.button.GetChecked()) {
mPlayer.btnSlideShowInstance.OnClick();
}
else {
mPlayer.btnSlideListInstance.OnClick();
}
}
}
break;
case 112: //F1
mPlayer.btnHelpInstance.OnClick();
break;
}
},
LoadAudioLanguages: function(Languages, CurrentIndex) {
if (this.LanguageSelectionAreaInstance) {
this.LanguageSelectionAreaInstance.LoadLanguages(Languages, CurrentIndex);
}
},
LoadThemeStylesheet: function() {
var href = GlobalOptions.AppRoot + '/App_Themes/' + LayoutOptions.ThemeId + '/Images.css';
document.writeln("");
},
BrowserHacks: function() {
// Firefox On Mac
if (this.PlayerDetect.IsMac() && this.PlayerDetect.IsFirefox() && $('PresentationCardArea') != null) {
// opacity used with overflow:hidden hides Silverlight video on Mac/Firefox
$('PresentationCardArea').style.opacity = 1;
$('PresentationCardArea').style.MozOpacity = 1;
}
},
ResizeWindow: function() {
var doResize = SfKernel.GetQueryStringValue("shouldResize");
if (doResize) {
var currentSize = document.viewport.getDimensions();
window.resizeBy((LayoutOptions.PlayerWidth - currentSize.width), (LayoutOptions.PlayerHeight - currentSize.height));
}
},
ReportViewerPageOpened: function() {
if (Manifest.IsStandAlone || this.OpenReported) {
return;
}
var callManager = new ReportingCallManager();
SonicFoundry.Mediasite.Player.DataAccess.PlayerService.ReportViewerPageOpened
(
Manifest.PlaybackTicketId,
mPlayer.PlayerDetect.GetPlayerType(),
Manifest.PlayStatus,
Function.createDelegate(callManager, callManager.OnSuccess),
Function.createDelegate(callManager, callManager.OnFailure),
'ReportViewerPageOpened'
);
this.OpenReported = true;
},
ReportViewerPageClosed: function() {
var syncRequest = new Sys.Net.WebRequest();
syncRequest.set_url(String.format("{0}/ReportViewerPageClosed?playbackTicketId=%22{1}%22", SonicFoundry.Mediasite.Player.DataAccess.PlayerService.get_path(), Manifest.PlaybackTicketId));
syncRequest.set_httpVerb("GET");
syncRequest.get_headers()["Content-Type"] = "application/json; charset=utf-8";
syncRequest.set_executor(new SfKernel.XMLHttpSyncExecutor());
syncRequest.invoke();
},
CreateShowSlideEventArgs: function(slideNumber) {
var args = new Object();
args.Command = SfKernel.ScriptCmdType.ShowSlide;
args.Index = slideNumber;
if (slideNumber < 1) {
return args;
}
args.Image = this.GetImageLocation(slideNumber, SfKernel.SlideType.Normal);
args.FullSizeImage = this.GetImageLocation(slideNumber, SfKernel.SlideType.FullSize);
args.ThumbNailImage = this.GetImageLocation(slideNumber, SfKernel.SlideType.ThumbNail);
return args;
},
KeepAddingToSlideTimings: function(slideNumber) {
var maxTimings = Manifest.Slides.length;
if (maxTimings > slideNumber) {
return;
}
var startIndex = maxTimings + 1;
var endIndex = slideNumber;
var i;
for (i = startIndex; i <= endIndex; ++i) {
this.AddToSlideTimings(i);
}
},
AddToSlideTimings: function(slideNumber) {
Manifest.Slides[Manifest.Slides.length] = new Slide("", -1, "");
},
GetImageLocationUsingWidthAndHeight: function(slideNumber, width, height) {
return Manifest.GetSlideUrl(slideNumber, width, height);
},
GetImageLocation: function(slideNumber, type) {
if (type == SfKernel.SlideType.Normal) {
return Manifest.GetSlideUrl(slideNumber, LayoutOptions.SlideWidth, LayoutOptions.SlideHeight);
}
else if (type == SfKernel.SlideType.ThumbNail) {
return Manifest.GetSlideUrl(slideNumber, mPlayer.ThumbnailsPanelInstance.ThumbnailWidth, mPlayer.ThumbnailsPanelInstance.ThumbnailHeight);
}
else {
return Manifest.GetSlideUrl(slideNumber);
}
}
}
LinksButtonPanel = function() {
this.OnLoad = function() {
this.button.Initialize();
this.button.SetTooltip(Localization.Buttons.Links);
}
this.OnDataLoad = function() {
if (Manifest.SupportingLinks.length > 0) {
this.button.Enable(true);
this.button.SetClickHandler(this.OnClick.bind(this));
}
}
this.OnClick = function() {
if (this.button._enabled) {
mPlayer.LinksPanel.Show();
}
}
}
////////////////////////
AskButtonPanel = function() {
this.PrimarySpeakerEmail = null;
this.OnLoad = function() {
this.button.Initialize();
this.button.SetClickHandler(this.OnClick.bind(this));
this.button.SetTooltip(Localization.Buttons.Ask);
this.AddEventHandlers();
}
this.OnDataLoad = function() {
this.LoadPrimarySpeakerEmail();
this.HandleButtonState();
}
this.AddEventHandlers = function() {
mPlayer.EventManager.Events.addHandler(SfKernel.EventType.Script, this.ScriptEventHandler.bind(this));
mPlayer.EventManager.Events.addHandler(SfKernel.EventType.LivePlaybackStarted, this.DataAvailableEventHandler.bind(this));
}
this.ScriptEventHandler = function(sender, args) {
switch (args.Command) {
case SfKernel.ScriptCmdType.EndPresentation:
if (Manifest.PlayStatus != SfKernel.PresentationPlayStatus.OnDemand) {
this.button.Enable(false);
}
break;
}
}
this.DataAvailableEventHandler = function(sender, args) {
this.HandleButtonState();
}
this.HandleButtonState = function() {
if (Manifest.ForumEnabled) {
if (Manifest.PlayStatus == SfKernel.PresentationPlayStatus.Live || Manifest.PlayStatus == SfKernel.PresentationPlayStatus.OnDemand) {
this.button.Enable(true);
return;
}
}
this.button.Enable(false);
}
this.LoadPrimarySpeakerEmail = function() {
if (Manifest.Presenters.length < 1) {
this.PrimarySpeakerEmail = null;
return;
}
this.PrimarySpeakerEmail = Manifest.Presenters[0].Email;
}
this.OnClick = function() {
if (this.button._enabled) {
SfForum.OpenAskQuestion();
}
}
}
/////////////////
PollButtonPanel = function() {
this.OnLoad = function() {
this.button.Initialize();
this.button.SetTooltip(Localization.Buttons.Polls);
}
this.OnDataLoad = function() {
this.HandleButtonState();
}
this.HandleButtonState = function() {
if (Manifest.PollingEnabled) {
this.button.Enable(true);
this.button.SetClickHandler(this.OnClick.bind(this));
}
else {
this.button.Enable(false);
}
}
this.OnClick = function() {
if (this.button._enabled) {
// needs to be resizeable
mPlayer.PopupWindows.Polls = WindowHelper.CreateNamedPopup(WindowHelper.PopupNames.ShowPolls, "polls", 600, 450, true, false);
if (mPlayer.PopupWindows.Polls) {
mPlayer.PopupWindows.Polls.focus();
}
}
}
}
//////////
ChangeVideoPositionButtonArea = function() {
this.OnLoad = function() {
this.button.Initialize();
this.button.SetTooltip(Localization.Buttons.ChangeVideoPosition);
this.button.SetClickHandler(this.OnClick.bind(this));
this.button.Enable(true);
}
this.OnClick = function() {
toggleVariant();
}
}
//////////
EmailButtonArea = function() {
this.OnLoad = function() {
this.button.Initialize();
this.button.SetTooltip(Localization.Buttons.Email);
}
this.OnDataLoad = function() {
if (GlobalOptions.AllowEmailForm == true) {
this.button.Enable(true);
this.button.SetClickHandler(this.OnClick.bind(this));
}
}
this.OnClick = function() {
if (this.button._enabled) {
SfEmail.OpenEmailInvitation();
}
}
}
///////
HelpButtonArea = function() {
this.OnLoad = function() {
this.button.Initialize();
this.button.SetTooltip(Localization.Buttons.Help);
}
this.OnDataLoad = function() {
this.button.Enable(true);
this.button.SetClickHandler(this.OnClick.bind(this));
}
this.OnClick = function() {
if (this.button._enabled) {
WindowHelper.PopupHelp(WindowHelper.GetPopupURL(WindowHelper.PopupNames.Help), 800, 600);
}
}
}
ControlButtonArea = function(id) {
this.ID = id;
this.Enabled = true;
this.ControlArea = null;
this.OnLoad = function() {
if (this.Enabled == false) {
this.Hide();
return;
}
else {
this.Show();
}
this.button.Initialize();
this.button.SetClickHandler(this.OnClick.bind(this));
this.button.SetTooltip(this.TooltipId);
}
this.OnClick = function() {
if (this.button.GetChecked()) {
this.HideControlArea();
}
else {
this.ShowControlArea();
}
}
this.ShowControlArea = function() {
this.ControlArea.Show();
this.button.SetChecked(true);
}
this.HideControlArea = function() {
this.ControlArea.Hide();
this.button.SetChecked(false);
}
this.Hide = function() {
var divElement = this.GetDiv();
if (this._originalDisplay == null) {
this._originalDisplay = divElement.style.display;
}
divElement.style.display = 'none';
}
this.GetDiv = function() {
if (this._div == null) {
this._div = $(this.ID);
}
return this._div;
}
this.Show = function() {
var divElement = this.GetDiv();
var currentDisplay = divElement.style.display;
if (currentDisplay != 'none') {
this._originalDisplay = currentDisplay;
return;
}
// currentdisplay == 'none'
if (this._originalDisplay == null) {
// not initialized
this._originalDisplay = 'none';
divElement.style.display = '';
}
else {
if (this._originalDisplay == 'none') {
divElement.style.display = '';
}
else {
divElement.style.display = this._originalDisplay;
}
}
}
}
ControlButtonGroup = function() {
this.OnLoad = function() {
this.ResetClickHandlersForButtons();
this.SelectFirstEnabledButton();
}
this.SelectFirstEnabledButton = function() {
for (var i = 0; i < this.Buttons.length; ++i) {
if (this.Buttons[i].Enabled == true) {
this.OnClick(this.Buttons[i].ID);
return;
}
}
}
this.ResetClickHandlersForButtons = function() {
var len = this.Buttons.length;
for (var i = 0; i < len; ++i) {
this.Buttons[i].Group = this;
this.Buttons[i].button.SetClickHandler(this.OnClick.bind(this, this.Buttons[i].ID));
}
}
this.ShowThisAndHideOthers = function(index) {
for (var i = 0; i < this.Buttons.length; ++i) {
if (i == index) {
this.Buttons[i].ShowControlArea();
}
else {
this.Buttons[i].HideControlArea();
}
}
}
this.OnClick = function(buttonID) {
var index = this.FindClickedButtonIndex(buttonID);
if (this.Buttons[index].button.IsChecked == true) {
return;
}
this.ShowThisAndHideOthers(index);
}
this.FindClickedButtonIndex = function(buttonID) {
for (var i = 0; i < this.Buttons.length; ++i) {
if (this.Buttons[i].ID == buttonID) {
return i;
}
}
return -1;
}
}
////////////////////////
PreviousSlideButtonArea = function(container) {
this.Container = container;
this.OnLoad = function() {
this.button.Initialize();
this.button.SetTooltip(Localization.Buttons.PreviousSlide);
}
this.OnDataLoad = function() {
this.button.SetClickHandler(this.OnClick.bind(this));
this.button.SetDblClickHandler(this.OnClick.bind(this));
this.AddEventHandlers();
this.HandleButtonState(-1);
}
this.AddEventHandlers = function() {
mPlayer.EventManager.Events.addHandler(SfKernel.EventType.Script, this.ScriptEventHandler.bind(this));
mPlayer.EventManager.Events.addHandler(SfKernel.EventType.PlayingFromBeginning, this.PlayingFromBeginningEventHandler.bind(this));
}
this.ScriptEventHandler = function(sender, args) {
if (args.Command != SfKernel.ScriptCmdType.ShowSlide) {
return;
}
this.HandleButtonState(args.Index);
}
this.PlayingFromBeginningEventHandler = function(sender, args) {
this.HandleButtonState(-1);
}
this.OnClick = function() {
var currentSlide = mPlayer.CurrentSlideNumber;
var toJumpTo;
if (mPlayer.PresentationEnded) {
if (Manifest.Slides.length > 0) {
toJumpTo = Manifest.Slides.length;
}
else {
return;
}
}
else if (currentSlide > 1) {
toJumpTo = currentSlide - 1;
}
else {
return;
}
mPlayer.EventManager.PostCommandEvent(SfKernel.CommandEventId.NavigateToSlide, this, { SlideNumber: toJumpTo });
}
this.HandleButtonState = function(currentSlide) {
if (Manifest.PlayStatus != SfKernel.PresentationPlayStatus.OnDemand) {
this.button.Enable(false);
return;
}
if (currentSlide < 2) {
this.button.Enable(false);
return;
}
this.button.Enable(true);
}
}
////////////////////////
NextSlideButtonArea = function(container) {
this.Container = container;
this.OnLoad = function() {
this.button.Initialize();
this.button.SetTooltip(Localization.Buttons.NextSlide);
}
this.OnDataLoad = function() {
this.button.SetClickHandler(this.OnClick.bind(this));
this.AddEventHandlers();
this.HandleButtonState(-1);
}
this.AddEventHandlers = function() {
mPlayer.EventManager.Events.addHandler(SfKernel.EventType.Script, this.ScriptEventHandler.bind(this));
mPlayer.EventManager.Events.addHandler(SfKernel.EventType.PlayingFromBeginning, this.PlayingFromBeginningEventHandler.bind(this));
}
this.ScriptEventHandler = function(sender, args) {
switch (args.Command) {
case SfKernel.ScriptCmdType.ShowSlide:
this.HandleButtonState(args.Index);
}
}
this.PlayingFromBeginningEventHandler = function(sender, args) {
this.HandleButtonState(-1);
}
this.OnClick = function() {
var currentSlide = mPlayer.CurrentSlideNumber;
var maxSlide = Manifest.Slides.length;
if (currentSlide == -1 && maxSlide > 0) {
mPlayer.EventManager.PostCommandEvent(SfKernel.CommandEventId.NavigateToSlide, this, { SlideNumber: 1 });
}
else if (currentSlide < maxSlide) {
mPlayer.EventManager.PostCommandEvent(SfKernel.CommandEventId.NavigateToSlide, this, { SlideNumber: currentSlide + 1 });
}
}
this.HandleButtonState = function(currentSlide) {
if (Manifest.PlayStatus != SfKernel.PresentationPlayStatus.OnDemand) {
this.button.Enable(false);
return;
}
var maxSlide = Manifest.Slides.length;
if (currentSlide == -1) {
if (maxSlide > 0) {
this.button.Enable(true);
}
else {
this.button.Enable(false);
}
return;
}
if (currentSlide < maxSlide) {
this.button.Enable(true);
}
else {
this.button.Enable(false);
}
}
}
SlideNumberPanel = function(container, containingWindow, id) {
this.Container = container;
this.ContainingWindow = containingWindow;
this.ID = id;
this.SlideText = null;
this.OfText = null;
this.DefaultText = null;
this.OnLoad = function() {
}
this.OnDataLoad = function() {
this.AddEventHandlers();
}
this.SetText = function(val) {
var textNode = document.createTextNode(val);
var div = this.GetDiv();
var firstChild = div.childNodes[0];
if (firstChild) {
div.replaceChild(textNode, firstChild);
}
else {
div.appendChild(textNode);
}
}
this.AddEventHandlers = function() {
mPlayer.EventManager.Events.addHandler(SfKernel.EventType.Script, this.ScriptEventHandler.bind(this));
mPlayer.EventManager.Events.addHandler(SfKernel.EventType.PlayingFromBeginning, this.PlayingFromBeginningEventHandler.bind(this));
mPlayer.EventManager.Events.addHandler(SfKernel.EventType.LivePlaybackStarted, this.LivePlaybackStartedEventHandler.bind(this));
}
this.ScriptEventHandler = function(sender, args) {
switch (args.Command) {
case SfKernel.ScriptCmdType.ShowSlide:
var index = args.Index;
if (index < 1) {
this.SetBlankText();
return;
}
this.SetText(this.SlideText + " " + index + " " + this.OfText + " " + Manifest.Slides.length);
break;
case SfKernel.ScriptCmdType.EndPresentation:
this.SetBlankText();
break;
}
}
this.LivePlaybackStartedEventHandler = function(sender, args) {
var slideNumber = Manifest.Slides.length;
if (slideNumber > 0) {
this.SetText(this.SlideText + " " + slideNumber + " " + this.OfText + " " + slideNumber);
}
}
this.PlayingFromBeginningEventHandler = function(sender, args) {
if (mPlayer.CurrentSlideNumber == -1) {
this.SetBlankText();
}
}
this.SetBlankText = function() {
this.SetText(this.DefaultText);
}
}
SlideNumberPanel.prototype = new Panel();
SlideNumberPanel.prototype.constructor = SlideNumberPanel;
SlideNumberPanel.prototype.baseClass = Panel.prototype.constructor;
//////////////////////
SlideShowButtonArea = function(id) {
this.ID = id;
this.OnLoad = function() {
if (!this.Enabled) {
this.Hide();
return;
}
this.Show();
this.button.Initialize();
this.button.SetTooltip(this.TooltipId);
}
this.OnDataLoad = function() {
this.button.SetClickHandler(this.OnClick.bind(this));
}
this.OnClick = function() {
if (!this.button.GetChecked()) {
if (this.ID == 'btnSlideShow') {
this.ShowControlArea();
}
else {
this.HideControlArea();
}
}
}
this.ShowControlArea = function() {
this.ControlArea.show();
mPlayer.btnSlideShowInstance.button.SetChecked(true);
mPlayer.btnSlideListInstance.button.SetChecked(false);
}
this.HideControlArea = function() {
this.ControlArea.hide();
mPlayer.btnSlideListInstance.button.SetChecked(true);
mPlayer.btnSlideShowInstance.button.SetChecked(false);
}
this.Hide = function() {
var divElement = this.GetDiv();
if (this._originalDisplay == null) {
this._originalDisplay = divElement.style.display;
}
divElement.style.display = 'none';
}
this.GetDiv = function() {
if (this._div == null) {
this._div = $(this.ID);
}
return this._div;
}
this.Show = function() {
var divElement = this.GetDiv();
var currentDisplay = divElement.style.display;
if (currentDisplay != 'none') {
this._originalDisplay = currentDisplay;
return;
}
// currentdisplay == 'none'
if (this._originalDisplay == null) {
// not initialized
this._originalDisplay = 'none';
divElement.style.display = '';
}
else {
if (this._originalDisplay == 'none') {
divElement.style.display = '';
}
else {
divElement.style.display = this._originalDisplay;
}
}
}
}
/// Theme Image
SkinImage = function(id) {
this.ID = id;
this.ImageSRC = null;
//this.ImageBackSRC = null;
this.ImageHref = null;
this.ImageWidth = null;
this.ImageHeight = null;
this.ParentWidth = null;
this.ParentHeight = null;
this.Alt = '';
this.Style = null;
this.ParentStyle = null;
this.OnLoad = function() {
var ParentElement = $(this.ID);
if (!ParentElement) {
return;
}
this.ParentWidth = ParentElement.style.width;
this.ParentHeight = ParentElement.style.height;
var parentStyle = ParentElement.style;
ParentElement.setAttribute('style', parentStyle + this.ParentStyle);
var BannerPanel = this.createBannerPanel();
ParentElement.appendChild(BannerPanel);
}
this.createBannerPanel = function() {
// banners as img tags.
// var imgElement = $(document.createElement('img'));
// imgElement.setAttribute('id', this.ID + 'Image');
// imgElement.setAttribute('src', this.ImageSRC);
// imgElement.setAttribute('alt', this.Alt);
// imgElement.setAttribute('style', this.Style);
// imgElement.setAttribute('border', '0');
// banners as divs with background images
var imgElement = $(document.createElement('div'));
imgElement.setAttribute('id', this.ID + 'Image');
imgElement.setAttribute('style', this.Style);
imgElement.setAttribute('border', '0');
imgElement.setStyle({
backgroundRepeat: 'no-repeat',
backgroundImage: 'url(' + this.ImageSRC + ')',
height: this.ImageHeight + 'px',
width: this.ImageWidth + 'px'
});
imgElement.setAttribute('title', this.Alt);
if (this.ImageHeight != null && this.ImageWidth != null) {
imgElement.setAttribute('height', this.ImageHeight);
imgElement.setAttribute('width', this.ImageWidth);
}
else {
imgElement.setAttribute('height', this.ParentHeight.replace("px", ""));
imgElement.setAttribute('width', this.ParentWidth.replace("px", ""));
}
if (this.ImageHref != '') // if there's no link, dont create the tag
{
var aElement = $(document.createElement('a'));
aElement.setAttribute('id', this.ID + 'Link');
aElement.setAttribute('href', this.ImageHref);
aElement.setAttribute('target', '_offsite');
aElement.appendChild(imgElement);
imgElement.setStyle({ cursor: 'pointer', cursor: 'hand' })
return aElement;
}
else {
return imgElement;
}
}
}
// Banners
function LoadBanners() {
this.Banner = null;
this.OnLoad = function() {
for (var i = 0; i < this.Banner.length; i++) {
if (LayoutOptions.Images[this.Banner[i]]) {
var BannerInstance = new SkinImage(this.Banner[i]);
BannerInstance.ImageSRC = LayoutOptions.Images[this.Banner[i]].ImageFilename;
BannerInstance.ImageHref = LayoutOptions.Images[this.Banner[i]].ImageUrl;
BannerInstance.ImageHeight = LayoutOptions.Images[this.Banner[i]].Height;
BannerInstance.ImageWidth = LayoutOptions.Images[this.Banner[i]].Width;
BannerInstance.OnLoad();
}
}
}
}
//Slider Area
SliderArea = function(container, containingWindow, id) {
this.ID = id;
this.Slider = null;
this.mediaLengthObtainedEventHandler = null;
this.playerTimerUpdatedEventHandler = null;
this.IsCurrentlyDragging = false;
this.Orientation = SfUI.SfSlider.Orientation.Vertical;
this.OnLoad = function() {
if (Manifest.PlayStatus == SfKernel.PresentationPlayStatus.OnDemand) {
this.Initialize();
this.Slider.SetEnabled(true);
this.AddEventHandlers();
}
}
this.Initialize = function() {
var imageInfo = { SliderBackroundImage: this.SliderBackgroundImage, ThumbImage: this.ThumbImage, ThumbOverImage: this.ThumbOverImage };
this.Slider = new SfUI.SfSlider({ NamePrefix: this.ID, Orientation: this.Orientation, ImageInfo: imageInfo });
}
this.AddEventHandlers = function() {
mPlayer.EventManager.Events.addHandler(SfKernel.EventType.MediaLengthObtained, this.MediaLengthObtainedEventHandler.bind(this));
mPlayer.EventManager.Events.addHandler(SfKernel.EventType.TimerLoop, this.TimerLoopEventHandler.bind(this));
this.Slider.AddClickHandler(Function.createDelegate(this, this.OnSliderClick));
this.Slider.AddDragHandler(Function.createDelegate(this, this.OnSliderDrag));
}
this.MediaLengthObtainedEventHandler = function(sender, range) {
this.Slider.SetRange(range.Left, range.Right);
}
this.TimerLoopEventHandler = function(sender, args) {
if (this.IsCurrentlyDragging == true) {
return;
}
this.Slider.SetPosition(args["Position"]);
}
this.OnSliderClick = function(sender, args) {
this.Slider.SetPosition(args.Position);
var sliderArgs = new SfKernel.SliderArgs(SfKernel.SliderNotifyType.NewPosition, args.Position);
mPlayer.EventManager.PostEvent(SfKernel.EventType.SliderNotify, this, sliderArgs);
}
this.OnSliderDrag = function(sender, dragArgs) {
if (dragArgs.DragEventType == SfUI.SfSlider.DragEventType.DragMove) {
this.Slider.SetPosition(dragArgs.Position);
var sliderArgs = new SfKernel.SliderArgs(SfKernel.SliderNotifyType.DragPosition, dragArgs.Position);
mPlayer.EventManager.PostEvent(SfKernel.EventType.SliderNotify, this, sliderArgs);
}
else if (dragArgs.DragEventType == SfUI.SfSlider.DragEventType.BeginDrag) {
var sliderArgs = new SfKernel.SliderArgs(SfKernel.SliderNotifyType.BeginDrag, dragArgs.Position);
mPlayer.EventManager.PostEvent(SfKernel.EventType.SliderNotify, this, sliderArgs);
this.IsCurrentlyDragging = true;
}
else if (dragArgs.DragEventType == SfUI.SfSlider.DragEventType.EndDrag) {
var newPositionArgs = new SfKernel.SliderArgs(SfKernel.SliderNotifyType.NewPosition, dragArgs.Position);
mPlayer.EventManager.PostEvent(SfKernel.EventType.SliderNotify, this, newPositionArgs);
var endDragArgs = new SfKernel.SliderArgs(SfKernel.SliderNotifyType.EndDrag, dragArgs.Position);
mPlayer.EventManager.PostEvent(SfKernel.EventType.SliderNotify, this, endDragArgs);
this.IsCurrentlyDragging = false;
}
}
}
function loadingMask(container, max, num) {
createBlocks(container, num);
for (var i = 0; i < max; ++i) // max repeats before stop
{
setTimeout('paintBlocks(' + num + ')', i * 1600); // interval between repeat
}
}
function createBlocks(container, num) {
var blockPaintInterval = 0;
var container = document.getElementById(container);
for (var i = 0; i < num; ++i) {
var e = document.createElement('div');
e.setAttribute('id', 'spinDiv' + i);
e.setAttribute('class', 'spinDiv');
container.appendChild(e);
}
}
function paintBlocks(num) {
var i = 0;
var t = 100;
var c = 150;
for (var j = 1; j < num; ++j) {
setTimeout('colorBlock(' + i + ',' + num + ',' + c + ',' + c + ',' + c + ')', t);
c = (c + 20); // grayscale step
t = t + 100; // chase length
}
}
function colorBlock(i, num, r, g, b) {
if (i < num) {
var e = document.getElementById('spinDiv' + i);
e.style.backgroundColor = 'rgb(' + r + ',' + g + ',' + b + ')';
setTimeout('colorBlock(' + (++i) + ',' + num + ',' + r + ',' + g + ',' + b + ')', 100);
}
}
var mPlayer = new MediasitePlayer();
try {
mPlayer.OnLoad();
}
catch (error) {
PresentationFailedToLoad('manifestFailedErrorDialog', error.message);
}