From b7004f3ba224f4b56cb2c33e8f44574d1fd39c1e Mon Sep 17 00:00:00 2001 From: sebastiankelle Date: Sun, 18 Oct 2015 19:02:01 -0500 Subject: [PATCH] Add functionality to catch different browsers behavior to show correct fullscreen player --- .gitignore | 1 + build/ableplayer.dist.js | 115 +++++++++++++++++++++++++-------------- build/ableplayer.js | 115 +++++++++++++++++++++++++-------------- build/ableplayer.min.css | 4 +- build/ableplayer.min.js | 10 ++-- scripts/event.js | 50 ++++++++++------- styles/ableplayer.css | 28 ++++++++++ 7 files changed, 215 insertions(+), 108 deletions(-) diff --git a/.gitignore b/.gitignore index 8adb1081..02d9318a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ thirdparty/jwplayer.* thirdparty/jquery-*.js node_modules/ translations/???.js +.idea \ No newline at end of file diff --git a/build/ableplayer.dist.js b/build/ableplayer.dist.js index c5fcdb02..9ab3f89e 100644 --- a/build/ableplayer.dist.js +++ b/build/ableplayer.dist.js @@ -198,7 +198,6 @@ $.when(this.getTranslationText()).then( function () { if (thisObj.countProperties(thisObj.tt) > 50) { - // close enough to ensure that most text variables are populated thisObj.setup(); if (thisObj.startTime > 0 && !thisObj.autoplay) { @@ -430,6 +429,7 @@ }; AblePlayer.prototype.setDimensions = function() { + // override default dimensions with width and height attributes of media element, if present if (this.$media.attr('width')) { this.playerWidth = parseInt(this.$media.attr('width'), 10); @@ -702,7 +702,7 @@ // Must set height to 0 to hide them // My bug report: // http://www.longtailvideo.com/support/forums/jw-player/setup-issues-and-embedding/29814 - jwHeight = '0px'; + jwHeight = 0; } else { jwHeight = thisObj.playerHeight; @@ -716,7 +716,7 @@ // var flashplayer = '../thirdparty/jwplayer.flash.swf'; var html5player = thisObj.fallbackPath + 'jwplayer.html5.js'; // var html5player = '../thirdparty/jwplayer.html5.js'; - + if (thisObj.mediaType === 'video') { thisObj.jwPlayer = jwplayer(thisObj.jwId).setup({ playlist: [{ @@ -744,6 +744,7 @@ controls: false, volume: this.defaultVolume * 100, height: jwHeight, + width: 0, fallback: false, primary: 'flash' }); @@ -3384,6 +3385,10 @@ } else if (control === 'transcript') { this.$transcriptButton = newButton; + // gray out transcript button if transcript is not active + if (!(this.$transcriptDiv.is(':visible'))) { + this.$transcriptButton.addClass('buttonOff').attr('title',this.tt.showTranscript); + } } else if (control === 'fullscreen') { this.$fullscreenButton = newButton; @@ -3897,7 +3902,7 @@ window. AccessibleSeekBar = function(div, width) { var thisObj = this; - + // Initialize some variables. this.position = 0; // Note: position does not change while tracking. this.tracking = false; @@ -4185,7 +4190,7 @@ var descriptionText; if (pHours > 0) { descriptionText = pHours + - ' ' + pHourword + + ' ' + pHourWord + ', ' + pMinutes + ' ' + pMinuteWord + ', ' + pSeconds + @@ -4224,7 +4229,7 @@ this.keyTrackPosition = position; }; - AccessibleSeekBar.prototype.refreshTooltip = function () { + AccessibleSeekBar.prototype.refreshTooltip = function () { if (this.overHead) { this.timeTooltip.show(); if (this.tracking) { @@ -4252,16 +4257,26 @@ }); }; - AccessibleSeekBar.prototype.positionToStr = function (position) { - var minutes = Math.floor(position / 60); - var seconds = Math.floor(position % 60); + AccessibleSeekBar.prototype.positionToStr = function (seconds) { - if (seconds < 10) { - seconds = '0' + seconds; + // same logic as misc.js > formatSecondsAsColonTime() + var dHours = Math.floor(seconds / 3600); + var dMinutes = Math.floor(seconds / 60) % 60; + var dSeconds = Math.floor(seconds % 60); + if (dSeconds < 10) { + dSeconds = '0' + dSeconds; + } + if (dHours > 0) { + if (dMinutes < 10) { + dMinutes = '0' + dMinutes; + } + return dHours + ':' + dMinutes + ':' + dSeconds; + } + else { + return dMinutes + ':' + dSeconds; } - - return minutes + ':' + seconds; }; + })(jQuery); (function ($) { @@ -4425,15 +4440,24 @@ return count; }; - // Takes seconds and converts to string of form mm:ss + // Takes seconds and converts to string of form hh:mm:ss AblePlayer.prototype.formatSecondsAsColonTime = function (seconds) { - var dMinutes = Math.floor(seconds / 60); + + var dHours = Math.floor(seconds / 3600); + var dMinutes = Math.floor(seconds / 60) % 60; var dSeconds = Math.floor(seconds % 60); if (dSeconds < 10) { dSeconds = '0' + dSeconds; } - - return dMinutes + ':' + dSeconds; + if (dHours > 0) { + if (dMinutes < 10) { + dMinutes = '0' + dMinutes; + } + return dHours + ':' + dMinutes + ':' + dSeconds; + } + else { + return dMinutes + ':' + dSeconds; + } }; })(jQuery); @@ -4961,7 +4985,10 @@ } else if (this.player === 'youtube') { this.youTubePlayer.setPlaybackRate(rate); - } + } + if (this.hasSignLanguage && this.signVideo) { + this.signVideo.playbackRate = rate; + } this.$speed.text(this.tt.speed + ': ' + rate.toFixed(2).toString() + 'x'); }; @@ -5304,7 +5331,7 @@ if (this.autoScrollTranscript !== this.$autoScrollTranscriptCheckbox.prop('checked')) { this.$autoScrollTranscriptCheckbox.prop('checked', this.autoScrollTranscript); } - + // If transcript locked, scroll transcript to current highlight location. if (this.autoScrollTranscript && this.currentHighlight) { var newTop = Math.floor($('.able-transcript').scrollTop() + @@ -6568,22 +6595,27 @@ // End Media events - AblePlayer.prototype.onWindowResize = function () { - if (document.fullscreenElement || - document.webkitFullscreenElement || - document.mozFullScreenElement || - document.msFullscreenElement || - this.modalFullscreenActive) { - var newHeight = $(window).height() - this.$playerDiv.height(); - if (!this.$descDiv.is(':hidden')) { - newHeight -= this.$descDiv.height(); - } - this.resizePlayer($(window).width(), newHeight); - } - else { - this.resizePlayer(this.playerWidth, this.playerHeight); - } - }; + AblePlayer.prototype.onWindowResize = function () { + if (document.fullscreenElement || + document.webkitFullscreenElement || + document.mozFullScreenElement || + document.msFullscreenElement || + this.modalFullscreenActive ) { + var isFirefox = /Firefox/i.test(navigator.userAgent); + if (isFirefox) { + var newHeight = $(window).height() - this.$playerDiv.height();} + else { + newHeight = $(window).height() - (this.$playerDiv.height()+20); + } + if (!this.$descDiv.is(':hidden')) { + newHeight -= this.$descDiv.height(); + } + this.resizePlayer($(window).width(), newHeight); + } + else { + this.resizePlayer(this.playerWidth, this.playerHeight); + } + }; AblePlayer.prototype.addSeekbarListeners = function () { var thisObj = this; @@ -6982,13 +7014,16 @@ thisObj.onPlayerKeyPress(e); } }); + // transcript is not a child of this.$ableDiv // therefore, must be added separately - this.$transcriptArea.keydown(function (e) { - if (AblePlayer.nextIndex > 1) { - thisObj.onPlayerKeyPress(e); - } - }); + if (this.$transcriptArea) { + this.$transcriptArea.keydown(function (e) { + if (AblePlayer.nextIndex > 1) { + thisObj.onPlayerKeyPress(e); + } + }); + } // handle clicks on playlist items if (this.$playlist) { diff --git a/build/ableplayer.js b/build/ableplayer.js index c757c6cf..fb393115 100644 --- a/build/ableplayer.js +++ b/build/ableplayer.js @@ -198,7 +198,6 @@ $.when(this.getTranslationText()).then( function () { if (thisObj.countProperties(thisObj.tt) > 50) { -console.log('translationTable has been loaded'); // close enough to ensure that most text variables are populated thisObj.setup(); if (thisObj.startTime > 0 && !thisObj.autoplay) { @@ -430,6 +429,7 @@ console.log('translationTable has been loaded'); }; AblePlayer.prototype.setDimensions = function() { + // override default dimensions with width and height attributes of media element, if present if (this.$media.attr('width')) { this.playerWidth = parseInt(this.$media.attr('width'), 10); @@ -702,7 +702,7 @@ console.log('translationTable has been loaded'); // Must set height to 0 to hide them // My bug report: // http://www.longtailvideo.com/support/forums/jw-player/setup-issues-and-embedding/29814 - jwHeight = '0px'; + jwHeight = 0; } else { jwHeight = thisObj.playerHeight; @@ -716,7 +716,7 @@ console.log('translationTable has been loaded'); // var flashplayer = '../thirdparty/jwplayer.flash.swf'; var html5player = thisObj.fallbackPath + 'jwplayer.html5.js'; // var html5player = '../thirdparty/jwplayer.html5.js'; - + if (thisObj.mediaType === 'video') { thisObj.jwPlayer = jwplayer(thisObj.jwId).setup({ playlist: [{ @@ -744,6 +744,7 @@ console.log('translationTable has been loaded'); controls: false, volume: this.defaultVolume * 100, height: jwHeight, + width: 0, fallback: false, primary: 'flash' }); @@ -3384,6 +3385,10 @@ console.log('translationTable has been loaded'); } else if (control === 'transcript') { this.$transcriptButton = newButton; + // gray out transcript button if transcript is not active + if (!(this.$transcriptDiv.is(':visible'))) { + this.$transcriptButton.addClass('buttonOff').attr('title',this.tt.showTranscript); + } } else if (control === 'fullscreen') { this.$fullscreenButton = newButton; @@ -3897,7 +3902,7 @@ console.log('translationTable has been loaded'); window. AccessibleSeekBar = function(div, width) { var thisObj = this; - + // Initialize some variables. this.position = 0; // Note: position does not change while tracking. this.tracking = false; @@ -4185,7 +4190,7 @@ console.log('translationTable has been loaded'); var descriptionText; if (pHours > 0) { descriptionText = pHours + - ' ' + pHourword + + ' ' + pHourWord + ', ' + pMinutes + ' ' + pMinuteWord + ', ' + pSeconds + @@ -4224,7 +4229,7 @@ console.log('translationTable has been loaded'); this.keyTrackPosition = position; }; - AccessibleSeekBar.prototype.refreshTooltip = function () { + AccessibleSeekBar.prototype.refreshTooltip = function () { if (this.overHead) { this.timeTooltip.show(); if (this.tracking) { @@ -4252,16 +4257,26 @@ console.log('translationTable has been loaded'); }); }; - AccessibleSeekBar.prototype.positionToStr = function (position) { - var minutes = Math.floor(position / 60); - var seconds = Math.floor(position % 60); + AccessibleSeekBar.prototype.positionToStr = function (seconds) { - if (seconds < 10) { - seconds = '0' + seconds; + // same logic as misc.js > formatSecondsAsColonTime() + var dHours = Math.floor(seconds / 3600); + var dMinutes = Math.floor(seconds / 60) % 60; + var dSeconds = Math.floor(seconds % 60); + if (dSeconds < 10) { + dSeconds = '0' + dSeconds; + } + if (dHours > 0) { + if (dMinutes < 10) { + dMinutes = '0' + dMinutes; + } + return dHours + ':' + dMinutes + ':' + dSeconds; + } + else { + return dMinutes + ':' + dSeconds; } - - return minutes + ':' + seconds; }; + })(jQuery); (function ($) { @@ -4425,15 +4440,24 @@ console.log('translationTable has been loaded'); return count; }; - // Takes seconds and converts to string of form mm:ss + // Takes seconds and converts to string of form hh:mm:ss AblePlayer.prototype.formatSecondsAsColonTime = function (seconds) { - var dMinutes = Math.floor(seconds / 60); + + var dHours = Math.floor(seconds / 3600); + var dMinutes = Math.floor(seconds / 60) % 60; var dSeconds = Math.floor(seconds % 60); if (dSeconds < 10) { dSeconds = '0' + dSeconds; } - - return dMinutes + ':' + dSeconds; + if (dHours > 0) { + if (dMinutes < 10) { + dMinutes = '0' + dMinutes; + } + return dHours + ':' + dMinutes + ':' + dSeconds; + } + else { + return dMinutes + ':' + dSeconds; + } }; })(jQuery); @@ -4961,7 +4985,10 @@ console.log('translationTable has been loaded'); } else if (this.player === 'youtube') { this.youTubePlayer.setPlaybackRate(rate); - } + } + if (this.hasSignLanguage && this.signVideo) { + this.signVideo.playbackRate = rate; + } this.$speed.text(this.tt.speed + ': ' + rate.toFixed(2).toString() + 'x'); }; @@ -5304,7 +5331,7 @@ console.log('translationTable has been loaded'); if (this.autoScrollTranscript !== this.$autoScrollTranscriptCheckbox.prop('checked')) { this.$autoScrollTranscriptCheckbox.prop('checked', this.autoScrollTranscript); } - + // If transcript locked, scroll transcript to current highlight location. if (this.autoScrollTranscript && this.currentHighlight) { var newTop = Math.floor($('.able-transcript').scrollTop() + @@ -6568,22 +6595,27 @@ console.log('translationTable has been loaded'); // End Media events - AblePlayer.prototype.onWindowResize = function () { - if (document.fullscreenElement || - document.webkitFullscreenElement || - document.mozFullScreenElement || - document.msFullscreenElement || - this.modalFullscreenActive) { - var newHeight = $(window).height() - this.$playerDiv.height(); - if (!this.$descDiv.is(':hidden')) { - newHeight -= this.$descDiv.height(); - } - this.resizePlayer($(window).width(), newHeight); - } - else { - this.resizePlayer(this.playerWidth, this.playerHeight); - } - }; + AblePlayer.prototype.onWindowResize = function () { + if (document.fullscreenElement || + document.webkitFullscreenElement || + document.mozFullScreenElement || + document.msFullscreenElement || + this.modalFullscreenActive ) { + var isFirefox = /Firefox/i.test(navigator.userAgent); + if (isFirefox) { + var newHeight = $(window).height() - this.$playerDiv.height();} + else { + newHeight = $(window).height() - (this.$playerDiv.height()+20); + } + if (!this.$descDiv.is(':hidden')) { + newHeight -= this.$descDiv.height(); + } + this.resizePlayer($(window).width(), newHeight); + } + else { + this.resizePlayer(this.playerWidth, this.playerHeight); + } + }; AblePlayer.prototype.addSeekbarListeners = function () { var thisObj = this; @@ -6982,13 +7014,16 @@ console.log('translationTable has been loaded'); thisObj.onPlayerKeyPress(e); } }); + // transcript is not a child of this.$ableDiv // therefore, must be added separately - this.$transcriptArea.keydown(function (e) { - if (AblePlayer.nextIndex > 1) { - thisObj.onPlayerKeyPress(e); - } - }); + if (this.$transcriptArea) { + this.$transcriptArea.keydown(function (e) { + if (AblePlayer.nextIndex > 1) { + thisObj.onPlayerKeyPress(e); + } + }); + } // handle clicks on playlist items if (this.$playlist) { diff --git a/build/ableplayer.min.css b/build/ableplayer.min.css index f7051a5e..9fa7f707 100644 --- a/build/ableplayer.min.css +++ b/build/ableplayer.min.css @@ -1,2 +1,2 @@ -/*! ableplayer V2.2.3 */ -.able{position:relative;margin:1em 0;width:100%;box-shadow:0 0 16px #262626;z-index:100}.able-column-left{float:left}.able-column-right{float:left}.able .able-vidcap-container{background-color:#000;height:360px;left:0;margin:0;position:relative;top:0}.able-player{font-family:Arial,Helvetica,sans-serif;background-color:#262626}.able-offscreen{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.able-video{}.able-video .able-now-playing{display:none}.able-controller{position:relative;border-top:2px solid #4c4c4c;border-bottom:2px solid #4c4c4c;background-color:#464646;min-height:38px;padding:0}.able-big-play-button{position:absolute;font-size:8em;opacity:.5;filter:alpha(opacity=50);color:#fdfdfd;background-color:transparent;border:0;outline:0;z-index:2000;left:0;top:0;padding:0}.able-big-play-button:hover{opacity:100;filter:alpha(opacity=100)}.able-left-controls,.able-right-controls{overflow:visible}.able-left-controls button,.able-right-controls button{vertical-align:middle}.able-left-controls{float:left}.able-right-controls{float:right}.able-left-controls span,.able-right-controls span{color:#fdfdfd}.able-controller button{background:0 0;position:relative;display:inline-block;border-style:none;margin:0;padding:0;color:#fdfdfd;min-width:20px;overflow:hidden!important}.able-controller button>span{font-size:20px;width:24px;margin:0 5px;padding:0}.able-controller button>img{margin:0 2px;padding:0}.able-controller .buttonOff{opacity:.5;filter:alpha(opacity=50)}.able-controller .able-seekbar{margin:0 5px}.able-controller button:hover,.able-controller button:focus{outline-style:solid;outline-width:medium}.able-controller button:hover{outline-color:#8AB839!important}.able-controller button:focus{outline-color:#ffbb37!important}.able-seekbar-wrapper{display:inline-block;vertical-align:middle}.able-seekbar{position:relative;height:.5em;border:1px solid;background-color:#000;margin:0 3px;border-style:solid;border-width:2px;border-color:#fff}.able-seekbar-loaded{display:inline-block;position:absolute;left:0;top:0;height:.5em;background-color:#464646;z-index:100}.able-seekbar-played{display:inline-block;position:absolute;left:0;top:0;height:.5em;background-color:#DADADA;z-index:200}.able-seekhead{display:inline-block;position:relative;left:0;top:-.45em;border:1px solid;background-color:#FDFDFD;z-index:300}.able-status-bar{height:1.5em;min-height:1.5em;color:#FFF;font-size:1em;background-color:transparent;padding:.5em .5em .25em}.able-status-bar span.able-timer{color:#fff;text-align:left;float:left;width:32%}.able-status-bar span.able-speed{float:left;width:32%;text-align:center}.able-status{font-style:italic;float:right;width:32%;text-align:right}div.able-captions{background-color:#000;font-size:1.1em;bottom:0;color:#fff;margin:0;opacity:.7;padding:.5em 0;position:absolute;text-align:center;display:none;z-index:1000;line-height:1.15em}div.able-descriptions{position:relative;color:#FF0;background-color:#262626;min-height:3em;border-top:1px solid #fff;margin-top:-10px;padding:1em 0;text-align:center}div.able-now-playing{text-align:center;font-weight:700;font-size:1.1em;color:#FFF;background-color:transparent;padding:.5em .5em 1em}div.able-now-playing span{font-size:.9em}div.able-now-playing span span{display:block}div.modalDialog{position:absolute;z-index:6000;height:auto;margin-left:auto;margin-right:auto;left:0;right:0;outline:0 none;display:none}div.modalOverlay{position:fixed;width:100%;height:100%;z-index:5000;background-color:#000;opacity:.5;margin:0;padding:0;top:0;left:0;display:none}button.modalCloseButton{position:absolute;top:5px;right:5px}button.modal-button{margin-right:5px}div.modalDialog input:hover,div.modalDialog input:focus,div.modalDialog button:hover,div.modalDialog button:focus{outline-style:solid;outline-width:2px}div.modalDialog input:hover,div.modalDialog button:hover{outline-color:#8AB839}div.modalDialog input:focus,div.modalDialog button:focus{outline-color:#ffbb37}.able-prefs-form,.able-help-div,.able-resize-form{background-color:#F5F5F5;border:medium solid #ccc;padding:.5em 1em;margin:0 0 0 1em;width:25em;display:none}.able-prefs-form fieldset{border:0}.able-prefs-form legend{color:#000;font-weight:700}.able-prefs-form fieldset div{display:table}.able-prefs-form fieldset div input{display:table-cell;width:1em;vertical-align:middle}.able-prefs-form fieldset div label{display:table-cell;padding-left:.5em}.able-help-div{background-color:#F5F5F5;border:medium solid #ccc;width:25em}.able-help-div ul{list-style-type:none}.able-help-modifiers{font-weight:700}.able-resize-form h1{font-size:1.15em}.able-resize-form div div{margin:1em}.able-resize-form label{padding-right:.5em;font-weight:700}.able-resize-form input[type=text]{font-size:1em}.able-sign-window{position:relative;margin:1em;width:480px;z-index:4000}.able-sign-window .able-button-handler-preferences{position:absolute;top:0;right:0;font-size:1.5em;opacity:.85;filter:alpha(opacity=85);color:#fdfdfd;background-color:transparent;border:0;outline:0;z-index:4500;padding:0}.able-sign-window .able-popup{position:absolute;right:0;top:0}.able-sign-window:focus{outline:0}.able-sign-window button:hover,.able-sign-window button:focus{outline-style:solid;outline-width:medium}.able-sign-window button:hover{outline-color:#8AB839!important}.able-sign-window button:focus{outline-color:#ffbb37!important}@font-face{font-family:able;src:url(../fonts/able.eot?sn5rkg);src:url(../fonts/able.eot?#iefixsn5rkg) format('embedded-opentype'),url(../fonts/able.woff?sn5rkg) format('woff'),url(../fonts/able.ttf?sn5rkg) format('truetype'),url(../fonts/able.svg?sn5rkg#able) format('svg');font-weight:400;font-style:normal}[class^=icon-],[class*=" icon-"]{font-family:able;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-play:before{content:"\f04b"}.icon-pause:before{content:"\f04c"}.icon-stop:before{content:"\f04d"}.icon-fullscreen-expand:before{content:"\f065"}.icon-fullscreen-collapse:before{content:"\f066"}.icon-pipe:before{content:"\e600"}.icon-captions:before{content:"\e601"}.icon-descriptions:before{content:"\e602"}.icon-transcript:before{content:"\f15c"}.icon-slower:before{content:"\f0dd"}.icon-faster:before{content:"\f0de"}.icon-help:before{content:"\f128"}.icon-close:before{content:"\f00d"}.icon-rewind:before{content:"\e603"}.icon-forward:before{content:"\e604"}.icon-volume-loud:before{content:"\e60b"}.icon-volume-medium:before{content:"\e605"}.icon-volume-soft:before{content:"\e60c"}.icon-volume-mute:before{content:"\e606"}.icon-volume-up:before{content:"\e607"}.icon-volume-down:before{content:"\e608"}.icon-chapters:before{content:"\e609"}.icon-preferences:before{content:"\e60d"}.icon-sign:before{content:"\e60a"}:-webkit-full-screen{position:fixed;width:100%;top:0;background:0 0}.able-tooltip,.able-alert{position:absolute;padding:5px 10px;border-color:#000;border-width:1px;background-color:#CCC;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;display:none;z-index:3000}.able-alert{background-color:#FFC}.able-popup{position:absolute;margin:0;padding:0;border-color:#000;border-width:1px;background-color:#000;opacity:.85;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;display:none;z-index:3000}.able-popup ul{list-style-type:none;margin:0;padding:0}.able-popup li{padding:.25em 1em .25em .25em;margin:1px}.able-popup label{padding-left:.25em;color:#FFF}.able-popup li.able-focus{background-color:#CCC}.able-popup li.able-focus label{color:#000}.able-drag{border:2px dashed #F90;cursor:move}div[id$="_fallback_wrapper"]{height:0}.able-clipped{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.able-error{display:block;background:#ffc;border:2px solid #000;color:red;margin:.75em;padding:.5em}.able-fallback{display:block;text-align:center;border:2px solid #335;background-color:#EEE;color:#000;font-weight:700;font-size:1.1em;padding:1em;margin-bottom:1em}.able-fallback div,.able-fallback ul,.able-fallback p{text-align:left}.able-fallback li{font-weight:400}.able-fallback img{width:90%;margin:1em auto;opacity:.3}.able .able-playlist{font-size:.9em;list-style-type:none;margin:0;background-color:#FFF;padding:5px 0}.able .able-playlist li{background-color:#DDD;margin:5px;padding:5px 10px;border-radius:15px;-moz-border-radius:15px}.able .able-playlist li:hover,.able .able-playlist li:focus,.able .able-playlist li:active{color:#FFF;background-color:#340449;text-decoration:none}.able .able-playlist li.able-current{color:#000;background-color:#FFEEB3;font-weight:700;outline:0;text-decoration:none}.able .able-playlist li.able-current:after{content:' *'}.able-playlist{}.able-playlist li{}.able-playlist li:hover,.able-playlist li:focus,.able-playlist li:active{text-decoration:none;color:#fff;background-color:#000}.able-playlist li.able-current{font-weight:700;text-decoration:underline}.able-playlist li.able-current:after{content:' *'}.able-search-results ul li{font-size:1.1em;margin-bottom:1em}.able-search-results-time{font-weight:700;text-decoration:underline;cursor:pointer}.able-search-results-time:hover,.able-search-results-time:focus,.able-search-results-time:active{color:#FFF;background-color:#000;text-decoration:none}.able-search-results-text{padding-left:1em}.able-search-term{background-color:#FFC;font-weight:700}.able-transcript{position:relative;overflow-y:scroll;padding-left:5%;padding-right:5%;width:90%;height:400px}.able-transcript div{margin:1em 0}.able-transcript-heading{font-size:1.4em;font-weight:700}.able-transcript div.able-desc{background-color:#FEE;border:thin solid #336;font-style:italic;padding:1em}.able-transcript span.able-unspoken{font-weight:700}.able-transcript span.hidden{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.able-highlight{background:#FF6}.able-previous{background:#000!important;font-style:italic}.able-transcript span:hover,.able-transcript span:focus,.able-transcript span:active{background:#CF6;cursor:pointer}.able-transcript-toolbar{padding:10px;background-color:#DDD;border-style:solid;border-width:0 0 1px}.able-transcript-toolbar label{margin-right:10px}.able-transcript-area{margin:1em;border-width:1px;border-style:solid}.able-transcript-toolbar input:focus,.able-transcript-toolbar input:hover,.able-controller input:focus,.able-controller input:hover,.able-controller button:focus,.able-controller button:hover,.able-seek-head:focus,.able-seek-head:hover{outline-style:solid;outline-width:2px}.able-transcript-toolbar input:focus,.able-controller input:focus,.able-controller button:focus,.able-seek-head:focus{outline-color:#ffbb37}.able-transcript-toolbar input:hover,.able-controller input:hover,.able-controller button:hover,.able-seek-head:hover{outline-color:#8AB839} \ No newline at end of file +/*! ableplayer V2.2.4 */ +.able{position:relative;margin:1em 0;width:100%;box-shadow:0 0 16px #262626;z-index:100}.able-column-left{float:left}.able-column-right{float:left}.able .able-vidcap-container{background-color:#000;height:360px;left:0;margin:0;position:relative;top:0}.able-player{font-family:Arial,Helvetica,sans-serif;background-color:#262626}.able-offscreen{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.able-video{}.able-video .able-now-playing{display:none}.able-controller{position:relative;border-top:2px solid #4c4c4c;border-bottom:2px solid #4c4c4c;background-color:#464646;min-height:38px;padding:0}.able-big-play-button{position:absolute;font-size:8em;opacity:.5;filter:alpha(opacity=50);color:#fdfdfd;background-color:transparent;border:0;outline:0;z-index:2000;left:0;top:0;padding:0}.able-big-play-button:hover{opacity:100;filter:alpha(opacity=100)}.able-left-controls,.able-right-controls{overflow:visible}.able-left-controls button,.able-right-controls button{vertical-align:middle}.able-left-controls{float:left}.able-right-controls{float:right}.able-left-controls span,.able-right-controls span{color:#fdfdfd}.able-controller button{background:0 0;position:relative;display:inline-block;border-style:none;margin:0;padding:0;color:#fdfdfd;min-width:20px;overflow:hidden!important}.able-controller button>span{font-size:20px;width:24px;margin:0 5px;padding:0}.able-controller button>img{margin:0 2px;padding:0}.able-controller .buttonOff{opacity:.5;filter:alpha(opacity=50)}.able-controller .able-seekbar{margin:0 5px}.able-controller button:hover,.able-controller button:focus{outline-style:solid;outline-width:medium}.able-controller button:hover{outline-color:#8AB839!important}.able-controller button:focus{outline-color:#ffbb37!important}.able-seekbar-wrapper{display:inline-block;vertical-align:middle}.able-seekbar{position:relative;height:.5em;border:1px solid;background-color:#000;margin:0 3px;border-style:solid;border-width:2px;border-color:#fff}.able-seekbar-loaded{display:inline-block;position:absolute;left:0;top:0;height:.5em;background-color:#464646;z-index:100}.able-seekbar-played{display:inline-block;position:absolute;left:0;top:0;height:.5em;background-color:#DADADA;z-index:200}.able-seekhead{display:inline-block;position:relative;left:0;top:-.45em;border:1px solid;background-color:#FDFDFD;z-index:300}.able-status-bar{height:1.5em;min-height:1.5em;color:#FFF;font-size:1em;background-color:transparent;padding:.5em .5em .25em}.able-status-bar span.able-timer{color:#fff;text-align:left;float:left;width:32%}.able-status-bar span.able-speed{float:left;width:32%;text-align:center}.able-status{font-style:italic;float:right;width:32%;text-align:right}div.able-captions{background-color:#000;font-size:1.1em;bottom:0;color:#fff;margin:0;opacity:.7;padding:.5em 0;position:absolute;text-align:center;display:none;z-index:1000;line-height:1.15em}div.able-descriptions{position:relative;color:#FF0;background-color:#262626;min-height:3em;border-top:1px solid #fff;margin-top:-10px;padding:1em 0;text-align:center}div.able-now-playing{text-align:center;font-weight:700;font-size:1.1em;color:#FFF;background-color:transparent;padding:.5em .5em 1em}div.able-now-playing span{font-size:.9em}div.able-now-playing span span{display:block}div.modalDialog{position:absolute;z-index:6000;height:auto;margin-left:auto;margin-right:auto;left:0;right:0;outline:0 none;display:none}div.modalOverlay{position:fixed;width:100%;height:100%;z-index:5000;background-color:#000;opacity:.5;margin:0;padding:0;top:0;left:0;display:none}button.modalCloseButton{position:absolute;top:5px;right:5px}button.modal-button{margin-right:5px}div.modalDialog input:hover,div.modalDialog input:focus,div.modalDialog button:hover,div.modalDialog button:focus{outline-style:solid;outline-width:2px}div.modalDialog input:hover,div.modalDialog button:hover{outline-color:#8AB839}div.modalDialog input:focus,div.modalDialog button:focus{outline-color:#ffbb37}.able-prefs-form,.able-help-div,.able-resize-form{background-color:#F5F5F5;border:medium solid #ccc;padding:.5em 1em;margin:0 0 0 1em;width:25em;display:none}.able-prefs-form fieldset{border:0}.able-prefs-form legend{color:#000;font-weight:700}.able-prefs-form fieldset div{display:table}.able-prefs-form fieldset div input{display:table-cell;width:1em;vertical-align:middle}.able-prefs-form fieldset div label{display:table-cell;padding-left:.5em}.able-help-div{background-color:#F5F5F5;border:medium solid #ccc;width:25em}.able-help-div ul{list-style-type:none}.able-help-modifiers{font-weight:700}.able-resize-form h1{font-size:1.15em}.able-resize-form div div{margin:1em}.able-resize-form label{padding-right:.5em;font-weight:700}.able-resize-form input[type=text]{font-size:1em}.able-sign-window{position:relative;margin:1em;width:480px;z-index:4000}.able-sign-window .able-button-handler-preferences{position:absolute;top:0;right:0;font-size:1.5em;opacity:.85;filter:alpha(opacity=85);color:#fdfdfd;background-color:transparent;border:0;outline:0;z-index:4500;padding:0}.able-sign-window .able-popup{position:absolute;right:0;top:0}.able-sign-window:focus{outline:0}.able-sign-window button:hover,.able-sign-window button:focus{outline-style:solid;outline-width:medium}.able-sign-window button:hover{outline-color:#8AB839!important}.able-sign-window button:focus{outline-color:#ffbb37!important}@font-face{font-family:able;src:url(../fonts/able.eot?sn5rkg);src:url(../fonts/able.eot?#iefixsn5rkg) format('embedded-opentype'),url(../fonts/able.woff?sn5rkg) format('woff'),url(../fonts/able.ttf?sn5rkg) format('truetype'),url(../fonts/able.svg?sn5rkg#able) format('svg');font-weight:400;font-style:normal}[class^=icon-],[class*=" icon-"]{font-family:able;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-play:before{content:"\f04b"}.icon-pause:before{content:"\f04c"}.icon-stop:before{content:"\f04d"}.icon-fullscreen-expand:before{content:"\f065"}.icon-fullscreen-collapse:before{content:"\f066"}.icon-pipe:before{content:"\e600"}.icon-captions:before{content:"\e601"}.icon-descriptions:before{content:"\e602"}.icon-transcript:before{content:"\f15c"}.icon-slower:before{content:"\f0dd"}.icon-faster:before{content:"\f0de"}.icon-help:before{content:"\f128"}.icon-close:before{content:"\f00d"}.icon-rewind:before{content:"\e603"}.icon-forward:before{content:"\e604"}.icon-volume-loud:before{content:"\e60b"}.icon-volume-medium:before{content:"\e605"}.icon-volume-soft:before{content:"\e60c"}.icon-volume-mute:before{content:"\e606"}.icon-volume-up:before{content:"\e607"}.icon-volume-down:before{content:"\e608"}.icon-chapters:before{content:"\e609"}.icon-preferences:before{content:"\e60d"}.icon-sign:before{content:"\e60a"}:-webkit-full-screen{position:fixed;width:100%;height:100%;top:0;background:0 0}.able-tooltip,.able-alert{position:absolute;padding:5px 10px;border-color:#000;border-width:1px;background-color:#CCC;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;display:none;z-index:3000}.able-alert{background-color:#FFC}.able-popup{position:absolute;margin:0;padding:0;border-color:#000;border-width:1px;background-color:#000;opacity:.85;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;display:none;z-index:3000}.able-popup ul{list-style-type:none;margin:0;padding:0}.able-popup li{padding:.25em 1em .25em .25em;margin:1px}.able-popup label{padding-left:.25em;color:#FFF}.able-popup li.able-focus{background-color:#CCC}.able-popup li.able-focus label{color:#000}.able-drag{border:2px dashed #F90;cursor:move}.able-clipped{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.able-error{display:block;background:#ffc;border:2px solid #000;color:red;margin:.75em;padding:.5em}.able-fallback{display:block;text-align:center;border:2px solid #335;background-color:#EEE;color:#000;font-weight:700;font-size:1.1em;padding:1em;margin-bottom:1em}.able-fallback div,.able-fallback ul,.able-fallback p{text-align:left}.able-fallback li{font-weight:400}.able-fallback img{width:90%;margin:1em auto;opacity:.3}.able .able-playlist{font-size:.9em;list-style-type:none;margin:0;background-color:#FFF;padding:5px 0}.able .able-playlist li{background-color:#DDD;margin:5px;padding:5px 10px;border-radius:15px;-moz-border-radius:15px}.able .able-playlist li:hover,.able .able-playlist li:focus,.able .able-playlist li:active{color:#FFF;background-color:#340449;text-decoration:none}.able .able-playlist li.able-current{color:#000;background-color:#FFEEB3;font-weight:700;outline:0;text-decoration:none}.able .able-playlist li.able-current:after{content:' *'}.able-playlist{}.able-playlist li{}.able-playlist li:hover,.able-playlist li:focus,.able-playlist li:active{text-decoration:none;color:#fff;background-color:#000}.able-playlist li.able-current{font-weight:700;text-decoration:underline}.able-playlist li.able-current:after{content:' *'}.able-search-results ul li{font-size:1.1em;margin-bottom:1em}.able-search-results-time{font-weight:700;text-decoration:underline;cursor:pointer}.able-search-results-time:hover,.able-search-results-time:focus,.able-search-results-time:active{color:#FFF;background-color:#000;text-decoration:none}.able-search-results-text{padding-left:1em}.able-search-term{background-color:#FFC;font-weight:700}.able-transcript{position:relative;overflow-y:scroll;padding-left:5%;padding-right:5%;width:90%;height:400px}.able-transcript div{margin:1em 0}.able-transcript-heading{font-size:1.4em;font-weight:700}.able-transcript div.able-desc{background-color:#FEE;border:thin solid #336;font-style:italic;padding:1em}.able-transcript span.able-unspoken{font-weight:700}.able-transcript span.hidden{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.able-highlight{background:#FF6}.able-previous{background:#000!important;font-style:italic}.able-transcript span:hover,.able-transcript span:focus,.able-transcript span:active{background:#CF6;cursor:pointer}.able-transcript-toolbar{padding:10px;background-color:#DDD;border-style:solid;border-width:0 0 1px}.able-transcript-toolbar label{margin-right:10px}.able-transcript-area{margin:1em;border-width:1px;border-style:solid}.able-transcript-toolbar input:focus,.able-transcript-toolbar input:hover,.able-controller input:focus,.able-controller input:hover,.able-controller button:focus,.able-controller button:hover,.able-seek-head:focus,.able-seek-head:hover{outline-style:solid;outline-width:2px}.able-transcript-toolbar input:focus,.able-controller input:focus,.able-controller button:focus,.able-seek-head:focus{outline-color:#ffbb37}.able-transcript-toolbar input:hover,.able-controller input:hover,.able-controller button:hover,.able-seek-head:hover{outline-color:#8AB839} \ No newline at end of file diff --git a/build/ableplayer.min.js b/build/ableplayer.min.js index 4ed7b8cf..bc485017 100644 --- a/build/ableplayer.min.js +++ b/build/ableplayer.min.js @@ -1,5 +1,5 @@ -/*! ableplayer V2.2.3 */ -"use strict";!function(a){a(document).ready(function(){a("video, audio").each(function(b,c){void 0!==a(c).data("able-player")&&new AblePlayer(a(this),a(c))})}),window.onYouTubeIframeAPIReady=function(){AblePlayer.youtubeIframeAPIReady=!0,a("body").trigger("youtubeIframeAPIReady",[])},a(window).keydown(function(a){1===AblePlayer.nextIndex&&AblePlayer.lastCreated.onPlayerKeyPress(a)}),window.AblePlayer=function(b){if(AblePlayer.lastCreated=this,this.setDefaults(),this.media=b,0!==a(b).length){this.autoplay=void 0!==a(b).attr("autoplay")&&"false"!==a(b).attr("autoplay")?!0:!1;var c=b.data("include-transcript");if((void 0===c||""===c)&&b.find('track[kind="captions"], track[kind="subtitles"]').length>0&&(c=!0),this.includeTranscript=c?!0:!1,this.startTime=void 0!==a(b).data("start-time")&&""!==a(b).data("start-time")?a(b).data("start-time"):0,void 0!==a(b).data("transcript-div")&&""!==a(b).data("transcript-div")&&(this.transcriptDivLocation=a(b).data("transcript-div")),void 0!==a(b).data("use-transcript-button")&&a(b).data("use-transcript-button")===!1&&(this.useTranscriptButton=!1),void 0!==a(b).data("lyrics-mode")&&"false"!==a(b).data("lyrics-mode")&&(this.lyricsMode=!0),void 0!==a(b).data("transcript-title")&&(this.transcriptTitle=a(b).data("transcript-title")),void 0!==a(b).data("youtube-id")&&""!==a(b).data("youtube-id")&&(this.youtubeId=a(b).data("youtube-id")),void 0!==a(b).data("youtube-desc-id")&&""!==a(b).data("youtube-desc-id")&&(this.youtubeDescId=a(b).data("youtube-desc-id")),void 0!==a(b).data("debug")&&"false"!==a(b).data("debug")&&(this.debug=!0),void 0!==a(b).data("volume")&&""!==a(b).data("volume")){var d=a(b).data("volume");d>=0&&1>=d&&(this.defaultVolume=d)}if(void 0!==a(b).data("icon-type")&&""!==a(b).data("icon-type")){var e=a(b).data("icon-type");("font"===e||"image"==e)&&(this.iconType=e)}if(void 0!==a(b).data("seek-interval")&&""!==a(b).data("seek-interval")){var f=a(b).data("seek-interval");/^[1-9][0-9]*$/.test(f)&&(this.seekInterval=f,this.useFixedSeekInterval=!0)}if(void 0!==a(b).data("show-now-playing")&&"false"!==a(b).data("show-now-playing")&&(this.showNowPlaying=!0),void 0!==a(b).data("fallback")&&""!==a(b).data("fallback")){var g=a(b).data("fallback");"jw"===g&&(this.fallback=g)}if(void 0!==a(b).data("test-fallback")&&"false"!==a(b).data("test-fallback")&&(this.testFallback=!0),void 0!==a(b).data("fallback-path")&&"false"!==a(b).data("fallback-path")&&(this.fallbackPath=a(b).data("fallback-path")),void 0!==a(b).data("lang")&&""!==a(b).data("lang")){var h=a(b).data("lang");2==h.length&&(this.lang=h)}void 0!==a(b).data("force-lang")&&"false"!==a(b).data("force-lang")&&(this.forceLang=!0),void 0!==a(b).data("meta-div")&&""!==a(b).data("meta-div")&&(this.metaDiv=a(b).data("meta-div")),void 0!==a(b).data("search")&&""!==a(b).data("search")&&void 0!==a(b).data("search-div")&&""!==a(b).data("search-div")&&(this.searchString=a(b).data("search"),this.searchDiv=a(b).data("search-div")),this.ableIndex=AblePlayer.nextIndex,AblePlayer.nextIndex+=1,this.title=a(b).attr("title"),this.tt={};var i=this;a.when(this.getTranslationText()).then(function(){i.countProperties(i.tt)>50&&(i.setup(),i.startTime>0&&!i.autoplay&&i.onMediaUpdateTime())})}},AblePlayer.nextIndex=0,AblePlayer.prototype.setup=function(){var a=this;this.debug&&this.startTime>0,this.reinitialize().then(function(){a.player?a.setupInstance().then(function(){a.recreatePlayer()}):a.provideFallback()})},AblePlayer.youtubeIframeAPIReady=!1,AblePlayer.loadingYoutubeIframeAPI=!1}(jQuery),function(a){AblePlayer.prototype.setDefaults=function(){this.debug=!1,this.rootPath=this.getRootWebSitePath(),this.defaultVolume=.5,this.playerWidth=480,this.playerHeight=360,this.iconColor="white",this.iconType="font",this.seekInterval=10,this.useFixedSeekInterval=!1,this.useSlider=!0,this.showNowPlaying=!0,this.fallback="jw",this.fallbackPath=this.rootPath+"/thirdparty/",this.testFallback=!1,this.lang="en",this.forceLang=!1,this.loop=!0,this.lyricsMode=!1,this.transcriptTitle="Transcript",this.useTranscriptButton=!0,this.setButtonImages()},AblePlayer.prototype.getRootWebSitePath=function(){var a=document.location.toString(),b=a.indexOf("/",a.indexOf("://")+3),c=a.substring(0,b)+"/",d=a.indexOf("/",a.indexOf(c)+c.length),e=a.substring(0,d);return e},AblePlayer.prototype.setButtonImages=function(){var a="../images/"+this.iconColor+"/";this.playButtonImg=a+"play.png",this.pauseButtonImg=a+"pause.png",this.rewindButtonImg=a+"rewind.png",this.forwardButtonImg=a+"forward.png",this.fasterButtonImg=a+"slower.png",this.slowerButtonImg=a+"faster.png",this.volumeMuteButtonImg=a+"volume-mute.png",this.volumeLoudButtonImg=a+"volume-loud.png",this.volumeIncreaseButtonImg=a+"volume-up.png",this.volumeDecreaseButtonImg=a+"volume-down.png",this.captionsButtonImg=a+"captions.png",this.chaptersButtonImg=a+"chapters.png",this.signButtonImg=a+"sign.png",this.transcriptButtonImg=a+"transcript.png",this.descriptionsButtonImg=a+"descriptions.png",this.fullscreenExpandButtonImg=a+"fullscreen-expand.png",this.fullscreenCollapseButtonImg=a+"fullscreen-collapse.png",this.prefsButtonImg=a+"preferences.png",this.helpButtonImg=a+"help.png"},AblePlayer.prototype.reinitialize=function(){var b=new a.Deferred,c=b.promise();if(window.console||(this.debug=!1),this.startedPlaying=!1,this.autoScrollTranscript=!0,this.$media=a(this.media).first(),this.media=this.$media[0],this.$media.is("audio"))this.mediaType="audio";else{if(!this.$media.is("video"))return this.mediaType=this.$media.get(0).tagName,this.debug,b.fail(),c;this.mediaType="video"}return this.$sources=this.$media.find("source"),this.debug,this.player=this.getPlayer(),this.setIconType(),this.setDimensions(),b.resolve(),c},AblePlayer.prototype.setDimensions=function(){this.$media.attr("width")&&(this.playerWidth=parseInt(this.$media.attr("width"),10)),this.$media.attr("height")&&(this.playerHeight=parseInt(this.$media.attr("height"),10))},AblePlayer.prototype.setIconType=function(){var b;b=a("",{"class":"icon-play able-clipped"}),a("body").append(b),"font"===this.iconType&&(window.getComputedStyle?(this.controllerFont=window.getComputedStyle(b.get(0),null).getPropertyValue("font-family"),this.controllerFont?(this.controllerFont=this.controllerFont.replace(/["']/g,""),this.iconType="font"):this.iconType="image"):this.iconType="image"),this.debug&&"font"===this.iconType,b.remove()},AblePlayer.prototype.setupInstance=function(){var b=new a.Deferred,c=b.promise();return this.$media.attr("id")?this.mediaId=this.$media.attr("id"):(this.mediaId="ableMediaId_"+this.ableIndex,this.$media.attr("id",this.mediaId)),this.setupInstancePlaylist(),b.resolve(),c},AblePlayer.prototype.setupInstancePlaylist=function(){var b=this;if(this.hasPlaylist=!1,a(".able-playlist").each(function(){if(a(this).data("player")===b.mediaId){b.hasPlaylist=!0,b.$playlist=a(this).find("li"),a(this).find("li").attr("tabindex","0"),b.playlistIndex=0;var c=a(this).data("embedded");b.playlistEmbed="undefined"!=typeof c&&c!==!1?!0:!1}}),this.hasPlaylist&&this.playlistEmbed){var c=this.$playlist.parent();this.$playlistDom=c.clone(),c.remove()}},AblePlayer.prototype.recreatePlayer=function(){var a=this;return this.player?(this.setMediaAttributes(),this.loadCurrentPreferences(),this.injectPlayerCode(),this.initSignLanguage(),void this.setupTracks().then(function(){a.setupPopups(),a.initDescription(),a.updateDescription(),a.initializing=!1,a.initPlayer(),a.initDefaultCaption(),a.updateCaption(),a.updateTranscript(),a.showSearchResults()})):void console.log("Can't create player; no appropriate player type detected.")},AblePlayer.prototype.initPlayer=function(){var b,c=this;this.debug&&this.player,"html5"===this.player?b=this.initHtml5Player():"jw"===this.player?b=this.initJwPlayer():"youtube"===this.player&&(b=this.initYouTubePlayer());var d=new a.Deferred,e=d.promise();return b.done(function(){if(c.addControls(),c.addEventListeners(),c.setMute(!1),c.setFullscreen(!1),c.setVolume(c.defaultVolume),c.initializing=!0,c.initializing=!1,c.refreshControls(),"html5"===c.player&&c.isIOS()&&c.$media[0].load(),c.useFixedSeekInterval===!1){var a=c.getDuration();a>0?(c.seekInterval=Math.max(c.seekInterval,a/10),c.seekIntervalCalculated=!0):c.seekIntervalCalculated=!1}d.resolve()}),e},AblePlayer.prototype.initDefaultCaption=function(){var a;if(this.captions.length>0){for(a=0;a").attr("id",d));var e;if(b.youtubeDescId&&b.prefDesc?(e=b.youtubeDescId,b.showAlert(b.tt.alertDescribedVersion)):e=b.youtubeId,b.youTubeCaptionsReady=!1,b.hasCaptions)var f=0;else var f=1;b.youTubePlayer=new YT.Player(d,{videoId:e,height:b.playerHeight.toString(),width:b.playerWidth.toString(),playerVars:{start:b.startTime,controls:0,cc_load_policy:f,hl:b.lang,modestbranding:1,rel:0,html5:1},events:{onReady:function(){c.resolve(),b.ytPlayingJustEnough=!0,b.playMedia()},onError:function(){c.fail()},onStateChange:function(){b.ytPlayingJustEnough&&(b.handleStop(),b.ytPlayingJustEnough=!1)},onPlaybackQualityChange:function(){},onApiChange:function(){"undefined"==typeof b.ytCaptionModule&&b.initYouTubeCaptions(),b.resettingYouTubeCaptions&&(b.youTubePlayer.setOption(b.ytCaptionModule,"track",{languageCode:b.captionLang}),b.resettingYouTubeCaptions=!1)}}}),b.$media.remove()};return AblePlayer.youtubeIframeAPIReady?e():(AblePlayer.loadingYoutubeIframeAPI||a.getScript("https://www.youtube.com/iframe_api").fail(function(){b.debug}),a("body").on("youtubeIframeAPIReady",function(){e()})),d},AblePlayer.prototype.initYouTubeCaptions=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(b=this,this.ytCaptions=[],c=this.youTubePlayer.getOptions(),c.length){for(var s=0;s1?this.tt.captions:this.tt.hideCaptions):(this.captionsOn=!1,n=g.length>1?this.tt.captions:this.tt.showCaptions),o=this.getButtonTitle("captions"),m=a(""),s=a('");r.click(function(){q.hide(),o.savePrefsFromForm()}),s.click(function(){q.hide()}),b.append(r),b.append(s),this.prefsDialog=q},AblePlayer.prototype.savePrefsFromForm=function(){var b;b=0;for(var c=this.getCookie(),d=this.getAvailablePreferences(),e=0;e0?(this.setCookie(c),this.showAlert(this.tt.prefSuccess)):this.showAlert(this.tt.prefNoChange),this.updatePrefs()},AblePlayer.prototype.updatePrefs=function(){var b;b=1===this.prefAltKey?"Alt + ":"",1===this.prefCtrlKey&&(b+="Control + "),1===this.prefShiftKey&&(b+="Shift + "),a(".able-help-modifiers").text(b),1===this.prefTabbable?a(".able-transcript span.able-transcript-seekpoint").attr("tabindex","0"):a(".able-transcript span.able-transcript-seekpoint").removeAttr("tabindex"),this.updateCaption(),this.updateDescription()},AblePlayer.prototype.usingModifierKeys=function(a){return(1!==this.prefAltKey||a.altKey)&&(1!==this.prefCtrlKey||a.ctrlKey)&&(1!==this.prefShiftKey||a.shiftKey)?!0:!1}}(jQuery),function(a){function b(a,b){var d=[];for(var e in b)d.push(c(a,b[e]));return d}function c(a,b){var c=b(a);if(null!==a.error)throw a.error;return c}function d(a,b){for(var c in b)"\n"===b[c]?(a.column=1,a.line+=1):a.column+=1}function e(a,b){var c=a.text.substring(0,b);return d(a,c),a.text=a.text.substring(b),c}function f(a){var b,c=a.text.indexOf("\n");return-1===c?(b=a.text,d(a,b),a.text=""):(b=a.text.substring(0,c),d(a,b+"\n"),a.text=a.text.substring(c+1)),b}function g(a){var b=a.text.indexOf("\n");return-1===b?a.text:a.text.substring(0,b)}function h(a){b(a,[s,t]);var c=a.text[0];" "===c||" "===c||"\n"===c?b(a,[x,i,z,m]):a.error="WEBVTT signature not followed by whitespace."}function i(a){for(;;){var b=g(a);if(-1!==b.indexOf("-->"))return;if(0===b.length)return;var d=c(a,k);a.metadata[d[0]]=d[1],c(a,x)}}function j(a){var b=[],c=a.indexOf(" ");c>=0&&b.push(c);var d=a.indexOf(" ");d>=0&&b.push(d);var e=a.indexOf("\n");return e>=0&&b.push(e),Math.min.apply(null,b)}function k(a){var b=a.text.indexOf("\n"),c=e(a,b),d=c.indexOf(":");if(-1===d)return void(a.error="Missing colon.");var f=c.substring(0,d),g=c.substring(d+1);return[f,g]}function l(a){var b=j(a.text),c=e(a,b),d=c.indexOf(":");if(-1===d)return void(a.error="Missing colon.");var f=c.substring(0,d),g=c.substring(d+1);return[f,g]}function m(d){for(;;){var e=g(d);if(0!==e.indexOf("NOTE")||4!==e.length&&" "!==e[4]&&" "!==e[4])if(0===a.trim(e).length&&d.text.length>0)c(d,y);else{if(!(a.trim(e).length>0))return;c(d,n)}else b(d,[r,y])}}function n(a){var d,h,i=g(a);if(-1===i.indexOf("-->")&&(d=f(a),i=g(a),-1===i.indexOf("-->")))return h="Invalid WebVTT file: "+a.src+"\n",h+="Line: "+a.line+", ",h+="Column: "+a.column+"\n",h+="Expected cue timing for cueId '"+d+"' but found: "+i+"\n",void(console.warn||console.log);var j=b(a,[A,w,u,w,A]),k=j[0],l=j[4];if(k>=l)return void(a.error="Start time is not sooner than end time.");c(a,v);var m=c(a,o);e(a,1);var n=c(a,p);a.cues.push({id:d,start:k,end:l,settings:m,components:n})}function o(a){for(var b={};a.text.length>0&&"\n"!==a.text[0];){var d=c(a,l);b[d[0]]=d[1],c(a,v)}return b}function p(b){for(var d={type:"internal",tagName:"",value:"",classes:[],annotation:"",parent:null,children:[],language:""},f=d,h=[];b.text.length>0;){var i=g(b);if(-1!==i.indexOf("-->")||/^\s*$/.test(i))break;if(b.text.length>=2&&"\n"===b.text[0]&&"\n"===b.text[1]){e(b,2);break}var j=q(b);if("string"===j.type)f.children.push(j);else if("startTag"===j.type)j.type=j.tagName,j.parent=f,-1!==a.inArray(j.tagName,["c","i","b","u","ruby"])?(h.length>0&&(f.language=h[h.length-1]),f.children.push(j),f=j):"rt"===j.tagName&&"ruby"===f.tagName?(h.length>0&&(f.language=h[h.length-1]),f.children.push(j),f=j):"v"===j.tagName?(j.value=j.annotation,h.length>0&&(f.language=h[h.length-1]),f.children.push(j),f=j):"lang"===j.tagName&&(h.push(j.annotation),h.length>0&&(f.language=h[h.length-1]),f.children.push(j),f=j);else if("endTag"===j.type)j.tagName===f.type&&-1!==a.inArray(j.tagName,["c","i","b","u","ruby","rt","v"])?f=f.parent:"lang"===j.tagName&&"lang"===f.type?(f=f.parent,h.pop()):"ruby"===j.tagName&&"rt"===f.type&&(f=f.parent.parent);else if("timestampTag"===j.type){var k={text:j.value,error:null,metadata:{},cues:[],line:1,column:1};try{var l=c(k,A);0===k.text.length&&(j.value=l,f.push(j))}catch(m){}}}return d}function q(b){for(var c="data",d=[],f="",g={type:"",tagName:"",value:"",classes:[],annotation:"",children:[]};;){var h;if(h=b.text.length>=2&&"\n"===b.text[0]&&"\n"===b.text[1]?"":b.text.length>0?b.text[0]:"","data"===c)if("&"===h)f="&",c="escape";else if("<"===h){if(0!==d.length)return g.type="string",g.value=d.join(""),g;c="tag"}else{if(""===h)return{type:"string",value:d.join("")};d.push(h)}else if("escape"===c)if("&"===h)d.push(f),f="&";else if(h.match(/[0-9a-z]/))f+=h;else if(";"===h)"&"===f?d.push("&"):"<"===f?d.push("<"):">"===f?d.push(">"):"&lrm"===f?d.push("‎"):"&rlm"===f?d.push("‏"):" "===f?d.push(" "):(d.push(f),d.push(";")),c="data";else{if("<"===h||""===h)return d.push(f),g.type="string",g.value=d.join(""),g;if(" "===h||"\n"===h||"\f"===h||" "===h)return d.push(f),g.type="string",g.value=d.join(""),g;d.push(f),c="data"}else if("tag"===c)if(" "===h||"\n"===h||"\f"===h||" "===h)c="startTagAnnotation";else if("."===h)c="startTagClass";else if("/"===h)c="endTag";else if(h.match("[0-9]"))c="timestampTag",d.push(h);else{if(">"===h){e(b,1);break}if(""===h)return g.tagName="",g.type="startTag",g;d.push(h),c="startTag"}else if("startTag"===c)if(" "===h||"\f"===h||" "===h)c="startTagAnnotation";else if("\n"===h)f=h,c="startTagAnnotation";else if("."===h)c="startTagClass";else{if(">"===h)return e(b,1),g.tagName=d.join(""),g.type="startTag",g;if(""===h)return g.tagName=d.join(""),g.type="startTag",g;d.push(h)}else if("startTagClass"===c)if(" "===h||"\f"===h||" "===h)g.classes.push(f),f="",c="startTagAnnotation";else if("\n"===h)g.classes.push(f),f=h,c="startTagAnnotation";else if("."===h)g.classes.push(f),f="";else{if(">"===h)return e(b,1),g.classes.push(f),g.type="startTag",g.tagName=d.join(""),g;if(""===h)return g.classes.push(f),g.type="startTag",g.tagName=d.join(""),g;f+="c"}else if("startTagAnnotation"===c){if(">"===h)return e(b,1),f=a.trim(f).replace(/ +/," "),g.type="startTag",g.tagName=d.join(""),g.annotation=f,g;if(""===h)return f=a.trim(f).replace(/ +/," "),g.type="startTag",g.tagName=d.join(""),g.annotation=f,g;f+=h}else if("endTag"===c){if(">"===h)return e(b,1),g.type="endTag",g.tagName=d.join(""),g;if(""===h)return g.type="endTag",g.tagName=d.join(""),g;d.push(h)}else{if("timestampTag"!==c)throw"Unknown tokenState "+c;if(">"===h)return e(b,1),g.type="timestampTag",g.name=d.join(""),g;if(""===h)return g.type="timestampTag",g.name=d.join(""),g;d.push(h)}e(b,1)}}function r(b){var c=f(b);if(-1!==c.indexOf("-->"))return void(b.error="Invalid syntax: --> in NOTE line.");for(;;){var d=g(b);if(0===a.trim(d).length)return;if(-1!==d.indexOf("-->"))return void(b.error="Invalid syntax: --> in comment.");f(b)}}function s(a){""===a.text[0]&&e(a,1)}function t(a){"WEBVTT"===a.text.substring(0,6)?e(a,6):a.error="Invalid signature."}function u(a){a.text.length<3||"-->"!==a.text.substring(0,3)?a.error="Missing -->":e(a,3)}function v(a){for(;" "===a.text[0]||" "===a.text[0];)e(a,1)}function w(a){for(var b=0;" "===a.text[0]||" "===a.text[0];)e(a,1),b+=1;0===b&&(a.error="Missing space.")}function x(a){var b=a.text.indexOf("\n");-1===b?a.error="Missing EOL.":e(a,b+1)}function y(b){for(;b.text.length>0;){var c=g(b);if(0!==a.trim(c).length)break;f(b)}}function z(b){for(var c=0;b.text.length>0;){var d=g(b);if(0!==a.trim(d).length)break;f(b),c+=1}0===c&&(b.error="Missing empty line.")}function A(a){var b=j(a.text);if(-1===b)return void a.error("Missing timing.");var c=e(a,b),d=/((\d\d):)?((\d\d):)(\d\d).(\d\d\d)|(\d+).(\d\d\d)/.exec(c);if(!d)return void(a.error="Unable to parse timestamp");var f=0,g=d[2],h=d[4];if(h){if(parseInt(h,10)>59)return void(a.error="Invalid minute range");g&&(f+=3600*parseInt(g,10)),f+=60*parseInt(h,10);var i=d[5];if(parseInt(i,10)>59)return void(a.error="Invalid second range");f+=parseInt(i,10),f+=parseInt(d[6],10)/1e3}else f+=parseInt(d[7],10),f+=parseInt(d[8],10)/1e3;return f}AblePlayer.prototype.parseWebVTT=function(a,b){b=b.replace(/(\r\n|\n|\r)/g,"\n");var d={src:a,text:b,error:null,metadata:{},cues:[],line:1,column:1};try{c(d,h)}catch(e){var f="Invalid WebVTT file: "+d.src+"\n";f+="Line: "+d.line+", ",f+="Column: "+d.column+"\n",f+=e,console.warn||console.log}return d}}(jQuery),function(a){AblePlayer.prototype.injectPlayerCode=function(){if(this.$mediaContainer=this.$media.wrap('
').parent(),this.$ableDiv=this.$mediaContainer.wrap('
').parent(),this.$ableDiv.width(this.playerWidth),this.injectOffscreenHeading(),"video"===this.mediaType){"youtube"!==this.player&&this.injectBigPlayButton();var b=a("
",{"class":"able-vidcap-container"});this.$vidcapContainer=this.$mediaContainer.wrap(b).parent()}this.injectPlayerControlArea(),this.injectTextDescriptionArea(),this.includeTranscript&&(this.injectTranscriptArea(),this.addTranscriptAreaEvents()),this.injectAlert(),this.injectPlaylist(),this.injectPrefsForm()},AblePlayer.prototype.injectOffscreenHeading=function(){var b,c=this.$ableDiv.parents();if(c.each(function(){var c=a(this),d=c.find("h1, h2, h3, h4, h5, h6"),e=d.length;return e?(b=d.eq(e-1).prop("tagName"),!1):void 0}),"undefined"==typeof b)var b="h1";else{var d=parseInt(b[1]);d+=1,d>6&&(d=6),b="h"+d.toString()}this.playerHeadingLevel=d,this.$headingDiv=a("<"+b+">"),this.$ableDiv.prepend(this.$headingDiv),this.$headingDiv.addClass("able-offscreen"),this.$headingDiv.text(this.tt.playerHeading)},AblePlayer.prototype.injectBigPlayButton=function(){this.$bigPlayButton=a(""),j.click(function(){k.hide()}),b.append(j),this.helpDialog=k},AblePlayer.prototype.calculateControlLayout=function(){var a={ul:["play","stop"],ur:[],bl:[],br:[]};this.useSlider&&(a.ur.push("rewind"),a.ur.push("seek"),a.ur.push("forward"));var b=[];this.browserSupportsVolume()&&(b.push("mute"),b.push("volume-up"),b.push("volume-down"));var c=[];return"video"===this.mediaType&&(this.hasCaptions&&c.push("captions"),this.hasSignLanguage&&c.push("sign"),(this.hasOpenDesc||this.hasClosedDesc)&&c.push("descriptions")),this.includeTranscript&&this.useTranscriptButton&&c.push("transcript"),this.isPlaybackRateSupported()&&(c.push("slower"),c.push("faster")),"video"===this.mediaType&&this.hasChapters&&c.push("chapters"),b.length>0&&c.length>0?(a.bl=b,a.bl.push("pipe"),a.bl=a.bl.concat(c)):a.bl=b.concat(c),a.br.push("preferences"),a.br.push("help"),"video"===this.mediaType&&"jw"!==this.player&&a.br.push("fullscreen"),a},AblePlayer.prototype.addControls=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q=this,r=100,s=this.calculateControlLayout(),t={0:"ul",1:"ur",2:"bl",3:"br"};for(f=this.mediaId+"-tooltip",g=a("
",{id:f,"class":"able-tooltip"}),this.$controllerDiv.append(g),b=0;3>=b;b++){for(d=s[t[b]],e=b%2===0?a("",{"class":"able-left-controls"}):a("",{"class":"able-right-controls"}),this.$controllerDiv.append(e),c=0;c
');e.append(u),this.seekBar=new AccessibleSeekBar(u,r)}else if("pipe"===h){var v=a("",{tabindex:"-1","aria-hidden":"true"});if("font"===this.iconType)v.addClass("icon-pipe");else{var w=a("",{src:"../images/"+this.iconColor+"/pipe.png",alt:"",role:"presentation"});v.append(w)}e.append(v)}else{j="mute"===h?"../images/"+this.iconColor+"/volume-mute.png":"fullscreen"===h?"../images/"+this.iconColor+"/fullscreen-expand.png":"../images/"+this.iconColor+"/"+h+".png",k=this.getButtonTitle(h),l=a(""),k=a('");j.click(function(){var e=a("#"+c).val();e!==d&&(b.$activeWindow.css("width",e),b.$activeWindow.find("video").css({width:e+"px"})),b.resizeDialog.hide(),b.$windowPopup.hide(),b.$windowButton.show().focus()}),k.click(function(){dialog.hide()}),g.append(i,h),f.append(g),e.append(f,"
",j,k),a("body").append(e),this.resizeDialog=new AccessibleDialog(e,"alert",this.tt.windowResizeHeading,f,this.tt.closeButtonLabel,"20em")},AblePlayer.prototype.handleWindowButtonClick=function(a){return a.which>1&&32!==a.which&&13!==a.which?!1:this.hidingPopup?(this.hidingPopup=!1,!1):(this.$windowButton.hide(),this.$windowPopup.show(),this.$windowPopup.find("li").removeClass("able-focus"),this.$windowPopup.find("input:checked").val()?this.$windowPopup.find("input:checked").focus().parent().addClass("able-focus"):this.$windowPopup.find("input").first().focus().parent().addClass("able-focus"),void a.preventDefault())},AblePlayer.prototype.handleMenuChoice=function(a){var b=this;if("move"==a)this.showAlert(this.tt.windowMoveAlert,"sign"),b.startDrag(),this.$windowPopup.hide().parent().focus();else if("resize"==a)this.resizeDialog.show(),this.showAlert(this.tt.windowResizeAlert,"sign");else if("sendBack"==a){this.$activeWindow.css("z-index","0"),this.$windowPopup.css("z-index","4000").hide(),this.$windowButton.show().focus(),this.showAlert(this.tt.windowSendBackAlert,"sign");var c=this.$windowPopup.find("input:last");c.val("bringTop"),c.next("label").text(this.tt.windowBringTop)}else if("bringTop"==a){this.$activeWindow.css({"z-index":"4000"}),this.$windowPopup.hide(),this.$windowButton.show().focus(),this.showAlert(this.tt.windowBringTopAlert,"sign");var c=this.$windowPopup.find("input:last");c.val("sendBack"),c.next("label").text(this.tt.windowSendBack)}},AblePlayer.prototype.startDrag=function(){var b,c,d,e;return b=this,this.$activeWindow.addClass("able-drag").css({position:"absolute",top:this.dragStartY+"px",left:this.dragStartX+"px"}),c=this.$activeWindow.offset(),this.dragStartX=this.dXKeys=c.left,this.dragStartY=this.dYKeys=c.top,a(document).on("mousedown",function(a){b.dragging=!0,b.startMouseX=a.pageX,b.startMouseY=a.pageY,b.dragOffsetX=b.startMouseX-b.dragStartX,b.dragOffsetY=b.startMouseY-b.dragStartY}),a(document).on("mousemove",function(a){b.dragging&&(d=a.pageX-b.dragOffsetX,e=a.pageY-b.dragOffsetY,b.resetDraggedObject(d,e))}),a(document).on("mouseup",function(){b.dragging&&b.dragEnd()}),this.startingDrag=!0,this.$activeWindow.on("keydown",function(a){b.dragKeys(a)}),!1},AblePlayer.prototype.dragKeys=function(a){var b,c;if(this.startingDrag)return this.startingDrag=!1,!1;switch(b=a.which,c=10,b){case 37:case 63234:this.dXKeys-=c;break;case 38:case 63232:this.dYKeys-=c;break;case 39:case 63235:this.dXKeys+=c;break;case 40:case 63233:this.dYKeys+=c;break;case 13:case 27:return this.dragEnd(),!1;default:return!1}return this.resetDraggedObject(this.dXKeys,this.dYKeys),a.preventDefault&&a.preventDefault(),!1},AblePlayer.prototype.resetDraggedObject=function(a,b){this.$activeWindow.css({left:a+"px",top:b+"px"})},AblePlayer.prototype.dragEnd=function(){a(document).off("mousemove mouseup"),this.$activeWindow.off("keydown").removeClass("able-drag"),this.hidingPopup=!0,this.$windowPopup.hide(),setTimeout(function(){this.hidingPopup=!1},100),this.$windowButton.show().focus(),this.dragging=!1}}(jQuery),function(a){AblePlayer.prototype.initSignLanguage=function(){"html5"===this.player&&this.prefSignLanguage&&(this.signFile=this.$sources.first().attr("data-sign-src"),this.signFile?(this.debug,this.hasSignLanguage=!0,this.injectSignPlayerCode()):this.hasSignLanguage=!1)},AblePlayer.prototype.injectSignPlayerCode=function(){var b,c,d,e,f,g;for(b=this,c=this.mediaId+"-sign",this.$signVideo=a("
",{"class":"able-sign-window",draggable:"true",tabindex:"-1"}),this.$signWindow.append(this.$signVideo).hide(),this.$ableColumnRight?this.$ableColumnRight.append(this.$signWindow):this.splitPlayerIntoColumns("sign"),this.initDragDrop(this.$signWindow)}}(jQuery),function(){var a={ab:{name:"Abkhaz",nativeName:"аҧсуа"},aa:{name:"Afar",nativeName:"Afaraf"},af:{name:"Afrikaans",nativeName:"Afrikaans"},ak:{name:"Akan",nativeName:"Akan"},sq:{name:"Albanian",nativeName:"Shqip"},am:{name:"Amharic",nativeName:"አማርኛ"},ar:{name:"Arabic",nativeName:"العربية"},an:{name:"Aragonese",nativeName:"Aragonés"},hy:{name:"Armenian",nativeName:"Հայերեն"},as:{name:"Assamese",nativeName:"অসমীয়া"},av:{name:"Avaric",nativeName:"авар мацӀ, магӀарул мацӀ"},ae:{name:"Avestan",nativeName:"avesta"},ay:{name:"Aymara",nativeName:"aymar aru"},az:{name:"Azerbaijani",nativeName:"azərbaycan dili"},bm:{name:"Bambara",nativeName:"bamanankan"},ba:{name:"Bashkir",nativeName:"башҡорт теле"},eu:{name:"Basque",nativeName:"euskara, euskera"},be:{name:"Belarusian",nativeName:"Беларуская"},bn:{name:"Bengali",nativeName:"বাংলা"},bh:{name:"Bihari",nativeName:"भोजपुरी"},bi:{name:"Bislama",nativeName:"Bislama"},bs:{name:"Bosnian",nativeName:"bosanski jezik"},br:{name:"Breton",nativeName:"brezhoneg"},bg:{name:"Bulgarian",nativeName:"български език"},my:{name:"Burmese",nativeName:"ဗမာစာ"},ca:{name:"Catalan",nativeName:"Català"},ch:{name:"Chamorro",nativeName:"Chamoru"},ce:{name:"Chechen",nativeName:"нохчийн мотт"},ny:{name:"Chichewa",nativeName:"chiCheŵa, chinyanja"},zh:{name:"Chinese",nativeName:"中文 (Zhōngwén), 汉语, 漢語"},cv:{name:"Chuvash",nativeName:"чӑваш чӗлхи"},kw:{name:"Cornish",nativeName:"Kernewek"},co:{name:"Corsican",nativeName:"corsu, lingua corsa"},cr:{name:"Cree",nativeName:"ᓀᐦᐃᔭᐍᐏᐣ"},hr:{name:"Croatian",nativeName:"hrvatski"},cs:{name:"Czech",nativeName:"česky, čeština"},da:{name:"Danish",nativeName:"dansk"},dv:{name:"Divehi",nativeName:"ދިވެހި"},nl:{name:"Dutch",nativeName:"Nederlands, Vlaams"},en:{name:"English",nativeName:"English"},eo:{name:"Esperanto",nativeName:"Esperanto"},et:{name:"Estonian",nativeName:"eesti, eesti keel"},ee:{name:"Ewe",nativeName:"Eʋegbe"},fo:{name:"Faroese",nativeName:"føroyskt"},fj:{name:"Fijian",nativeName:"vosa Vakaviti"},fi:{name:"Finnish",nativeName:"suomi, suomen kieli"},fr:{name:"French",nativeName:"français, langue française"},ff:{name:"Fula",nativeName:"Fulfulde, Pulaar, Pular"},gl:{name:"Galician",nativeName:"Galego"},ka:{name:"Georgian",nativeName:"ქართული"},de:{name:"German",nativeName:"Deutsch"},el:{name:"Greek",nativeName:"Ελληνικά"},gn:{name:"Guaraní",nativeName:"Avañeẽ"},gu:{name:"Gujarati",nativeName:"ગુજરાતી"},ht:{name:"Haitian",nativeName:"Kreyòl ayisyen"},ha:{name:"Hausa",nativeName:"Hausa, هَوُسَ"},he:{name:"Hebrew",nativeName:"עברית"},hz:{name:"Herero",nativeName:"Otjiherero"},hi:{name:"Hindi",nativeName:"हिन्दी, हिंदी"},ho:{name:"Hiri Motu",nativeName:"Hiri Motu"},hu:{name:"Hungarian",nativeName:"Magyar"},ia:{name:"Interlingua",nativeName:"Interlingua"},id:{name:"Indonesian",nativeName:"Bahasa Indonesia"},ie:{name:"Interlingue",nativeName:"Originally called Occidental; then Interlingue after WWII"},ga:{name:"Irish",nativeName:"Gaeilge"},ig:{name:"Igbo",nativeName:"Asụsụ Igbo"},ik:{name:"Inupiaq",nativeName:"Iñupiaq, Iñupiatun"},io:{name:"Ido",nativeName:"Ido"},is:{name:"Icelandic",nativeName:"Íslenska"},it:{name:"Italian",nativeName:"Italiano"},iu:{name:"Inuktitut",nativeName:"ᐃᓄᒃᑎᑐᑦ"},ja:{name:"Japanese",nativeName:"日本語 (にほんご/にっぽんご)"},jv:{name:"Javanese",nativeName:"basa Jawa"},kl:{name:"Kalaallisut",nativeName:"kalaallisut, kalaallit oqaasii"},kn:{name:"Kannada",nativeName:"ಕನ್ನಡ"},kr:{name:"Kanuri",nativeName:"Kanuri"},ks:{name:"Kashmiri",nativeName:"कश्मीरी, كشميري‎"},kk:{name:"Kazakh",nativeName:"Қазақ тілі"},km:{name:"Khmer",nativeName:"ភាសាខ្មែរ"},ki:{name:"Kikuyu",nativeName:"Gĩkũyũ"},rw:{name:"Kinyarwanda",nativeName:"Ikinyarwanda"},ky:{name:"Kyrgyz",nativeName:"кыргыз тили"},kv:{name:"Komi",nativeName:"коми кыв"},kg:{name:"Kongo",nativeName:"KiKongo"},ko:{name:"Korean",nativeName:"한국어 (韓國語), 조선말 (朝鮮語)"},ku:{name:"Kurdish",nativeName:"Kurdî, كوردی‎"},kj:{name:"Kuanyama",nativeName:"Kuanyama"},la:{name:"Latin",nativeName:"latine, lingua latina"},lb:{name:"Luxembourgish",nativeName:"Lëtzebuergesch"},lg:{name:"Luganda",nativeName:"Luganda"},li:{name:"Limburgish",nativeName:"Limburgs"},ln:{name:"Lingala",nativeName:"Lingála"},lo:{name:"Lao",nativeName:"ພາສາລາວ"},lt:{name:"Lithuanian",nativeName:"lietuvių kalba"},lu:{name:"Luba-Katanga",nativeName:""},lv:{name:"Latvian",nativeName:"latviešu valoda"},gv:{name:"Manx",nativeName:"Gaelg, Gailck"},mk:{name:"Macedonian",nativeName:"македонски јазик"},mg:{name:"Malagasy",nativeName:"Malagasy fiteny"},ms:{name:"Malay",nativeName:"bahasa Melayu, بهاس ملايو‎"},ml:{name:"Malayalam",nativeName:"മലയാളം"},mt:{name:"Maltese",nativeName:"Malti"},mi:{name:"Māori",nativeName:"te reo Māori"},mr:{name:"Marathi",nativeName:"मराठी"},mh:{name:"Marshallese",nativeName:"Kajin M̧ajeļ"},mn:{name:"Mongolian",nativeName:"монгол"},na:{name:"Nauru",nativeName:"Ekakairũ Naoero"},nv:{name:"Navajo",nativeName:"Diné bizaad, Dinékʼehǰí"},nb:{name:"Norwegian Bokmål",nativeName:"Norsk bokmål"},nd:{name:"North Ndebele",nativeName:"isiNdebele"},ne:{name:"Nepali",nativeName:"नेपाली"},ng:{name:"Ndonga",nativeName:"Owambo"},nn:{name:"Norwegian Nynorsk",nativeName:"Norsk nynorsk"},no:{name:"Norwegian",nativeName:"Norsk"},ii:{name:"Nuosu",nativeName:"ꆈꌠ꒿ Nuosuhxop"},nr:{name:"South Ndebele",nativeName:"isiNdebele"},oc:{name:"Occitan",nativeName:"Occitan"},oj:{name:"Ojibwe",nativeName:"ᐊᓂᔑᓈᐯᒧᐎᓐ"},cu:{name:"Church Slavonic",nativeName:"ѩзыкъ словѣньскъ"},om:{name:"Oromo",nativeName:"Afaan Oromoo"},or:{name:"Oriya",nativeName:"ଓଡ଼ିଆ"},os:{name:"Ossetian",nativeName:"ирон æвзаг"},pa:{name:"Punjabi",nativeName:"ਪੰਜਾਬੀ, پنجابی‎"},pi:{name:"Pāli",nativeName:"पाऴि"},fa:{name:"Persian",nativeName:"فارسی"},pl:{name:"Polish",nativeName:"polski"},ps:{name:"Pashto",nativeName:"پښتو"},pt:{name:"Portuguese",nativeName:"Português"},qu:{name:"Quechua",nativeName:"Runa Simi, Kichwa"},rm:{name:"Romansh",nativeName:"rumantsch grischun"},rn:{name:"Kirundi",nativeName:"kiRundi"},ro:{name:"Romanian",nativeName:"română"},ru:{name:"Russian",nativeName:"русский язык"},sa:{name:"Sanskrit",nativeName:"संस्कृतम्"},sc:{name:"Sardinian",nativeName:"sardu"},sd:{name:"Sindhi",nativeName:"सिन्धी, سنڌي، سندھی‎"},se:{name:"Northern Sami",nativeName:"Davvisámegiella"},sm:{name:"Samoan",nativeName:"gagana faa Samoa"},sg:{name:"Sango",nativeName:"yângâ tî sängö"},sr:{name:"Serbian",nativeName:"српски језик"},gd:{name:"Gaelic",nativeName:"Gàidhlig"},sn:{name:"Shona",nativeName:"chiShona"},si:{name:"Sinhalese",nativeName:"සිංහල"},sk:{name:"Slovak",nativeName:"slovenčina"},sl:{name:"Slovene",nativeName:"slovenščina"},so:{name:"Somali",nativeName:"Soomaaliga, af Soomaali"},st:{name:"Southern Sotho",nativeName:"Sesotho"},es:{name:"Spanish",nativeName:"español, castellano"},su:{name:"Sundanese",nativeName:"Basa Sunda"},sw:{name:"Swahili",nativeName:"Kiswahili"},ss:{name:"Swati",nativeName:"SiSwati"},sv:{name:"Swedish",nativeName:"svenska"},ta:{name:"Tamil",nativeName:"தமிழ்"},te:{name:"Telugu",nativeName:"తెలుగు"},tg:{name:"Tajik",nativeName:"тоҷикӣ, toğikī, تاجیکی‎"},th:{name:"Thai",nativeName:"ไทย"},ti:{name:"Tigrinya",nativeName:"ትግርኛ"},bo:{name:"Tibetan",nativeName:"བོད་ཡིག"},tk:{name:"Turkmen",nativeName:"Türkmen, Түркмен"},tl:{name:"Tagalog",nativeName:"Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔"},tn:{name:"Tswana",nativeName:"Setswana"},to:{name:"Tonga",nativeName:"faka Tonga"},tr:{name:"Turkish",nativeName:"Türkçe"},ts:{name:"Tsonga",nativeName:"Xitsonga"},tt:{name:"Tatar",nativeName:"татарча, tatarça, تاتارچا‎"},tw:{name:"Twi",nativeName:"Twi"},ty:{name:"Tahitian",nativeName:"Reo Tahiti"},ug:{name:"Uyghur",nativeName:"Uyƣurqə, ئۇيغۇرچە‎"},uk:{name:"Ukrainian",nativeName:"українська"},ur:{name:"Urdu",nativeName:"اردو"},uz:{name:"Uzbek",nativeName:"zbek, Ўзбек, أۇزبېك‎"},ve:{name:"Venda",nativeName:"Tshivenḓa"},vi:{name:"Vietnamese",nativeName:"Tiếng Việt"},vo:{name:"Volapük",nativeName:"Volapük"},wa:{name:"Walloon",nativeName:"Walon"},cy:{name:"Welsh",nativeName:"Cymraeg"},wo:{name:"Wolof",nativeName:"Wollof"},fy:{name:"Western Frisian",nativeName:"Frysk"},xh:{name:"Xhosa",nativeName:"isiXhosa"},yi:{name:"Yiddish",nativeName:"ייִדיש"},yo:{name:"Yoruba",nativeName:"Yorùbá"},za:{name:"Zhuang",nativeName:"Saɯ cueŋƅ, Saw cuengh"}};AblePlayer.prototype.getLanguageName=function(b){b=b.slice(0,2);var c=a[b];return c?c.name:void 0},AblePlayer.prototype.getLanguageNativeName=function(b){b=b.slice(0,2);var c=a[b];return c?c.nativeName:void 0}}(jQuery),function($){AblePlayer.prototype.getSupportedLangs=function(){var a=["en","de","es","nl"];return a},AblePlayer.prototype.getTranslationText=function(){var gettingText,lang,thisObj,msg;gettingText=$.Deferred(),this.forceLang||($("body").attr("lang")?lang=$("body").attr("lang"):$("html").attr("lang")&&(lang=$("html").attr("lang")),lang!==this.lang&&(msg="Language of web page ("+lang+") ",-1!==$.inArray(lang,this.getSupportedLangs())?(msg+=" has a translation table available.",this.lang=lang):msg+=" is not currently supported. Using default language ("+this.lang+")",this.debug));var de={playerHeading:"Media Player",faster:"Schneller",slower:"Langsamer",chapters:"Kapitel",play:"Abspielen",pause:"Pause",stop:"Anhalten",rewind:"Zurück springen",forward:"Vorwärts springen",captions:"Untertitel",showCaptions:"Untertitel anzeigen",hideCaptions:"Untertitel verstecken",captionsOff:"Untertitel ausschalten",showTranscript:"Transkription anzeigen",hideTranscript:"Transkription entfernen",turnOnDescriptions:"Audiodeskription einschalten",turnOffDescriptions:"Audiodeskription ausschalten",language:"Sprache",sign:"Gebärdensprache",showSign:"Gebärdensprache anzeigen",hideSign:"Gebärdensprache verstecken",mute:"Ton ausschalten",unmute:"Ton einschalten",volume:"Lautstärke",volumeUp:"Lauter",volumeDown:"Leiser",preferences:"Einstellungen",enterFullScreen:"Vollbildmodus einschalten",exitFullScreen:"Vollbildmodus verlassen",fullScreen:"Vollbildmodus",speed:"Geschwindigkeit",or:"oder",spacebar:"Leertaste",autoScroll:"Automatisch scrollen",unknown:"Unbekannt",statusPlaying:"Gestartet",statusPaused:"Pausiert",statusStopped:"Angehalten",statusWaiting:"Wartend",statusBuffering:"Daten werden empfangen...",statusUsingDesc:"Version mit Audiodeskription wird verwendet",statusLoadingDesc:"Version mit Audiodeskription wird geladen",statusUsingNoDesc:"Version ohne Audiodeskription wird verwendet",statusLoadingNoDesc:"Version ohne Audiodeskription wird geladen",statusLoadingNext:"Der nächste Titel wird geladen",statusEnd:"Ende des Titels",selectedTrack:"Ausgewählter Titel",alertDescribedVersion:"Audiodeskription wird verwendet für dieses Video",fallbackError1:"Abspielen ist mit diesem Browser nicht möglich",fallbackError2:"Folgende Browser wurden mit AblePlayer getestet",orHigher:"oder höher",prefTitle:"Einstellungen",prefIntro:"Beachten: es werden Cookies verwendet, um Ihre persönliche Einstellungen zu speichern.",prefFeatures:"Funktionen",prefKeys:"Tastenkombination für Kurzwahl (siehe Hilfe)",prefAltKey:"Alt-Taste",prefCtrlKey:"Strg-Taste",prefShiftKey:"Umschalttaste",prefCaptions:"Untertitel automatisch einschalten",prefSignLanguage:"Gebärdensprache automatisch einschalten",prefDesc:"Audiodeskription automatisch einschalten",prefClosedDesc:"Textbasierte Szenenbeschreibungen verwenden, wenn vorhanden",prefDescPause:"Video automatisch anhalten, wenn textbasierte Szenenbeschreibungen eingeblendet werden",prefVisibleDesc:"Textbasierte Szenenbeschreibungen einblenden, wenn diese aktiviert sind",prefTranscript:"Transkription standardmäßig einschalten",prefHighlight:"Transkription hervorheben, während das Medium abgespielt wird",prefTabbable:"Transkription per Tastatur ein-/ausschaltbar machen",prefSuccess:"Ihre Änderungen wurden gespeichert.",prefNoChange:"Es gab keine Änderungen zu speichern.",help:"Hilfe",helpTitle:"Hilfe",helpKeys:"Der Media-Player in dieser Webseite kann mit Hilfe der folgenden Tasten direkt bedient werden:",helpKeysDisclaimer:"Beachten Sie, dass die Tastenkürzel (Umschalt-, Alt- und Strg-Tastenkombinationen) in den Einstellungen zugewiesen werden können. Falls gewisse Tastenkürzel nicht funktionieren (weil sie bereits vom Browser oder anderen Applikationen verwendet werden), empfehlen wir, andere Tastenkombinationen auszuprobieren.",save:"Speichern",cancel:"Abbrechen",ok:"Ok",done:"Fertig",closeButtonLabel:"Schließen",windowButtonLabel:"Fenster Manipulationen",windowMove:"Verschieben",windowMoveAlert:"Fenster mit Pfeiltasten oder Maus verschieben; beenden mit Eingabetaste",windowResize:"Größe verändern",windowResizeHeading:"Größe des Gebärdensprache-Fenster",windowResizeAlert:"Die Größe wurde angepasst.",width:"Breite",height:"Höhe",windowSendBack:"In den Hintergrund verschieben",windowSendBackAlert:"Dieses Fenster ist jetzt im Hintergrund und wird von anderen Fenstern verdeckt.",windowBringTop:"In den Vordergrund holen",windowBringTopAlert:"Dieses Fenster ist jetzt im Vordergrund."},en={playerHeading:"Media player",faster:"Faster",slower:"Slower",play:"Play",pause:"Pause",stop:"Stop",rewind:"Rewind",forward:"Forward",captions:"Captions",showCaptions:"Show captions",hideCaptions:"Hide captions",captionsOff:"Captions off",showTranscript:"Show transcript",hideTranscript:"Hide transcript",turnOnDescriptions:"Turn on descriptions",turnOffDescriptions:"Turn off descriptions",chapters:"Chapters",language:"Language",sign:"Sign language",showSign:"Show sign language",hideSign:"Hide sign language",mute:"Mute",unmute:"Unmute",volume:"Volume",volumeUp:"Volume up",volumeDown:"Volume down",preferences:"Preferences",enterFullScreen:"Enter full screen",exitFullScreen:"Exit full screen",fullScreen:"Full screen",speed:"Speed",or:"or",spacebar:"spacebar",autoScroll:"Auto scroll",unknown:"Unknown",statusPlaying:"Playing",statusPaused:"Paused",statusStopped:"Stopped",statusWaiting:"Waiting",statusBuffering:"Buffering",statusUsingDesc:"Using described version",statusLoadingDesc:"Loading described version",statusUsingNoDesc:"Using non-described version",statusLoadingNoDesc:"Loading non-described version",statusLoadingNext:"Loading next track",statusEnd:"End of track",selectedTrack:"Selected Track",alertDescribedVersion:"Using the audio described version of this video",fallbackError1:"Sorry, your browser is unable to play this",fallbackError2:"The following browsers are known to work with this media player",orHigher:"or higher",prefTitle:"Preferences",prefIntro:"Saving your preferences requires cookies.",prefFeatures:"Features",prefKeys:"Modifier keys used for shortcuts (see help)",prefAltKey:"Alt",prefCtrlKey:"Control",prefShiftKey:"Shift",prefCaptions:"Closed captions on by default",prefSignLanguage:"Show sign language if available",prefDesc:"Description on by default",prefClosedDesc:"Use text-based description if available",prefDescPause:"Automatically pause video when text-based description starts",prefVisibleDesc:"If using text-based description,make it visible",prefTranscript:"Transcript on by default",prefHighlight:"Highlight transcript as media plays",prefTabbable:"Keyboard-enable transcript",prefSuccess:"Your changes have been saved.",prefNoChange:"You didn't make any changes.",help:"Help",helpTitle:"Help",helpKeys:"The media player on this web page can be operated from anywhere on the page using the following keystrokes:",helpKeysDisclaimer:"Note that modifier keys (Shift, Alt, and Control) can be assigned within Preferences. Some shortcut key combinations might conflict with keys used by your browser and/or other software applications. Try various combinations of modifier keys to find one that works for you.",save:"Save",cancel:"Cancel",ok:"ok",done:"Done",closeButtonLabel:"Close dialog",windowButtonLabel:"Window options",windowMove:"Move",windowMoveAlert:"Drag or use arrow keys to move the window; Enter to stop",windowResize:"Resize",windowResizeHeading:"Resize Interpreter Window",windowResizeAlert:"The window has been resized.",width:"Width",height:"Height",windowSendBack:"Send to back",windowSendBackAlert:"This window is now behind other objects on the page.",windowBringTop:"Bring to front",windowBringTopAlert:"This window is now in front of other objects on the page."},es={playerHeading:"Media player",faster:"Rápido",slower:"Lento",play:"Play",pause:"Pausa",stop:"Detener",rewind:"Rebobinar",forward:"Adelantar",captions:"Subtítulos",showCaptions:"Mostrar subtítulos",hideCaptions:"Ocultar subtítulos",captionsOff:"Quitar subtítulos",showTranscript:"Mostrar transcripción",hideTranscript:"Ocultar transcripción",turnOnDescriptions:"Habilitar descripciones",turnOffDescriptions:"Deshabilitar descripciones",chapters:"Capítulos",language:"Idioma",sign:"Lengua de señas",showSign:"Mostrar lengua de señas",hideSign:"Ocultar lengua de señas",mute:"Silenciar",unmute:"Reactivar sonido",volume:"Volumen",volumeUp:"Subir volumen",volumeDown:"Bajar volumen",preferences:"Preferencias",enterFullScreen:"Ver a pantalla completa",exitFullScreen:"Salir de pantalla completa",fullScreen:"Pantalla completa",speed:"Velocidad",or:"o",spacebar:"Barra espaciadora",autoScroll:"Desplazamiento automático",unknown:"Desconocido",statusPlaying:"Reproduciendo",statusPaused:"Pausado",statusStopped:"Detenido",statusWaiting:"Esperando",statusBuffering:"Almacenando",statusUsingDesc:"Utilizando versión descrita",statusLoadingDesc:"Cargando versión descrita",statusUsingNoDesc:"Utilizando versión no descrita",statusLoadingNoDesc:"Cargando versión no descrita",statusLoadingNext:"Cargando la siguiente pista",statusEnd:"Fin de pista",selectedTrack:"Pista seleccionada",alertDescribedVersion:"Utilizando la versión audiodescrita del vídeo",fallbackError1:"Lo sentimos, su navegador no puede reproducir esto",fallbackError2:"Los siguientes navegadores se sabe pueden trabajar con este reproductor",orHigher:"o superior",prefTitle:"Preferencias",prefIntro:"Guardar sus preferencias requiere el uso de cookies.",prefFeatures:"Características",prefKeys:"Teclas modificadoras",prefAltKey:"Alt",prefCtrlKey:"Control",prefShiftKey:"Mayúscula",prefCaptions:"Subtítulos habilitados por defecto",prefSignLanguage:"Mostrar lengua de señas si está disponible",prefDesc:"Habilitar descripción por defecto",prefClosedDesc:"Utilizar descripciones en texto si están disponibles",prefDescPause:"Pausar automáticamente el video cuando arranque una descripción en texto",prefVisibleDesc:"Hacer visibles las descripciones en texto si se están usando",prefTranscript:"Habilitar transcripción por defecto",prefHighlight:"Resaltar la transcripción según avanza el contenido",prefTabbable:"Transcripción manejable por teclado",prefSuccess:"Los cambios han sido guardados.",prefNoChange:"No se ha hecho ningún cambio.",help:"Ayuda",helpTitle:"Ayuda",helpKeys:"El reproductor en esta página pude ser manejado desde cualquier parte de la pa´gina utilizando los siguientes atajos de teclado:",helpKeysDisclaimer:"Tengan en cuenta que las teclas modificadoras (Mayúsculas, Alt, y Control) pueden ser asignadas en las preferencias. Algunas combinaaciones de atajos de teclado pueden entrar en conflicto con teclas utilizadas por su navegador y/o otras aplicaciones. Pruebe varias combinaciones de teclas modificadoras hasta encontrar la que funcione en su caso.",save:"Guardar",cancel:"Cancelar",ok:"ok",done:"Hecho",closeButtonLabel:"Cerrar cuadro de diálogo",windowButtonLabel:"Opciones en Windows",windowMove:"Mover",windowMoveAlert:"Arrastre o use las teclas de flecha para mover la ventana, pulse Enter para parar.",windowResize:"Redimensionar",windowResizeHeading:"Redimensionar la ventana con el intérprete",windowResizeAlert:"La ventana ha sido redimensionada.",width:"Ancho",height:"Alto",windowSendBack:"Enviar atrás",windowSendBackAlert:"Esta ventana no se encuentra tras otros objetos en la página.",windowBringTop:"Traer al frente",windowBringTopAlert:"Esta ventan está ahora en el frente de otros objetos en la página."},nl={playerHeading:"Mediaspeler",faster:"Sneller",slower:"Langzamer",play:"Afspelen",pause:"Pauzeren",stop:"Stoppen",rewind:"Terug",forward:"Verder",captions:"Ondertiteling",showCaptions:"Toon ondertiteling",hideCaptions:"Verberg ondertiteling",captionsOff:"Ondertiteling uit",showTranscript:"Toon transcript",hideTranscript:"Vergerg transcript",turnOnDescriptions:"Beschrijvingen aanzetten",turnOffDescriptions:"Beschrijvingen uitzetten",chapters:"Hoofdstukken",language:"Taal",sign:"Gebarentaal",showSign:"Toon gebarentaal",hideSign:"Verberg gebarentaal",mute:"Dempen",unmute:"Dempen uit",volume:"Volume",volumeUp:"Volume hoger",volumeDown:"Volume lager",preferences:"Voorkeuren",enterFullScreen:"Ga naar volledig scherm",exitFullScreen:"Verlaat volledig scherm",fullScreen:"Volledig scherm",speed:"Snelheid",audio:"audio",video:"video",or:"of",spacebar:"spatietoets",autoScroll:"Auto scroll",unknown:"Onbekend",statusPlaying:"Aan het spelen",statusPaused:"Gepauzeerd",statusStopped:"Gestopt",statusWaiting:"Aan het wachten",statusBuffering:"Aan het bufferen",statusUsingDesc:"Versie met beschrijving wordt gebruikt",statusLoadingDesc:"Versie met beschrijving wordt geladen",statusUsingNoDesc:"Versie zonder beschrijving wordt gebruikt",statusLoadingNoDesc:"Versie zonder beschrijving wordt geladen",statusLoadingNext:"Volgende track wordt geladen",statusEnd:"Einde van track",selectedTrack:"Geselecteerde Track",alertDescribedVersion:"Versie met audiobeschrijving wordt gebruikt",fallbackError1:"Sorry, je browser kan dit mediabestand niet afspelen",fallbackError2:"De volgende browsers kunnen met deze mediaspeler overweg:",orHigher:"of hoger",prefTitle:"Voorkeuren",prefIntro:"Om je voorkeuren op te slaan moet je cookies toestaan",prefFeatures:"Kenmerken",prefKeys:"Aangepaste toetsen",prefAltKey:"Alt",prefCtrlKey:"Control",prefShiftKey:"Shift",prefCaptions:"Ondertiteling standaard aan",prefSignLanguage:"Toon gebarentaal als deze beschikbaar is",prefDesc:"Beschrijving standaard aan",prefClosedDesc:"Gebruik tekst-gebaseerde beschrijving als deze beschikbaar is",prefDescPause:"Pauzeer video automatisch als tekst-gebaseerde beschrijving aan wordt gezet",prefVisibleDesc:"Als er een tekst-gebaseerde beschrijving is, maak deze dan zichtbaar",prefTranscript:"Transcript standaard aan",prefHighlight:"Transcript highlighten terwijl media speelt",prefTabbable:"Maak transcript bedienbaar met toetsenbord",prefSuccess:"Je wijzigingen zijn opgeslagen.",prefNoChange:"Je hebt geen wijzigingen gemaakt.",help:"Help",helpTitle:"Help",helpKeys:"De mediaspeler op deze pagina kan van elke locatie op de pagina bediend worden met de volgende toetsenbordaanslagen:",helpKeysDisclaimer:"De toetsen om te bewerken (Shift, Alt, and Control) kunnen bij Voorkeuren ingesteld worden. Sommige combinaties conflicteren misschien met andere instellingen van uw computer of browser. Probeer een aantal combinaties tot je iets hebt gevonden dat werkt.",save:"Opslaan",cancel:"Annuleren",ok:"ok",done:"Klaar",closeButtonLabel:"Sluit venster",windowButtonLabel:"Venster instellingen",windowMove:"Verplaats",windowMoveAlert:"Versleep of gebruik de pijltjestoetsen om te verplaatsen. Druk op Enter om te stoppen.",windowResize:"Verkleinen of vergroten",windowResizeHeading:"Verander grootte van scherm met gebarentolk",windowResizeAlert:"Het venster is van grootte veranderd.",width:"Breedte",height:"Hoogte",windowSendBack:"Verplaats naar achteren",windowSendBackAlert:"Het scherm staat nu achter andere objecten op deze pagina.",windowBringTop:"Verplaats naar voren",windowBringTopAlert:"Het scherm staat nu voor andere objecten op deze pagina."};return this.tt=eval(this.lang),gettingText.resolve(),gettingText.promise()}}(jQuery); \ No newline at end of file +/*! ableplayer V2.2.4 */ +"use strict";!function(a){a(document).ready(function(){a("video, audio").each(function(b,c){void 0!==a(c).data("able-player")&&new AblePlayer(a(this),a(c))})}),window.onYouTubeIframeAPIReady=function(){AblePlayer.youtubeIframeAPIReady=!0,a("body").trigger("youtubeIframeAPIReady",[])},a(window).keydown(function(a){1===AblePlayer.nextIndex&&AblePlayer.lastCreated.onPlayerKeyPress(a)}),window.AblePlayer=function(b){if(AblePlayer.lastCreated=this,this.setDefaults(),this.media=b,0!==a(b).length){void 0!==a(b).attr("autoplay")&&"false"!==a(b).attr("autoplay")?this.autoplay=!0:this.autoplay=!1;var c=b.data("include-transcript");if((void 0===c||""===c)&&b.find('track[kind="captions"], track[kind="subtitles"]').length>0&&(c=!0),c?this.includeTranscript=!0:this.includeTranscript=!1,void 0!==a(b).data("start-time")&&""!==a(b).data("start-time")?this.startTime=a(b).data("start-time"):this.startTime=0,void 0!==a(b).data("transcript-div")&&""!==a(b).data("transcript-div")&&(this.transcriptDivLocation=a(b).data("transcript-div")),void 0!==a(b).data("use-transcript-button")&&a(b).data("use-transcript-button")===!1&&(this.useTranscriptButton=!1),void 0!==a(b).data("lyrics-mode")&&"false"!==a(b).data("lyrics-mode")&&(this.lyricsMode=!0),void 0!==a(b).data("transcript-title")&&(this.transcriptTitle=a(b).data("transcript-title")),void 0!==a(b).data("youtube-id")&&""!==a(b).data("youtube-id")&&(this.youtubeId=a(b).data("youtube-id")),void 0!==a(b).data("youtube-desc-id")&&""!==a(b).data("youtube-desc-id")&&(this.youtubeDescId=a(b).data("youtube-desc-id")),void 0!==a(b).data("debug")&&"false"!==a(b).data("debug")&&(this.debug=!0),void 0!==a(b).data("volume")&&""!==a(b).data("volume")){var d=a(b).data("volume");d>=0&&1>=d&&(this.defaultVolume=d)}if(void 0!==a(b).data("icon-type")&&""!==a(b).data("icon-type")){var e=a(b).data("icon-type");("font"===e||"image"==e)&&(this.iconType=e)}if(void 0!==a(b).data("seek-interval")&&""!==a(b).data("seek-interval")){var f=a(b).data("seek-interval");/^[1-9][0-9]*$/.test(f)&&(this.seekInterval=f,this.useFixedSeekInterval=!0)}if(void 0!==a(b).data("show-now-playing")&&"false"!==a(b).data("show-now-playing")&&(this.showNowPlaying=!0),void 0!==a(b).data("fallback")&&""!==a(b).data("fallback")){var g=a(b).data("fallback");"jw"===g&&(this.fallback=g)}if(void 0!==a(b).data("test-fallback")&&"false"!==a(b).data("test-fallback")&&(this.testFallback=!0),void 0!==a(b).data("fallback-path")&&"false"!==a(b).data("fallback-path")&&(this.fallbackPath=a(b).data("fallback-path")),void 0!==a(b).data("lang")&&""!==a(b).data("lang")){var h=a(b).data("lang");2==h.length&&(this.lang=h)}void 0!==a(b).data("force-lang")&&"false"!==a(b).data("force-lang")&&(this.forceLang=!0),void 0!==a(b).data("meta-div")&&""!==a(b).data("meta-div")&&(this.metaDiv=a(b).data("meta-div")),void 0!==a(b).data("search")&&""!==a(b).data("search")&&void 0!==a(b).data("search-div")&&""!==a(b).data("search-div")&&(this.searchString=a(b).data("search"),this.searchDiv=a(b).data("search-div")),this.ableIndex=AblePlayer.nextIndex,AblePlayer.nextIndex+=1,this.title=a(b).attr("title"),this.tt={};var i=this;a.when(this.getTranslationText()).then(function(){i.countProperties(i.tt)>50&&(i.setup(),i.startTime>0&&!i.autoplay&&i.onMediaUpdateTime())})}},AblePlayer.nextIndex=0,AblePlayer.prototype.setup=function(){var a=this;this.debug&&this.startTime>0,this.reinitialize().then(function(){a.player?a.setupInstance().then(function(){a.recreatePlayer()}):a.provideFallback()})},AblePlayer.youtubeIframeAPIReady=!1,AblePlayer.loadingYoutubeIframeAPI=!1}(jQuery),function(a){AblePlayer.prototype.setDefaults=function(){this.debug=!1,this.rootPath=this.getRootWebSitePath(),this.defaultVolume=.5,this.playerWidth=480,this.playerHeight=360,this.iconColor="white",this.iconType="font",this.seekInterval=10,this.useFixedSeekInterval=!1,this.useSlider=!0,this.showNowPlaying=!0,this.fallback="jw",this.fallbackPath=this.rootPath+"/thirdparty/",this.testFallback=!1,this.lang="en",this.forceLang=!1,this.loop=!0,this.lyricsMode=!1,this.transcriptTitle="Transcript",this.useTranscriptButton=!0,this.setButtonImages()},AblePlayer.prototype.getRootWebSitePath=function(){var a=document.location.toString(),b=a.indexOf("/",a.indexOf("://")+3),c=a.substring(0,b)+"/",d=a.indexOf("/",a.indexOf(c)+c.length),e=a.substring(0,d);return e},AblePlayer.prototype.setButtonImages=function(){var a="../images/"+this.iconColor+"/";this.playButtonImg=a+"play.png",this.pauseButtonImg=a+"pause.png",this.rewindButtonImg=a+"rewind.png",this.forwardButtonImg=a+"forward.png",this.fasterButtonImg=a+"slower.png",this.slowerButtonImg=a+"faster.png",this.volumeMuteButtonImg=a+"volume-mute.png",this.volumeLoudButtonImg=a+"volume-loud.png",this.volumeIncreaseButtonImg=a+"volume-up.png",this.volumeDecreaseButtonImg=a+"volume-down.png",this.captionsButtonImg=a+"captions.png",this.chaptersButtonImg=a+"chapters.png",this.signButtonImg=a+"sign.png",this.transcriptButtonImg=a+"transcript.png",this.descriptionsButtonImg=a+"descriptions.png",this.fullscreenExpandButtonImg=a+"fullscreen-expand.png",this.fullscreenCollapseButtonImg=a+"fullscreen-collapse.png",this.prefsButtonImg=a+"preferences.png",this.helpButtonImg=a+"help.png"},AblePlayer.prototype.reinitialize=function(){var b=new a.Deferred,c=b.promise();if(window.console||(this.debug=!1),this.startedPlaying=!1,this.autoScrollTranscript=!0,this.$media=a(this.media).first(),this.media=this.$media[0],this.$media.is("audio"))this.mediaType="audio";else{if(!this.$media.is("video"))return this.mediaType=this.$media.get(0).tagName,this.debug,b.fail(),c;this.mediaType="video"}return this.$sources=this.$media.find("source"),this.debug,this.player=this.getPlayer(),this.setIconType(),this.setDimensions(),b.resolve(),c},AblePlayer.prototype.setDimensions=function(){this.$media.attr("width")&&(this.playerWidth=parseInt(this.$media.attr("width"),10)),this.$media.attr("height")&&(this.playerHeight=parseInt(this.$media.attr("height"),10))},AblePlayer.prototype.setIconType=function(){var b;b=a("",{"class":"icon-play able-clipped"}),a("body").append(b),"font"===this.iconType&&(window.getComputedStyle?(this.controllerFont=window.getComputedStyle(b.get(0),null).getPropertyValue("font-family"),this.controllerFont?(this.controllerFont=this.controllerFont.replace(/["']/g,""),this.iconType="font"):this.iconType="image"):this.iconType="image"),this.debug&&"font"===this.iconType,b.remove()},AblePlayer.prototype.setupInstance=function(){var b=new a.Deferred,c=b.promise();return this.$media.attr("id")?this.mediaId=this.$media.attr("id"):(this.mediaId="ableMediaId_"+this.ableIndex,this.$media.attr("id",this.mediaId)),this.setupInstancePlaylist(),b.resolve(),c},AblePlayer.prototype.setupInstancePlaylist=function(){var b=this;if(this.hasPlaylist=!1,a(".able-playlist").each(function(){if(a(this).data("player")===b.mediaId){b.hasPlaylist=!0,b.$playlist=a(this).find("li"),a(this).find("li").attr("tabindex","0"),b.playlistIndex=0;var c=a(this).data("embedded");"undefined"!=typeof c&&c!==!1?b.playlistEmbed=!0:b.playlistEmbed=!1}}),this.hasPlaylist&&this.playlistEmbed){var c=this.$playlist.parent();this.$playlistDom=c.clone(),c.remove()}},AblePlayer.prototype.recreatePlayer=function(){var a=this;return this.player?(this.setMediaAttributes(),this.loadCurrentPreferences(),this.injectPlayerCode(),this.initSignLanguage(),void this.setupTracks().then(function(){a.setupPopups(),a.initDescription(),a.updateDescription(),a.initializing=!1,a.initPlayer(),a.initDefaultCaption(),a.updateCaption(),a.updateTranscript(),a.showSearchResults()})):void console.log("Can't create player; no appropriate player type detected.")},AblePlayer.prototype.initPlayer=function(){var b,c=this;this.debug&&this.player,"html5"===this.player?b=this.initHtml5Player():"jw"===this.player?b=this.initJwPlayer():"youtube"===this.player&&(b=this.initYouTubePlayer());var d=new a.Deferred,e=d.promise();return b.done(function(){if(c.addControls(),c.addEventListeners(),c.setMute(!1),c.setFullscreen(!1),c.setVolume(c.defaultVolume),c.initializing=!0,c.initializing=!1,c.refreshControls(),"html5"===c.player&&c.isIOS()&&c.$media[0].load(),c.useFixedSeekInterval===!1){var a=c.getDuration();a>0?(c.seekInterval=Math.max(c.seekInterval,a/10),c.seekIntervalCalculated=!0):c.seekIntervalCalculated=!1}d.resolve()}),e},AblePlayer.prototype.initDefaultCaption=function(){var a;if(this.captions.length>0){for(a=0;a").attr("id",d));var e;if(b.youtubeDescId&&b.prefDesc?(e=b.youtubeDescId,b.showAlert(b.tt.alertDescribedVersion)):e=b.youtubeId,b.youTubeCaptionsReady=!1,b.hasCaptions)var f=0;else var f=1;b.youTubePlayer=new YT.Player(d,{videoId:e,height:b.playerHeight.toString(),width:b.playerWidth.toString(),playerVars:{start:b.startTime,controls:0,cc_load_policy:f,hl:b.lang,modestbranding:1,rel:0,html5:1},events:{onReady:function(){c.resolve(),b.ytPlayingJustEnough=!0,b.playMedia()},onError:function(a){c.fail()},onStateChange:function(a){b.ytPlayingJustEnough&&(b.handleStop(),b.ytPlayingJustEnough=!1)},onPlaybackQualityChange:function(){},onApiChange:function(a){"undefined"==typeof b.ytCaptionModule&&b.initYouTubeCaptions(),b.resettingYouTubeCaptions&&(b.youTubePlayer.setOption(b.ytCaptionModule,"track",{languageCode:b.captionLang}),b.resettingYouTubeCaptions=!1)}}}),b.$media.remove()};return AblePlayer.youtubeIframeAPIReady?e():(AblePlayer.loadingYoutubeIframeAPI||a.getScript("https://www.youtube.com/iframe_api").fail(function(){b.debug}),a("body").on("youtubeIframeAPIReady",function(){e()})),d},AblePlayer.prototype.initYouTubeCaptions=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;if(b=this,this.ytCaptions=[],c=this.youTubePlayer.getOptions(),c.length){for(var s=0;s1?this.tt.captions:this.tt.hideCaptions):(this.captionsOn=!1,n=g.length>1?this.tt.captions:this.tt.showCaptions),o=this.getButtonTitle("captions"),m=a(""),s=a('");r.click(function(){q.hide(),o.savePrefsFromForm()}),s.click(function(){q.hide()}),b.append(r),b.append(s),this.prefsDialog=q},AblePlayer.prototype.savePrefsFromForm=function(){var b;b=0;for(var c=this.getCookie(),d=this.getAvailablePreferences(),e=0;e0?(this.setCookie(c),this.showAlert(this.tt.prefSuccess)):this.showAlert(this.tt.prefNoChange),this.updatePrefs()},AblePlayer.prototype.updatePrefs=function(){var b;b=1===this.prefAltKey?"Alt + ":"",1===this.prefCtrlKey&&(b+="Control + "),1===this.prefShiftKey&&(b+="Shift + "),a(".able-help-modifiers").text(b),1===this.prefTabbable?a(".able-transcript span.able-transcript-seekpoint").attr("tabindex","0"):a(".able-transcript span.able-transcript-seekpoint").removeAttr("tabindex"),this.updateCaption(),this.updateDescription()},AblePlayer.prototype.usingModifierKeys=function(a){return(1!==this.prefAltKey||a.altKey)&&(1!==this.prefCtrlKey||a.ctrlKey)&&(1!==this.prefShiftKey||a.shiftKey)?!0:!1}}(jQuery),function(a){function b(a,b){var d=[];for(var e in b)d.push(c(a,b[e]));return d}function c(a,b){var c=b(a);if(null!==a.error)throw a.error;return c}function d(a,b){for(var c in b)"\n"===b[c]?(a.column=1,a.line+=1):a.column+=1}function e(a,b){var c=a.text.substring(0,b);return d(a,c),a.text=a.text.substring(b),c}function f(a,b){var c,e=a.text.indexOf("\n");return-1===e?(c=a.text,d(a,c),a.text=""):(c=a.text.substring(0,e),d(a,c+"\n"),a.text=a.text.substring(e+1)),c}function g(a){var b=a.text.indexOf("\n");return-1===b?a.text:a.text.substring(0,b)}function h(a){b(a,[s,t]);var c=a.text[0];" "===c||" "===c||"\n"===c?b(a,[x,i,z,m]):a.error="WEBVTT signature not followed by whitespace."}function i(a){for(;;){var b=g(a);if(-1!==b.indexOf("-->"))return;if(0===b.length)return;var d=c(a,k);a.metadata[d[0]]=d[1],c(a,x)}}function j(a){var b=[],c=a.indexOf(" ");c>=0&&b.push(c);var d=a.indexOf(" ");d>=0&&b.push(d);var e=a.indexOf("\n");return e>=0&&b.push(e),Math.min.apply(null,b)}function k(a){var b=a.text.indexOf("\n"),c=e(a,b),d=c.indexOf(":");if(-1===d)return void(a.error="Missing colon.");var f=c.substring(0,d),g=c.substring(d+1);return[f,g]}function l(a){var b=j(a.text),c=e(a,b),d=c.indexOf(":");if(-1===d)return void(a.error="Missing colon.");var f=c.substring(0,d),g=c.substring(d+1);return[f,g]}function m(d){for(;;){var e=g(d);if(0!==e.indexOf("NOTE")||4!==e.length&&" "!==e[4]&&" "!==e[4])if(0===a.trim(e).length&&d.text.length>0)c(d,y);else{if(!(a.trim(e).length>0))return;c(d,n)}else b(d,[r,y])}}function n(a){var d,h,i=g(a);if(-1===i.indexOf("-->")&&(d=f(a),i=g(a),-1===i.indexOf("-->")))return h="Invalid WebVTT file: "+a.src+"\n",h+="Line: "+a.line+", ",h+="Column: "+a.column+"\n",h+="Expected cue timing for cueId '"+d+"' but found: "+i+"\n",void(console.warn||console.log);var j=b(a,[A,w,u,w,A]),k=j[0],l=j[4];if(k>=l)return void(a.error="Start time is not sooner than end time.");c(a,v);var m=c(a,o);e(a,1);var n=c(a,p);a.cues.push({id:d,start:k,end:l,settings:m,components:n})}function o(a){for(var b={};a.text.length>0&&"\n"!==a.text[0];){var d=c(a,l);b[d[0]]=d[1],c(a,v)}return b}function p(b){for(var d={type:"internal",tagName:"",value:"",classes:[],annotation:"",parent:null,children:[],language:""},f=d,h=[];b.text.length>0;){var i=g(b);if(-1!==i.indexOf("-->")||/^\s*$/.test(i))break;if(b.text.length>=2&&"\n"===b.text[0]&&"\n"===b.text[1]){e(b,2);break}var j=q(b);if("string"===j.type)f.children.push(j);else if("startTag"===j.type)j.type=j.tagName,j.parent=f,-1!==a.inArray(j.tagName,["c","i","b","u","ruby"])?(h.length>0&&(f.language=h[h.length-1]),f.children.push(j),f=j):"rt"===j.tagName&&"ruby"===f.tagName?(h.length>0&&(f.language=h[h.length-1]),f.children.push(j),f=j):"v"===j.tagName?(j.value=j.annotation,h.length>0&&(f.language=h[h.length-1]),f.children.push(j),f=j):"lang"===j.tagName&&(h.push(j.annotation),h.length>0&&(f.language=h[h.length-1]),f.children.push(j),f=j);else if("endTag"===j.type)j.tagName===f.type&&-1!==a.inArray(j.tagName,["c","i","b","u","ruby","rt","v"])?f=f.parent:"lang"===j.tagName&&"lang"===f.type?(f=f.parent,h.pop()):"ruby"===j.tagName&&"rt"===f.type&&(f=f.parent.parent);else if("timestampTag"===j.type){var k={text:j.value,error:null,metadata:{},cues:[],line:1,column:1};try{var l=c(k,A);0===k.text.length&&(j.value=l,f.push(j))}catch(m){}}}return d}function q(b){for(var c="data",d=[],f="",g={type:"",tagName:"",value:"",classes:[],annotation:"",children:[]};;){var h;if(h=b.text.length>=2&&"\n"===b.text[0]&&"\n"===b.text[1]?"":b.text.length>0?b.text[0]:"","data"===c)if("&"===h)f="&",c="escape";else if("<"===h){if(0!==d.length)return g.type="string",g.value=d.join(""),g;c="tag"}else{if(""===h)return{type:"string",value:d.join("")};d.push(h)}else if("escape"===c)if("&"===h)d.push(f),f="&";else if(h.match(/[0-9a-z]/))f+=h;else if(";"===h)"&"===f?d.push("&"):"<"===f?d.push("<"):">"===f?d.push(">"):"&lrm"===f?d.push("‎"):"&rlm"===f?d.push("‏"):" "===f?d.push(" "):(d.push(f),d.push(";")),c="data";else{if("<"===h||""===h)return d.push(f),g.type="string",g.value=d.join(""),g;if(" "===h||"\n"===h||"\f"===h||" "===h)return d.push(f),g.type="string",g.value=d.join(""),g;d.push(f),c="data"}else if("tag"===c)if(" "===h||"\n"===h||"\f"===h||" "===h)c="startTagAnnotation";else if("."===h)c="startTagClass";else if("/"===h)c="endTag";else if(h.match("[0-9]"))c="timestampTag",d.push(h);else{if(">"===h){e(b,1);break}if(""===h)return g.tagName="",g.type="startTag",g;d.push(h),c="startTag"}else if("startTag"===c)if(" "===h||"\f"===h||" "===h)c="startTagAnnotation";else if("\n"===h)f=h,c="startTagAnnotation";else if("."===h)c="startTagClass";else{if(">"===h)return e(b,1),g.tagName=d.join(""),g.type="startTag",g;if(""===h)return g.tagName=d.join(""),g.type="startTag",g;d.push(h)}else if("startTagClass"===c)if(" "===h||"\f"===h||" "===h)g.classes.push(f),f="",c="startTagAnnotation";else if("\n"===h)g.classes.push(f),f=h,c="startTagAnnotation";else if("."===h)g.classes.push(f),f="";else{if(">"===h)return e(b,1),g.classes.push(f),g.type="startTag",g.tagName=d.join(""),g;if(""===h)return g.classes.push(f),g.type="startTag",g.tagName=d.join(""),g;f+="c"}else if("startTagAnnotation"===c){if(">"===h)return e(b,1),f=a.trim(f).replace(/ +/," "),g.type="startTag",g.tagName=d.join(""),g.annotation=f,g;if(""===h)return f=a.trim(f).replace(/ +/," "),g.type="startTag",g.tagName=d.join(""),g.annotation=f,g;f+=h}else if("endTag"===c){if(">"===h)return e(b,1),g.type="endTag",g.tagName=d.join(""),g;if(""===h)return g.type="endTag",g.tagName=d.join(""),g;d.push(h)}else{if("timestampTag"!==c)throw"Unknown tokenState "+c;if(">"===h)return e(b,1),g.type="timestampTag",g.name=d.join(""),g;if(""===h)return g.type="timestampTag",g.name=d.join(""),g;d.push(h)}e(b,1)}}function r(b){var c=f(b);if(-1!==c.indexOf("-->"))return void(b.error="Invalid syntax: --> in NOTE line.");for(;;){var d=g(b);if(0===a.trim(d).length)return;if(-1!==d.indexOf("-->"))return void(b.error="Invalid syntax: --> in comment.");f(b)}}function s(a){"\ufeff"===a.text[0]&&e(a,1)}function t(a){"WEBVTT"===a.text.substring(0,6)?e(a,6):a.error="Invalid signature."}function u(a){a.text.length<3||"-->"!==a.text.substring(0,3)?a.error="Missing -->":e(a,3)}function v(a){for(;" "===a.text[0]||" "===a.text[0];)e(a,1)}function w(a){for(var b=0;" "===a.text[0]||" "===a.text[0];)e(a,1),b+=1;0===b&&(a.error="Missing space.")}function x(a){var b=a.text.indexOf("\n");-1===b?a.error="Missing EOL.":e(a,b+1)}function y(b){for(;b.text.length>0;){var c=g(b);if(0!==a.trim(c).length)break;f(b)}}function z(b){for(var c=0;b.text.length>0;){var d=g(b);if(0!==a.trim(d).length)break;f(b),c+=1}0===c&&(b.error="Missing empty line.")}function A(a){var b=j(a.text);if(-1===b)return void a.error("Missing timing.");var c=e(a,b),d=/((\d\d):)?((\d\d):)(\d\d).(\d\d\d)|(\d+).(\d\d\d)/.exec(c);if(!d)return void(a.error="Unable to parse timestamp");var f=0,g=d[2],h=d[4];if(h){if(parseInt(h,10)>59)return void(a.error="Invalid minute range");g&&(f+=3600*parseInt(g,10)),f+=60*parseInt(h,10);var i=d[5];if(parseInt(i,10)>59)return void(a.error="Invalid second range");f+=parseInt(i,10),f+=parseInt(d[6],10)/1e3}else f+=parseInt(d[7],10),f+=parseInt(d[8],10)/1e3;return f}AblePlayer.prototype.parseWebVTT=function(a,b){b=b.replace(/(\r\n|\n|\r)/g,"\n");var d={src:a,text:b,error:null,metadata:{},cues:[],line:1,column:1};try{c(d,h)}catch(e){var f="Invalid WebVTT file: "+d.src+"\n";f+="Line: "+d.line+", ",f+="Column: "+d.column+"\n",f+=e,console.warn||console.log}return d}}(jQuery),function(a){AblePlayer.prototype.injectPlayerCode=function(){if(this.$mediaContainer=this.$media.wrap('
').parent(),this.$ableDiv=this.$mediaContainer.wrap('
').parent(),this.$ableDiv.width(this.playerWidth),this.injectOffscreenHeading(),"video"===this.mediaType){"youtube"!==this.player&&this.injectBigPlayButton();var b=a("
",{"class":"able-vidcap-container"});this.$vidcapContainer=this.$mediaContainer.wrap(b).parent()}this.injectPlayerControlArea(),this.injectTextDescriptionArea(),this.includeTranscript&&(this.injectTranscriptArea(),this.addTranscriptAreaEvents()),this.injectAlert(),this.injectPlaylist(),this.injectPrefsForm()},AblePlayer.prototype.injectOffscreenHeading=function(){var b,c=this.$ableDiv.parents();if(c.each(function(){var c=a(this),d=c.find("h1, h2, h3, h4, h5, h6"),e=d.length;return e?(b=d.eq(e-1).prop("tagName"),!1):void 0}),"undefined"==typeof b)var b="h1";else{var d=parseInt(b[1]);d+=1,d>6&&(d=6),b="h"+d.toString()}this.playerHeadingLevel=d,this.$headingDiv=a("<"+b+">"),this.$ableDiv.prepend(this.$headingDiv),this.$headingDiv.addClass("able-offscreen"),this.$headingDiv.text(this.tt.playerHeading)},AblePlayer.prototype.injectBigPlayButton=function(){this.$bigPlayButton=a(""),j.click(function(){k.hide()}),b.append(j),this.helpDialog=k},AblePlayer.prototype.calculateControlLayout=function(){var a={ul:["play","stop"],ur:[],bl:[],br:[]};this.useSlider&&(a.ur.push("rewind"),a.ur.push("seek"),a.ur.push("forward"));var b=[];this.browserSupportsVolume()&&(b.push("mute"),b.push("volume-up"),b.push("volume-down"));var c=[];return"video"===this.mediaType&&(this.hasCaptions&&c.push("captions"),this.hasSignLanguage&&c.push("sign"),(this.hasOpenDesc||this.hasClosedDesc)&&c.push("descriptions")),this.includeTranscript&&this.useTranscriptButton&&c.push("transcript"),this.isPlaybackRateSupported()&&(c.push("slower"),c.push("faster")),"video"===this.mediaType&&this.hasChapters&&c.push("chapters"),b.length>0&&c.length>0?(a.bl=b,a.bl.push("pipe"),a.bl=a.bl.concat(c)):a.bl=b.concat(c),a.br.push("preferences"),a.br.push("help"),"video"===this.mediaType&&"jw"!==this.player&&a.br.push("fullscreen"),a},AblePlayer.prototype.addControls=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q=this,r=100,s=this.calculateControlLayout(),t={0:"ul",1:"ur",2:"bl",3:"br"};for(f=this.mediaId+"-tooltip",g=a("
",{id:f,"class":"able-tooltip"}),this.$controllerDiv.append(g),b=0;3>=b;b++){for(d=s[t[b]],e=b%2===0?a("",{"class":"able-left-controls"}):a("",{"class":"able-right-controls"}),this.$controllerDiv.append(e),c=0;c
');e.append(u),this.seekBar=new AccessibleSeekBar(u,r)}else if("pipe"===h){var v=a("",{tabindex:"-1","aria-hidden":"true"});if("font"===this.iconType)v.addClass("icon-pipe");else{var w=a("",{src:"../images/"+this.iconColor+"/pipe.png",alt:"",role:"presentation"});v.append(w)}e.append(v)}else{j="mute"===h?"../images/"+this.iconColor+"/volume-mute.png":"fullscreen"===h?"../images/"+this.iconColor+"/fullscreen-expand.png":"../images/"+this.iconColor+"/"+h+".png",k=this.getButtonTitle(h),l=a(""),k=a('");j.click(function(){var e=a("#"+c).val();e!==d&&(b.$activeWindow.css("width",e),b.$activeWindow.find("video").css({width:e+"px"})),b.resizeDialog.hide(),b.$windowPopup.hide(),b.$windowButton.show().focus()}),k.click(function(){dialog.hide()}),g.append(i,h),f.append(g),e.append(f,"
",j,k),a("body").append(e),this.resizeDialog=new AccessibleDialog(e,"alert",this.tt.windowResizeHeading,f,this.tt.closeButtonLabel,"20em")},AblePlayer.prototype.handleWindowButtonClick=function(a){return a.which>1&&32!==a.which&&13!==a.which?!1:this.hidingPopup?(this.hidingPopup=!1,!1):(this.$windowButton.hide(),this.$windowPopup.show(),this.$windowPopup.find("li").removeClass("able-focus"),this.$windowPopup.find("input:checked").val()?this.$windowPopup.find("input:checked").focus().parent().addClass("able-focus"):this.$windowPopup.find("input").first().focus().parent().addClass("able-focus"),void a.preventDefault())},AblePlayer.prototype.handleMenuChoice=function(a){var b=this;if("move"==a)this.showAlert(this.tt.windowMoveAlert,"sign"),b.startDrag(),this.$windowPopup.hide().parent().focus();else if("resize"==a)this.resizeDialog.show(),this.showAlert(this.tt.windowResizeAlert,"sign");else if("sendBack"==a){this.$activeWindow.css("z-index","0"),this.$windowPopup.css("z-index","4000").hide(),this.$windowButton.show().focus(),this.showAlert(this.tt.windowSendBackAlert,"sign");var c=this.$windowPopup.find("input:last");c.val("bringTop"),c.next("label").text(this.tt.windowBringTop)}else if("bringTop"==a){this.$activeWindow.css({"z-index":"4000"}),this.$windowPopup.hide(),this.$windowButton.show().focus(),this.showAlert(this.tt.windowBringTopAlert,"sign");var c=this.$windowPopup.find("input:last");c.val("sendBack"),c.next("label").text(this.tt.windowSendBack)}},AblePlayer.prototype.startDrag=function(){var b,c,d,e;return b=this,this.$activeWindow.addClass("able-drag").css({position:"absolute",top:this.dragStartY+"px",left:this.dragStartX+"px"}),c=this.$activeWindow.offset(),this.dragStartX=this.dXKeys=c.left,this.dragStartY=this.dYKeys=c.top,a(document).on("mousedown",function(a){b.dragging=!0,b.startMouseX=a.pageX,b.startMouseY=a.pageY,b.dragOffsetX=b.startMouseX-b.dragStartX,b.dragOffsetY=b.startMouseY-b.dragStartY}),a(document).on("mousemove",function(a){b.dragging&&(d=a.pageX-b.dragOffsetX,e=a.pageY-b.dragOffsetY,b.resetDraggedObject(d,e))}),a(document).on("mouseup",function(){b.dragging&&b.dragEnd()}),this.startingDrag=!0,this.$activeWindow.on("keydown",function(a){b.dragKeys(a)}),!1},AblePlayer.prototype.dragKeys=function(a){var b,c;if(this.startingDrag)return this.startingDrag=!1,!1;switch(b=a.which,c=10,b){case 37:case 63234:this.dXKeys-=c;break;case 38:case 63232:this.dYKeys-=c;break;case 39:case 63235:this.dXKeys+=c;break;case 40:case 63233:this.dYKeys+=c;break;case 13:case 27:return this.dragEnd(),!1;default:return!1}return this.resetDraggedObject(this.dXKeys,this.dYKeys),a.preventDefault&&a.preventDefault(),!1},AblePlayer.prototype.resetDraggedObject=function(a,b){this.$activeWindow.css({left:a+"px",top:b+"px"})},AblePlayer.prototype.dragEnd=function(){a(document).off("mousemove mouseup"),this.$activeWindow.off("keydown").removeClass("able-drag"),this.hidingPopup=!0,this.$windowPopup.hide(),setTimeout(function(){this.hidingPopup=!1},100),this.$windowButton.show().focus(),this.dragging=!1}}(jQuery),function(a){AblePlayer.prototype.initSignLanguage=function(){"html5"===this.player&&this.prefSignLanguage&&(this.signFile=this.$sources.first().attr("data-sign-src"),this.signFile?(this.debug,this.hasSignLanguage=!0,this.injectSignPlayerCode()):this.hasSignLanguage=!1)},AblePlayer.prototype.injectSignPlayerCode=function(){var b,c,d,e,f,g;for(b=this,c=this.mediaId+"-sign",this.$signVideo=a("