{"version":3,"file":"kendo.mediaplayer.min.js","names":["factory","define","amd","$","kendo","END","PAUSE","PLAY","READY","TIMECHANGE","VOLUMECHANGE","FULLSCREEN_ENTER","FULLSCREEN_EXIT","MUTE","LOW_VOLUME","HIGH_VOLUME","VIDEO_QUALITY","STATE_PLAY","STATE_PAUSE","TITLEBAR","TOOLBAR","SLIDER","VOLUME_SLIDER","MEDIA","OVERLAY","YTPLAYER","DOT","ui","ns","baseTime","timeZoneSec","Widget","isArray","timeFormats","template","keys","templates","MediaPlayer","window","jQuery","Date","getTimezoneOffset","Array","htmlPlayer","titleBar","toolBar","youtubePlayer","toolBarTime","slider","volumeSlider","qualityDropDown","toolTip","extend","init","element","options","this","wrapper","fn","call","addClass","_currentIndex","_createTitlebar","_createToolbar","_createDropDown","_createSlider","_createVolumeSlider","_timers","_aria","_navigatable","fullScreen","media","notify","events","name","autoPlay","autoRepeat","volume","mute","navigatable","forwardSeek","messages","pause","play","unmute","quality","fullscreen","_msToTime","ms","time","getTime","setSeconds","_timeToSec","_titleBar","find","length","append","sliderElement","_slider","_sliderDragChangeHandler","_sliderDragChange","bind","_sliderDraggingHandler","_sliderDragging","Slider","smallStep","tickPlacement","showButtons","change","slide","tooltip","dragHandleTitle","volumeSliderElement","_volumeSlider","_volumeDraggingHandler","_volumeDragging","_volumeChangeHandler","_volumeChange","width","min","max","value","enabled","_resetTime","_youTubeVideo","_ytmedia","seekTo","_media","currentTime","_mediaTimeUpdate","grep","_toolBar","items","e","_currentUrl","source","url","_isYouTubeUrl","match","_setPlayerUrl","oldPlayer","stop","toggle","initialized","_initializePlayer","_videoOverlay","hide","loadVideoById","_getMediaId","_playStateToggle","cueVideoById","show","remove","attr","toolBarElement","_toolbarClickHandler","_toolbarClick","ToolBar","click","resizable","type","attributes","class","icon","fillMode","off","before","_volumeButton","_fullscreenButton","_currentTimeElement","_durationElement","_playButton","_playButtonSpan","support","cssFlexbox","wrapAll","dropDownElement","data","_dropDownSelectHandler","_dropDownSelect","_dropDown","DropDownList","dataTextField","dataValueField","popup","position","origin","appendTo","animation","open","effects","duration","select","setDataSource","removeClass","list","item","index","target","children","first","isPaused","hasClass","_isInFullScreen","muted","_isDragging","that","sender","tzOffset","_sliderChangeFired","_seekBarLastPosition","setTimeout","trigger","_preventPlay","_changeVolumeButtonImage","volumeButton","volumeElement","cssClass","substring","lastIndexOf","getCurrentTime","timeInMs","text","toString","_timeFormat","isPlaying","is","_mediaEnded","_mediaPlay","_mediaReady","_mediaDurationChange","durationTime","getDuration","getHours","setOptions","_isFirstRun","_createYoutubePlayer","_mediaTimeUpdateHandler","_mediaDurationChangeHandler","prepend","_ytPlayer","css","height","YT","Player","_configurePlayer","onYouTubeIframeAPIReadyRegister","getScript","onYouTubeIframeAPIReady","i","_youtubeApiReady","_poll","callback","interval","context","clearTimeout","callLater","vars","autoplay","wmode","controls","rel","showinfo","_onYouTubePlayerReady","onYouTubePlayerReady","_onPlayerStateChangeHandler","_onPlayerStateChange","onPlayerStateChange","videoId","playerVars","onReady","onStateChange","event","getIframe","style","_updateTitle","titlebar","title","_paused","setVolume","_uiDisplay","result","_mouseClick","_mouseMoveHandler","_mouseMove","_mouseInHandler","_mouseIn","_mouseOutHandler","_mouseOut","on","_createHtmlPlayer","_mouseClickHanlder","_mediaEndedHandler","_mediaCanPlayHandler","_mediaPlayHandler","after","ontimeupdate","ondurationchange","oncanplay","onplay","onended","loop","_mouseIdle","state","animationSpeed","uiElements","add","parent","fadeIn","fadeOut","destroy","_keyDownHandler","_fullscreenHandler","_youtubeApiReadyHandler","src","_mouseMoveTimer","seek","seconds","playVideo","mobileOS","stopVideo","pauseVideo","toolbar","dropdown","enterFullScreen","get","requestFullscreen","webkitRequestFullscreen","mozRequestFullScreen","msRequestFullscreen","document","cancelFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msCancelFullscreen","exitFullscreen","msExitFullscreen","resize","_volume","currentState","isMuted","unMute","getVolume","isEnded","getPlayerState","ended","_mediaData","_fullscreen","_keyDown","isFullScreen","mozFullScreen","webkitIsFullScreen","preventDefault","fsButton","keyCode","SPACEBAR","ENTER","ESC","_error","_progress","plugin"],"sources":["kendo.mediaplayer.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.slider', 'kendo.toolbar', 'kendo.dropdownlist', 'kendo.tooltip'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"mediaplayer\",\n name: \"MediaPlayer\",\n category: \"web\",\n description: \"\",\n depends: [\"slider\", \"toolbar\", \"dropdownlist\", \"tooltip\"]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n END = \"end\",\n PAUSE = \"pause\",\n PLAY = \"play\",\n READY = \"ready\",\n TIMECHANGE = \"timeChange\",\n VOLUMECHANGE = \"volumeChange\",\n FULLSCREEN_ENTER = \"k-i-full-screen\",\n FULLSCREEN_EXIT = \"k-i-full-screen-exit\",\n MUTE = \"k-i-volume-off\",\n LOW_VOLUME = \"k-i-volume-down\",\n HIGH_VOLUME = \"k-i-volume-up\",\n VIDEO_QUALITY = \"k-mediaplayer-quality\",\n STATE_PLAY = \"k-i-play\",\n STATE_PAUSE = \"k-i-pause\",\n TITLEBAR = \"k-mediaplayer-titlebar\",\n TITLE = \"k-title\",\n TOOLBARWRAP = \"k-mediaplayer-toolbar-wrap\",\n TOOLBAR = \"k-mediaplayer-toolbar\",\n SLIDER = \"k-mediaplayer-seekbar\",\n VOLUME_SLIDER = \"k-mediaplayer-volume\",\n MEDIA = \"k-mediaplayer-media\",\n OVERLAY = \"k-mediaplayer-overlay\",\n YTPLAYER = \"k-mediaplayer-yt\",\n DOT = \".\",\n ui = kendo.ui,\n ns = \".kendoMediaPlayer\",\n baseTime = new Date(1970, 0, 1),\n timeZoneSec = baseTime.getTimezoneOffset() * 60,\n Widget = kendo.ui.Widget,\n isArray = Array.isArray,\n timeFormats = {\n shortTime: \"mm:ss\",\n longTime: \"HH:mm:ss\"\n },\n template = kendo.template,\n keys = kendo.keys,\n templates = {\n htmlPlayer: \"\",\n titleBar: template(\"
Video Title
\"),\n toolBar: \"
\",\n youtubePlayer: \"
\",\n toolBarTime: \"00:00:00 / 00:00:00\",\n slider: \"\",\n volumeSlider: \"\",\n qualityDropDown: \"\",\n toolTip: \"#= kendo.toString(new Date(value), 'HH:mm:ss') #\"\n };\n\n var MediaPlayer = Widget.extend({\n init: function(element, options) {\n this.wrapper = $(element);\n\n Widget.fn.init.call(this, element, options);\n\n this.wrapper.addClass(\"k-mediaplayer k-widget\");\n\n options = this.options;\n\n this._currentIndex = 0;\n\n this._createTitlebar();\n\n this._createToolbar();\n\n this._createDropDown();\n\n this._createSlider();\n\n this._createVolumeSlider();\n\n this._timers = {};\n\n this._aria();\n\n this._navigatable();\n\n if (options.fullScreen) {\n this.fullScreen(true);\n }\n\n if (options.media) {\n this.media(this.options.media);\n }\n\n kendo.notify(this);\n },\n\n events: [\n END,\n PAUSE,\n PLAY,\n READY,\n TIMECHANGE,\n VOLUMECHANGE\n ],\n\n options: {\n name: \"MediaPlayer\",\n autoPlay: false,\n autoRepeat: false,\n volume: 100,\n fullScreen: false,\n mute: false,\n navigatable: false,\n forwardSeek: true,\n media: null,\n messages: {\n \"pause\": \"Pause\",\n \"play\": \"Play\",\n \"mute\": \"Mute\",\n \"unmute\": \"Unmute\",\n \"quality\": \"Quality\",\n \"fullscreen\": \"Full Screen\"\n }\n },\n\n _msToTime: function(ms) {\n var time = new Date(baseTime.getTime());\n time.setSeconds(ms);\n return time;\n },\n\n _timeToSec: function(time) {\n var curTime = new Date(time).getTime();\n return curTime / 1000;\n },\n\n _createTitlebar: function() {\n this._titleBar = this.wrapper.find(DOT + TITLEBAR);\n if (this._titleBar.length === 0) {\n this.wrapper.append(templates.titleBar);\n this._titleBar = this.wrapper.find(DOT + TITLEBAR);\n }\n },\n\n _createSlider: function() {\n var sliderElement = this.wrapper.find(DOT + SLIDER);\n if (!this._slider) {\n this._sliderDragChangeHandler = this._sliderDragChange.bind(this);\n this._sliderDraggingHandler = this._sliderDragging.bind(this);\n sliderElement = this.wrapper.find(DOT + SLIDER);\n\n this._slider = new ui.Slider(sliderElement[0], {\n smallStep: 1000,\n tickPlacement: \"none\",\n showButtons: false,\n change: this._sliderDragChangeHandler,\n slide: this._sliderDraggingHandler,\n tooltip: {\n template: templates.toolTip\n },\n dragHandleTitle: this.options.messages.time\n });\n }\n },\n\n _createVolumeSlider: function() {\n var volumeSliderElement = this.wrapper.find(DOT + VOLUME_SLIDER);\n if (!this._volumeSlider) {\n this._volumeDraggingHandler = this._volumeDragging.bind(this);\n this._volumeChangeHandler = this._volumeChange.bind(this);\n volumeSliderElement.width(87);\n this._volumeSlider = new ui.Slider(volumeSliderElement[0], {\n smallStep: 1,\n min: 0,\n max: 100,\n value: this.options.volume,\n slide: this._volumeDraggingHandler,\n change: this._volumeChangeHandler,\n tickPlacement: \"none\",\n showButtons: false,\n tooltip: { enabled: false },\n dragHandleTitle: this.options.messages.volume\n });\n }\n },\n\n _resetTime: function() {\n if (this._youTubeVideo) {\n this._ytmedia.seekTo(0, true);\n } else {\n this._media.currentTime = 0;\n }\n\n this._mediaTimeUpdate();\n $.grep(this._toolBar.options.items, function(e) { return !!e.template; }).template = templates.toolBarTime;\n },\n\n _currentUrl: function() {\n var media = this.media();\n return isArray(media.source) ? media.source[this._currentIndex].url : media.source;\n },\n\n _isYouTubeUrl: function() {\n return !!this._currentUrl().match(\"youtube.com/|youtu.be/\");\n },\n\n _setPlayerUrl: function() {\n var oldPlayer = this._youTubeVideo;\n this.stop();\n\n this._youTubeVideo = this._isYouTubeUrl();\n\n if (oldPlayer !== this._youTubeVideo) {\n this.wrapper.find(DOT + YTPLAYER).toggle();\n this.wrapper.find(DOT + MEDIA).toggle();\n }\n\n var initialized = this._media || this._ytmedia;\n\n this._initializePlayer();\n\n if (initialized) { //mute and volume settings should be persisted when switching between html and youtube players\n this.mute(this.mute());\n this.volume(this.volume());\n }\n\n if (!this._youTubeVideo) {\n this._videoOverlay.show();\n this.wrapper.find(DOT + MEDIA + \" > source\").remove();\n this.wrapper.find(DOT + MEDIA).attr(\"src\", this._currentUrl());\n\n if (this.options.autoPlay) {\n this.play();\n }\n }\n else if (this._ytmedia) {\n if (this._videoOverlay) {\n this._videoOverlay.hide();\n }\n if (this.options.autoPlay) {\n this._ytmedia.loadVideoById(this._getMediaId());\n this._playStateToggle(true);\n }\n else {\n this._ytmedia.cueVideoById(this._getMediaId());\n this._playStateToggle(true);\n }\n }\n },\n\n _createToolbar: function() {\n var toolBarElement = this.wrapper.find(DOT + TOOLBAR);\n if (toolBarElement.length === 0) {\n this._toolbarClickHandler = this._toolbarClick.bind(this);\n this.wrapper.append(templates.toolBar);\n toolBarElement = this.wrapper.find(DOT + TOOLBAR);\n toolBarElement.width(this.wrapper.find(DOT + MEDIA).width());\n this._toolBar = new ui.ToolBar(toolBarElement, {\n click: this._toolbarClickHandler,\n resizable: false,\n items: [\n {\n type: \"button\",\n attributes: { \"class\": \"k-play-button\" },\n icon: \"play\",\n fillMode: \"flat\"\n },\n {\n template: templates.toolBarTime,\n attributes: { \"class\": \"k-mediaplayer-currenttime-wrap\" }\n },\n {\n type: \"spacer\"\n },\n {\n type: \"button\",\n attributes: { \"class\": \"k-volume-button\" },\n icon: \"volume-up\",\n fillMode: \"flat\"\n },\n {\n template: templates.volumeSlider,\n attributes: { \"class\": \"k-mediaplayer-volume-wrap\" }\n },\n {\n template: templates.qualityDropDown,\n attributes: { \"class\": \"k-mediaplayer-quality-wrap\" }\n },\n {\n type: \"button\",\n attributes: { \"class\": \"k-fullscreen-button\" },\n icon: \"full-screen\",\n fillMode: \"flat\"\n }\n ]\n });\n\n this._toolBar.wrapper.off(\"keydown\");\n toolBarElement.before(templates.slider);\n\n this._volumeButton = toolBarElement.find(\".k-volume-button\");\n this._fullscreenButton = toolBarElement.find(\".k-fullscreen-button\");\n this._volumeButton.attr(\"title\", this.options.mute ? this.options.messages.unmute : this.options.messages.mute);\n this._volumeButton.attr(\"aria-label\", this.options.mute ? this.options.messages.unmute : this.options.messages.mute);\n this._fullscreenButton.attr(\"title\", this.options.messages.fullscreen);\n this._fullscreenButton.attr(\"aria-label\", this.options.messages.fullscreen);\n\n toolBarElement.width(\"auto\");\n this._currentTimeElement = toolBarElement.find(\".k-mediaplayer-currenttime\");\n this._durationElement = toolBarElement.find(\".k-mediaplayer-duration\");\n this._playButton = toolBarElement.find(\".k-play-button\");\n this._playButtonSpan = this._playButton.find(\".k-i-play\");\n\n if (this.options.autoPlay) {\n this._playStateToggle(true);\n }\n\n if ( kendo.support.cssFlexbox === false ) {\n $([\n this._volumeButton[0],\n toolBarElement.find(\".k-mediaplayer-volume-wrap\")[0],\n toolBarElement.find(\".k-mediaplayer-quality-wrap\")[0],\n this._fullscreenButton[0]\n ]).wrapAll(\"
\");\n }\n }\n },\n\n _createDropDown: function() {\n var dropDownElement = this.wrapper.find(DOT + VIDEO_QUALITY);\n var media = this.media();\n if (typeof dropDownElement.data(\"kendoDropDownList\") === \"undefined\") {\n this._dropDownSelectHandler = this._dropDownSelect.bind(this);\n this._dropDown = new ui.DropDownList(dropDownElement, {\n dataTextField: \"quality\",\n dataValueField: \"url\",\n popup: {\n position: \"bottom\",\n origin: \"top\",\n appendTo: this.wrapper\n },\n animation: {\n open: {\n effects: \"slideIn:up\",\n duration: 1\n }\n },\n select: this._dropDownSelectHandler\n });\n\n if (media && isArray(media.source)) {\n this._dropDown.setDataSource(media.source);\n this._dropDown.select(0);\n }\n\n this._dropDown.wrapper.addClass(\"k-button k-button-md k-rounded-md k-button-flat k-button-flat-base\");\n this._dropDown.wrapper.attr(\"title\", this.options.messages.quality).hide();\n this._dropDown.wrapper.find(\"span.k-i-arrow-s\")\n .removeClass('k-i-arrow-s')\n .addClass('k-icon k-i-hd');\n this._dropDown.list.addClass(\"k-quality-list\");\n }\n },\n\n _dropDownSelect: function(e) {\n if (this._currentIndex !== e.item.index()) {\n this._currentIndex = e.item.index();\n this._setPlayerUrl();\n }\n },\n\n _toolbarClick: function(e) {\n var target = $(e.target).children().first();\n var isPaused = target.hasClass(STATE_PLAY);\n\n if (!this.media()) {\n return;\n }\n\n if (target.hasClass(STATE_PLAY) || target.hasClass(STATE_PAUSE)) {\n if (isPaused) {\n this.play();\n }\n else {\n this.pause();\n }\n }\n\n if (target.hasClass(FULLSCREEN_ENTER) || target.hasClass(FULLSCREEN_EXIT)) {\n if (this._isInFullScreen) {\n target\n .removeClass(FULLSCREEN_EXIT)\n .addClass(FULLSCREEN_ENTER);\n this.fullScreen(false);\n } else {\n target\n .removeClass(FULLSCREEN_ENTER)\n .addClass(FULLSCREEN_EXIT);\n this.fullScreen(true);\n }\n }\n\n if (target.hasClass(MUTE) || target.hasClass(LOW_VOLUME) || target.hasClass(HIGH_VOLUME)) {\n var muted = this.mute();\n this.mute(!muted);\n }\n },\n\n _sliderDragging: function() {\n if (!this.media()) {\n return;\n }\n\n this._isDragging = true;\n },\n\n _sliderDragChange: function(e) {\n var that = this;\n var slider = e.sender;\n var tzOffset = timeZoneSec * 1000;\n\n if (!this.media()) {\n return;\n }\n\n that._sliderChangeFired = true;\n that._isDragging = false;\n\n if (!this.options.forwardSeek && slider.value() > this._seekBarLastPosition) {\n setTimeout(function() {\n slider.value(that._seekBarLastPosition);\n }, 1);\n } else if (this._youTubeVideo) {\n that._ytmedia.seekTo(that._timeToSec(e.value - tzOffset));\n } else {\n that._media.currentTime = that._timeToSec(e.value - tzOffset);\n }\n that.trigger(TIMECHANGE);\n that._preventPlay = true;\n },\n\n _changeVolumeButtonImage: function(volume) {\n var volumeButton = this._volumeButton;\n var volumeElement = volumeButton.find(\"span\");\n var cssClass = volumeElement.attr(\"class\");\n cssClass = cssClass.substring(0, cssClass.lastIndexOf(\" \"));\n\n if (volume === 0) {\n volumeElement.attr(\"class\", cssClass + \" \" + MUTE);\n volumeButton.attr(\"title\", this.options.messages.unmute);\n volumeButton.attr(\"aria-label\", this.options.messages.unmute);\n } else if (volume > 0 && volume < 51) {\n volumeElement.attr(\"class\", cssClass + \" \" + LOW_VOLUME);\n volumeButton.attr(\"title\", this.options.messages.mute);\n volumeButton.attr(\"aria-label\", this.options.messages.mute);\n } else {\n volumeElement.attr(\"class\", cssClass + \" \" + HIGH_VOLUME);\n volumeButton.attr(\"title\", this.options.messages.mute);\n volumeButton.attr(\"aria-label\", this.options.messages.mute);\n }\n },\n\n _volumeDragging: function(e) {\n if (!this.media()) {\n return;\n }\n this.volume(e.value);\n this._changeVolumeButtonImage(e.value);\n this.trigger(VOLUMECHANGE);\n },\n\n _volumeChange: function(e) {\n if (!this.media()) {\n return;\n }\n this.volume(e.value);\n this._changeVolumeButtonImage(e.value);\n this.trigger(VOLUMECHANGE);\n },\n\n _mediaTimeUpdate: function() {\n var currentTime = (this._youTubeVideo) ? this._ytmedia.getCurrentTime() : this._media.currentTime;\n currentTime = currentTime ? currentTime : 0;\n var timeInMs = this._msToTime(currentTime);\n this._currentTimeElement.text(kendo.toString(timeInMs, this._timeFormat));\n if (!this._isDragging) {\n this._seekBarLastPosition = (currentTime + timeZoneSec) * 1000;\n this._slider.value(this._seekBarLastPosition);\n }\n\n return this.isPlaying();\n },\n\n _playStateToggle: function(play) {\n if (typeof play === \"undefined\") {\n play = this._playButtonSpan.is(DOT + STATE_PLAY);\n }\n\n if (play) {\n this._playButtonSpan\n .removeClass(STATE_PLAY)\n .addClass(STATE_PAUSE);\n this._playButton.attr(\"title\", this.options.messages.pause);\n this._playButton.attr(\"aria-label\", this.options.messages.pause);\n }\n else {\n this._playButtonSpan\n .removeClass(STATE_PAUSE)\n .addClass(STATE_PLAY);\n this._playButton.attr(\"title\", this.options.messages.play);\n this._playButton.attr(\"aria-label\", this.options.messages.play);\n }\n },\n\n _mediaEnded: function() {\n this._playStateToggle(false);\n this._currentTimeElement.text(kendo.toString(this._msToTime(0), this._timeFormat));\n this._slider.value((0 + timeZoneSec) * 1000);\n this.trigger(END);\n },\n\n _mediaPlay: function() {\n this.trigger(PLAY);\n },\n\n _mediaReady: function() {\n this.trigger(READY);\n },\n\n _mediaDurationChange: function() {\n var durationTime = this._msToTime((this._youTubeVideo) ? this._ytmedia.getDuration() : this._media.duration);\n\n this._timeFormat = durationTime.getHours() === 0 ? timeFormats.shortTime : timeFormats.longTime;\n\n this._durationElement.text(kendo.toString(durationTime, this._timeFormat));\n this._slider.setOptions({\n min: baseTime.getTime(),\n max: durationTime.getTime()\n });\n\n if (!this._isFirstRun) {\n this._resetTime();\n this._isFirstRun = true;\n }\n },\n\n _createYoutubePlayer: function() {\n this._mediaTimeUpdateHandler = this._mediaTimeUpdate.bind(this);\n this._mediaDurationChangeHandler = this._mediaDurationChange.bind(this);\n\n this.wrapper.prepend(templates.youtubePlayer);\n this._ytPlayer = this.wrapper.find(DOT + YTPLAYER)[0];\n $(this._ytPlayer)\n .css({\n width: this.wrapper.width(),\n height: this.wrapper.height()\n });\n\n if (!window.YT || !window.YT.Player) {\n if (!window.onYouTubeIframeAPIReadyRegister) {\n window.onYouTubeIframeAPIReadyRegister = [];\n $.getScript(\"https://www.youtube.com/iframe_api\");\n window.onYouTubeIframeAPIReady =\n function() {\n if (window.onYouTubeIframeAPIReadyRegister) {\n for (var i = 0; i < window.onYouTubeIframeAPIReadyRegister.length; i++) {\n window.onYouTubeIframeAPIReadyRegister[i]._youtubeApiReady();\n }\n }\n window.onYouTubeIframeAPIReadyRegister.length = 0;\n window.onYouTubeIframeAPIReadyRegister = undefined$1;\n };\n }\n window.onYouTubeIframeAPIReadyRegister[window.onYouTubeIframeAPIReadyRegister.length] = this;\n }\n else {\n this._configurePlayer();\n }\n },\n\n _poll: function(name, callback, interval, context) {\n var that = this;\n\n if (that._timers[name] !== null) {\n clearTimeout(that._timers[name]);\n }\n\n that._timers[name] = setTimeout((function(context) {\n return function callLater() {\n if (callback.call(context)) {\n that._timers[name] = setTimeout(callLater, interval);\n }\n };\n })(context), interval);\n\n return that._timers[name];\n },\n\n _youtubeApiReady: function() {\n this._configurePlayer();\n },\n\n _configurePlayer: function() {\n var vars = {\n 'autoplay': +this.options.autoPlay,\n 'wmode': 'transparent',\n 'controls': 0,\n 'rel': 0,\n 'showinfo': 0\n };\n\n this._onYouTubePlayerReady = this._onYouTubePlayerReady.bind(this);\n window.onYouTubePlayerReady = this._onYouTubePlayerReady;\n this._onPlayerStateChangeHandler = this._onPlayerStateChange.bind(this);\n window.onPlayerStateChange = this._onPlayerStateChange;\n\n\n var player = new window.YT.Player(this.wrapper.find(DOT + YTPLAYER)[0], {\n height: this.wrapper.height(),\n width: this.wrapper.width(),\n videoId: this._getMediaId(),\n playerVars: vars,\n events: {\n 'onReady': this._onYouTubePlayerReady,\n 'onStateChange': this._onPlayerStateChangeHandler\n }\n });\n },\n\n _onYouTubePlayerReady: function(event) {\n this._ytmedia = event.target;\n this._ytmedia.getIframe().style.width = \"100%\";\n this._ytmedia.getIframe().style.height = \"100%\";\n this._youTubeVideo = true;\n this._mediaDurationChangeHandler();\n\n if (this.options.autoPlay) {\n this._playStateToggle(true);\n this._ytmedia.loadVideoById(this._getMediaId());\n }\n else {\n this._ytmedia.cueVideoById(this._getMediaId());\n }\n\n if (this.options.mute) {\n this.mute(true);\n }\n\n this.trigger(READY);\n },\n\n _updateTitle: function() {\n this.titlebar().text(this.media().title || this.media().source);\n },\n\n _onPlayerStateChange: function(event) {\n\n if (event.data === 0) {\n this._slider.value(0);\n this._paused = false;\n this._playStateToggle(true);\n this.trigger(END);\n if (this.options.autoRepeat) {\n this.play();\n }\n }\n else if (event.data === 1) {\n this._mediaDurationChange();\n this._ytmedia.setVolume(this.volume());\n if (this._sliderChangeFired) {\n this._sliderChangeFired = false;\n } else {\n this._uiDisplay(false);\n }\n this.trigger(PLAY);\n this._playStateToggle(true);\n\n this._poll(\"progress\", this._mediaTimeUpdate, 500, this);\n this._paused = false;\n }\n else if (event.data === 2) {\n if (!this._paused) {\n this._uiDisplay(true);\n this._playStateToggle(false);\n this.trigger(PAUSE);\n this._paused = true;\n }\n }\n },\n\n _getMediaId: function() {\n var result = this._currentUrl();\n var regExp = /^.*((youtu.be\\/)|(v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))\\??v?=?([^#\\&\\?]*).*/;\n var match = result.match(regExp);\n\n if (match && match[7].length === 11) {\n result = match[7];\n }\n\n return result;\n },\n\n _mouseClick: function() {\n if (this.isPaused()) {\n this.play();\n } else {\n this.pause();\n }\n },\n\n _initializePlayer: function() {\n if (!this._mouseMoveHandler) {\n this._mouseMoveHandler = this._mouseMove.bind(this);\n this._mouseInHandler = this._mouseIn.bind(this);\n this._mouseOutHandler = this._mouseOut.bind(this);\n\n $(this.wrapper)\n .on(\"mouseenter\" + ns, this._mouseInHandler)\n .on(\"mouseleave\" + ns, this._mouseOutHandler)\n .on(\"mousemove\" + ns, this._mouseMoveHandler);\n }\n\n if (!this._ytmedia && this._youTubeVideo) {\n this._createYoutubePlayer();\n }\n else if (!this._media && !this._youTubeVideo) {\n this._createHtmlPlayer();\n }\n },\n\n _createHtmlPlayer: function() {\n if (!this._videoOverlay) {\n this._mouseClickHanlder = this._mouseClick.bind(this);\n this.wrapper.append(\"
\");\n this._videoOverlay = this.wrapper.find(\".k-mediaplayer-overlay\")\n .on(\"click\" + ns, this._mouseClickHanlder);\n }\n\n this._mediaTimeUpdateHandler = this._mediaTimeUpdate.bind(this);\n this._mediaDurationChangeHandler = this._mediaDurationChange.bind(this);\n this._mediaEndedHandler = this._mediaEnded.bind(this);\n this._mediaCanPlayHandler = this._mediaReady.bind(this);\n this._mediaPlayHandler = this._mediaPlay.bind(this);\n this._videoOverlay.after(templates.htmlPlayer);\n this._media = this.wrapper.find(DOT + MEDIA)[0];\n $(this._media)\n .css({\n width: \"100%\",\n height: \"100%\"\n });\n\n if (this.options.mute) {\n this.mute(true);\n }\n\n this._media.ontimeupdate = this._mediaTimeUpdateHandler;\n this._media.ondurationchange = this._mediaDurationChangeHandler;\n this._media.oncanplay = this._mediaCanPlayHandler;\n this._media.onplay = this._mediaPlayHandler;\n this._media.onended = this._mediaEndedHandler;\n this._media.loop = this.options.autoRepeat;\n },\n\n _mouseIn: function() {\n this._uiDisplay(true);\n },\n\n _mouseOut: function() {\n this._poll(\"mouseIdle\", this._mouseIdle, 3000, this);\n },\n\n _mouseIdle: function() {\n this._uiDisplay(false);\n return false;\n },\n\n _mouseMove: function() {\n if (!(this._titleBar.is(':animated') || this._toolBar.element.is(':animated') || this._slider.wrapper.is(':animated'))) {\n this._uiDisplay(true);\n }\n this._poll(\"mouseIdle\", this._mouseIdle, 3000, this);\n },\n\n _uiDisplay: function(state) {\n var animationSpeed = 'slow';\n var uiElements = this._titleBar\n .add(this._toolBar.element.parent());\n\n if (state) {\n uiElements.fadeIn(animationSpeed);\n }\n else {\n uiElements.fadeOut(animationSpeed);\n if (this.options.navigatable) {\n this.wrapper.trigger(\"focus\");\n }\n }\n },\n\n setOptions: function(options) {\n Widget.fn.setOptions.call(this, options);\n },\n\n destroy: function() {\n Widget.fn.destroy.call(this);\n\n if (!this.isPaused()) {\n this.pause();\n }\n\n this.element.off(ns);\n this.element.find(DOT + OVERLAY).off(ns);\n this._timers = null;\n this._mouseMoveHandler = null;\n this._mouseOutHandler = null;\n this._mouseInHandler = null;\n this._mouseClickHanlder = null;\n this._keyDownHandler = null;\n this._fullscreenHandler = null;\n\n this._toolbarClickHandler = null;\n this._sliderDragChangeHandler = null;\n this._sliderDraggingHandler = null;\n this._volumeDraggingHandler = null;\n this._volumeChangeHandler = null;\n this._youtubeApiReadyHandler = null;\n this._onYouTubePlayerReady = null;\n this._onPlayerStateChangeHandler = null;\n this._dropDownSelectHandler = null;\n\n if (this._youTubeVideo) {\n this._ytmedia.destroy();\n }\n else {\n this._media.ontimeupdate = this._mediaTimeUpdateHandler = null;\n this._media.ondurationchange = this._mediaDurationChangeHandler = null;\n this._media.oncanplay = this._mediaCanPlayHandler = null;\n this._media.onplay = this._mediaPlayHandler = null;\n this._media.onended = this._mediaEndedHandler = null;\n this._media.src = \"\";\n this._media.remove();\n }\n\n this._mouseMoveTimer = null;\n clearTimeout(this._mouseMoveTimer);\n\n kendo.destroy(this.element);\n },\n\n seek: function(ms) {\n if (typeof ms === 'undefined') {\n return 1000 * (this._youTubeVideo) ? this._ytmedia.getCurrentTime() : (this._media ? this._media.currentTime : 0);\n }\n var seconds = ms / 1000;\n if (this._youTubeVideo) {\n if (seconds + 3 >= this._ytmedia.getDuration() | 0) {\n //avoid infinite bad request loop in youtube player.\n this._ytmedia.seekTo(this._ytmedia.getDuration() - 3 | 0, true);\n } else {\n this._ytmedia.seekTo(seconds, true);\n }\n } else {\n this._media.currentTime = seconds;\n }\n\n return this;\n },\n\n play: function() {\n if (this._youTubeVideo) {\n this._ytmedia.playVideo();\n } else {\n if (kendo.support.mobileOS) {\n this._uiDisplay(false);\n }\n this._media.play();\n }\n this._paused = false;\n\n this._playStateToggle(true);\n\n return this;\n },\n\n stop: function() {\n if (this._youTubeVideo && this._ytmedia) {\n this._ytmedia.stopVideo();\n } else if (this._media && !this._youTubeVideo) {\n if (kendo.support.mobileOS) {\n this._uiDisplay(true);\n }\n this._media.pause();\n this._media.currentTime = 0;\n }\n this._paused = true;\n\n this._playStateToggle(false);\n return this;\n },\n\n pause: function() {\n if (this._youTubeVideo) {\n this._ytmedia.pauseVideo();\n } else {\n if (kendo.support.mobileOS) {\n this._uiDisplay(true);\n }\n this._media.pause();\n }\n this._paused = true;\n this._playStateToggle(false);\n this.trigger(PAUSE);\n return this;\n },\n\n toolbar: function() {\n return this._toolBar;\n },\n\n dropdown: function() {\n return this._dropDown;\n },\n\n titlebar: function() {\n return this._titleBar;\n },\n\n fullScreen: function(enterFullScreen) {\n if (typeof enterFullScreen === 'undefined') {\n return this._isInFullScreen || false;\n }\n var element = this.element.get(0);\n if (enterFullScreen) {\n // Handles the case when the action is triggered by code and not by user iteraction\n this.element.addClass(\"k-mediaplayer-fullscreen\");\n if (element.requestFullscreen) {\n element.requestFullscreen();\n } else if (element.webkitRequestFullscreen) {\n element.webkitRequestFullscreen();\n } else if (element.mozRequestFullScreen) {\n element.mozRequestFullScreen();\n } else if (element.msRequestFullscreen) {\n element.msRequestFullscreen();\n }\n this._isInFullScreen = true;\n } else {\n\n if (document.cancelFullscreen) {\n document.cancelFullscreen();\n } else if (document.webkitCancelFullScreen) {\n document.webkitCancelFullScreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.msCancelFullscreen) {\n document.msCancelFullscreen();\n } else if (document.exitFullscreen) {\n document.exitFullscreen();\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen();\n }\n // Handles the case when the action is triggered by code and not by user iteraction\n this.element.removeClass(\"k-mediaplayer-fullscreen\");\n this._isInFullScreen = false;\n }\n this._slider.resize();\n },\n\n volume: function(value) {\n if (typeof value === 'undefined') {\n return (typeof this._volume !== 'undefined') ? this._volume : this._volume = this.options.volume;\n }\n this._volume = value;\n this.mute(value <= 0);\n\n if (this._youTubeVideo) {\n this._ytmedia.setVolume(this._volume);\n } else {\n this._media.volume = this._volume / 100;\n }\n\n this._volumeSlider.value(value);\n },\n\n mute: function(muted) {\n var currentState = this._youTubeVideo ? (this._ytmedia && this._ytmedia.isMuted()) : (this._media && this._media.muted);\n if (typeof muted === 'undefined' || muted === currentState) {\n return currentState;\n }\n if (this._youTubeVideo) {\n if (muted) {\n this._ytmedia.mute();\n }\n else {\n this._ytmedia.unMute();\n }\n }\n else {\n this._media.muted = muted;\n }\n\n if (muted) {\n this._volumeSlider.value(0);\n }\n else {\n this._volumeSlider.value((this._media && this._media.volume * 100) || (this._ytmedia && this._ytmedia.getVolume()));\n }\n this.trigger(VOLUMECHANGE);\n this._changeVolumeButtonImage(this._volumeSlider.value());\n },\n\n isEnded: function() {\n if (this._youTubeVideo) {\n return this._ytmedia.getPlayerState() === 0;\n } else {\n return this._media.ended;\n }\n },\n\n media: function(value) {\n var dropdown = this.dropdown();\n if (typeof value === 'undefined') {\n return (typeof this._mediaData !== 'undefined') ? this._mediaData : this._mediaData = this.options.media;\n }\n\n if (isArray(value.source)) {\n dropdown.setDataSource(value.source);\n dropdown.wrapper.show();\n }\n else {\n dropdown.wrapper.hide();\n }\n\n this._mediaData = value;\n\n this._updateTitle();\n\n this._setPlayerUrl();\n },\n\n isPaused: function() {\n return this._paused;\n },\n\n isPlaying: function() {\n return !this.isEnded() && !this._paused;\n },\n\n _aria: function() {\n this.wrapper.attr(\"role\", \"region\");\n //this.wrapper.attr(\"aria-labelledby\", \"mediaplayerTitleBar\");\n //add onfocus with aria active descendant\n },\n\n _navigatable: function() {\n this._fullscreenHandler = this._fullscreen.bind(this);\n $(document)\n .on(\"webkitfullscreenchange mozfullscreenchange fullscreenchange\" + ns, this._fullscreenHandler);\n\n if (this.options.navigatable) {\n this.wrapper.attr(\"tabIndex\", 0);\n this._keyDownHandler = this._keyDown.bind(this);\n this.wrapper\n .on(\"keydown\" + ns, this._keyDownHandler);\n }\n },\n\n _fullscreen: function() {\n var isFullScreen = document.fullScreen ||\n document.mozFullScreen ||\n document.webkitIsFullScreen;\n\n this._uiDisplay(true);\n this._slider.resize();\n\n if (!isFullScreen) {\n this.wrapper.find('span[class*=\"k-i-fullscreen\"]')\n .removeClass(FULLSCREEN_EXIT)\n .addClass(FULLSCREEN_ENTER);\n this.fullScreen(false);\n }\n },\n\n _keyDown: function(e) {\n e.preventDefault();\n var fsButton = this.wrapper.find('span[class*=\"k-i-fullscreen\"]');\n if (e.keyCode === keys.SPACEBAR) {\n if (this.isPlaying()) {\n this.pause();\n }\n else {\n this.play();\n }\n }\n else if (e.keyCode === keys.ENTER && !this._isInFullScreen) {\n fsButton\n .removeClass(FULLSCREEN_ENTER)\n .addClass(FULLSCREEN_EXIT);\n this.fullScreen(true);\n }\n else if (e.keyCode === 77) {\n var muted = this.mute();\n this.mute(!muted);\n }\n else if (e.keyCode === keys.ESC && this._isInFullScreen) {\n fsButton\n .removeClass(FULLSCREEN_EXIT)\n .addClass(FULLSCREEN_ENTER);\n this.fullScreen(false);\n }\n },\n\n _error: function() {\n },\n\n _progress: function() {\n }\n\n });\n\n ui.plugin(MediaPlayer);\n\n })(window.kendo.jQuery);\n\n}));\n"]}