Index: /plugins/captions/test/multiple.html
===================================================================
--- /plugins/captions/test/multiple.html	(revision 1973)
+++ /plugins/captions/test/multiple.html	(revision 1975)
@@ -44,10 +44,10 @@
 
 <ul>
-    <li><a href="javascript:loadPlayer({file:'http://content.bitsontherun.com/videos/aytCR4cx.mp4'},{files:'assets/bunny-eng.txt,assets/bunny-ned.txt',labels:'English,Nederlands'})">2 external srt tracks</a></li>
+    <li><a href="javascript:loadPlayer({file:'http://content.bitsontherun.com/videos/aytCR4cx.mp4',image:'http://content.bitsontherun.com/thumbs/aytCR4cx-720.jpg'},{files:'assets/bunny-eng.txt,assets/bunny-ned.txt',labels:'English,Nederlands'})">2 external srt tracks</a></li>
 
-    <li><a href="javascript:loadPlayer({file:'http://content.bitsontherun.com/videos/w5VkaqJ1-393434.mp4',image:'http://content.bitsontherun.com/thumbs/w5VkaqJ1-480.jpg'},{})">6 embedded mp4 tracks</a></li>
+    <li><a href="javascript:loadPlayer({file:'http://content.bitsontherun.com/videos/w5VkaqJ1-393434.mp4',image:'http://content.bitsontherun.com/thumbs/w5VkaqJ1-720.jpg'},{})">6 embedded mp4 tracks</a></li>
     
-    <li><a href="javascript:loadPlayer({file:'http://content.bitsontherun.com/videos/a95zAVN1.mp4'},{files:'assets/sintel-chi.txt,assets/sintel-far.txt,assets/sintel-gre.txt,assets/sintel-jpn.txt,assets/sintel-kor.txt,assets/sintel-pol.txt,assets/sintel-rus.txt,assets/sintel-srp.txt,assets/sintel-tur.txt',labels:'Chinese,Farsi,Greek,Japanese,Korean,Polish,Russian,Serbian,Turkish'})">9 external srt tracks</a></li>
-     <li><a href="javascript:loadPlayer({file:'http://content.bitsontherun.com/videos/aytCR4cx.mp4'},{files:'assets/bunny-eng.txt,assets/bunny-ned.txt'})">2 srt tracks, no labels</a></li>
+    <li><a href="javascript:loadPlayer({file:'http://content.bitsontherun.com/videos/a95zAVN1.mp4',image:'http://content.bitsontherun.com/thumbs/a95zAVN1-720.jpg'},{files:'assets/sintel-chi.txt,assets/sintel-far.txt,assets/sintel-gre.txt,assets/sintel-jpn.txt,assets/sintel-kor.txt,assets/sintel-pol.txt,assets/sintel-rus.txt,assets/sintel-srp.txt,assets/sintel-tur.txt',labels:'Chinese,Farsi,Greek,Japanese,Korean,Polish,Russian,Serbian,Turkish'})">9 external srt tracks</a></li>
+     <li><a href="javascript:loadPlayer({file:'http://content.bitsontherun.com/videos/aytCR4cx.mp4',image:'http://content.bitsontherun.com/thumbs/aytCR4cx-720.jpg'},{files:'assets/bunny-eng.txt,assets/bunny-ned.txt'})">2 srt tracks, no labels</a></li>
 
 
Index: /plugins/captions/src/js/captions.renderer.js
===================================================================
--- /plugins/captions/src/js/captions.renderer.js	(revision 1973)
+++ /plugins/captions/src/js/captions.renderer.js	(revision 1975)
@@ -8,10 +8,16 @@
         /** Current list with captions. **/
         var _captions;
-        /** Container with captions data. **/
+        /** Container of captions. **/
         var _container;
+        /** Current actie captions entry. **/
+        var _current;
+        /** Height of the display. **/
+        var _height;
+        /** Height of a single line. **/
+        var _line;
         /** Current video position. **/
         var _position;
-        /** Current actie captions entry. **/
-        var _current;
+        /** Width of the display. **/
+        var _width;
 
 
@@ -33,4 +39,10 @@
         function _render(html) {
             _container.innerHTML = html;
+            var left = Math.round(_width/2 - _container.clientWidth/2);
+            var top = Math.round(_height - _container.clientHeight - 20);
+            _style({
+                left: left + 'px',
+                top: top + 'px'
+            });
         };
 
@@ -38,22 +50,12 @@
         /** Resize the captions. **/
         this.resize = function(width,height) {
-            /**
-            if(_player.config.fullscreen) {
-                _renderer.x = width / 8;
-                _renderer.width = width * 3 / 4;
-            } else {
-                _renderer.x = width / 24;
-                _renderer.width = width * 11 / 12;
-            }
-            _renderer.scaleY = _renderer.scaleX;
-            // Position the captions, taking controls into account.
-            if (_player.config.fullscreen) {
-                _renderer.y = height - 70;
-            } else if (_player.config.controlbar == 'over') {
-                _renderer.y = height - 50;
-            } else {
-                _renderer.y = height - 20;
-            }
-            **/
+            _height = height;
+            _width = width;
+            var size = Math.round(_options.fontSize*width/480);
+            var line = Math.round(size * 1.4);
+            _style({
+                fontSize: size + 'px',
+                lineHeight: line + 'px'
+            });
         };
 
@@ -81,20 +83,24 @@
         /** Constructor for the renderer. **/
         function _setup() {
-            _container = document.createElement("p");
+            _container = document.createElement("div");
             _div.appendChild(_container);
             _style({
                 color: _options.color,
+                display: 'block',
                 fontFamily: _options.fontFamily,
-                fontSize: _options.fontSize+'px',
-                fontStyle: _options.fontStyle,
                 fontWeight: _options.fontWeight,
-                lineHeight: Math.round(_options.fontSize * 1.4)+'px',
+                height: 'auto',
+                margin: '0 0 0 0',
+                padding: '0 10px',
+                position: 'absolute',
                 textAlign: 'center',
-                textDecoration: _options.textDecoration
+                textDecoration: _options.textDecoration,
+                whiteSpace: 'nowrap',
+                width: 'auto'
             });
-            if(_options.back) { 
-                _style({textShadow: '#000 1px 1px 0'});
-            } else { 
+            if(_options.back) {
                 _style({background:'#000'});
+            } else {
+                _style({textShadow: '-2px 0px 1px #000,2px 0px 1px #000,0px -2px 1px #000,0px 2px 1px #000,-1px 1px 1px #000,1px 1px 1px #000,1px -1px 1px #000,1px 1px 1px #000'});
             }
         };
Index: /plugins/captions/captions.js
===================================================================
--- /plugins/captions/captions.js	(revision 1973)
+++ /plugins/captions/captions.js	(revision 1975)
@@ -1,1 +1,1 @@
-(function(a){var b=function(d,h,r){var o={back:false,color:"#FFFFFF",fontFamily:"Arial,sans-serif",fontSize:15,fontStyle:"normal",fontWeight:"normal",state:true,textDecoration:"none"};var m=["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA6ZJREFUeNrsWM9LVFEUfm8cU7NsxkwU+zGhRQWB1aY29RYtXIVRUO1mKW1qE/inCG2ENq0qCMJFCxcupBYFQQxSYog1CPkDC8ccnb5D37XD5YmPeU9fxD3wcd67c+be85177r3nPs9z4sSJEydOnPw/4kcxqtVqYrcPaCZagENAm2proo3oLNBIbcsvoEq9RlSIH8Ay8BNYZdua7/ubO/mYjUj4HtBDR7NRAxBTNoB1YA54khSRDqB1m98kiiVgnoML2aNAL2fKdu4LMM2IS0DywGngiGXbQOSjOJiNGbUp4DmmfjUkHQ9D3SQpj2nyDLZTIbavoa4BQb2OZGKQWAFeGhJwJgM0cz15aP8O9Qow+T2uScCuCcjStgaM4/FDGkQ+YfAV9X4deASc3dpJfP8rVJmv04pEN9QD4JbdZxpEFq3348zpcyFrqMoZNHIM2C/rCKTaVPtqvc7EWSOb22zlB+FcJ/uucsFXLfuMWtA9sG/h7+1pENlOTgD3Q9ZTmAiRO0kMmkmQwF6cLXtCJFXS2V1wbgF4wyDJAXiRpUxo9QNMsizxeCheSo2IOTsoy9h2J9VvPSGL2FdE3sF+nrYn6yUSJ7Ua1HlRo1OmKLTHyFhj1VTJUk0i5eLMSIf1/pH9vbXa8ySdU+fEZxaDcwjCgrJtS4NIH1Kh3TgCPQE1YaVcL6tmkVPAN9pKKj22bGXGzqexa8khNggH8mFrBpBSZVA1X0XbhW3WmNxtbrNiTmXXkrJkCI7MsoyvMoW6mXq+NdYN2F6BnmXpIqd+p7rr7Pr2u8jaqFEvcorcCPuIKFt0JxH1YrWY5FU3Q4dbGMUDjHyrddU119us2ql81lFmZ9tQu9V6UlddJ06cOIlVROaAwQT6OQNcTvxkR6ddAqtNvpwURKvmHBHWR5i9IV+wzLtCvo3VfyBigCI7lH1dyLzA3l6SiLEMKbP9Kdpn8Fzk/wJ+5tkKBNRdYAkQMqNiD93Pb1pLQgh6lIEI+L8Z9ht7iovilJpu4+iQiSKjPKSeiyH9BCbl2E+OM/TQzJCkEjCg7IPEZoRiIlLRU28ixch27dDHe5kt2A17fz6zlpk+Ev1htNtj7VnRWJFIgkSFEa3sZA+MqLSRyEvqldHHiFlDaXx8KLGUL3CtlNRvzcx3LQO0M6QrIFCmbcB+JCX1TpWLQi4qkbKKdsX7+xl0jM8B9ZiylwXdb/Uzxv8H6t2zFndJbRAlthfcoebEiRMn/6T8FmAAOmqqRlH6QggAAAAASUVORK5CYII=","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA09JREFUeNrsmEtIVFEYx+fOjI1WNmkUPUxDjR4USZIUFANBtigoqn1R0Np9C1u2y0XQKrCNKwmJoLDAhOhBhEG1U9Qg7YHNlJaPKaf/B/+Rj8O9Oc29M2N1Pvhx7jn3u/ee/3l+54ZC1qxZs2bNmrV/x5xcnDKZTBjJCrAaVIFqUAs2MR8Hq8BKpuVgOVP9jQz4BqbBFPhKvoAk+ADeMk2SScdxfixWx2iOgm+DFoqpyLUBfNoc+A6eg9aghGwHaz3uvQc94DU/Lr2yHxxlT2lLg37wAHwGEVAPjoMdhu8yUh9Y02BoDWbc7Q6o9nhmK3iqfJPgmNfQBe0e3xgstJAxsEH5REAcOKqsGaTp32a8sxKUG2Vd+QoJ+9B3F5NwXOWvgE/g9MJK4jgvkLxk9r6q8F4kw6DLeOe9fCvjR8iwkT8IysAZo1xWoBkwpsoOgDXgCETVqPKJfCsT9SEkbeQjTDeicruQxihAluxZ8NPluzKZ93GeyRLbWAohXkvwIfDKKBv38BUht4KYx+FQcOYUyPf/EhItgJAhcI3vlg3yAtjs4SshSwfDErneCS4WW0hGLaeOqtwolt0Oda/FZRJnfWUBuAH/N/Q9nK8QP0MrpvYLETXP7JTLalZmNNq8Wvlmghhyfnpkm5HvZrR73ShvoJA6xlfZzVGCwWdohCHlW1PQMNQjRJkADYs816r8Ly3iKyFObyliLbFHoN7F3wGnwDvlOw3Oe7y/FnT7CRpzPVgNcoi42SR4zE1wlkOomUMv7LJAyMR+wvBfwvzdsrsz/HezIQy/xqCE9PJgVcHduBi2cLCCkNaghER5hK0i69ny65iXeKqSJ8gYBUe4mIQZR2VXtjn23AwrKkfdFJEAcxR8/NOjrjVr1gq3Se6RM3pA70mY18UUclU+7PMdJ/h3pU9fl7qHEqDuN/fj9ImrMvkF1G5eF7vifdmKgQHmk26VMVo+yecSKgzpU9ftpRKSoJC41xjn/YTquYGge8T3URe7br/amS97uDXRL+vftFTP7OfAFv6M63G5n8rODaapJScEFTvLyjepnjFN7ndyeHV6iC3Zzwdp/RSGyk1UUHqjjSJOuvi2ERl6D/nDQWxE+YzY3dmaNWvW/jr7JcAAj0e1BA7EkwQAAAAASUVORK5CYII=","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA0tJREFUeNrsmM9LVFEUx30zY2pl/oiiH6YxGv2gUJKkoFCCbFFgVH9AFLSefQtdtpxF0CqalSuJiKCwwIToBxEK1U4Rg7QfmFNajlpO3wPfkcPlPZ3mvXHM7oEPZ+6d89475917zz33FRVZsWLFihUrVtaOONkYpdPpENQGUAmqQDWoBTvZrgCbwEbqUrCeWj8jDX6AGTANvpNvYBJ8Au+pJ8mU4zi/lvMxkmXA90ALgynL9gX4lDnwE7wC7UEFsg9s8fjvI7gL3vLhMipHwWmOlJZ50A8eg68gDKLgLNhv2K4j0cBeDabWUNpd7oNqj2v2gBfKdhKc8Zq6oNPjGUP5DmQMbFc2YVABHNXXDOZpHzPuWQ5Kjb7uXAMJ+YjvARbhuGpfB1/AhcVM4jivoQbZfKQcPgw1ArqNez7M1Rk/gYwY7eOgGFw0+iUDpcCY6jsGNoNTCKpG9U/k6kzERyDzRjtMvQPOHYQuYQCSsmfBb5fnymI+wnUmKbahEIF4peAT4I3RN+5hK4HcCWIdh4qCEydPtv9XIJE8BDIMbvDeskFeAbs8bKVkibMskd8HwNWVDiSt0qmjnBtF2o2r/1pcFnHGVhLALdi/o+3JXAPxM7VK1H4hQS2wOe2SzYqNl7agMl8qiCnnZ0T2Gu0eVrs3jf56BlLH+iqzOUox+BIvYVjZ1uS1DPUoUSZA/TLXtSv7a8vYSonTW4haS+QpiLrYO+A8+KBsZ8Blj/vXgh4/RWO2B6shThE3mQLPuAnOcgo1c+qFXBKELOznLP+lzD8kuzvLfzcZxvRrCCqQXh6syrgbr4QsHqwQSHtQgUR4hK0i2/jmt7It9VQ5T5AlDDjMZBJiHZXJbHMcuRQdlaNukkiBOQo+/+1R14oVK/nbJBvljL5a/PFTa10Cu9fa6MjXk9alRmgpG45uY6Gc76Nj4sQI2yKtLrYd/K7VR92q7jGg+jsKGYh8WLutHK5zsR1Qzss1A+oeneravkIedROgTd4o9DkPmybszv08u4huUv89oU4W+syepGNtLFXibjaZtUGdXE1ZKyNxjkqlqplMkY/cCU6vBNurJpBBOh2j7mJ/zMU2Rvsu6phxj8zIDtod2ooVK1b+KfkjwAC9JXx/mwsoAgAAAABJRU5ErkJggg=="];var v;var x;var i;var f=[];var u;function k(z,C){z="jwplayercaptions"+z;if(C!==undefined){var D=z+"="+C+"; expires=Wed, 1 Jan 2020 00:00:00 UTC; path=/";document.cookie=D}else{var B=document.cookie.split(";");for(var A=0;A<B.length;A++){var D=B[A];while(D.charAt(0)==" "){D=D.substring(1,D.length)}if(D.indexOf(z)==0){return D.substring(z.length+1,D.length)}}}return null}var w=function(){if(f.length>1){x.show();try{d.getPlugin("display").hide();d.getPlugin("dock").hide()}catch(z){}}else{if(f.length==1){o.state=!o.state;k("state",o.state);e()}}};function p(z){console.log("CAPTIONS("+z+")")}function n(z){u="idle";e()}function q(z){i=0;f=[];v.update(0);x.hide();try{d.getPlugin("display").show();d.getPlugin("dock").show()}catch(E){}var G=d.getPlaylist()[z.index];if(G["captions.files"]){var I=false;var A=G["captions.files"].split(",");if(G["captions.labels"]){var D=G["captions.labels"].split(",")}for(var C=0;C<A.length;C++){var F={file:A[C]};if(D&&D[C]){F.label=D[C]}else{F.label=A[C].substring(A[C].lastIndexOf("/")+1,A[C].indexOf(".")-1)}if(o.label==F.label){I=true;i=f.length;y(F.file)}f.push(F)}if(I==false){o.state=false}var H=[{label:"(Off)"}];for(var B=0;B<f.length;B++){H.push({label:f[B].label})}if(o.state){x.populate(H,i+1)}else{x.populate(H,0)}}else{if(G["captions.file"]){f.push({file:G["captions.file"]});y(f[0].file)}}e()}function y(A){var z=new a.captions.srt(t,p);z.load(A)}function t(z){v.populate(z);f[i].data=z;e()}function j(z){u="playing";e()}function s(z){if(o.file){d.getPlaylist()[0]["captions.file"]=o.file}if(o.files){d.getPlaylist()[0]["captions.files"]=o.files}if(o.labels){d.getPlaylist()[0]["captions.labels"]=o.labels}}function e(){if(!f.length){d.getPlugin("dock").setButton("captions",w,m[0]);v.hide()}else{if(o.state){d.getPlugin("dock").setButton("captions",w,m[2]);if(u=="playing"){v.show()}else{v.hide()}}else{d.getPlugin("dock").setButton("captions",w,m[1]);v.hide()}}}this.resize=function(A,z){if(d.getRenderingMode()=="flash"){return}v.resize(A,z);x.resize(A,z)};function g(){if(d.getRenderingMode()=="flash"){return}d.onPlaylist(s);d.onPlaylistItem(q);d.onIdle(n);d.onPlay(j);d.onTime(c);if(k("state")!==null){if(k("state")=="true"){o.state=true}else{o.state=false}}if(k("label")!==null){o.label=k("label")}for(var z in h){o[z]=h[z]}v=new a.captions.renderer(o,r);x=new a.captions.selector(l,r);e()}d.onReady(g);function l(A){x.hide();try{d.getPlugin("display").show();d.getPlugin("dock").show()}catch(z){}if(A>0){o.state=true;i=A-1;o.label=f[i].label}else{_config.state=false}k("label",o.label);k("state",o.state);if(f[i].data){v.populate(f[i].data)}else{y(f[i].file)}e()}function c(z){v.update(z.position)}};a.captions={};a().registerPlugin("captions",b,"./captions.swf")})(jwplayer);(function(a){a.captions.renderer=function(k,e){var j;var d;var h;var g;this.hide=function(){b({display:"none"})};this.populate=function(l){g=-1;j=l;c()};function i(l){d.innerHTML=l}this.resize=function(m,l){};function c(){var m=-1;for(var l=0;l<j.length;l++){if(j[l]["begin"]<=h&&(l==j.length-1||j[l+1]["begin"]>=h)){m=l;break}}if(m==-1){i("")}else{if(m!=g){g=m;i(j[l]["text"])}}}function f(){d=document.createElement("p");e.appendChild(d);b({color:k.color,fontFamily:k.fontFamily,fontSize:k.fontSize+"px",fontStyle:k.fontStyle,fontWeight:k.fontWeight,lineHeight:Math.round(k.fontSize*1.4)+"px",textAlign:"center",textDecoration:k.textDecoration});if(k.back){b({textShadow:"#000 1px 1px 0"})}else{b({background:"#000"})}}f();this.show=function(){b({display:"block"})};function b(l){for(var m in l){d.style[m]=l[m]}}this.update=function(l){h=l;if(j){c()}}}})(jwplayer);(function(a){a.captions.selector=function(d,c){this.hide=function(){};this.populate=function(e,f){};this.resize=function(f,e){};this.show=function(){};function b(e,f){for(var g in f){e.style[g]=f[g]}}}})(jwplayer);(function(a){a.captions.srt=function(g,b){var d;var c;function h(k){if(k==0){b("Crossdomain loading denied: "+c)}else{if(k==404){b("SRT File not found: "+c)}else{b("Error "+k+" loading SRT file: "+c)}}}this.load=function(l){c=l;try{d.open("GET",l,true);d.send(null)}catch(k){b("Error loading SRT File: "+l)}};function f(n){_captions=[{begin:0,text:""}];n=n.replace(/^\s+/,"").replace(/\s+$/,"");var m=n.split("\r\n\r\n");if(m.length==1){m=n.split("\n\n")}for(var k=0;k<m.length;k++){var l=j(m[k]);if(l.begin&&l.text){_captions.push(l);if(l.end){_captions.push({begin:l.end,text:""});delete l.end}}}if(_captions.length>1){g(_captions)}else{b("Invalid SRT file: "+c)}}function j(o){var n={};var p=o.split("\r\n");if(p.length==1){p=o.split("\n")}try{var l=p[1].indexOf(" --> ");if(l>0){n.begin=i(p[1].substr(0,l));n.end=i(p[1].substr(l+5))}if(p[2]){n.text=p[2];for(var m=3;m<p.length;m++){n.text+="<br/>"+p[m]}}}catch(k){}return n}function i(k){k=k.replace(",",".");var m=k.split(":");var l=0;if(k.substr(-1)=="s"){l=Number(k.substr(0,k.length-1))}else{if(k.substr(-1)=="m"){l=Number(k.substr(0,k.length-1))*60}else{if(k.substr(-1)=="h"){l=Number(k.substr(0,k.length-1))*3600}else{if(m.length>1){l=Number(m[m.length-1]);l+=Number(m[m.length-2])*60;if(m.length==3){l+=Number(m[m.length-3])*3600}}else{l=Number(k)}}}}return l}function e(){d=new XMLHttpRequest();d.onreadystatechange=function(){if(d.readyState===4){if(d.status===200){f(d.responseText)}else{h(d.status)}}}}e()}})(jwplayer);
+(function(a){var b=function(d,h,r){var o={back:false,color:"#FFFFFF",fontFamily:"Arial,sans-serif",fontSize:15,fontStyle:"normal",fontWeight:"normal",state:true,textDecoration:"none"};var m=["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA6ZJREFUeNrsWM9LVFEUfm8cU7NsxkwU+zGhRQWB1aY29RYtXIVRUO1mKW1qE/inCG2ENq0qCMJFCxcupBYFQQxSYog1CPkDC8ccnb5D37XD5YmPeU9fxD3wcd67c+be85177r3nPs9z4sSJEydOnPw/4kcxqtVqYrcPaCZagENAm2proo3oLNBIbcsvoEq9RlSIH8Ay8BNYZdua7/ubO/mYjUj4HtBDR7NRAxBTNoB1YA54khSRDqB1m98kiiVgnoML2aNAL2fKdu4LMM2IS0DywGngiGXbQOSjOJiNGbUp4DmmfjUkHQ9D3SQpj2nyDLZTIbavoa4BQb2OZGKQWAFeGhJwJgM0cz15aP8O9Qow+T2uScCuCcjStgaM4/FDGkQ+YfAV9X4deASc3dpJfP8rVJmv04pEN9QD4JbdZxpEFq3348zpcyFrqMoZNHIM2C/rCKTaVPtqvc7EWSOb22zlB+FcJ/uucsFXLfuMWtA9sG/h7+1pENlOTgD3Q9ZTmAiRO0kMmkmQwF6cLXtCJFXS2V1wbgF4wyDJAXiRpUxo9QNMsizxeCheSo2IOTsoy9h2J9VvPSGL2FdE3sF+nrYn6yUSJ7Ua1HlRo1OmKLTHyFhj1VTJUk0i5eLMSIf1/pH9vbXa8ySdU+fEZxaDcwjCgrJtS4NIH1Kh3TgCPQE1YaVcL6tmkVPAN9pKKj22bGXGzqexa8khNggH8mFrBpBSZVA1X0XbhW3WmNxtbrNiTmXXkrJkCI7MsoyvMoW6mXq+NdYN2F6BnmXpIqd+p7rr7Pr2u8jaqFEvcorcCPuIKFt0JxH1YrWY5FU3Q4dbGMUDjHyrddU119us2ql81lFmZ9tQu9V6UlddJ06cOIlVROaAwQT6OQNcTvxkR6ddAqtNvpwURKvmHBHWR5i9IV+wzLtCvo3VfyBigCI7lH1dyLzA3l6SiLEMKbP9Kdpn8Fzk/wJ+5tkKBNRdYAkQMqNiD93Pb1pLQgh6lIEI+L8Z9ht7iovilJpu4+iQiSKjPKSeiyH9BCbl2E+OM/TQzJCkEjCg7IPEZoRiIlLRU28ixch27dDHe5kt2A17fz6zlpk+Ev1htNtj7VnRWJFIgkSFEa3sZA+MqLSRyEvqldHHiFlDaXx8KLGUL3CtlNRvzcx3LQO0M6QrIFCmbcB+JCX1TpWLQi4qkbKKdsX7+xl0jM8B9ZiylwXdb/Uzxv8H6t2zFndJbRAlthfcoebEiRMn/6T8FmAAOmqqRlH6QggAAAAASUVORK5CYII=","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA09JREFUeNrsmEtIVFEYx+fOjI1WNmkUPUxDjR4USZIUFANBtigoqn1R0Np9C1u2y0XQKrCNKwmJoLDAhOhBhEG1U9Qg7YHNlJaPKaf/B/+Rj8O9Oc29M2N1Pvhx7jn3u/ee/3l+54ZC1qxZs2bNmrV/x5xcnDKZTBjJCrAaVIFqUAs2MR8Hq8BKpuVgOVP9jQz4BqbBFPhKvoAk+ADeMk2SScdxfixWx2iOgm+DFoqpyLUBfNoc+A6eg9aghGwHaz3uvQc94DU/Lr2yHxxlT2lLg37wAHwGEVAPjoMdhu8yUh9Y02BoDWbc7Q6o9nhmK3iqfJPgmNfQBe0e3xgstJAxsEH5REAcOKqsGaTp32a8sxKUG2Vd+QoJ+9B3F5NwXOWvgE/g9MJK4jgvkLxk9r6q8F4kw6DLeOe9fCvjR8iwkT8IysAZo1xWoBkwpsoOgDXgCETVqPKJfCsT9SEkbeQjTDeicruQxihAluxZ8NPluzKZ93GeyRLbWAohXkvwIfDKKBv38BUht4KYx+FQcOYUyPf/EhItgJAhcI3vlg3yAtjs4SshSwfDErneCS4WW0hGLaeOqtwolt0Oda/FZRJnfWUBuAH/N/Q9nK8QP0MrpvYLETXP7JTLalZmNNq8Wvlmghhyfnpkm5HvZrR73ShvoJA6xlfZzVGCwWdohCHlW1PQMNQjRJkADYs816r8Ly3iKyFObyliLbFHoN7F3wGnwDvlOw3Oe7y/FnT7CRpzPVgNcoi42SR4zE1wlkOomUMv7LJAyMR+wvBfwvzdsrsz/HezIQy/xqCE9PJgVcHduBi2cLCCkNaghER5hK0i69ny65iXeKqSJ8gYBUe4mIQZR2VXtjn23AwrKkfdFJEAcxR8/NOjrjVr1gq3Se6RM3pA70mY18UUclU+7PMdJ/h3pU9fl7qHEqDuN/fj9ImrMvkF1G5eF7vifdmKgQHmk26VMVo+yecSKgzpU9ftpRKSoJC41xjn/YTquYGge8T3URe7br/amS97uDXRL+vftFTP7OfAFv6M63G5n8rODaapJScEFTvLyjepnjFN7ndyeHV6iC3Zzwdp/RSGyk1UUHqjjSJOuvi2ERl6D/nDQWxE+YzY3dmaNWvW/jr7JcAAj0e1BA7EkwQAAAAASUVORK5CYII=","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA0tJREFUeNrsmM9LVFEUx30zY2pl/oiiH6YxGv2gUJKkoFCCbFFgVH9AFLSefQtdtpxF0CqalSuJiKCwwIToBxEK1U4Rg7QfmFNajlpO3wPfkcPlPZ3mvXHM7oEPZ+6d89475917zz33FRVZsWLFihUrVtaOONkYpdPpENQGUAmqQDWoBTvZrgCbwEbqUrCeWj8jDX6AGTANvpNvYBJ8Au+pJ8mU4zi/lvMxkmXA90ALgynL9gX4lDnwE7wC7UEFsg9s8fjvI7gL3vLhMipHwWmOlJZ50A8eg68gDKLgLNhv2K4j0cBeDabWUNpd7oNqj2v2gBfKdhKc8Zq6oNPjGUP5DmQMbFc2YVABHNXXDOZpHzPuWQ5Kjb7uXAMJ+YjvARbhuGpfB1/AhcVM4jivoQbZfKQcPgw1ArqNez7M1Rk/gYwY7eOgGFw0+iUDpcCY6jsGNoNTCKpG9U/k6kzERyDzRjtMvQPOHYQuYQCSsmfBb5fnymI+wnUmKbahEIF4peAT4I3RN+5hK4HcCWIdh4qCEydPtv9XIJE8BDIMbvDeskFeAbs8bKVkibMskd8HwNWVDiSt0qmjnBtF2o2r/1pcFnHGVhLALdi/o+3JXAPxM7VK1H4hQS2wOe2SzYqNl7agMl8qiCnnZ0T2Gu0eVrs3jf56BlLH+iqzOUox+BIvYVjZ1uS1DPUoUSZA/TLXtSv7a8vYSonTW4haS+QpiLrYO+A8+KBsZ8Blj/vXgh4/RWO2B6shThE3mQLPuAnOcgo1c+qFXBKELOznLP+lzD8kuzvLfzcZxvRrCCqQXh6syrgbr4QsHqwQSHtQgUR4hK0i2/jmt7It9VQ5T5AlDDjMZBJiHZXJbHMcuRQdlaNukkiBOQo+/+1R14oVK/nbJBvljL5a/PFTa10Cu9fa6MjXk9alRmgpG45uY6Gc76Nj4sQI2yKtLrYd/K7VR92q7jGg+jsKGYh8WLutHK5zsR1Qzss1A+oeneravkIedROgTd4o9DkPmybszv08u4huUv89oU4W+syepGNtLFXibjaZtUGdXE1ZKyNxjkqlqplMkY/cCU6vBNurJpBBOh2j7mJ/zMU2Rvsu6phxj8zIDtod2ooVK1b+KfkjwAC9JXx/mwsoAgAAAABJRU5ErkJggg=="];var v;var x;var i;var f=[];var u;function k(z,C){z="jwplayercaptions"+z;if(C!==undefined){var D=z+"="+C+"; expires=Wed, 1 Jan 2020 00:00:00 UTC; path=/";document.cookie=D}else{var B=document.cookie.split(";");for(var A=0;A<B.length;A++){var D=B[A];while(D.charAt(0)==" "){D=D.substring(1,D.length)}if(D.indexOf(z)==0){return D.substring(z.length+1,D.length)}}}return null}var w=function(){if(f.length>1){x.show();try{d.getPlugin("display").hide();d.getPlugin("dock").hide()}catch(z){}}else{if(f.length==1){o.state=!o.state;k("state",o.state);e()}}};function p(z){console.log("CAPTIONS("+z+")")}function n(z){u="idle";e()}function q(z){i=0;f=[];v.update(0);x.hide();try{d.getPlugin("display").show();d.getPlugin("dock").show()}catch(E){}var G=d.getPlaylist()[z.index];if(G["captions.files"]){var I=false;var A=G["captions.files"].split(",");if(G["captions.labels"]){var D=G["captions.labels"].split(",")}for(var C=0;C<A.length;C++){var F={file:A[C]};if(D&&D[C]){F.label=D[C]}else{F.label=A[C].substring(A[C].lastIndexOf("/")+1,A[C].indexOf(".")-1)}if(o.label==F.label){I=true;i=f.length;y(F.file)}f.push(F)}if(I==false){o.state=false}var H=[{label:"(Off)"}];for(var B=0;B<f.length;B++){H.push({label:f[B].label})}if(o.state){x.populate(H,i+1)}else{x.populate(H,0)}}else{if(G["captions.file"]){f.push({file:G["captions.file"]});y(f[0].file)}}e()}function y(A){var z=new a.captions.srt(t,p);z.load(A)}function t(z){v.populate(z);f[i].data=z;e()}function j(z){u="playing";e()}function s(z){if(o.file){d.getPlaylist()[0]["captions.file"]=o.file}if(o.files){d.getPlaylist()[0]["captions.files"]=o.files}if(o.labels){d.getPlaylist()[0]["captions.labels"]=o.labels}}function e(){if(!f.length){d.getPlugin("dock").setButton("captions",w,m[0]);v.hide()}else{if(o.state){d.getPlugin("dock").setButton("captions",w,m[2]);if(u=="playing"){v.show()}else{v.hide()}}else{d.getPlugin("dock").setButton("captions",w,m[1]);v.hide()}}}this.resize=function(A,z){if(d.getRenderingMode()=="flash"){return}v.resize(A,z);x.resize(A,z)};function g(){if(d.getRenderingMode()=="flash"){return}d.onPlaylist(s);d.onPlaylistItem(q);d.onIdle(n);d.onPlay(j);d.onTime(c);if(k("state")!==null){if(k("state")=="true"){o.state=true}else{o.state=false}}if(k("label")!==null){o.label=k("label")}for(var z in h){o[z]=h[z]}v=new a.captions.renderer(o,r);x=new a.captions.selector(l,r);e()}d.onReady(g);function l(A){x.hide();try{d.getPlugin("display").show();d.getPlugin("dock").show()}catch(z){}if(A>0){o.state=true;i=A-1;o.label=f[i].label}else{_config.state=false}k("label",o.label);k("state",o.state);if(f[i].data){v.populate(f[i].data)}else{y(f[i].file)}e()}function c(z){v.update(z.position)}};a.captions={};a().registerPlugin("captions",b,"./captions.swf")})(jwplayer);(function(a){a.captions.renderer=function(n,f){var m;var e;var i;var g;var l;var j;var d;this.hide=function(){b({display:"none"})};this.populate=function(o){i=-1;m=o;c()};function k(o){e.innerHTML=o;var q=Math.round(d/2-e.clientWidth/2);var p=Math.round(g-e.clientHeight-20);b({left:q+"px",top:p+"px"})}this.resize=function(r,o){g=o;d=r;var q=Math.round(n.fontSize*r/480);var p=Math.round(q*1.4);b({fontSize:q+"px",lineHeight:p+"px"})};function c(){var p=-1;for(var o=0;o<m.length;o++){if(m[o]["begin"]<=j&&(o==m.length-1||m[o+1]["begin"]>=j)){p=o;break}}if(p==-1){k("")}else{if(p!=i){i=p;k(m[o]["text"])}}}function h(){e=document.createElement("div");f.appendChild(e);b({color:n.color,display:"block",fontFamily:n.fontFamily,fontWeight:n.fontWeight,height:"auto",margin:"0 0 0 0",padding:"0 10px",position:"absolute",textAlign:"center",textDecoration:n.textDecoration,whiteSpace:"nowrap",width:"auto"});if(n.back){b({background:"#000"})}else{b({textShadow:"-2px 0px 1px #000,2px 0px 1px #000,0px -2px 1px #000,0px 2px 1px #000,-1px 1px 1px #000,1px 1px 1px #000,1px -1px 1px #000,1px 1px 1px #000"})}}h();this.show=function(){b({display:"block"})};function b(o){for(var p in o){e.style[p]=o[p]}}this.update=function(o){j=o;if(m){c()}}}})(jwplayer);(function(a){a.captions.selector=function(d,c){this.hide=function(){};this.populate=function(e,f){};this.resize=function(f,e){};this.show=function(){};function b(e,f){for(var g in f){e.style[g]=f[g]}}}})(jwplayer);(function(a){a.captions.srt=function(g,b){var d;var c;function h(k){if(k==0){b("Crossdomain loading denied: "+c)}else{if(k==404){b("SRT File not found: "+c)}else{b("Error "+k+" loading SRT file: "+c)}}}this.load=function(l){c=l;try{d.open("GET",l,true);d.send(null)}catch(k){b("Error loading SRT File: "+l)}};function f(n){_captions=[{begin:0,text:""}];n=n.replace(/^\s+/,"").replace(/\s+$/,"");var m=n.split("\r\n\r\n");if(m.length==1){m=n.split("\n\n")}for(var k=0;k<m.length;k++){var l=j(m[k]);if(l.begin&&l.text){_captions.push(l);if(l.end){_captions.push({begin:l.end,text:""});delete l.end}}}if(_captions.length>1){g(_captions)}else{b("Invalid SRT file: "+c)}}function j(o){var n={};var p=o.split("\r\n");if(p.length==1){p=o.split("\n")}try{var l=p[1].indexOf(" --> ");if(l>0){n.begin=i(p[1].substr(0,l));n.end=i(p[1].substr(l+5))}if(p[2]){n.text=p[2];for(var m=3;m<p.length;m++){n.text+="<br/>"+p[m]}}}catch(k){}return n}function i(k){k=k.replace(",",".");var m=k.split(":");var l=0;if(k.substr(-1)=="s"){l=Number(k.substr(0,k.length-1))}else{if(k.substr(-1)=="m"){l=Number(k.substr(0,k.length-1))*60}else{if(k.substr(-1)=="h"){l=Number(k.substr(0,k.length-1))*3600}else{if(m.length>1){l=Number(m[m.length-1]);l+=Number(m[m.length-2])*60;if(m.length==3){l+=Number(m[m.length-3])*3600}}else{l=Number(k)}}}}return l}function e(){d=new XMLHttpRequest();d.onreadystatechange=function(){if(d.readyState===4){if(d.status===200){f(d.responseText)}else{h(d.status)}}}}e()}})(jwplayer);
