JAVASCRIPT   13

jwplayer.js

Guest on 9th May 2021 04:26:41 PM

  1. if (typeof jwplayer == "undefined") {
  2.     jwplayer = function(a) {
  3.         if (jwplayer.api) {
  4.             return jwplayer.api.selectPlayer(a)
  5.         }
  6.     };
  7.     jwplayer.version = "6.1.2972";
  8.     jwplayer.vid = document.createElement("video");
  9.     jwplayer.audio = document.createElement("audio");
  10.     jwplayer.source = document.createElement("source");
  11.     (function(d) {
  12.         var j = document,
  13.             g = window,
  14.             b = navigator,
  15.             h = "undefined",
  16.             f = "string",
  17.             c = "object";
  18.         var k = d.utils = function() {};
  19.         k.exists = function(m) {
  20.             switch (typeof(m)) {
  21.                 case f:
  22.                     return (m.length > 0);
  23.                     break;
  24.                 case c:
  25.                     return (m !== null);
  26.                 case h:
  27.                     return false
  28.             }
  29.             return true
  30.         };
  31.         k.styleDimension = function(m) {
  32.             return m + (m.toString().indexOf("%") > 0 ? "" : "px")
  33.         };
  34.         k.getAbsolutePath = function(s, r) {
  35.             if (!k.exists(r)) {
  36.                 r = j.location.href
  37.             }
  38.             if (!k.exists(s)) {
  39.                 return undefined
  40.             }
  41.             if (a(s)) {
  42.                 return s
  43.             }
  44.             var t = r.substring(0, r.indexOf("://") + 3);
  45.             var q = r.substring(t.length, r.indexOf("/", t.length + 1));
  46.             var n;
  47.             if (s.indexOf("/") === 0) {
  48.                 n = s.split("/")
  49.             } else {
  50.                 var o = r.split("?")[0];
  51.                 o = o.substring(t.length + q.length + 1, o.lastIndexOf("/"));
  52.                 n = o.split("/").concat(s.split("/"))
  53.             }
  54.             var m = [];
  55.             for (var p = 0; p < n.length; p++) {
  56.                 if (!n[p] || !k.exists(n[p]) || n[p] == ".") {
  57.                     continue
  58.                 } else {
  59.                     if (n[p] == "..") {
  60.                         m.pop()
  61.                     } else {
  62.                         m.push(n[p])
  63.                     }
  64.                 }
  65.             }
  66.             return t + q + "/" + m.join("/")
  67.         };
  68.  
  69.         function a(n) {
  70.             if (!k.exists(n)) {
  71.                 return
  72.             }
  73.             var o = n.indexOf("://");
  74.             var m = n.indexOf("?");
  75.             return (o > 0 && (m < 0 || (m > o)))
  76.         }
  77.         k.extend = function() {
  78.             var m = k.extend["arguments"];
  79.             if (m.length > 1) {
  80.                 for (var o = 1; o < m.length; o++) {
  81.                     for (var n in m[o]) {
  82.                         try {
  83.                             if (k.exists(m[o][n])) {
  84.                                 m[0][n] = m[o][n]
  85.                             }
  86.                         } catch (p) {}
  87.                     }
  88.                 }
  89.                 return m[0]
  90.             }
  91.             return null
  92.         };
  93.         k.log = function(n, m) {
  94.             if (typeof console != h && typeof console.log != h) {
  95.                 if (m) {
  96.                     console.log(n, m)
  97.                 } else {
  98.                     console.log(n)
  99.                 }
  100.             }
  101.         };
  102.         var e = k.userAgentMatch = function(n) {
  103.             var m = b.userAgent.toLowerCase();
  104.             return (m.match(n) !== null)
  105.         };
  106.  
  107.         function l(m) {
  108.             return function() {
  109.                 return e(m)
  110.             }
  111.         }
  112.         k.isIE = l(/msie/i);
  113.         k.isFF = l(/firefox/i);
  114.         k.isChrome = l(/chrome/i);
  115.         k.isIOS = l(/iP(hone|ad|od)/i);
  116.         k.isIPod = l(/iP(hone|od)/i);
  117.         k.isIPad = l(/iPad/i);
  118.         k.isAndroid = function(m) {
  119.             if (m) {
  120.                 return e(new RegExp("android.*" + m, "i"))
  121.             } else {
  122.                 return e(/android/i)
  123.             }
  124.         };
  125.         k.isMobile = function() {
  126.             return k.isIOS() || k.isAndroid()
  127.         };
  128.         k.saveCookie = function(m, n) {
  129.             j.cookie = "jwplayer." + m + "=" + n + "; path=/"
  130.         };
  131.         k.getCookies = function() {
  132.             var p = {};
  133.             var o = j.cookie.split("; ");
  134.             for (var n = 0; n < o.length; n++) {
  135.                 var m = o[n].split("=");
  136.                 if (m[0].indexOf("jwplayer.") == 0) {
  137.                     p[m[0].substring(9, m[0].length)] = m[1]
  138.                 }
  139.             }
  140.             return p
  141.         };
  142.         k.typeOf = function(n) {
  143.             var m = typeof n;
  144.             if (m === "object") {
  145.                 if (!n) {
  146.                     return "null"
  147.                 }
  148.                 return (n instanceof Array) ? "array" : m
  149.             } else {
  150.                 return m
  151.             }
  152.         };
  153.         k.translateEventResponse = function(o, m) {
  154.             var q = k.extend({}, m);
  155.             if (o == d.events.JWPLAYER_FULLSCREEN && !q.fullscreen) {
  156.                 q.fullscreen = q.message == "true" ? true : false;
  157.                 delete q.message
  158.             } else {
  159.                 if (typeof q.data == c) {
  160.                     q = k.extend(q, q.data);
  161.                     delete q.data
  162.                 } else {
  163.                     if (typeof q.metadata == c) {
  164.                         k.deepReplaceKeyName(q.metadata, ["__dot__", "__spc__", "__dsh__"], [".", " ", "-"])
  165.                     }
  166.                 }
  167.             }
  168.             var n = ["position", "duration", "offset"];
  169.             for (var p in n) {
  170.                 if (q[n[p]]) {
  171.                     q[n[p]] = Math.round(q[n[p]] * 1000) / 1000
  172.                 }
  173.             }
  174.             return q
  175.         };
  176.         k.flashVersion = function() {
  177.             if (k.isAndroid()) {
  178.                 return 0
  179.             }
  180.             var m = b.plugins,
  181.                 n;
  182.             if (m != h) {
  183.                 n = m["Shockwave Flash"];
  184.                 if (n) {
  185.                     return parseInt(n.description.replace(/\D+(\d+)\..*/, "$1"))
  186.                 }
  187.             }
  188.             if (typeof g.ActiveXObject != h) {
  189.                 try {
  190.                     n = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
  191.                     if (n) {
  192.                         return parseInt(n.GetVariable("$version").split(" ")[1].split(",")[0])
  193.                     }
  194.                 } catch (o) {}
  195.             }
  196.             return 0
  197.         };
  198.         k.getScriptPath = function(o) {
  199.             var m = j.getElementsByTagName("script");
  200.             for (var n = 0; n < m.length; n++) {
  201.                 var p = m[n].src;
  202.                 if (p && p.indexOf(o) >= 0) {
  203.                     return p.substr(0, p.indexOf(o))
  204.                 }
  205.             }
  206.             return ""
  207.         };
  208.         k.deepReplaceKeyName = function(t, o, m) {
  209.             switch (d.utils.typeOf(t)) {
  210.                 case "array":
  211.                     for (var q = 0; q < t.length; q++) {
  212.                         t[q] = d.utils.deepReplaceKeyName(t[q], o, m)
  213.                     }
  214.                     break;
  215.                 case c:
  216.                     for (var p in t) {
  217.                         var s, r;
  218.                         if (o instanceof Array && m instanceof Array) {
  219.                             if (o.length != m.length) {
  220.                                 continue
  221.                             } else {
  222.                                 s = o;
  223.                                 r = m
  224.                             }
  225.                         } else {
  226.                             s = [o];
  227.                             r = [m]
  228.                         }
  229.                         var n = p;
  230.                         for (var q = 0; q < s.length; q++) {
  231.                             n = n.replace(new RegExp(o[q], "g"), m[q])
  232.                         }
  233.                         t[n] = d.utils.deepReplaceKeyName(t[p], o, m);
  234.                         if (p != n) {
  235.                             delete t[p]
  236.                         }
  237.                     }
  238.                     break
  239.             }
  240.             return t
  241.         };
  242.         var i = k.pluginPathType = {
  243.             ABSOLUTE: 0,
  244.             RELATIVE: 1,
  245.             CDN: 2
  246.         };
  247.         k.getPluginPathType = function(n) {
  248.             if (typeof n != f) {
  249.                 return
  250.             }
  251.             n = n.split("?")[0];
  252.             var o = n.indexOf("://");
  253.             if (o > 0) {
  254.                 return i.ABSOLUTE
  255.             }
  256.             var m = n.indexOf("/");
  257.             var p = k.extension(n);
  258.             if (o < 0 && m < 0 && (!p || !isNaN(p))) {
  259.                 return i.CDN
  260.             }
  261.             return i.RELATIVE
  262.         };
  263.         k.getPluginName = function(m) {
  264.             return m.replace(/^(.*\/)?([^-]*)-?.*\.(swf|js)$/, "$2")
  265.         };
  266.         k.getPluginVersion = function(m) {
  267.             return m.replace(/[^-]*-?([^\.]*).*$/, "$1")
  268.         };
  269.         k.isYouTube = function(m) {
  270.             return (m.indexOf("youtube.com") > -1 || m.indexOf("youtu.be") > -1)
  271.         };
  272.         k.isRtmp = function(m, n) {
  273.             return (m.indexOf("rtmp") == 0 || n == "rtmp")
  274.         };
  275.         k.foreach = function(o, n) {
  276.             for (var m in o) {
  277.                 if (o.hasOwnProperty(m)) {
  278.                     n(m)
  279.                 }
  280.             }
  281.         };
  282.         k.isHTTPS = function() {
  283.             return (g.location.href.indexOf("https") == 0)
  284.         }
  285.     })(jwplayer);
  286.     (function(o) {
  287.         var d = "video/",
  288.             i = "audio/",
  289.             g = "image",
  290.             j = "mp4",
  291.             c = "webm",
  292.             n = "ogg",
  293.             b = "aac",
  294.             k = "mp3",
  295.             l = "vorbis",
  296.             m = {
  297.                 mp4: d + j,
  298.                 vorbis: i + n,
  299.                 ogg: d + n,
  300.                 webm: d + c,
  301.                 aac: i + j,
  302.                 mp3: i + "mpeg",
  303.                 hls: "application/vnd.apple.mpegurl"
  304.             },
  305.             h = {
  306.                 mp4: m[j],
  307.                 f4v: m[j],
  308.                 m4v: m[j],
  309.                 mov: m[j],
  310.                 m4a: m[b],
  311.                 f4a: m[b],
  312.                 aac: m[b],
  313.                 mp3: m[k],
  314.                 ogv: m[n],
  315.                 ogg: m[l],
  316.                 oga: m[l],
  317.                 webm: m[c],
  318.                 m3u8: m.hls
  319.             },
  320.             d = "video",
  321.             f = {
  322.                 flv: d,
  323.                 f4v: d,
  324.                 mov: d,
  325.                 m4a: d,
  326.                 m4v: d,
  327.                 mp4: d,
  328.                 aac: d,
  329.                 f4a: d,
  330.                 mp3: "sound",
  331.                 smil: "rtmp",
  332.                 m3u8: "hls"
  333.             };
  334.         var a = o.extensionmap = {};
  335.         for (var e in h) {
  336.             a[e] = {
  337.                 html5: h[e]
  338.             }
  339.         }
  340.         for (e in f) {
  341.             if (!a[e]) {
  342.                 a[e] = {}
  343.             }
  344.             a[e].flash = f[e]
  345.         }
  346.         a.types = m;
  347.         a.mimeType = function(q) {
  348.             for (var p in m) {
  349.                 if (m[p] == q) {
  350.                     return p
  351.                 }
  352.             }
  353.         };
  354.         a.extType = function(p) {
  355.             return a.mimeType(h[p])
  356.         }
  357.     })(jwplayer.utils);
  358.     (function(b) {
  359.         var a = b.loaderstatus = {
  360.                 NEW: 0,
  361.                 LOADING: 1,
  362.                 ERROR: 2,
  363.                 COMPLETE: 3
  364.             },
  365.             c = document;
  366.         b.scriptloader = function(e) {
  367.             var f = a.NEW,
  368.                 h = jwplayer.events,
  369.                 d = new h.eventdispatcher();
  370.             b.extend(this, d);
  371.             this.load = function() {
  372.                 var k = b.scriptloader.loaders[e];
  373.                 if (k && (k.getStatus() == a.NEW || k.getStatus() == a.LOADING)) {
  374.                     k.addEventListener(h.ERROR, g);
  375.                     k.addEventListener(h.COMPLETE, i);
  376.                     return
  377.                 }
  378.                 b.scriptloader.loaders[e] = this;
  379.                 if (f == a.NEW) {
  380.                     f = a.LOADING;
  381.                     var j = c.createElement("script");
  382.                     if (j.addEventListener) {
  383.                         j.onload = i;
  384.                         j.onerror = g
  385.                     } else {
  386.                         if (j.readyState) {
  387.                             j.onreadystatechange = function() {
  388.                                 if (j.readyState == "loaded" || j.readyState == "complete") {
  389.                                     i()
  390.                                 }
  391.                             }
  392.                         }
  393.                     }
  394.                     c.getElementsByTagName("head")[0].appendChild(j);
  395.                     j.src = e
  396.                 }
  397.             };
  398.  
  399.             function g(j) {
  400.                 f = a.ERROR;
  401.                 d.sendEvent(h.ERROR)
  402.             }
  403.  
  404.             function i(j) {
  405.                 f = a.COMPLETE;
  406.                 d.sendEvent(h.COMPLETE)
  407.             }
  408.             this.getStatus = function() {
  409.                 return f
  410.             }
  411.         };
  412.         b.scriptloader.loaders = {}
  413.     })(jwplayer.utils);
  414.     (function(a) {
  415.         a.trim = function(b) {
  416.             return b.replace(/^\s*/, "").replace(/\s*$/, "")
  417.         };
  418.         a.pad = function(c, d, b) {
  419.             if (!b) {
  420.                 b = "0"
  421.             }
  422.             while (c.length < d) {
  423.                 c = b + c
  424.             }
  425.             return c
  426.         };
  427.         a.xmlAttribute = function(b, c) {
  428.             for (var d = 0; d < b.attributes.length; d++) {
  429.                 if (b.attributes[d].name && b.attributes[d].name.toLowerCase() == c.toLowerCase()) {
  430.                     return b.attributes[d].value.toString()
  431.                 }
  432.             }
  433.             return ""
  434.         };
  435.         a.extension = function(b) {
  436.             if (!b || b.substr(0, 4) == "rtmp") {
  437.                 return ""
  438.             }
  439.             b = b.substring(b.lastIndexOf("/") + 1, b.length).split("?")[0].split("#")[0];
  440.             if (b.lastIndexOf(".") > -1) {
  441.                 return b.substr(b.lastIndexOf(".") + 1, b.length).toLowerCase()
  442.             }
  443.         };
  444.         a.stringToColor = function(b) {
  445.             b = b.replace(/(#|0x)?([0-9A-F]{3,6})$/gi, "$2");
  446.             if (b.length == 3) {
  447.                 b = b.charAt(0) + b.charAt(0) + b.charAt(1) + b.charAt(1) + b.charAt(2) + b.charAt(2)
  448.             }
  449.             return parseInt(b, 16)
  450.         }
  451.     })(jwplayer.utils);
  452.     (function(a) {
  453.         var c = "invalid",
  454.             b = "36QXq4W@GSBV^teR";
  455.         a.key = function(h) {
  456.             var g, i, e;
  457.  
  458.             function f(j) {
  459.                 if (!a.exists(j)) {
  460.                     j = ""
  461.                 }
  462.                 try {
  463.                     j = d(j);
  464.                     var l = j.split("/");
  465.                     g = l[0];
  466.                     if (!g) {
  467.                         g = "free"
  468.                     } else {
  469.                         if (a.key.valid.indexOf(g) < 0) {
  470.                             g = c
  471.                         }
  472.                     }
  473.                     i = l[1];
  474.                     if (l[2] && parseInt(l[2]) > 0) {
  475.                         e = new Date();
  476.                         e.setTime(String(l[2]))
  477.                     }
  478.                 } catch (k) {
  479.                     g = c
  480.                 }
  481.             }
  482.  
  483.             function d(j) {
  484.                 return a.tea.decrypt(j, b)
  485.             }
  486.             this.edition = function() {
  487.                 if (e && e.getTime() < (new Date()).getTime()) {
  488.                     return c
  489.                 }
  490.                 return g
  491.             };
  492.             this.token = function() {
  493.                 return i
  494.             };
  495.             f(h)
  496.         };
  497.         a.key.valid = ["free", "pro"]
  498.     })(jwplayer.utils);
  499.     (function(b) {
  500.         var c = b.tea = {};
  501.         c.encrypt = function(h, w) {
  502.             if (h.length == 0) {
  503.                 return ("")
  504.             }
  505.             var x = c.strToLongs(a.encode(h));
  506.             if (x.length <= 1) {
  507.                 x[1] = 0
  508.             }
  509.             var l = c.strToLongs(a.encode(w).slice(0, 16)),
  510.                 i = x.length,
  511.                 r = x[i - 1],
  512.                 s = x[0],
  513.                 u = 2654435769,
  514.                 t, o, f = Math.floor(6 + 52 / i),
  515.                 m = 0;
  516.             while (f-- > 0) {
  517.                 m += u;
  518.                 o = m >>> 2 & 3;
  519.                 for (var g = 0; g < i; g++) {
  520.                     s = x[(g + 1) % i];
  521.                     t = (r >>> 5 ^ s << 2) + (s >>> 3 ^ r << 4) ^ (m ^ s) + (l[g & 3 ^ o] ^ r);
  522.                     r = x[g] += t
  523.                 }
  524.             }
  525.             var j = c.longsToStr(x);
  526.             return d.encode(j)
  527.         };
  528.         c.decrypt = function(j, w) {
  529.             if (j.length == 0) {
  530.                 return ("")
  531.             }
  532.             var x = c.strToLongs(d.decode(j)),
  533.                 l = c.strToLongs(a.encode(w).slice(0, 16)),
  534.                 i = x.length,
  535.                 r = x[i - 1],
  536.                 s = x[0],
  537.                 u = 2654435769,
  538.                 t, o, f = Math.floor(6 + 52 / i),
  539.                 m = f * u;
  540.             while (m != 0) {
  541.                 o = m >>> 2 & 3;
  542.                 for (var h = i - 1; h >= 0; h--) {
  543.                     r = x[h > 0 ? h - 1 : i - 1];
  544.                     t = (r >>> 5 ^ s << 2) + (s >>> 3 ^ r << 4) ^ (m ^ s) + (l[h & 3 ^ o] ^ r);
  545.                     s = x[h] -= t
  546.                 }
  547.                 m -= u
  548.             }
  549.             var g = c.longsToStr(x);
  550.             g = g.replace(/\0+$/, "");
  551.             return a.decode(g)
  552.         };
  553.         c.strToLongs = function(g) {
  554.             var e = new Array(Math.ceil(g.length / 4));
  555.             for (var f = 0; f < e.length; f++) {
  556.                 e[f] = g.charCodeAt(f * 4) + (g.charCodeAt(f * 4 + 1) << 8) + (g.charCodeAt(f * 4 + 2) << 16) + (g.charCodeAt(f * 4 + 3) << 24)
  557.             }
  558.             return e
  559.         };
  560.         c.longsToStr = function(f) {
  561.             var e = new Array(f.length);
  562.             for (var g = 0; g < f.length; g++) {
  563.                 e[g] = String.fromCharCode(f[g] & 255, f[g] >>> 8 & 255, f[g] >>> 16 & 255, f[g] >>> 24 & 255)
  564.             }
  565.             return e.join("")
  566.         };
  567.         var d = {};
  568.         d.code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
  569.         d.encode = function(q, s) {
  570.             s = (typeof s == "undefined") ? false : s;
  571.             var j, g, f, u, r, n, m, k, l = [],
  572.                 i = "",
  573.                 p, t, o;
  574.             var h = d.code;
  575.             t = s ? a.encode(q) : q;
  576.             p = t.length % 3;
  577.             if (p > 0) {
  578.                 while (p++ < 3) {
  579.                     i += "=";
  580.                     t += "\0"
  581.                 }
  582.             }
  583.             for (p = 0; p < t.length; p += 3) {
  584.                 j = t.charCodeAt(p);
  585.                 g = t.charCodeAt(p + 1);
  586.                 f = t.charCodeAt(p + 2);
  587.                 u = j << 16 | g << 8 | f;
  588.                 r = u >> 18 & 63;
  589.                 n = u >> 12 & 63;
  590.                 m = u >> 6 & 63;
  591.                 k = u & 63;
  592.                 l[p / 3] = h.charAt(r) + h.charAt(n) + h.charAt(m) + h.charAt(k)
  593.             }
  594.             o = l.join("");
  595.             o = o.slice(0, o.length - i.length) + i;
  596.             return o
  597.         };
  598.         d.decode = function(p, g) {
  599.             g = (typeof g == "undefined") ? false : g;
  600.             var i, f, e, q, m, k, j, s, l = [],
  601.                 r, o;
  602.             var h = d.code;
  603.             o = g ? a.decode(p) : p;
  604.             for (var n = 0; n < o.length; n += 4) {
  605.                 q = h.indexOf(o.charAt(n));
  606.                 m = h.indexOf(o.charAt(n + 1));
  607.                 k = h.indexOf(o.charAt(n + 2));
  608.                 j = h.indexOf(o.charAt(n + 3));
  609.                 s = q << 18 | m << 12 | k << 6 | j;
  610.                 i = s >>> 16 & 255;
  611.                 f = s >>> 8 & 255;
  612.                 e = s & 255;
  613.                 l[n / 4] = String.fromCharCode(i, f, e);
  614.                 if (j == 64) {
  615.                     l[n / 4] = String.fromCharCode(i, f)
  616.                 }
  617.                 if (k == 64) {
  618.                     l[n / 4] = String.fromCharCode(i)
  619.                 }
  620.             }
  621.             r = l.join("");
  622.             return g ? a.decode(r) : r
  623.         };
  624.         var a = {};
  625.         a.encode = function(e) {
  626.             var f = e.replace(/[\u0080-\u07ff]/g, function(h) {
  627.                 var g = h.charCodeAt(0);
  628.                 return String.fromCharCode(192 | g >> 6, 128 | g & 63)
  629.             });
  630.             f = f.replace(/[\u0800-\uffff]/g, function(h) {
  631.                 var g = h.charCodeAt(0);
  632.                 return String.fromCharCode(224 | g >> 12, 128 | g >> 6 & 63, 128 | g & 63)
  633.             });
  634.             return f
  635.         };
  636.         a.decode = function(f) {
  637.             var e = f.replace(/[\u00e0-\u00ef][\u0080-\u00bf][\u0080-\u00bf]/g, function(h) {
  638.                 var g = ((h.charCodeAt(0) & 15) << 12) | ((h.charCodeAt(1) & 63) << 6) | (h.charCodeAt(2) & 63);
  639.                 return String.fromCharCode(g)
  640.             });
  641.             e = e.replace(/[\u00c0-\u00df][\u0080-\u00bf]/g, function(h) {
  642.                 var g = (h.charCodeAt(0) & 31) << 6 | h.charCodeAt(1) & 63;
  643.                 return String.fromCharCode(g)
  644.             });
  645.             return e
  646.         }
  647.     })(jwplayer.utils);
  648.     (function(a) {
  649.         a.events = {
  650.             COMPLETE: "COMPLETE",
  651.             ERROR: "ERROR",
  652.             API_READY: "jwplayerAPIReady",
  653.             JWPLAYER_READY: "jwplayerReady",
  654.             JWPLAYER_FULLSCREEN: "jwplayerFullscreen",
  655.             JWPLAYER_RESIZE: "jwplayerResize",
  656.             JWPLAYER_ERROR: "jwplayerError",
  657.             JWPLAYER_MEDIA_BEFOREPLAY: "jwplayerMediaBeforePlay",
  658.             JWPLAYER_MEDIA_BEFORECOMPLETE: "jwplayerMediaBeforeComplete",
  659.             JWPLAYER_COMPONENT_SHOW: "jwplayerComponentShow",
  660.             JWPLAYER_COMPONENT_HIDE: "jwplayerComponentHide",
  661.             JWPLAYER_MEDIA_BUFFER: "jwplayerMediaBuffer",
  662.             JWPLAYER_MEDIA_BUFFER_FULL: "jwplayerMediaBufferFull",
  663.             JWPLAYER_MEDIA_ERROR: "jwplayerMediaError",
  664.             JWPLAYER_MEDIA_LOADED: "jwplayerMediaLoaded",
  665.             JWPLAYER_MEDIA_COMPLETE: "jwplayerMediaComplete",
  666.             JWPLAYER_MEDIA_SEEK: "jwplayerMediaSeek",
  667.             JWPLAYER_MEDIA_TIME: "jwplayerMediaTime",
  668.             JWPLAYER_MEDIA_VOLUME: "jwplayerMediaVolume",
  669.             JWPLAYER_MEDIA_META: "jwplayerMediaMeta",
  670.             JWPLAYER_MEDIA_MUTE: "jwplayerMediaMute",
  671.             JWPLAYER_MEDIA_LEVELS: "jwplayerMediaLevels",
  672.             JWPLAYER_MEDIA_LEVEL_CHANGED: "jwplayerMediaLevelChanged",
  673.             JWPLAYER_CAPTIONS_CHANGED: "jwplayerCaptionsChanged",
  674.             JWPLAYER_CAPTIONS_LIST: "jwplayerCaptionsList",
  675.             JWPLAYER_PLAYER_STATE: "jwplayerPlayerState",
  676.             state: {
  677.                 BUFFERING: "BUFFERING",
  678.                 IDLE: "IDLE",
  679.                 PAUSED: "PAUSED",
  680.                 PLAYING: "PLAYING"
  681.             },
  682.             JWPLAYER_PLAYLIST_LOADED: "jwplayerPlaylistLoaded",
  683.             JWPLAYER_PLAYLIST_ITEM: "jwplayerPlaylistItem",
  684.             JWPLAYER_PLAYLIST_COMPLETE: "jwplayerPlaylistComplete",
  685.             JWPLAYER_DISPLAY_CLICK: "jwplayerViewClick",
  686.             JWPLAYER_CONTROLS: "jwplayerViewControls",
  687.             JWPLAYER_INSTREAM_CLICK: "jwplayerInstreamClicked",
  688.             JWPLAYER_INSTREAM_DESTROYED: "jwplayerInstreamDestroyed"
  689.         }
  690.     })(jwplayer);
  691.     (function(a) {
  692.         var b = jwplayer.utils;
  693.         a.eventdispatcher = function(h, c) {
  694.             var e = h,
  695.                 g = c,
  696.                 f, d;
  697.             this.resetEventListeners = function() {
  698.                 f = {};
  699.                 d = []
  700.             };
  701.             this.resetEventListeners();
  702.             this.addEventListener = function(i, l, k) {
  703.                 try {
  704.                     if (!b.exists(f[i])) {
  705.                         f[i] = []
  706.                     }
  707.                     if (b.typeOf(l) == "string") {
  708.                         l = (new Function("return " + l))()
  709.                     }
  710.                     f[i].push({
  711.                         listener: l,
  712.                         count: k
  713.                     })
  714.                 } catch (j) {
  715.                     b.log("error", j)
  716.                 }
  717.                 return false
  718.             };
  719.             this.removeEventListener = function(j, l) {
  720.                 if (!f[j]) {
  721.                     return
  722.                 }
  723.                 try {
  724.                     for (var i = 0; i < f[j].length; i++) {
  725.                         if (f[j][i].listener.toString() == l.toString()) {
  726.                             f[j].splice(i, 1);
  727.                             break
  728.                         }
  729.                     }
  730.                 } catch (k) {
  731.                     b.log("error", k)
  732.                 }
  733.                 return false
  734.             };
  735.             this.addGlobalListener = function(k, j) {
  736.                 try {
  737.                     if (b.typeOf(k) == "string") {
  738.                         k = (new Function("return " + k))()
  739.                     }
  740.                     d.push({
  741.                         listener: k,
  742.                         count: j
  743.                     })
  744.                 } catch (i) {
  745.                     b.log("error", i)
  746.                 }
  747.                 return false
  748.             };
  749.             this.removeGlobalListener = function(k) {
  750.                 if (!k) {
  751.                     return
  752.                 }
  753.                 try {
  754.                     for (var i = 0; i < d.length; i++) {
  755.                         if (d[i].listener.toString() == k.toString()) {
  756.                             d.splice(i, 1);
  757.                             break
  758.                         }
  759.                     }
  760.                 } catch (j) {
  761.                     b.log("error", j)
  762.                 }
  763.                 return false
  764.             };
  765.             this.sendEvent = function(k, m) {
  766.                 if (!b.exists(m)) {
  767.                     m = {}
  768.                 }
  769.                 b.extend(m, {
  770.                     id: e,
  771.                     version: jwplayer.version,
  772.                     type: k
  773.                 });
  774.                 if (g) {
  775.                     b.log(k, m)
  776.                 }
  777.                 if (b.typeOf(f[k]) != "undefined") {
  778.                     for (var j = 0; j < f[k].length; j++) {
  779.                         try {
  780.                             f[k][j].listener(m)
  781.                         } catch (l) {
  782.                             b.log("There was an error while handling a listener: " + l.toString(), f[k][j].listener)
  783.                         }
  784.                         if (f[k][j]) {
  785.                             if (f[k][j].count === 1) {
  786.                                 delete f[k][j]
  787.                             } else {
  788.                                 if (f[k][j].count > 0) {
  789.                                     f[k][j].count = f[k][j].count - 1
  790.                                 }
  791.                             }
  792.                         }
  793.                     }
  794.                 }
  795.                 var i;
  796.                 for (i = 0; i < d.length; i++) {
  797.                     try {
  798.                         d[i].listener(m)
  799.                     } catch (l) {
  800.                         b.log("There was an error while handling a listener: " + l.toString(), d[i].listener)
  801.                     }
  802.                     if (d[i]) {
  803.                         if (d[i].count === 1) {
  804.                             delete d[i]
  805.                         } else {
  806.                             if (d[i].count > 0) {
  807.                                 d[i].count = d[i].count - 1
  808.                             }
  809.                         }
  810.                     }
  811.                 }
  812.             }
  813.         }
  814.     })(jwplayer.events);
  815.     (function(a) {
  816.         var c = {},
  817.             b = {};
  818.         a.plugins = function() {};
  819.         a.plugins.loadPlugins = function(e, d) {
  820.             b[e] = new a.plugins.pluginloader(new a.plugins.model(c), d);
  821.             return b[e]
  822.         };
  823.         a.plugins.registerPlugin = function(h, g, f, e) {
  824.             var d = a.utils.getPluginName(h);
  825.             if (!c[d]) {
  826.                 c[d] = new a.plugins.plugin(h)
  827.             }
  828.             c[d].registerPlugin(h, g, f, e)
  829.         }
  830.     })(jwplayer);
  831.     (function(a) {
  832.         a.plugins.model = function(b) {
  833.             this.addPlugin = function(c) {
  834.                 var d = a.utils.getPluginName(c);
  835.                 if (!b[d]) {
  836.                     b[d] = new a.plugins.plugin(c)
  837.                 }
  838.                 return b[d]
  839.             };
  840.             this.getPlugins = function() {
  841.                 return b
  842.             }
  843.         }
  844.     })(jwplayer);
  845.     (function(b) {
  846.         var a = jwplayer.utils,
  847.             c = jwplayer.events,
  848.             d = "undefined";
  849.         b.pluginmodes = {
  850.             FLASH: 0,
  851.             JAVASCRIPT: 1,
  852.             HYBRID: 2
  853.         };
  854.         b.plugin = function(e) {
  855.             var l = a.loaderstatus.NEW,
  856.                 m, k, f, n;
  857.             var g = new c.eventdispatcher();
  858.             a.extend(this, g);
  859.  
  860.             function h() {
  861.                 switch (a.getPluginPathType(e)) {
  862.                     case a.pluginPathType.ABSOLUTE:
  863.                         return e;
  864.                     case a.pluginPathType.RELATIVE:
  865.                         return a.getAbsolutePath(e, window.location.href)
  866.                 }
  867.             }
  868.  
  869.             function j(o) {
  870.                 n = setTimeout(function() {
  871.                     l = a.loaderstatus.COMPLETE;
  872.                     g.sendEvent(c.COMPLETE)
  873.                 }, 1000)
  874.             }
  875.  
  876.             function i(o) {
  877.                 l = a.loaderstatus.ERROR;
  878.                 g.sendEvent(c.ERROR)
  879.             }
  880.             this.load = function() {
  881.                 if (l == a.loaderstatus.NEW) {
  882.                     if (e.lastIndexOf(".swf") > 0) {
  883.                         m = e;
  884.                         l = a.loaderstatus.COMPLETE;
  885.                         g.sendEvent(c.COMPLETE);
  886.                         return
  887.                     } else {
  888.                         if (a.getPluginPathType(e) == a.pluginPathType.CDN) {
  889.                             l = a.loaderstatus.COMPLETE;
  890.                             g.sendEvent(c.COMPLETE);
  891.                             return
  892.                         }
  893.                     }
  894.                     l = a.loaderstatus.LOADING;
  895.                     var o = new a.scriptloader(h());
  896.                     o.addEventListener(c.COMPLETE, j);
  897.                     o.addEventListener(c.ERROR, i);
  898.                     o.load()
  899.                 }
  900.             };
  901.             this.registerPlugin = function(r, q, p, o) {
  902.                 if (n) {
  903.                     clearTimeout(n);
  904.                     n = undefined
  905.                 }
  906.                 f = q;
  907.                 if (p && o) {
  908.                     m = o;
  909.                     k = p
  910.                 } else {
  911.                     if (typeof p == "string") {
  912.                         m = p
  913.                     } else {
  914.                         if (typeof p == "function") {
  915.                             k = p
  916.                         } else {
  917.                             if (!p && !o) {
  918.                                 m = r
  919.                             }
  920.                         }
  921.                     }
  922.                 }
  923.                 l = a.loaderstatus.COMPLETE;
  924.                 g.sendEvent(c.COMPLETE)
  925.             };
  926.             this.getStatus = function() {
  927.                 return l
  928.             };
  929.             this.getPluginName = function() {
  930.                 return a.getPluginName(e)
  931.             };
  932.             this.getFlashPath = function() {
  933.                 if (m) {
  934.                     switch (a.getPluginPathType(m)) {
  935.                         case a.pluginPathType.ABSOLUTE:
  936.                             return m;
  937.                         case a.pluginPathType.RELATIVE:
  938.                             if (e.lastIndexOf(".swf") > 0) {
  939.                                 return a.getAbsolutePath(m, window.location.href)
  940.                             }
  941.                             return a.getAbsolutePath(m, h())
  942.                     }
  943.                 }
  944.                 return null
  945.             };
  946.             this.getJS = function() {
  947.                 return k
  948.             };
  949.             this.getTarget = function() {
  950.                 return f
  951.             };
  952.             this.getPluginmode = function() {
  953.                 if (typeof m != d && typeof k != d) {
  954.                     return b.pluginmodes.HYBRID
  955.                 } else {
  956.                     if (typeof m != d) {
  957.                         return b.pluginmodes.FLASH
  958.                     } else {
  959.                         if (typeof k != d) {
  960.                             return b.pluginmodes.JAVASCRIPT
  961.                         }
  962.                     }
  963.                 }
  964.             };
  965.             this.getNewInstance = function(p, o, q) {
  966.                 return new k(p, o, q)
  967.             };
  968.             this.getURL = function() {
  969.                 return e
  970.             }
  971.         }
  972.     })(jwplayer.plugins);
  973.     (function(b) {
  974.         var a = b.utils,
  975.             c = b.events;
  976.         b.plugins.pluginloader = function(i, h) {
  977.             var o = a.loaderstatus.NEW,
  978.                 g = false,
  979.                 d = false,
  980.                 k = false,
  981.                 l, m = h,
  982.                 e = new c.eventdispatcher();
  983.             a.extend(this, e);
  984.  
  985.             function f() {
  986.                 if (k) {
  987.                     e.sendEvent(c.ERROR, {
  988.                         message: l
  989.                     })
  990.                 } else {
  991.                     if (!d) {
  992.                         d = true;
  993.                         o = a.loaderstatus.COMPLETE;
  994.                         e.sendEvent(c.COMPLETE)
  995.                     }
  996.                 }
  997.             }
  998.  
  999.             function n() {
  1000.                 if (!m) {
  1001.                     f()
  1002.                 }
  1003.                 if (!d && !k) {
  1004.                     var r = 0,
  1005.                         q = i.getPlugins();
  1006.                     for (var s in m) {
  1007.                         var t = a.getPluginName(s),
  1008.                             w = q[t],
  1009.                             v = w.getJS(),
  1010.                             u = w.getTarget(),
  1011.                             p = w.getStatus();
  1012.                         if (p == a.loaderstatus.LOADING || p == a.loaderstatus.NEW) {
  1013.                             r++
  1014.                         } else {
  1015.                             if (v && (!u || parseFloat(u) > parseFloat(b.version))) {
  1016.                                 k = true;
  1017.                                 l = "Incompatible player version";
  1018.                                 f()
  1019.                             }
  1020.                         }
  1021.                     }
  1022.                     if (r == 0) {
  1023.                         f()
  1024.                     }
  1025.                 }
  1026.             }
  1027.             this.setupPlugins = function(x, s, A) {
  1028.                 var r = {
  1029.                         length: 0,
  1030.                         plugins: {}
  1031.                     },
  1032.                     v = {
  1033.                         length: 0,
  1034.                         plugins: {}
  1035.                     },
  1036.                     u = i.getPlugins();
  1037.                 for (var w in s.plugins) {
  1038.                     var y = a.getPluginName(w),
  1039.                         z = u[y],
  1040.                         B = z.getFlashPath(),
  1041.                         C = z.getJS(),
  1042.                         p = z.getURL();
  1043.                     if (B) {
  1044.                         r.plugins[B] = a.extend({}, s.plugins[w]);
  1045.                         r.plugins[B].pluginmode = z.getPluginmode();
  1046.                         r.length++
  1047.                     }
  1048.                     try {
  1049.                         if (C && s.plugins && s.plugins[p]) {
  1050.                             var q = document.createElement("div");
  1051.                             q.id = x.id + "_" + y;
  1052.                             q.style.position = "absolute";
  1053.                             q.style.top = 0;
  1054.                             q.style.zIndex = v.length + 10;
  1055.                             v.plugins[y] = z.getNewInstance(x, a.extend({}, s.plugins[p]), q);
  1056.                             v.length++;
  1057.                             x.onReady(A(v.plugins[y], q, true));
  1058.                             x.onResize(A(v.plugins[y], q))
  1059.                         }
  1060.                     } catch (t) {
  1061.                         console.log("ERROR: Failed to load " + y + ".")
  1062.                     }
  1063.                 }
  1064.                 x.plugins = v.plugins;
  1065.                 return r
  1066.             };
  1067.             this.load = function() {
  1068.                 if (a.exists(h) && a.typeOf(h) != "object") {
  1069.                     n();
  1070.                     return
  1071.                 }
  1072.                 o = a.loaderstatus.LOADING;
  1073.                 g = true;
  1074.                 for (var q in h) {
  1075.                     if (a.exists(q)) {
  1076.                         var r = i.addPlugin(q);
  1077.                         r.addEventListener(c.COMPLETE, n);
  1078.                         r.addEventListener(c.ERROR, j)
  1079.                     }
  1080.                 }
  1081.                 var p = i.getPlugins();
  1082.                 for (q in p) {
  1083.                     p[q].load()
  1084.                 }
  1085.                 g = false;
  1086.                 n()
  1087.             };
  1088.             var j = this.pluginFailed = function(p) {
  1089.                 if (!k) {
  1090.                     k = true;
  1091.                     l = "File not found";
  1092.                     f()
  1093.                 }
  1094.             };
  1095.             this.getStatus = function() {
  1096.                 return o
  1097.             }
  1098.         }
  1099.     })(jwplayer);
  1100.     (function(a) {
  1101.         a.playlist = function(c) {
  1102.             var d = [];
  1103.             if (a.utils.typeOf(c) == "array") {
  1104.                 for (var b = 0; b < c.length; b++) {
  1105.                     d.push(new a.playlist.item(c[b]))
  1106.                 }
  1107.             } else {
  1108.                 d.push(new a.playlist.item(c))
  1109.             }
  1110.             return d
  1111.         }
  1112.     })(jwplayer);
  1113.     (function(b) {
  1114.         var a = b.item = function(d) {
  1115.             var c = jwplayer.utils.extend({}, a.defaults, d);
  1116.             if (c.sources.length == 0) {
  1117.                 c.sources = [new b.source(c)]
  1118.             }
  1119.             for (var e = 0; e < c.sources.length; e++) {
  1120.                 c.sources[e] = new b.source(c.sources[e])
  1121.             }
  1122.             return c
  1123.         };
  1124.         a.defaults = {
  1125.             description: "",
  1126.             image: "",
  1127.             mediaid: "",
  1128.             title: "",
  1129.             tags: "",
  1130.             duration: -1,
  1131.             sources: []
  1132.         }
  1133.     })(jwplayer.playlist);
  1134.     (function(d) {
  1135.         var b = undefined,
  1136.             a = jwplayer.utils,
  1137.             c = {
  1138.                 file: b,
  1139.                 label: b,
  1140.                 bitrate: b,
  1141.                 width: b,
  1142.                 height: b,
  1143.                 type: b
  1144.             };
  1145.         d.source = function(f) {
  1146.             var e = a.extend({}, c);
  1147.             for (var g in c) {
  1148.                 if (a.exists(f[g])) {
  1149.                     e[g] = f[g];
  1150.                     delete f[g]
  1151.                 }
  1152.             }
  1153.             if (e.type && e.type.indexOf("/") > 0) {
  1154.                 e.type = a.extensionmap.mimeType(e.type)
  1155.             }
  1156.             return e
  1157.         }
  1158.     })(jwplayer.playlist);
  1159.     (function(b) {
  1160.         var a = b.utils,
  1161.             c = b.events,
  1162.             d = document;
  1163.         var e = b.embed = function(u) {
  1164.             var q = new e.config(u.config),
  1165.                 j, l, h, k = q.width,
  1166.                 m = q.height,
  1167.                 o = "Error loading player: ",
  1168.                 i = b.plugins.loadPlugins(u.id, q.plugins);
  1169.             if (q.fallbackDiv) {
  1170.                 h = q.fallbackDiv;
  1171.                 delete q.fallbackDiv
  1172.             }
  1173.             q.id = u.id;
  1174.             l = d.getElementById(u.id);
  1175.             j = d.createElement("div");
  1176.             j.id = l.id;
  1177.             j.style.width = k.toString().indexOf("%") > 0 ? k : (k + "px");
  1178.             j.style.height = m.toString().indexOf("%") > 0 ? m : (m + "px");
  1179.             l.parentNode.replaceChild(j, l);
  1180.  
  1181.             function n(x, w) {
  1182.                 for (var v in w) {
  1183.                     if (typeof x[v] == "function") {
  1184.                         (x[v]).call(x, w[v])
  1185.                     }
  1186.                 }
  1187.             }
  1188.  
  1189.             function f() {
  1190.                 if (a.typeOf(q.playlist) == "array" && q.playlist.length < 2) {
  1191.                     if (q.playlist.length == 0 || !q.playlist[0].sources || q.playlist[0].sources.length == 0) {
  1192.                         s();
  1193.                         return
  1194.                     }
  1195.                 }
  1196.                 if (i.getStatus() == a.loaderstatus.COMPLETE) {
  1197.                     for (var x = 0; x < q.modes.length; x++) {
  1198.                         if (q.modes[x].type && e[q.modes[x].type]) {
  1199.                             var v = a.extend({}, q),
  1200.                                 w = new e[q.modes[x].type](j, q.modes[x], v, i, u);
  1201.                             if (w.supportsConfig()) {
  1202.                                 w.addEventListener(c.ERROR, g);
  1203.                                 w.embed();
  1204.                                 n(u, v.events);
  1205.                                 return u
  1206.                             }
  1207.                         }
  1208.                     }
  1209.                     if (q.fallback) {
  1210.                         a.log("No suitable players found and fallback enabled");
  1211.                         new e.download(j, q, s)
  1212.                     } else {
  1213.                         a.log("No suitable players found and fallback disabled");
  1214.                         r()
  1215.                     }
  1216.                 }
  1217.             }
  1218.  
  1219.             function r() {
  1220.                 j.parentNode.replaceChild(h, j)
  1221.             }
  1222.  
  1223.             function g(v) {
  1224.                 t(j, o + v.message)
  1225.             }
  1226.  
  1227.             function p(v) {
  1228.                 t(j, "Could not load plugins: " + v.message)
  1229.             }
  1230.  
  1231.             function s() {
  1232.                 t(j, o + "No playable sources found")
  1233.             }
  1234.  
  1235.             function t(v, x) {
  1236.                 if (!q.fallback) {
  1237.                     return
  1238.                 }
  1239.                 var w = v.style;
  1240.                 w.backgroundColor = "#000";
  1241.                 w.color = "#FFF";
  1242.                 w.width = a.styleDimension(q.width);
  1243.                 w.height = a.styleDimension(q.height);
  1244.                 w.display = "table";
  1245.                 w.opacity = 1;
  1246.                 var z = document.createElement("p"),
  1247.                     y = z.style;
  1248.                 y.verticalAlign = "middle";
  1249.                 y.textAlign = "center";
  1250.                 y.display = "table-cell";
  1251.                 y.font = "15px/20px Arial, Helvetica, sans-serif";
  1252.                 z.innerHTML = x.replace(":", ":<br>");
  1253.                 v.innerHTML = "";
  1254.                 v.appendChild(z)
  1255.             }
  1256.             b.embed.errorScreen = t;
  1257.             i.addEventListener(c.COMPLETE, f);
  1258.             i.addEventListener(c.ERROR, p);
  1259.             i.load();
  1260.             return u
  1261.         }
  1262.     })(jwplayer);
  1263.     (function(d) {
  1264.         var a = d.utils,
  1265.             h = d.embed,
  1266.             b = d.playlist.item,
  1267.             f = undefined;
  1268.         var c = h.config = function(j) {
  1269.             var l = {
  1270.                     fallback: true,
  1271.                     height: 270,
  1272.                     primary: "html5",
  1273.                     width: 480,
  1274.                     base: j.base ? j.base : a.getScriptPath("jwplayer.js")
  1275.                 },
  1276.                 k = a.extend(l, j),
  1277.                 i = {
  1278.                     html5: {
  1279.                         type: "html5",
  1280.                         src: k.base + "jwplayer.html5.js"
  1281.                     },
  1282.                     flash: {
  1283.                         type: "flash",
  1284.                         src: k.base + "jwplayer.flash.swf"
  1285.                     }
  1286.                 };
  1287.             k.modes = (k.primary == "flash") ? [i.flash, i.html5] : [i.html5, i.flash];
  1288.             if (k.listbar) {
  1289.                 k.playlistsize = k.listbar.size;
  1290.                 k.playlistposition = k.listbar.position
  1291.             }
  1292.             e(k);
  1293.             return k
  1294.         };
  1295.         c.addConfig = function(i, j) {
  1296.             e(j);
  1297.             return a.extend(i, j)
  1298.         };
  1299.  
  1300.         function e(l) {
  1301.             if (!l.playlist) {
  1302.                 var n = {};
  1303.                 for (var k in b.defaults) {
  1304.                     g(l, n, k)
  1305.                 }
  1306.                 if (!n.sources) {
  1307.                     if (l.levels) {
  1308.                         n.sources = l.levels;
  1309.                         delete l.levels
  1310.                     } else {
  1311.                         var j = {};
  1312.                         g(l, j, "file");
  1313.                         g(l, j, "type");
  1314.                         n.sources = j.file ? [j] : []
  1315.                     }
  1316.                 }
  1317.                 l.playlist = [n]
  1318.             } else {
  1319.                 for (var m = 0; m < l.playlist.length; m++) {
  1320.                     l.playlist[m] = new b(l.playlist[m])
  1321.                 }
  1322.             }
  1323.         }
  1324.  
  1325.         function g(k, i, j) {
  1326.             if (a.exists(k[j])) {
  1327.                 i[j] = k[j];
  1328.                 delete k[j]
  1329.             }
  1330.         }
  1331.     })(jwplayer);
  1332.     (function(e) {
  1333.         var g = e.embed,
  1334.             j = e.utils,
  1335.             i = document,
  1336.             h = "pointer",
  1337.             c = "none",
  1338.             a = "block",
  1339.             f = "100%",
  1340.             d = "relative",
  1341.             b = "absolute";
  1342.         g.download = function(n, y, l) {
  1343.             var q = j.extend({}, y),
  1344.                 u, o = q.width ? q.width : 480,
  1345.                 r = q.height ? q.height : 320,
  1346.                 z, s, k = y.logo ? y.logo : {
  1347.                     prefix: "http://p.jwpcdn.com/",
  1348.                     file: "logo.png",
  1349.                     margin: 10
  1350.                 };
  1351.  
  1352.             function x() {
  1353.                 var E, F, D, G, C = q.playlist,
  1354.                     J, B, G, H = ["mp4", "aac", "mp3"];
  1355.                 if (C && C.length) {
  1356.                     J = C[0];
  1357.                     B = J.sources;
  1358.                     for (G = 0; G < B.length; G++) {
  1359.                         var A = B[G],
  1360.                             I = A.type ? A.type : j.extensionmap.extType(j.extension(A.file));
  1361.                         if (A.file) {
  1362.                             for (G in H) {
  1363.                                 if (I == H[G]) {
  1364.                                     E = A.file;
  1365.                                     F = J.image
  1366.                                 } else {
  1367.                                     if (j.isYouTube(A.file)) {
  1368.                                         D = A.file
  1369.                                     }
  1370.                                 }
  1371.                             }
  1372.                             if (E || D) {
  1373.                                 continue
  1374.                             }
  1375.                         }
  1376.                     }
  1377.                 } else {
  1378.                     return
  1379.                 }
  1380.                 if (E) {
  1381.                     z = E;
  1382.                     s = F;
  1383.                     if (k.prefix) {
  1384.                         if (j.isHTTPS()) {
  1385.                             k.prefix = k.prefix.replace("http://", "https://ssl.")
  1386.                         }
  1387.                         k.prefix += e.version.split(/\W/).splice(0, 2).join("/")
  1388.                     }
  1389.                     t();
  1390.                     p()
  1391.                 } else {
  1392.                     if (D) {
  1393.                         m(D)
  1394.                     } else {
  1395.                         l()
  1396.                     }
  1397.                 }
  1398.             }
  1399.  
  1400.             function t() {
  1401.                 if (n) {
  1402.                     u = v("a", "display", n);
  1403.                     v("div", "icon", u);
  1404.                     v("div", "logo", u);
  1405.                     if (z) {
  1406.                         u.setAttribute("href", j.getAbsolutePath(z))
  1407.                     }
  1408.                 }
  1409.             }
  1410.  
  1411.             function w(A, C) {
  1412.                 var D = i.querySelectorAll(A);
  1413.                 for (var B = 0; B < D.length; B++) {
  1414.                     for (var E in C) {
  1415.                         D[B].style[E] = C[E]
  1416.                     }
  1417.                 }
  1418.             }
  1419.  
  1420.             function p() {
  1421.                 var A = "#" + n.id + " .jwdownload";
  1422.                 n.style.width = "";
  1423.                 n.style.height = "";
  1424.                 w(A + "display", {
  1425.                     width: j.styleDimension(Math.max(320, o)),
  1426.                     height: j.styleDimension(Math.max(180, r)),
  1427.                     background: "black center no-repeat " + (s ? "url(" + s + ")" : ""),
  1428.                     backgroundSize: "contain",
  1429.                     position: d,
  1430.                     border: c,
  1431.                     display: a
  1432.                 });
  1433.                 w(A + "display div", {
  1434.                     position: b,
  1435.                     width: f,
  1436.                     height: f
  1437.                 });
  1438.                 w(A + "logo", {
  1439.                     top: k.margin + "px",
  1440.                     right: k.margin + "px",
  1441.                     background: "top right no-repeat url(" + k.prefix + k.file + ")"
  1442.                 });
  1443.                 w(A + "icon", {
  1444.                     background: "center no-repeat url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAgNJREFUeNrs28lqwkAYB/CZqNVDDj2r6FN41QeIy8Fe+gj6BL275Q08u9FbT8ZdwVfotSBYEPUkxFOoks4EKiJdaDuTjMn3wWBO0V/+sySR8SNSqVRKIR8qaXHkzlqS9jCfzzWcTCYp9hF5o+59sVjsiRzcegSckFzcjT+ruN80TeSlAjCAAXzdJSGPFXRpAAMYwACGZQkSdhG4WCzehMNhqV6vG6vVSrirKVEw66YoSqDb7cqlUilE8JjHd/y1MQefVzqdDmiaJpfLZWHgXMHn8F6vJ1cqlVAkEsGuAn83J4gAd2RZymQygX6/L1erVQt+9ZPWb+CDwcCC2zXGJaewl/DhcHhK3DVj+KfKZrMWvFarcYNLomAv4aPRSFZVlTlcSPA5fDweW/BoNIqFnKV53JvncjkLns/n/cLdS+92O7RYLLgsKfv9/t8XlDn4eDyiw+HA9Jyz2eyt0+kY2+3WFC5hluej0Ha7zQQq9PPwdDq1Et1sNsx/nFBgCqWJ8oAK1aUptNVqcYWewE4nahfU0YQnk4ntUEfGMIU2m01HoLaCKbTRaDgKtaVLk9tBYaBcE/6Artdr4RZ5TB6/dC+9iIe/WgAMYADDpAUJAxjAAAYwgGFZgoS/AtNNTF7Z2bL0BYPBV3Jw5xFwwWcYxgtBP5OkE8i9G7aWGOOCruvauwADALMLMEbKf4SdAAAAAElFTkSuQmCC)"
  1445.                 })
  1446.             }
  1447.  
  1448.             function v(A, D, C) {
  1449.                 var B = i.createElement(A);
  1450.                 if (D) {
  1451.                     B.className = "jwdownload" + D
  1452.                 }
  1453.                 if (C) {
  1454.                     C.appendChild(B)
  1455.                 }
  1456.                 return B
  1457.             }
  1458.  
  1459.             function m(A) {
  1460.                 var B = v("embed", "", n);
  1461.                 B.src = "http://www.youtube.com/v/" + (/v[=\/](\w*)|\/(\w+)$|^(\w+)$/i).exec(A).slice(1).join("");
  1462.                 B.type = "application/x-shockwave-flash";
  1463.                 B.width = o;
  1464.                 B.height = r
  1465.             }
  1466.             x()
  1467.         }
  1468.     })(jwplayer);
  1469.     (function(c) {
  1470.         var b = c.utils,
  1471.             d = c.events,
  1472.             a = {};
  1473.         var e = c.embed.flash = function(l, m, p, k, n) {
  1474.             var h = new c.events.eventdispatcher(),
  1475.                 i = b.flashVersion();
  1476.             b.extend(this, h);
  1477.  
  1478.             function q(s, r, t) {
  1479.                 var u = document.createElement("param");
  1480.                 u.setAttribute("name", r);
  1481.                 u.setAttribute("value", t);
  1482.                 s.appendChild(u)
  1483.             }
  1484.  
  1485.             function o(s, t, r) {
  1486.                 return function(u) {
  1487.                     try {
  1488.                         if (r) {
  1489.                             document.getElementById(n.id + "_wrapper").appendChild(t)
  1490.                         }
  1491.                         var w = document.getElementById(n.id).getPluginConfig("display");
  1492.                         if (typeof s.resize == "function") {
  1493.                             s.resize(w.width, w.height)
  1494.                         }
  1495.                         t.style.left = w.x;
  1496.                         t.style.top = w.h
  1497.                     } catch (v) {}
  1498.                 }
  1499.             }
  1500.  
  1501.             function j(t) {
  1502.                 if (!t) {
  1503.                     return {}
  1504.                 }
  1505.                 var v = {};
  1506.                 for (var s in t) {
  1507.                     var r = t[s];
  1508.                     for (var u in r) {
  1509.                         v[s + "." + u] = r[u]
  1510.                     }
  1511.                 }
  1512.                 return v
  1513.             }
  1514.  
  1515.             function g(u) {
  1516.                 if (!u) {
  1517.                     return {}
  1518.                 }
  1519.                 var x = {},
  1520.                     w = [];
  1521.                 for (var r in u) {
  1522.                     var t = b.getPluginName(r);
  1523.                     var s = u[r];
  1524.                     w.push(r);
  1525.                     for (var v in s) {
  1526.                         x[t + "." + v] = s[v]
  1527.                     }
  1528.                 }
  1529.                 x.plugins = w.join(",");
  1530.                 return x
  1531.             }
  1532.             this.embed = function() {
  1533.                 p.id = n.id;
  1534.                 if (i < 10) {
  1535.                     h.sendEvent(d.ERROR, {
  1536.                         message: "Flash version must be 10.0 or greater"
  1537.                     });
  1538.                     return false
  1539.                 }
  1540.                 var C;
  1541.                 var v = b.extend({}, p);
  1542.                 if (l.id + "_wrapper" == l.parentNode.id) {
  1543.                     C = document.getElementById(l.id + "_wrapper")
  1544.                 } else {
  1545.                     C = document.createElement("div");
  1546.                     C.id = l.id + "_wrapper";
  1547.                     C.style.position = "relative";
  1548.                     C.style.width = b.styleDimension(v.width);
  1549.                     C.style.height = b.styleDimension(v.height);
  1550.                     l.parentNode.replaceChild(C, l);
  1551.                     C.appendChild(l)
  1552.                 }
  1553.                 var t = k.setupPlugins(n, v, o);
  1554.                 if (t.length > 0) {
  1555.                     b.extend(v, g(t.plugins))
  1556.                 } else {
  1557.                     delete v.plugins
  1558.                 }
  1559.                 if (typeof v["dock.position"] != "undefined") {
  1560.                     if (v["dock.position"].toString().toLowerCase() == "false") {
  1561.                         v.dock = v["dock.position"];
  1562.                         delete v["dock.position"]
  1563.                     }
  1564.                 }
  1565.                 var D = "#000000",
  1566.                     y, u = v.wmode ? v.wmode : (v.height && v.height <= 40 ? "transparent" : "opaque"),
  1567.                     w = ["height", "width", "modes", "events", "primary", "base", "fallback", "volume"];
  1568.                 for (var z = 0; z < w.length; z++) {
  1569.                     delete v[w[z]]
  1570.                 }
  1571.                 var B = b.getCookies();
  1572.                 for (var s in B) {
  1573.                     if (typeof(v[s]) == "undefined") {
  1574.                         v[s] = B[s]
  1575.                     }
  1576.                 }
  1577.                 var r = window.location.pathname.split("/");
  1578.                 r.splice(r.length - 1, 1);
  1579.                 r = r.join("/");
  1580.                 v.base = r + "/";
  1581.                 a[l.id] = v;
  1582.                 if (b.isIE()) {
  1583.                     var A = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" " width="100%" height="100%" id="' + l.id + '" name="' + l.id + '" tabindex=0"">';
  1584.                     A += '<param name="movie" value="' + m.src + '">';
  1585.                     A += '<param name="allowfullscreen" value="true">';
  1586.                     A += '<param name="allowscriptaccess" value="always">';
  1587.                     A += '<param name="seamlesstabbing" value="true">';
  1588.                     A += '<param name="wmode" value="' + u + '">';
  1589.                     A += '<param name="bgcolor" value="' + D + '">';
  1590.                     A += "</object>";
  1591.                     l.outerHTML = A;
  1592.                     y = document.getElementById(l.id)
  1593.                 } else {
  1594.                     var x = document.createElement("object");
  1595.                     x.setAttribute("type", "application/x-shockwave-flash");
  1596.                     x.setAttribute("data", m.src);
  1597.                     x.setAttribute("width", "100%");
  1598.                     x.setAttribute("height", "100%");
  1599.                     x.setAttribute("bgcolor", D);
  1600.                     x.setAttribute("id", l.id);
  1601.                     x.setAttribute("name", l.id);
  1602.                     x.setAttribute("tabindex", 0);
  1603.                     q(x, "allowfullscreen", "true");
  1604.                     q(x, "allowscriptaccess", "always");
  1605.                     q(x, "seamlesstabbing", "true");
  1606.                     q(x, "wmode", u);
  1607.                     l.parentNode.replaceChild(x, l);
  1608.                     y = x
  1609.                 }
  1610.                 n.container = y;
  1611.                 n.setPlayer(y, "flash")
  1612.             };
  1613.             this.supportsConfig = function() {
  1614.                 if (i) {
  1615.                     if (p) {
  1616.                         if (b.typeOf(p.playlist) == "string") {
  1617.                             return true
  1618.                         }
  1619.                         try {
  1620.                             var t = p.playlist[0],
  1621.                                 r = t.sources;
  1622.                             if (typeof r == "undefined") {
  1623.                                 return true
  1624.                             } else {
  1625.                                 for (var s = 0; s < r.length; s++) {
  1626.                                     if (r[s].file && f(r[s].file, r[s].type)) {
  1627.                                         return true
  1628.                                     }
  1629.                                 }
  1630.                             }
  1631.                         } catch (u) {
  1632.                             return false
  1633.                         }
  1634.                     } else {
  1635.                         return true
  1636.                     }
  1637.                 }
  1638.                 return false
  1639.             };
  1640.  
  1641.             function f(r, s) {
  1642.                 if (b.isYouTube(r)) {
  1643.                     return true
  1644.                 }
  1645.                 if (b.isRtmp(r, s)) {
  1646.                     return true
  1647.                 }
  1648.                 if (s == "hls") {
  1649.                     return true
  1650.                 }
  1651.                 var t = b.extensionmap[s ? s : b.extension(r)];
  1652.                 if (!t) {
  1653.                     return false
  1654.                 }
  1655.                 return !!(t.flash)
  1656.             }
  1657.         };
  1658.         e.getVars = function(f) {
  1659.             return a[f]
  1660.         }
  1661.     })(jwplayer);
  1662.     (function(c) {
  1663.         var a = c.utils,
  1664.             b = a.extensionmap,
  1665.             d = c.events;
  1666.         c.embed.html5 = function(g, h, o, f, k) {
  1667.             var j = this,
  1668.                 e = new d.eventdispatcher();
  1669.             a.extend(j, e);
  1670.  
  1671.             function l(q, r, p) {
  1672.                 return function(s) {
  1673.                     try {
  1674.                         var t = document.querySelector("#" + g.id + " .jwmain");
  1675.                         if (p) {
  1676.                             t.appendChild(r)
  1677.                         }
  1678.                         if (typeof q.resize == "function") {
  1679.                             q.resize(t.clientWidth, t.clientHeight);
  1680.                             setTimeout(function() {
  1681.                                 q.resize(t.clientWidth, t.clientHeight)
  1682.                             }, 400)
  1683.                         }
  1684.                         r.left = t.style.left;
  1685.                         r.top = t.style.top
  1686.                     } catch (u) {}
  1687.                 }
  1688.             }
  1689.             j.embed = function() {
  1690.                 if (c.html5) {
  1691.                     f.setupPlugins(k, o, l);
  1692.                     g.innerHTML = "";
  1693.                     var p = c.utils.extend({}, o);
  1694.                     delete p.volume;
  1695.                     var q = new c.html5.player(p);
  1696.                     k.container = document.getElementById(k.id);
  1697.                     k.setPlayer(q, "html5")
  1698.                 } else {
  1699.                     var r = new a.scriptloader(h.src);
  1700.                     r.addEventListener(d.ERROR, i);
  1701.                     r.addEventListener(d.COMPLETE, j.embed);
  1702.                     r.load()
  1703.                 }
  1704.             };
  1705.  
  1706.             function i(p) {
  1707.                 j.sendEvent(p.type, {
  1708.                     message: "HTML5 player not found"
  1709.                 })
  1710.             }
  1711.             j.supportsConfig = function() {
  1712.                 if (!!c.vid.canPlayType) {
  1713.                     try {
  1714.                         if (a.typeOf(o.playlist) == "string") {
  1715.                             return true
  1716.                         } else {
  1717.                             var p = o.playlist[0].sources;
  1718.                             for (var r = 0; r < p.length; r++) {
  1719.                                 var q = p[r].file,
  1720.                                     s = p[r].type;
  1721.                                 if (n(q, s)) {
  1722.                                     return true
  1723.                                 }
  1724.                             }
  1725.                         }
  1726.                     } catch (t) {
  1727.                         return false
  1728.                     }
  1729.                 }
  1730.                 return false
  1731.             };
  1732.  
  1733.             function n(p, q) {
  1734.                 if (navigator.userAgent.match(/BlackBerry/i) !== null) {
  1735.                     return false
  1736.                 }
  1737.                 if (a.isAndroid() && (a.extension(p) == "m3u" || a.extension(p) == "m3u8")) {
  1738.                     return false
  1739.                 }
  1740.                 if (a.isRtmp(p, q)) {
  1741.                     return false
  1742.                 }
  1743.                 var r = b[q ? q : a.extension(p)];
  1744.                 if (!r) {
  1745.                     return false
  1746.                 }
  1747.                 if (r.flash && !r.html5) {
  1748.                     return false
  1749.                 }
  1750.                 return m(r.html5)
  1751.             }
  1752.  
  1753.             function m(p) {
  1754.                 var q = c.vid;
  1755.                 if (!p) {
  1756.                     return true
  1757.                 }
  1758.                 try {
  1759.                     if (q.canPlayType(p)) {
  1760.                         return true
  1761.                     } else {
  1762.                         return false
  1763.                     }
  1764.                 } catch (r) {
  1765.                     return false
  1766.                 }
  1767.             }
  1768.         }
  1769.     })(jwplayer);
  1770.     (function(c) {
  1771.         var b = c.embed,
  1772.             a = c.utils,
  1773.             d = a.extend(function(k) {
  1774.                 var j = (a.isHTTPS() ? "https://ssl." : "http://") + "p.jwpcdn.com/" + c.version.replace(/(\d+)\.(\d+).*/, "$1/$2/"),
  1775.                     g = k.config,
  1776.                     e = g.plugins,
  1777.                     f = g.analytics,
  1778.                     i = j + "jwpsrv.js",
  1779.                     h = new c.utils.key(c.key);
  1780.                 if (h.edition() == "ads" && g.advertising) {
  1781.                     g.plugins[j + g.advertising.client + (g.primary == "flash" ? ".swf" : ".js")] = g.advertising
  1782.                 }
  1783.                 delete g.advertising;
  1784.                 g.key = c.key;
  1785.                 delete g.analytics;
  1786.                 e = e ? e : {};
  1787.                 e[i] = f ? f : {};
  1788.                 g.plugins = e;
  1789.                 return new b(k)
  1790.             }, b);
  1791.         c.embed = d
  1792.     })(jwplayer);
  1793.     (function(d) {
  1794.         var c = [],
  1795.             a = d.utils,
  1796.             e = d.events,
  1797.             b = e.state,
  1798.             g = document;
  1799.         var f = d.api = function(t) {
  1800.             var x = this,
  1801.                 h = {},
  1802.                 l = {},
  1803.                 A = {},
  1804.                 o = [],
  1805.                 i = undefined,
  1806.                 D = false,
  1807.                 p = [],
  1808.                 y = undefined,
  1809.                 s = {},
  1810.                 n = {};
  1811.             x.container = t;
  1812.             x.id = t.id;
  1813.             x.getBuffer = function() {
  1814.                 return w("jwGetBuffer")
  1815.             };
  1816.             x.getContainer = function() {
  1817.                 return x.container
  1818.             };
  1819.             x.addButton = function(H, F, G, K) {
  1820.                 try {
  1821.                     n[K] = G;
  1822.                     var J = "jwplayer('" + x.id + "').callback('" + K + "')";
  1823.                     w("jwDockAddButton", H, F, J, K)
  1824.                 } catch (I) {
  1825.                     a.log("Could not add dock button" + I.message)
  1826.                 }
  1827.             };
  1828.             x.removeButton = function(F) {
  1829.                 w("jwDockRemoveButton", F)
  1830.             }, x.callback = function(F) {
  1831.                 if (n[F]) {
  1832.                     n[F]()
  1833.                 }
  1834.             };
  1835.             x.getDuration = function() {
  1836.                 return w("jwGetDuration")
  1837.             };
  1838.             x.getFullscreen = function() {
  1839.                 return w("jwGetFullscreen")
  1840.             };
  1841.             x.getStretching = function() {
  1842.                 return w("jwGetStretching")
  1843.             };
  1844.             x.getHeight = function() {
  1845.                 return w("jwGetHeight")
  1846.             };
  1847.             x.getLockState = function() {
  1848.                 return w("jwGetLockState")
  1849.             };
  1850.             x.getMeta = function() {
  1851.                 return x.getItemMeta()
  1852.             };
  1853.             x.getMute = function() {
  1854.                 return w("jwGetMute")
  1855.             };
  1856.             x.getPlaylist = function() {
  1857.                 var G = w("jwGetPlaylist");
  1858.                 if (x.renderingMode == "flash") {
  1859.                     a.deepReplaceKeyName(G, ["__dot__", "__spc__", "__dsh__"], [".", " ", "-"])
  1860.                 }
  1861.                 for (var F = 0; F < G.length; F++) {
  1862.                     if (!a.exists(G[F].index)) {
  1863.                         G[F].index = F
  1864.                     }
  1865.                 }
  1866.                 return G
  1867.             };
  1868.             x.getPlaylistItem = function(F) {
  1869.                 if (!a.exists(F)) {
  1870.                     F = x.getCurrentItem()
  1871.                 }
  1872.                 return x.getPlaylist()[F]
  1873.             };
  1874.             x.getPosition = function() {
  1875.                 return w("jwGetPosition")
  1876.             };
  1877.             x.getRenderingMode = function() {
  1878.                 return x.renderingMode
  1879.             };
  1880.             x.getState = function() {
  1881.                 return w("jwGetState")
  1882.             };
  1883.             x.getVolume = function() {
  1884.                 return w("jwGetVolume")
  1885.             };
  1886.             x.getWidth = function() {
  1887.                 return w("jwGetWidth")
  1888.             };
  1889.             x.setFullscreen = function(F) {
  1890.                 if (!a.exists(F)) {
  1891.                     w("jwSetFullscreen", !w("jwGetFullscreen"))
  1892.                 } else {
  1893.                     w("jwSetFullscreen", F)
  1894.                 }
  1895.                 return x
  1896.             };
  1897.             x.setStretching = function(F) {
  1898.                 w("jwSetStretching", F);
  1899.                 return x
  1900.             };
  1901.             x.setMute = function(F) {
  1902.                 if (!a.exists(F)) {
  1903.                     w("jwSetMute", !w("jwGetMute"))
  1904.                 } else {
  1905.                     w("jwSetMute", F)
  1906.                 }
  1907.                 return x
  1908.             };
  1909.             x.lock = function() {
  1910.                 return x
  1911.             };
  1912.             x.unlock = function() {
  1913.                 return x
  1914.             };
  1915.             x.load = function(F) {
  1916.                 w("jwLoad", F);
  1917.                 return x
  1918.             };
  1919.             x.playlistItem = function(F) {
  1920.                 w("jwPlaylistItem", parseInt(F));
  1921.                 return x
  1922.             };
  1923.             x.playlistPrev = function() {
  1924.                 w("jwPlaylistPrev");
  1925.                 return x
  1926.             };
  1927.             x.playlistNext = function() {
  1928.                 w("jwPlaylistNext");
  1929.                 return x
  1930.             };
  1931.             x.resize = function(G, F) {
  1932.                 if (x.renderingMode != "flash") {
  1933.                     w("jwResize", G, F)
  1934.                 } else {
  1935.                     var H = g.getElementById(x.id + "_wrapper");
  1936.                     if (H) {
  1937.                         H.style.width = a.styleDimension(G);
  1938.                         H.style.height = a.styleDimension(F)
  1939.                     }
  1940.                 }
  1941.                 return x
  1942.             };
  1943.             x.play = function(F) {
  1944.                 if (typeof F == "undefined") {
  1945.                     F = x.getState();
  1946.                     if (F == b.PLAYING || F == b.BUFFERING) {
  1947.                         w("jwPause")
  1948.                     } else {
  1949.                         w("jwPlay")
  1950.                     }
  1951.                 } else {
  1952.                     w("jwPlay", F)
  1953.                 }
  1954.                 return x
  1955.             };
  1956.             x.pause = function(F) {
  1957.                 if (typeof F == "undefined") {
  1958.                     F = x.getState();
  1959.                     if (F == b.PLAYING || F == b.BUFFERING) {
  1960.                         w("jwPause")
  1961.                     } else {
  1962.                         w("jwPlay")
  1963.                     }
  1964.                 } else {
  1965.                     w("jwPause", F)
  1966.                 }
  1967.                 return x
  1968.             };
  1969.             x.stop = function() {
  1970.                 w("jwStop");
  1971.                 return x
  1972.             };
  1973.             x.seek = function(F) {
  1974.                 w("jwSeek", F);
  1975.                 return x
  1976.             };
  1977.             x.setVolume = function(F) {
  1978.                 w("jwSetVolume", F);
  1979.                 return x
  1980.             };
  1981.             x.loadInstream = function(G, F) {
  1982.                 y = new f.instream(this, i, G, F);
  1983.                 return y
  1984.             };
  1985.             x.getQualityLevels = function() {
  1986.                 return w("jwGetQualityLevels")
  1987.             };
  1988.             x.getCurrentQuality = function() {
  1989.                 return w("jwGetCurrentQuality")
  1990.             };
  1991.             x.setCurrentQuality = function(F) {
  1992.                 w("jwSetCurrentQuality", F)
  1993.             };
  1994.             x.getCaptionsList = function() {
  1995.                 return w("jwGetCaptionsList")
  1996.             };
  1997.             x.getCurrentCaptions = function() {
  1998.                 return w("jwGetCurrentCaptions")
  1999.             };
  2000.             x.setCurrentCaptions = function(F) {
  2001.                 w("jwSetCurrentCaptions", F)
  2002.             };
  2003.             x.getControls = function() {
  2004.                 return w("jwGetControls")
  2005.             };
  2006.             x.getSafeRegion = function() {
  2007.                 return w("jwGetSafeRegion")
  2008.             };
  2009.             x.setControls = function(F) {
  2010.                 w("jwSetControls", F)
  2011.             };
  2012.             x.destroyPlayer = function() {
  2013.                 w("jwPlayerDestroy")
  2014.             };
  2015.             var r = {
  2016.                 onBufferChange: e.JWPLAYER_MEDIA_BUFFER,
  2017.                 onBufferFull: e.JWPLAYER_MEDIA_BUFFER_FULL,
  2018.                 onError: e.JWPLAYER_ERROR,
  2019.                 onFullscreen: e.JWPLAYER_FULLSCREEN,
  2020.                 onMeta: e.JWPLAYER_MEDIA_META,
  2021.                 onMute: e.JWPLAYER_MEDIA_MUTE,
  2022.                 onPlaylist: e.JWPLAYER_PLAYLIST_LOADED,
  2023.                 onPlaylistItem: e.JWPLAYER_PLAYLIST_ITEM,
  2024.                 onPlaylistComplete: e.JWPLAYER_PLAYLIST_COMPLETE,
  2025.                 onReady: e.API_READY,
  2026.                 onResize: e.JWPLAYER_RESIZE,
  2027.                 onComplete: e.JWPLAYER_MEDIA_COMPLETE,
  2028.                 onSeek: e.JWPLAYER_MEDIA_SEEK,
  2029.                 onTime: e.JWPLAYER_MEDIA_TIME,
  2030.                 onVolume: e.JWPLAYER_MEDIA_VOLUME,
  2031.                 onBeforePlay: e.JWPLAYER_MEDIA_BEFOREPLAY,
  2032.                 onBeforeComplete: e.JWPLAYER_MEDIA_BEFORECOMPLETE,
  2033.                 onDisplayClick: e.JWPLAYER_DISPLAY_CLICK,
  2034.                 onControls: e.JWPLAYER_CONTROLS,
  2035.                 onQualityLevels: e.JWPLAYER_MEDIA_LEVELS,
  2036.                 onQualityChange: e.JWPLAYER_MEDIA_LEVEL_CHANGED,
  2037.                 onCaptionsList: e.JWPLAYER_CAPTIONS_LIST,
  2038.                 onCaptionsChange: e.JWPLAYER_CAPTIONS_CHANGED
  2039.             };
  2040.             a.foreach(r, function(F) {
  2041.                 x[F] = C(r[F], z)
  2042.             });
  2043.             var v = {
  2044.                 onBuffer: b.BUFFERING,
  2045.                 onPause: b.PAUSED,
  2046.                 onPlay: b.PLAYING,
  2047.                 onIdle: b.IDLE
  2048.             };
  2049.             a.foreach(v, function(F) {
  2050.                 x[F] = C(v[F], q)
  2051.             });
  2052.  
  2053.             function C(F, G) {
  2054.                 return function(H) {
  2055.                     return G(F, H)
  2056.                 }
  2057.             }
  2058.             x.remove = function() {
  2059.                 if (!D) {
  2060.                     throw "Cannot call remove() before player is ready";
  2061.                     return
  2062.                 }
  2063.                 m(this)
  2064.             };
  2065.  
  2066.             function m(F) {
  2067.                 p = [];
  2068.                 f.destroyPlayer(F.id)
  2069.             }
  2070.             x.setup = function(F) {
  2071.                 if (d.embed) {
  2072.                     var G = g.getElementById(x.id);
  2073.                     if (G) {
  2074.                         F.fallbackDiv = G
  2075.                     }
  2076.                     m(x);
  2077.                     var H = d(x.id);
  2078.                     H.config = F;
  2079.                     return new d.embed(H)
  2080.                 }
  2081.                 return x
  2082.             };
  2083.             x.registerPlugin = function(I, H, G, F) {
  2084.                 d.plugins.registerPlugin(I, H, G, F)
  2085.             };
  2086.             x.setPlayer = function(F, G) {
  2087.                 i = F;
  2088.                 x.renderingMode = G
  2089.             };
  2090.             x.detachMedia = function() {
  2091.                 if (x.renderingMode == "html5") {
  2092.                     return w("jwDetachMedia")
  2093.                 }
  2094.             };
  2095.             x.attachMedia = function() {
  2096.                 if (x.renderingMode == "html5") {
  2097.                     return w("jwAttachMedia")
  2098.                 }
  2099.             };
  2100.  
  2101.             function q(F, G) {
  2102.                 if (!l[F]) {
  2103.                     l[F] = [];
  2104.                     z(e.JWPLAYER_PLAYER_STATE, E(F))
  2105.                 }
  2106.                 l[F].push(G);
  2107.                 return x
  2108.             }
  2109.  
  2110.             function E(F) {
  2111.                 return function(H) {
  2112.                     var G = H.newstate,
  2113.                         J = H.oldstate;
  2114.                     if (G == F) {
  2115.                         var I = l[G];
  2116.                         if (I) {
  2117.                             for (var K = 0; K < I.length; K++) {
  2118.                                 if (typeof I[K] == "function") {
  2119.                                     I[K].call(this, {
  2120.                                         oldstate: J,
  2121.                                         newstate: G
  2122.                                     })
  2123.                                 }
  2124.                             }
  2125.                         }
  2126.                     }
  2127.                 }
  2128.             }
  2129.  
  2130.             function B(F, G, H) {
  2131.                 if (!A[F]) {
  2132.                     A[F] = {}
  2133.                 }
  2134.                 if (!A[F][G]) {
  2135.                     A[F][G] = [];
  2136.                     z(G, k(F, G))
  2137.                 }
  2138.                 A[F][G].push(H);
  2139.                 return x
  2140.             }
  2141.  
  2142.             function k(F, G) {
  2143.                 return function(I) {
  2144.                     if (F == I.component) {
  2145.                         var H = A[F][G];
  2146.                         if (H) {
  2147.                             for (var J = 0; J < H.length; J++) {
  2148.                                 if (typeof H[J] == "function") {
  2149.                                     H[J].call(this, I)
  2150.                                 }
  2151.                             }
  2152.                         }
  2153.                     }
  2154.                 }
  2155.             }
  2156.  
  2157.             function j(F, G) {
  2158.                 try {
  2159.                     F.jwAddEventListener(G, 'function(dat) { jwplayer("' + x.id + '").dispatchEvent("' + G + '", dat); }')
  2160.                 } catch (H) {
  2161.                     a.log("Could not add internal listener")
  2162.                 }
  2163.             }
  2164.  
  2165.             function z(F, G) {
  2166.                 if (!h[F]) {
  2167.                     h[F] = [];
  2168.                     if (i && D) {
  2169.                         j(i, F)
  2170.                     }
  2171.                 }
  2172.                 h[F].push(G);
  2173.                 return x
  2174.             }
  2175.             x.dispatchEvent = function(H) {
  2176.                 if (h[H]) {
  2177.                     var G = a.translateEventResponse(H, arguments[1]);
  2178.                     for (var F = 0; F < h[H].length; F++) {
  2179.                         if (typeof h[H][F] == "function") {
  2180.                             h[H][F].call(this, G)
  2181.                         }
  2182.                     }
  2183.                 }
  2184.             };
  2185.             x.dispatchInstreamEvent = function(F) {
  2186.                 if (y) {
  2187.                     y.dispatchEvent(F, arguments)
  2188.                 }
  2189.             };
  2190.  
  2191.             function w() {
  2192.                 if (D) {
  2193.                     var H = arguments[0],
  2194.                         F = [];
  2195.                     for (var G = 1; G < arguments.length; G++) {
  2196.                         F.push(arguments[G])
  2197.                     }
  2198.                     if (typeof i != "undefined" && typeof i[H] == "function") {
  2199.                         switch (F.length) {
  2200.                             case 4:
  2201.                                 return (i[H])(F[0], F[1], F[2], F[3]);
  2202.                             case 3:
  2203.                                 return (i[H])(F[0], F[1], F[2]);
  2204.                             case 2:
  2205.                                 return (i[H])(F[0], F[1]);
  2206.                             case 1:
  2207.                                 return (i[H])(F[0]);
  2208.                             default:
  2209.                                 return (i[H])()
  2210.                         }
  2211.                     }
  2212.                     return null
  2213.                 } else {
  2214.                     p.push(arguments)
  2215.                 }
  2216.             }
  2217.             x.playerReady = function(F) {
  2218.                 D = true;
  2219.                 if (!i) {
  2220.                     x.setPlayer(g.getElementById(F.id))
  2221.                 }
  2222.                 x.container = g.getElementById(x.id);
  2223.                 a.foreach(h, function(G) {
  2224.                     j(i, G)
  2225.                 });
  2226.                 z(e.JWPLAYER_PLAYLIST_ITEM, function(G) {
  2227.                     s = {}
  2228.                 });
  2229.                 z(e.JWPLAYER_MEDIA_META, function(G) {
  2230.                     a.extend(s, G.metadata)
  2231.                 });
  2232.                 x.dispatchEvent(e.API_READY);
  2233.                 while (p.length > 0) {
  2234.                     w.apply(this, p.shift())
  2235.                 }
  2236.             };
  2237.             x.getItemMeta = function() {
  2238.                 return s
  2239.             };
  2240.             x.getCurrentItem = function() {
  2241.                 return w("jwGetPlaylistIndex")
  2242.             };
  2243.  
  2244.             function u(H, J, I) {
  2245.                 var F = [];
  2246.                 if (!J) {
  2247.                     J = 0
  2248.                 }
  2249.                 if (!I) {
  2250.                     I = H.length - 1
  2251.                 }
  2252.                 for (var G = J; G <= I; G++) {
  2253.                     F.push(H[G])
  2254.                 }
  2255.                 return F
  2256.             }
  2257.             return x
  2258.         };
  2259.         f.selectPlayer = function(i) {
  2260.             var h;
  2261.             if (!a.exists(i)) {
  2262.                 i = 0
  2263.             }
  2264.             if (i.nodeType) {
  2265.                 h = i
  2266.             } else {
  2267.                 if (typeof i == "string") {
  2268.                     h = g.getElementById(i)
  2269.                 }
  2270.             }
  2271.             if (h) {
  2272.                 var j = f.playerById(h.id);
  2273.                 if (j) {
  2274.                     return j
  2275.                 } else {
  2276.                     return f.addPlayer(new f(h))
  2277.                 }
  2278.             } else {
  2279.                 if (typeof i == "number") {
  2280.                     return c[i]
  2281.                 }
  2282.             }
  2283.             return null
  2284.         };
  2285.         f.playerById = function(i) {
  2286.             for (var h = 0; h < c.length; h++) {
  2287.                 if (c[h].id == i) {
  2288.                     return c[h]
  2289.                 }
  2290.             }
  2291.             return null
  2292.         };
  2293.         f.addPlayer = function(h) {
  2294.             for (var i = 0; i < c.length; i++) {
  2295.                 if (c[i] == h) {
  2296.                     return h
  2297.                 }
  2298.             }
  2299.             c.push(h);
  2300.             return h
  2301.         };
  2302.         f.destroyPlayer = function(j) {
  2303.             var i = -1,
  2304.                 k;
  2305.             for (var m = 0; m < c.length; m++) {
  2306.                 if (c[m].id == j) {
  2307.                     i = m;
  2308.                     k = c[m];
  2309.                     continue
  2310.                 }
  2311.             }
  2312.             if (i >= 0) {
  2313.                 var n = k.id,
  2314.                     h = g.getElementById(n + (k.renderingMode == "flash" ? "_wrapper" : ""));
  2315.                 if (a.clearCss) {
  2316.                     a.clearCss("#" + n)
  2317.                 }
  2318.                 if (h) {
  2319.                     if (k.renderingMode == "html5") {
  2320.                         k.destroyPlayer()
  2321.                     }
  2322.                     var l = g.createElement("div");
  2323.                     l.id = n;
  2324.                     h.parentNode.replaceChild(l, h)
  2325.                 }
  2326.                 c.splice(i, 1)
  2327.             }
  2328.             return null
  2329.         };
  2330.         d.playerReady = function(i) {
  2331.             var h = d.api.playerById(i.id);
  2332.             if (h) {
  2333.                 h.playerReady(i)
  2334.             } else {
  2335.                 d.api.selectPlayer(i.id).playerReady(i)
  2336.             }
  2337.         }
  2338.     })(jwplayer);
  2339.     (function(b) {
  2340.         var c = b.events,
  2341.             a = c.state;
  2342.         b.api.instream = function(e, k, o, r) {
  2343.             var j = e,
  2344.                 d = k,
  2345.                 i = o,
  2346.                 l = r,
  2347.                 g = {},
  2348.                 q = {};
  2349.  
  2350.             function h() {
  2351.                 j.callInternal("jwLoadInstream", o, r)
  2352.             }
  2353.  
  2354.             function n(s, t) {
  2355.                 d.jwInstreamAddEventListener(t, 'function(dat) { jwplayer("' + j.id + '").dispatchInstreamEvent("' + t + '", dat); }')
  2356.             }
  2357.  
  2358.             function f(s, t) {
  2359.                 if (!g[s]) {
  2360.                     g[s] = [];
  2361.                     n(d, s)
  2362.                 }
  2363.                 g[s].push(t);
  2364.                 return this
  2365.             }
  2366.  
  2367.             function p(s, t) {
  2368.                 if (!q[s]) {
  2369.                     q[s] = [];
  2370.                     f(c.JWPLAYER_PLAYER_STATE, m(s))
  2371.                 }
  2372.                 q[s].push(t);
  2373.                 return this
  2374.             }
  2375.  
  2376.             function m(s) {
  2377.                 return function(u) {
  2378.                     var t = u.newstate,
  2379.                         w = u.oldstate;
  2380.                     if (t == s) {
  2381.                         var v = q[t];
  2382.                         if (v) {
  2383.                             for (var x = 0; x < v.length; x++) {
  2384.                                 if (typeof v[x] == "function") {
  2385.                                     v[x].call(this, {
  2386.                                         oldstate: w,
  2387.                                         newstate: t,
  2388.                                         type: u.type
  2389.                                     })
  2390.                                 }
  2391.                             }
  2392.                         }
  2393.                     }
  2394.                 }
  2395.             }
  2396.             this.dispatchEvent = function(v, u) {
  2397.                 if (g[v]) {
  2398.                     var t = _utils.translateEventResponse(v, u[1]);
  2399.                     for (var s = 0; s < g[v].length; s++) {
  2400.                         if (typeof g[v][s] == "function") {
  2401.                             g[v][s].call(this, t)
  2402.                         }
  2403.                     }
  2404.                 }
  2405.             };
  2406.             this.onError = function(s) {
  2407.                 return f(c.JWPLAYER_ERROR, s)
  2408.             };
  2409.             this.onFullscreen = function(s) {
  2410.                 return f(c.JWPLAYER_FULLSCREEN, s)
  2411.             };
  2412.             this.onMeta = function(s) {
  2413.                 return f(c.JWPLAYER_MEDIA_META, s)
  2414.             };
  2415.             this.onMute = function(s) {
  2416.                 return f(c.JWPLAYER_MEDIA_MUTE, s)
  2417.             };
  2418.             this.onComplete = function(s) {
  2419.                 return f(c.JWPLAYER_MEDIA_COMPLETE, s)
  2420.             };
  2421.             this.onSeek = function(s) {
  2422.                 return f(c.JWPLAYER_MEDIA_SEEK, s)
  2423.             };
  2424.             this.onTime = function(s) {
  2425.                 return f(c.JWPLAYER_MEDIA_TIME, s)
  2426.             };
  2427.             this.onVolume = function(s) {
  2428.                 return f(c.JWPLAYER_MEDIA_VOLUME, s)
  2429.             };
  2430.             this.onBuffer = function(s) {
  2431.                 return p(a.BUFFERING, s)
  2432.             };
  2433.             this.onPause = function(s) {
  2434.                 return p(a.PAUSED, s)
  2435.             };
  2436.             this.onPlay = function(s) {
  2437.                 return p(a.PLAYING, s)
  2438.             };
  2439.             this.onIdle = function(s) {
  2440.                 return p(a.IDLE, s)
  2441.             };
  2442.             this.onInstreamClick = function(s) {
  2443.                 return f(c.JWPLAYER_INSTREAM_CLICK, s)
  2444.             };
  2445.             this.onInstreamDestroyed = function(s) {
  2446.                 return f(c.JWPLAYER_INSTREAM_DESTROYED, s)
  2447.             };
  2448.             this.play = function(s) {
  2449.                 d.jwInstreamPlay(s)
  2450.             };
  2451.             this.pause = function(s) {
  2452.                 d.jwInstreamPause(s)
  2453.             };
  2454.             this.seek = function(s) {
  2455.                 d.jwInstreamSeek(s)
  2456.             };
  2457.             this.destroy = function() {
  2458.                 d.jwInstreamDestroy()
  2459.             };
  2460.             this.getState = function() {
  2461.                 return d.jwInstreamGetState()
  2462.             };
  2463.             this.getDuration = function() {
  2464.                 return d.jwInstreamGetDuration()
  2465.             };
  2466.             this.getPosition = function() {
  2467.                 return d.jwInstreamGetPosition()
  2468.             };
  2469.             h()
  2470.         }
  2471.     })(jwplayer);
  2472.     (function(a) {
  2473.         var b = a.api,
  2474.             c = b.selectPlayer;
  2475.         b.selectPlayer = function(d) {
  2476.             var e = c(d);
  2477.             if (e) {
  2478.                 return e
  2479.             } else {
  2480.                 return {
  2481.                     registerPlugin: function(i, h, g, f) {
  2482.                         a.plugins.registerPlugin(i, h, g)
  2483.                     }
  2484.                 }
  2485.             }
  2486.         }
  2487.     })(jwplayer)
  2488. };

Raw Paste


Login or Register to edit or fork this paste. It's free.