Mediasite.namespace("MediaPlayer"),Mediasite.namespace("MediaPlayer.Views"),Mediasite.MediaPlayer.ModelFlash=function(n){function nowUnloading(){yt=!0}function resetLiveMedia(){w=!0,s=0;var n=f.id,i=makeJsBridgeFunctionGlobalName(n);tt=t.GetVolume(),ht=t.IsMuted(),l=e.CreateMediaElement(n,i),nt=e.Wrapper,f=l.get(0)}function isLive(){return!!a}function reconnectOnLiveMediaOpenFailure(){resetLiveMedia()}function convertState(n){switch(n.toLowerCase()){case"buffering":return Mediasite.Player.MediaState.Buffering;case"closed":return Mediasite.Player.MediaState.Closed;case"error":return Mediasite.Player.MediaState.Error;case"opening":return Mediasite.Player.MediaState.Opening;case"paused":return Mediasite.Player.MediaState.Paused;case"playing":return Mediasite.Player.MediaState.Playing;case"stopped":return Mediasite.Player.MediaState.Stopped;default:return Mediasite.Player.MediaState.Undefined}}function notifyMediaLoaded(){var t=getStrobeApi(),n;t&&(n=makeMediaInfo(t),e.UpdateMediaInfo(n),i.fire(r.MediaLoaded,n))}function makeMediaInfo(i){var r=0,u;return i.getVideoHeight()>0&&i.getVideoWidth()>0&&(r=i.getVideoWidth()/i.getVideoHeight()),u={AspectRatio:r,Duration:t.GetDuration(),AudioOnly:i.getVideoHeight()===0,CanChangeSpeed:!1,CanFullScreen:!1,CurrentLanguageIndex:t.GetCurrentAudioLanguageIndex(),Languages:t.GetAudioLanguages(),StreamType:n.streamType,IsMainStream:n.isMainStream}}function getStrobeApi(){return f&&f.jsBridgeInitialized?f:!1}function notifyPlayerStateChange(n){i.fire(r.PositionChanged,t.GetPosition()),p.setMediaState(n),i.fire(r.StateChanged,n)}function jsBridge(n,t,i){var r={onJavaScriptBridgeCreated:handle_onJavaScriptBridgeCreated,loadstart:handle_loadstart,emptied:handle_emptied,complete:handle_complete,durationchange:handle_durationchange,progress:handle_progress,timeupdate:handle_timeupdate,waiting:handle_waiting,play:handle_play,pause:handle_pause,seeking:handle_seeking,seeked:handle_seeked,loadedmetadata:handle_loadedmetadata};typeof r[t]=="function"&&r[t](i)}function handle_onJavaScriptBridgeCreated(){toConsole("onJavaScriptBridgeCreated called");var i=f;i.jsBridgeInitialized=!0,i.setSrc(y),b.Info("Media element source set",y,"of type",ot,"on server type",et),t.SetVolume(tt),ht&&t.Mute()}function handle_loadedmetadata(n){var t,u;(toConsole("loadedmetadata "+n.videoWidth+"x"+n.videoHeight),t=getStrobeApi(),t)&&(g=!0,u=n.videoWidth/n.videoHeight,w?(t.play2(),w=!1,notifyMediaLoaded()):(st=!0,e.MediaLoadStart(),i.fire(r.MediaLoadStart),notifyMediaLoaded()))}function handle_loadstart(n){toConsole("loadstart "+n.currentSrc);var t=getStrobeApi();!t}function handle_emptied(n){toConsole("emptied ended: "+n.ended);var t=!!a,i=getEffectiveState()==Mediasite.Player.MediaState.MediaEnded;g&&(i||(t?setEffectiveState(Mediasite.Player.MediaState.Stopped):setEffectiveState(Mediasite.Player.MediaState.MediaEnded)))}function handle_complete(){toConsole("complete"),i.fire(r.PositionChanged,t.GetPosition()),o=0,i.fire(r.PositionChanged,0),setEffectiveState(Mediasite.Player.MediaState.MediaEnded)}function handle_durationchange(){}function handle_progress(){}function handle_timeupdate(n){c&&c.IsReady()&&c.TimeUpdateCalled(n.currentTime),i.fire(r.PositionChanged,t.GetPosition(),!0)}function handle_waiting(){(toConsole("waiting"),getEffectiveState()!=Mediasite.Player.MediaState.MediaEnded)&&setEffectiveState(Mediasite.Player.MediaState.Buffering)}function handle_play(){toConsole("handle_play");var i=getStrobeApi();i&&(setEffectiveState(Mediasite.Player.MediaState.Playing),s++,s!=1||isNaN(h)||t.SetPosition(h))}function getEffectiveState(){return rt}function setEffectiveState(n){toConsole("SET EFFECTIVE STATE TO "+n),rt=n,notifyPlayerStateChange(n)}function handle_pause(){toConsole("pause blah");var t=getStrobeApi();t&&getEffectiveState()!=Mediasite.Player.MediaState.MediaEnded&&(a||setEffectiveState(Mediasite.Player.MediaState.Paused))}function handle_seeking(){return toConsole("seeking"),i.fire(r.SeekStarting),!1}function handle_seeked(){toConsole("seeked"),i.fire(r.SeekEnding)}function onMediaPlaybackError(n,t,u,f){if(toConsole("%% onMediaPlaybackError %% playerId: "+n+", code: "+t+", message: "+u+", detail: "+f),l.css("visibility","hidden"),p.HandleLiveMediaOpenFailure(reconnectOnLiveMediaOpenFailure)){toConsole("ERROR will be handled by liveMediaOpenReconnector");return}var e;switch(t){default:e=Mediasite.Player.Localization.MediaPlayer.GeneralError+" ("+t+" - "+u+")"}i.fire(r.MediaError,e)}function globalMediaPlaybackErrorFunction(n,t,i,r){var u=getMediaPlaybackErrorFunction(n);toConsole("onMediaPlaybackError function found"),u(n,t,i,r)}function setMediaPlaybackErrorFunction(n,t){if(typeof n!="string")throw{name:"Invalid Argument",message:"playerId must be a string."};if(typeof t!="function")throw{name:"Invalid Argument",message:"func must be a function."};window.strobeMediaErrorFunctions=window.strobeMediaErrorFunctions||{},window.strobeMediaErrorFunctions[n]=t,window.onMediaPlaybackError=window.onMediaPlaybackError||globalMediaPlaybackErrorFunction}function getMediaPlaybackErrorFunction(n){return window.strobeMediaErrorFunctions&&window.strobeMediaErrorFunctions[n]}function makeJsBridgeFunctionGlobalName(n){if(typeof n!="string")throw{name:"Invalid Argument",message:"elementId must be a string."};return window.strobeJsBridgeFunctions=window.strobeJsBridgeFunctions||{},window.strobeJsBridgeFunctions[n]=jsBridge,"window.strobeJsBridgeFunctions."+n}function makeUniqueSwfObjectId(){return"swf_"+getUniqueString()}function getUniqueString(){return""+ +new Date}function getNextPlaybackRate(n,i){var f,r,e;return n=n!==!1,i=i!==!1,f=Math.round(t.GetPlaybackRate()*100)/100,r=u.extend([],k),r.length==0&&(r=[1]),e=n?1:-1,r.sort(function(n,t){return e*(n-t)}),i&&0>=e*(r[r.length-1]-f)?f=r[0]:u.each(r,function(n,t){if(0>=e*(t-f)&&0=0&&n<=t.GetDuration()&&(o=n,f=getPreviousSegmentBoundary(n),u.seek(f/1e3),i.fire(r.PositionChanged,n))}},this.PlayFaster=function(n){n=n===!0;var i=getNextPlaybackRate(!0,n);t.SetPlaybackRate(i)},this.PlaySlower=function(n){n=n===!0;var i=getNextPlaybackRate(!1,n);t.SetPlaybackRate(i)},this.SkipBack=function(){var n=t.GetPosition()-lt;n<0&&(n=0),t.SetPosition(n)},this.SkipForward=function(){var n=t.GetPosition()+at;n0?n.pause():t.Stop())},this.Play=function(){toConsole("Play called");var n=getStrobeApi();if(n){if(it===!0)window.location.reload();else if(toConsole("PLAYCOUNT = "+s),isLive()&&s>0&&n.wasStopped)resetLiveMedia();else try{n.play2()}catch(t){}c&&c.Reset()}},this.Stop=function(){toConsole("Stop called");var n=getStrobeApi();if(n)try{n.wasStopped=!0,n.stop2()}catch(t){}},this.GetPosition=function(){var i=getStrobeApi(),n,t;if(i){if(s<1&&!isNaN(h))return h;try{return(n=i.getCurrentTime()*1e3+d,o>0&&(t=n-o,wt=getPreviousSegmentBoundary(n)&&n.2?this.SetVolume((n.getVolume()-.2)*100):this.SetVolume(0)))},this.ToggleMute=function(){v||(t.IsMuted()?t.UnMute():t.Mute())},this.Mute=function(){var n=getStrobeApi();n&&(n.setMuted(!0),t.IsMuted()&&i.fire(r.VolumeChanged,0))},this.UnMute=function(){var n=getStrobeApi();n&&(v||(n.setMuted(!1),t.GetVolume()===0?this.SetVolume(50):i.fire(r.VolumeChanged,Math.round(t.GetVolume()))))},this.IsMuted=function(){var n=getStrobeApi();if(n)return n.getMuted()},this.TogglePlayPause=function(){var n=getStrobeApi();n&&(toConsole("TogglePlayPause "+n.getState()),convertState(n.getState())===Mediasite.Player.MediaState.Playing?t.Pause():t.Play())},this.SetPlaybackRate=function(){return},this.GetPlaybackRate=function(){return 1},this.GetCurrentAudioLanguageIndex=function(){return 1},this.GetAudioLanguages=function(){return[]},this.SetAudioLanguage=function(){},this.SetLiveStartTime=function(n){a=n,p.setLiveStartTime(n)},this.RetrieveBookmark=function(n){vt=n},ft=function(n){function makeFlashVars(n){function pushFlashParamsIntoVarList(n){var i;for(i in n)n.hasOwnProperty(i)&&t.push(i+"="+n[i])}var i={autoPlay:!0,plugin_AdaptiveStreamingPlugin:encodeURIComponent(getSSPluginPath()),AdaptiveStreamingPlugin_retryLive:!0,AdaptiveStreamingPlugin_retryInterval:45,controlBarMode:"none",playButtonOverlay:!1,bufferingOverlay:!1,javascriptCallbackFunction:n},t=[];return pushFlashParamsIntoVarList(i),t.join("&")}function addUnpausingVideoObject(){document.getElementById(f)||(t=makeFakeVideoObject(f),t.setAttribute("style","position:absolute; top:0; left:0; z-index:-999; width:100%; height:100%; opacity:0.01"),window.document.body.appendChild(t),window.setTimeout(removeUnpausingVideoObject,e))}function removeUnpausingVideoObject(){t&&window.document.body.removeChild(t)}function makeGeneralVideoObject(n,t,i){var r,f=getSwfPath();return isIELessThanNine()?(f+="?ie8-uniquify="+n,r=u('').get(0)):isIELessThanEleven()?r=u('').get(0):(r=document.createElement("object"),r.setAttribute("type","application/x-shockwave-flash"),r.setAttribute("data",f)),r.setAttribute("id",n),r.setAttribute("name",n),r.setAttribute("width","100%"),r.setAttribute("height","100%"),addParam(r,"flashvars",t),addParam(r,"allowFullScreen","false"),addParam(r,"wmode",i),addParam(r,"SCALE","exactfit"),r}function makeFakeVideoObject(n){var t,i;return t=makeGeneralVideoObject(n,"","direct"),t.setAttribute("style","position:absolute; top:0; left:0; z-index:-999; width:100%; height:100%; opacity:0.01"),t}function makeVideoObject(n,t){var i,r,u;return i=makeGeneralVideoObject(n,makeFlashVars(t),getWmodeValue()),i.setAttribute("class","MediaElement"),i}function addParam(n,t,i){var r=document.createElement("param");r.setAttribute("name",t),r.setAttribute("value",i),n.appendChild(r)}function isIELessThanEleven(){return parseInt(Mediasite.BrowserDetect.InternetExplorer())<11}function isIELessThanNine(){return parseInt(Mediasite.BrowserDetect.InternetExplorer())<9}function getWmodeValue(){var n=!!Mediasite.BrowserDetect.Firefox();return n||isIELessThanEleven()?"opaque":"direct"}function getSwfPath(){var n=r?"StrobeMediaPlayback.2.0.swf":"Javascript/ClientBin/StrobeMediaPlayback.2.0.swf";return getClientBinPath()+n}function getSSPluginPath(){var n=r?"MSAdaptiveStreamingPlugin-v1.0.12-osmf2.0.swf":"Javascript/ClientBin/MSAdaptiveStreamingPlugin-v1.0.12-osmf2.0.swf";return getClientBinPath()+n}function getClientBinPath(){var i,t="",n=u('script[src*="/Javascript"]').attr("src");return n&&(i=n.lastIndexOf("/Javascript"),t=n.substring(0,i)+"/"),t}var o,s,r=n&&n.isStandAlone?n.isStandAlone:!1,t,f,e,i;this.Wrapper=undefined,f="big_shy_swf",e=1e4,this.CreateMediaElement=function(t,r){var f;n.mediaContainer.find(".MediaWrapper").remove(),f=u('
').appendTo(n.mediaContainer),this.Wrapper=f;var o=u(n.backgroundElement.selector),s=o.css("background-color",o.css("background-color")).css("background-color"),e=makeVideoObject(t,r);return n.height&&n.width&&u(e).css({height:n.height,width:n.width}),f.append(e),i&&i.destroy&&i.destroy(),i=Mediasite.MediaPlayer.UserActivation.Create(this,n),Mediasite.BrowserDetect.Chrome()&&addUnpausingVideoObject(),u(e)},this.UpdateMediaInfo=function(n){n.AudioOnly&&o.css("height","0px")},this.SetIsStandAlone=function(n){r=n}},ut=function(n){var u=1,i,r=!0;this.Reset=function(){r=!0,i=null},this.IsReady=function(){return r},this.TimeUpdateCalled=function(t){var f,e;i?t-i>u&&(f=n(),f&&(e=f.getState(),e=="playing"?r=!1:(e=="paused"||e=="buffering")&&(f.pause(),f.play2(),r=!1))):i=t}}},Mediasite.MediaPlayer.UserActivation.Register({mediaPlayerType:Mediasite.Player.MediaPlayerType.Flash,usable:function(){return Mediasite.BrowserDetect.Chrome()},constructor:function(n){function onLoadCheck(){isAvailable()?(r.Debug("Media element appears loaded"),markUsable(!0)):(enableUserActivation(),clearInterval(f),f=setInterval(onLoadCheck,c))}function enableUserActivation(){if(!u){u=!0,Mediasite.MediaPlayer.UserActivation.ShowPrompt({top:"50px"},onShowMessage);$(i).parent().on("click",stopPropagation);r.Debug("Showing click-me prompt")}}function onShowMessage(n){o=!0,r.Debug("Making media element clickable"),css=$.extend({},Mediasite.MediaPlayer.UserActivation.MediaElementCss,{position:"fixed"}),s=i.parentNode,$(i).appendTo(n).css(css)}function reset(){var n,t;if(clearTimeout(e),clearInterval(f),u&&o){u=!1,$(i).appendTo(s),Mediasite.MediaPlayer.UserActivation.RemovePrompt(),n={};for(t in css)css.hasOwnProperty(t)&&(n[t]="");$(i).css(n),r.Debug("Removed 'click-me'")}}function markUsable(n){n===void 0&&(n=!1),i.usable=n,n&&reset()}function isAvailable(){var n=!1;try{n=i&&i.getState&&typeof i.getState()=="string"}catch(t){}return n}function stopPropagation(n){n.stopPropagation()}var r=Mediasite.Logging.LoggerFactory("MediaPlayer UserActivation",{separator:" - "}),h=2e3,c=500,l="CTA-z-index",i=$(n).find("object")[0],e,f,a=0,u=!1,o=!1,s;markUsable(!1),e=setTimeout(function(){r.Debug("Checking if media element is available (first attempt)"),onLoadCheck()},h)}})