Mediasite.namespace("Player"),Mediasite.Player.APIBroker=function(n){function addHandler(n,t){return i||(i=new Mediasite.Player.EventBundle),i.addHandler(n,t)}function removeHandler(n,t){if(i)return i.removeHandler(n,t)}function postEventMessage(n,t){var i={event:n,data:[]},r;$.isArray(t)?i.data=t:t&&(i.data=[t]),r=e+l+JSON.stringify(i),postMessage(r)}function postMessage(n){var t=h||new Mediasite.Player.WindowInterface(window.parent),i=f||r;return t&&t.postMessage&&i&&t.postMessage(n,i),!0}function receiveMessageEvent(n){var h=n.data,c=n.source,a=n.origin,r=t.isAllowedBrokerOrigin(a,u,f),i,o,s;r&&(i=t.parseMessageData(h,e,l),i&&i.command)&&(o=i.command,s=i.params,t.ReceiveCommand(o,s,c,r))}function receiveCommand(n,t,r,u){var f=callBrokerMethod(n,t,r,u);f===!1&&i.fire("command",n,t)}function callBrokerMethod(n,r,e,s){switch(n){case"_broker_activate":var l=t.findMatchingOrigin(s,u);if(!l)return;h=new Mediasite.Player.WindowInterface(e),f=l,t.SendEvent("_broker_activated",c),o=!0,i&&i.fire("activated",r);break;default:return!1}}var u,f,h,e,o,c,s,t=this,l=":",r="*",a="null",i;(function(){u=$.isArray(n.allowedBrokerSites)&&n.allowedBrokerSites.length&&n.allowedBrokerSites||r,e=n.messagePrefix||"Mediasite",o=!1,c=n.activationData||[],typeof n.events=="object"&&addHandler(n.events)})(),this.ListenForMessages=function(n){s||(s=n,s.addHandler("message",receiveMessageEvent))},this.SendMessage=function(n){return postMessage(JSON.stringify(n))},this.SendEvent=function(n,t){return postEventMessage(n,t)},this.CurrySendEvent=function(n,i){var u,r=0,f;return function(){var e,o;if(u=Array.prototype.slice.call(arguments,0),i){if(e=new Date,e-i0&&(r=transformMethodArguments(t,r)),n[t].apply(n,r)}catch(e){f=e.message||e.description||e,u={errorCode:Mediasite.Player.Error.Code.MethodError,details:f}}u&&(u.command=t,u.params=r,i.SendEvent("error",u))}function transformMethodArguments(n,t){var i=t[0];switch(n){case"setLayoutOptions":t=[i.options];break;case"seekTo":t=[i.seconds];break;case"setVolume":t=[i.volume];break;case"setVisibleStreamTypes":t=[i.streamTypes];break;case"unsafeAddTimedEvent":t=[i.time,i.type,i.payload,i.id];break;case"removeTimedEvent":t=[i.id]}return t}function onBrokerActivated(t){var u,f;t&&t[0]&&typeof t[0].version!="undefined"||i.SendEvent("error",{errorCode:520,details:"cannot use 6.1.3 MediasitePlayerIFrameAPI with this server"}),r||(r=!0,u=["error","durationchanged","playstatechanged","playbackratechanged","slidechanged","slideadded","captionchanged","chapterchanged","timedeventreached","livestatuschanged","currenttimechanged","playerstatechanged","visiblestreamschanged"],$.each(u,function(t,r){var u=i.CurrySendEvent(r);n.addHandler(r,u)}),f={volumechanged:400},$.each(f,function(t,r){var u=i.CurrySendEvent(t,r);n.addHandler(t,u)}),n.addHandler("timedeventlistchanged",handleTimedEventListChanged),n.isReady()||(n.addHandler("ready",onReady),onLoaded())),n.isReady()&&onReady()}function onReady(){updateState(!0),i.SendEvent("ready")}function onLoaded(){var t,r;updateState(!1),t=n.getPlayerState(),t.state!=Mediasite.Player.PlayerState.NotReady&&(r={},r.state=t.state,r.isLive=t.isLive,i.SendEvent("playerstatechanged",r))}function updateState(t){var r={},u={},f;t&&(r={ready:n.isReady(),playState:n.getPlayState(),playerState:n.getPlayerState(),currentTime:n.getCurrentTime(),duration:n.getDuration(),volume:n.getVolume(),muted:n.isMuted(),playbackRate:n.getPlaybackRate()}),u={ready:n.isReady(),playerState:n.getPlayerState(),liveStatus:n.getLiveStatus(),chapters:n.getChapters(),timedevents:n.getTimedEvents(),slides:n.getAllSlides(),captions:n.getCaptions(),links:n.getLinks(),pollsUri:n.getPollsUri(),allStreams:n.getAllStreams(),visibleStreamTypes:n.getVisibleStreamTypes(),pastSessionPlayedSegments:n.getPastSessionPlayedSegments()},f=$.extend({},r,u),i.SendEvent("_api_state",[f])}function handleTimedEventListChanged(){var t={timedEvents:n.getTimedEvents()};i.SendEvent("timedeventlistchanged",t)}var f=t||"",e="MediasitePlayer",o=new Mediasite.Player.WindowInterface(window),u={version:"7.2",supports:["6.1.5","6.1.7","6.1.9","6.1.11","7.0","7.0.28","7.0.29","7.2"],application:"MediasitePlayer"},i=new Mediasite.Player.APIBroker({allowedBrokerSites:f,messagePrefix:e,events:{activated:onBrokerActivated,command:onReceiveCommand},activationData:{version:u}}),r;return i.ListenForMessages(o),i.SendMessage(u),r=!1,i},Mediasite.Player.APIBroker.playerNotInitialized=function(n){var i="MediasitePlayer",r=new Mediasite.Player.WindowInterface(window),t=new Mediasite.Player.APIBroker({messagePrefix:i});t.ListenForMessages(r),t.SendMessage(n)}