var jwplayer = function (a) { if (jwplayer.api) { return jwplayer.api.selectPlayer(a) } }; var $jw = jwplayer; jwplayer.version = "5.5.1641 (Licensed version)"; jwplayer.vid = document.createElement("video"); jwplayer.audio = document.createElement("audio"); jwplayer.source = document.createElement("source"); (function (b) { b.utils = function () { }; b.utils.typeOf = function (d) { var c = typeof d; if (c === "object") { if (d) { if (d instanceof Array) { c = "array" } } else { c = "null" } } return c }; b.utils.extend = function () { var c = b.utils.extend["arguments"]; if (c.length > 1) { for (var e = 1; e < c.length; e++) { for (var d in c[e]) { c[0][d] = c[e][d] } } return c[0] } return null }; b.utils.clone = function (f) { var c; var d = b.utils.clone["arguments"]; if (d.length == 1) { switch (b.utils.typeOf(d[0])) { case "object": c = {}; for (var e in d[0]) { c[e] = b.utils.clone(d[0][e]) } break; case "array": c = []; for (var e in d[0]) { c[e] = b.utils.clone(d[0][e]) } break; default: return d[0]; break } } return c }; b.utils.extension = function (c) { c = c.substring(c.lastIndexOf("/") + 1, c.length); c = c.split("?")[0]; if (c.lastIndexOf(".") > -1) { return c.substr(c.lastIndexOf(".") + 1, c.length).toLowerCase() } return }; b.utils.html = function (c, d) { c.innerHTML = d }; b.utils.wrap = function (c, d) { c.parentNode.replaceChild(d, c); d.appendChild(c) }; b.utils.ajax = function (f, e, c) { var d; if (window.XMLHttpRequest) { d = new XMLHttpRequest() } else { d = new ActiveXObject("Microsoft.XMLHTTP") } d.onreadystatechange = function () { if (d.readyState === 4) { if (d.status === 200) { if (e) { e(d) } } else { if (c) { c(f) } } } }; d.open("GET", f, true); d.send(null); return d }; b.utils.load = function (d, e, c) { d.onreadystatechange = function () { if (d.readyState === 4) { if (d.status === 200) { if (e) { e() } } else { if (c) { c() } } } } }; b.utils.find = function (d, c) { return d.getElementsByTagName(c) }; b.utils.append = function (c, d) { c.appendChild(d) }; b.utils.isIE = function () { return ((! +"\v1") || (typeof window.ActiveXObject != "undefined")) }; b.utils.isLegacyAndroid = function () { var c = navigator.userAgent.toLowerCase(); return (c.match(/android 2.[012]/i) !== null) }; b.utils.isIOS = function () { var c = navigator.userAgent.toLowerCase(); return (c.match(/iP(hone|ad)/i) !== null) }; b.utils.getFirstPlaylistItemFromConfig = function (c) { var d = {}; var e; if (c.playlist && c.playlist.length) { e = c.playlist[0] } else { e = c } d.file = e.file; d.levels = e.levels; d.streamer = e.streamer; d.playlistfile = e.playlistfile; if (d.file && d.file.toLowerCase().indexOf("youtube.com") > -1) { d.provider = "youtube" } if (d.streamer && d.streamer.toLowerCase().indexOf("rtmp://") == 0) { d.provider = "rtmp" } if (e.type) { d.provider = e.type.toLowerCase() } else { if (e.provider) { d.provider = e.provider.toLowerCase() } } return d }; b.utils.getOuterHTML = function (d) { if (d.outerHTML) { return d.outerHTML } else { var e = d.parentNode; var c = document.createElement(e.tagName); var g = document.createElement(d.tagName); e.replaceChild(g, d); c.appendChild(d); var f = c.innerHTML; e.replaceChild(d, g); return f } }; b.utils.setOuterHTML = function (f, e) { if (f.outerHTML) { f.outerHTML = e } else { var g = document.createElement("div"); g.innerHTML = e; var c = document.createRange(); c.selectNodeContents(g); var d = c.extractContents(); f.parentNode.insertBefore(d, f); f.parentNode.removeChild(f) } }; b.utils.hasFlash = function () { return (typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] != "undefined") || (typeof window.ActiveXObject != "undefined") }; b.utils.getPluginName = function (c) { if (c.lastIndexOf("/") >= 0) { c = c.substring(c.lastIndexOf("/") + 1, c.length) } if (c.lastIndexOf("-") >= 0) { c = c.substring(0, c.lastIndexOf("-")) } if (c.lastIndexOf(".swf") >= 0) { c = c.substring(0, c.lastIndexOf(".swf")) } if (c.lastIndexOf(".js") >= 0) { c = c.substring(0, c.lastIndexOf(".js")) } return c }; b.utils.getAbsolutePath = function (j, h) { if (h === undefined) { h = document.location.href } if (j === undefined) { return undefined } if (a(j)) { return j } var k = h.substring(0, h.indexOf("://") + 3); var g = h.substring(k.length, h.indexOf("/", k.length + 1)); var d; if (j.indexOf("/") === 0) { d = j.split("/") } else { var e = h.split("?")[0]; e = e.substring(k.length + g.length + 1, e.lastIndexOf("/")); d = e.split("/").concat(j.split("/")) } var c = []; for (var f = 0; f < d.length; f++) { if (!d[f] || d[f] === undefined || d[f] == ".") { continue } else { if (d[f] == "..") { c.pop() } else { c.push(d[f]) } } } return k + g + "/" + c.join("/") }; function a(d) { if (d === null) { return } var e = d.indexOf("://"); var c = d.indexOf("?"); return (e > 0 && (c < 0 || (c > e))) } b.utils.pluginPathType = { ABSOLUTE: "ABSOLUTE", RELATIVE: "RELATIVE", CDN: "CDN" }; b.utils.getPluginPathType = function (d) { if (typeof d != "string") { return } d = d.split("?")[0]; var e = d.indexOf("://"); if (e > 0) { return b.utils.pluginPathType.ABSOLUTE } var c = d.indexOf("/"); var f = b.utils.extension(d); if (e < 0 && c < 0 && (!f || !isNaN(f))) { return b.utils.pluginPathType.CDN } return b.utils.pluginPathType.RELATIVE }; b.utils.mapEmpty = function (c) { for (var d in c) { return false } return true }; b.utils.mapLength = function (d) { var c = 0; for (var e in d) { c++ } return c }; b.utils.log = function (d, c) { if (typeof console != "undefined" && typeof console.log != "undefined") { if (c) { console.log(d, c) } else { console.log(d) } } }; b.utils.css = function (d, g, c) { if (d !== undefined) { for (var e in g) { try { if (typeof g[e] === "undefined") { continue } else { if (typeof g[e] == "number" && !(e == "zIndex" || e == "opacity")) { if (isNaN(g[e])) { continue } if (e.match(/color/i)) { g[e] = "#" + b.utils.strings.pad(g[e].toString(16), 6) } else { g[e] = Math.ceil(g[e]) + "px" } } } d.style[e] = g[e] } catch (f) { } } } }; b.utils.isYouTube = function (c) { return c.indexOf("youtube.com") > -1 }; b.utils.getYouTubeId = function (c) { c.indexOf("youtube.com" > 0) }; b.utils.transform = function (c, d) { c.style.webkitTransform = d; c.style.MozTransform = d; c.style.OTransform = d }; b.utils.stretch = function (h, m, l, f, k, g) { if (typeof l == "undefined" || typeof f == "undefined" || typeof k == "undefined" || typeof g == "undefined") { return } var d = l / k; var e = f / g; var j = 0; var i = 0; m.style.overflow = "hidden"; b.utils.transform(m, ""); var c = {}; switch (h.toUpperCase()) { case b.utils.stretching.NONE: c.width = k; c.height = g; break; case b.utils.stretching.UNIFORM: if (d > e) { c.width = k * e; c.height = g * e } else { c.width = k * d; c.height = g * d } break; case b.utils.stretching.FILL: if (d > e) { c.width = k * d; c.height = g * d } else { c.width = k * e; c.height = g * e } break; case b.utils.stretching.EXACTFIT: b.utils.transform(m, ["scale(", d, ",", e, ")", " translate(0px,0px)"].join("")); c.width = k; c.height = g; break; default: break } c.top = (f - c.height) / 2; c.left = (l - c.width) / 2; b.utils.css(m, c) }; b.utils.stretching = { NONE: "NONE", FILL: "FILL", UNIFORM: "UNIFORM", EXACTFIT: "EXACTFIT"} })(jwplayer); (function (a) { a.events = function () { }; a.events.COMPLETE = "COMPLETE"; a.events.ERROR = "ERROR" })(jwplayer); (function (jwplayer) { jwplayer.events.eventdispatcher = function (debug) { var _debug = debug; var _listeners; var _globallisteners; this.resetEventListeners = function () { _listeners = {}; _globallisteners = [] }; this.resetEventListeners(); this.addEventListener = function (type, listener, count) { try { if (_listeners[type] === undefined) { _listeners[type] = [] } if (typeof (listener) == "string") { eval("listener = " + listener) } _listeners[type].push({ listener: listener, count: count }) } catch (err) { jwplayer.utils.log("error", err) } return false }; this.removeEventListener = function (type, listener) { try { for (var listenerIndex = 0; listenerIndex < _listeners[type].length; listenerIndex++) { if (_listeners[type][lisenterIndex].toString() == listener.toString()) { _listeners[type].slice(lisenterIndex, lisenterIndex + 1); break } } } catch (err) { jwplayer.utils.log("error", err) } return false }; this.addGlobalListener = function (listener, count) { try { if (typeof (listener) == "string") { eval("listener = " + listener) } _globallisteners.push({ listener: listener, count: count }) } catch (err) { jwplayer.utils.log("error", err) } return false }; this.removeGlobalListener = function (listener) { try { for (var globalListenerIndex = 0; globalListenerIndex < _globallisteners.length; globalListenerIndex++) { if (_globallisteners[globalListenerIndex].toString() == listener.toString()) { _globallisteners.slice(globalListenerIndex, globalListenerIndex + 1); break } } } catch (err) { jwplayer.utils.log("error", err) } return false }; this.sendEvent = function (type, data) { if (data === undefined) { data = {} } if (_debug) { jwplayer.utils.log(type, data) } if (typeof _listeners[type] != "undefined") { for (var listenerIndex = 0; listenerIndex < _listeners[type].length; listenerIndex++) { try { _listeners[type][listenerIndex].listener(data) } catch (err) { jwplayer.utils.log("There was an error while handling a listener: " + err.toString(), _listeners[type][listenerIndex].listener) } if (_listeners[type][listenerIndex].count === 1) { delete _listeners[type][listenerIndex] } else { if (_listeners[type][listenerIndex].count > 0) { _listeners[type][listenerIndex].count = _listeners[type][listenerIndex].count - 1 } } } } for (var globalListenerIndex = 0; globalListenerIndex < _globallisteners.length; globalListenerIndex++) { try { _globallisteners[globalListenerIndex].listener(data) } catch (err) { jwplayer.utils.log("There was an error while handling a listener: " + err.toString(), _globallisteners[globalListenerIndex].listener) } if (_globallisteners[globalListenerIndex].count === 1) { delete _globallisteners[globalListenerIndex] } else { if (_globallisteners[globalListenerIndex].count > 0) { _globallisteners[globalListenerIndex].count = _globallisteners[globalListenerIndex].count - 1 } } } } } })(jwplayer); (function (a) { var b = {}; a.utils.animations = function () { }; a.utils.animations.transform = function (c, d) { c.style.webkitTransform = d; c.style.MozTransform = d; c.style.OTransform = d }; a.utils.animations.transformOrigin = function (c, d) { c.style.webkitTransformOrigin = d; c.style.MozTransformOrigin = d; c.style.OTransformOrigin = d }; a.utils.animations.rotate = function (c, d) { a.utils.animations.transform(c, ["rotate(", d, "deg)"].join("")) }; a.utils.cancelAnimation = function (c) { delete b[c.id] }; a.utils.fadeTo = function (l, f, e, i, h, d) { if (b[l.id] != d && d !== undefined) { return } var c = new Date().getTime(); if (d > c) { setTimeout(function () { a.utils.fadeTo(l, f, e, i, 0, d) }, d - c) } l.style.display = "block"; if (i === undefined) { i = l.style.opacity === "" ? 1 : l.style.opacity } if (l.style.opacity == f && l.style.opacity !== "" && d !== undefined) { if (f === 0) { l.style.display = "none" } return } if (d === undefined) { d = c; b[l.id] = d } if (h === undefined) { h = 0 } var j = (c - d) / (e * 1000); j = j > 1 ? 1 : j; var k = f - i; var g = i + (j * k); if (g > 1) { g = 1 } else { if (g < 0) { g = 0 } } l.style.opacity = g; if (h > 0) { b[l.id] = d + h * 1000; a.utils.fadeTo(l, f, e, i, 0, b[l.id]); return } setTimeout(function () { a.utils.fadeTo(l, f, e, i, 0, d) }, 10) } })(jwplayer); (function (a) { a.utils.arrays = function () { }; a.utils.arrays.indexOf = function (c, d) { for (var b = 0; b < c.length; b++) { if (c[b] == d) { return b } } return -1 }; a.utils.arrays.remove = function (c, d) { var b = a.utils.arrays.indexOf(c, d); if (b > -1) { c.splice(b, 1) } } })(jwplayer); (function (a) { a.utils.extensionmap = { "3gp": { html5: "video/3gpp", flash: "video" }, "3gpp": { html5: "video/3gpp" }, "3g2": { html5: "video/3gpp2", flash: "video" }, "3gpp2": { html5: "video/3gpp2" }, flv: { flash: "video" }, f4a: { html5: "audio/mp4" }, f4b: { html5: "audio/mp4", flash: "video" }, f4p: { html5: "video/mp4", flash: "video" }, f4v: { html5: "video/mp4", flash: "video" }, mov: { html5: "video/quicktime", flash: "video" }, m4a: { html5: "audio/mp4", flash: "video" }, m4b: { html5: "audio/mp4" }, m4p: { html5: "audio/mp4" }, m4v: { html5: "video/mp4", flash: "video" }, mkv: { html5: "video/x-matroska" }, mp4: { html5: "video/mp4", flash: "video" }, rbs: { flash: "sound" }, sdp: { html5: "application/sdp", flash: "video" }, vp6: { html5: "video/x-vp6" }, aac: { html5: "audio/aac", flash: "video" }, mp3: { flash: "sound" }, ogg: { html5: "audio/ogg" }, ogv: { html5: "video/ogg" }, webm: { html5: "video/webm" }, m3u8: { html5: "audio/x-mpegurl" }, gif: { flash: "image" }, jpeg: { flash: "image" }, jpg: { flash: "image" }, swf: { flash: "image" }, png: { flash: "image"}} })(jwplayer); (function (e) { e.utils.mediaparser = function () { }; var g = { element: { width: "width", height: "height", id: "id", "class": "className", name: "name" }, media: { src: "file", preload: "preload", autoplay: "autostart", loop: "repeat", controls: "controls" }, source: { src: "file", type: "type", media: "media", "data-jw-width": "width", "data-jw-bitrate": "bitrate" }, video: { poster: "image"} }; var f = {}; e.utils.mediaparser.parseMedia = function (i) { return d(i) }; function c(j, i) { if (i === undefined) { i = g[j] } else { e.utils.extend(i, g[j]) } return i } function d(m, i) { if (f[m.tagName.toLowerCase()] && (i === undefined)) { return f[m.tagName.toLowerCase()](m) } else { i = c("element", i); var n = {}; for (var j in i) { if (j != "length") { var l = m.getAttribute(j); if (!(l === "" || l === undefined || l === null)) { n[i[j]] = m.getAttribute(j) } } } var k = m.style["#background-color"]; if (k && !(k == "transparent" || k == "rgba(0, 0, 0, 0)")) { n.screencolor = k } return n } } function h(n, k) { k = c("media", k); var l = []; var j = e.utils.selectors("source", n); for (var m in j) { if (!isNaN(m)) { l.push(a(j[m])) } } var o = d(n, k); if (o.file !== undefined) { l[0] = { file: o.file} } o.levels = l; return o } function a(k, j) { j = c("source", j); var i = d(k, j); i.width = i.width ? i.width : 0; i.bitrate = i.bitrate ? i.bitrate : 0; return i } function b(k, j) { j = c("video", j); var i = h(k, j); return i } f.media = h; f.audio = h; f.source = a; f.video = b })(jwplayer); (function (a) { a.utils.loaderstatus = { NEW: "NEW", LOADING: "LOADING", ERROR: "ERROR", COMPLETE: "COMPLETE" }; a.utils.scriptloader = function (c) { var d = a.utils.loaderstatus.NEW; var b = new a.events.eventdispatcher(); a.utils.extend(this, b); this.load = function () { if (d == a.utils.loaderstatus.NEW) { d = a.utils.loaderstatus.LOADING; var e = document.createElement("script"); e.onload = function (f) { d = a.utils.loaderstatus.COMPLETE; b.sendEvent(a.events.COMPLETE) }; e.onerror = function (f) { d = a.utils.loaderstatus.ERROR; b.sendEvent(a.events.ERROR) }; e.onreadystatechange = function () { if (e.readyState == "loaded" || e.readyState == "complete") { d = a.utils.loaderstatus.COMPLETE; b.sendEvent(a.events.COMPLETE) } }; document.getElementsByTagName("head")[0].appendChild(e); e.src = c } }; this.getStatus = function () { return d } } })(jwplayer); (function (a) { a.utils.selectors = function (b, d) { if (d === undefined) { d = document } b = a.utils.strings.trim(b); var c = b.charAt(0); if (c == "#") { return d.getElementById(b.substr(1)) } else { if (c == ".") { if (d.getElementsByClassName) { return d.getElementsByClassName(b.substr(1)) } else { return a.utils.selectors.getElementsByTagAndClass("*", b.substr(1)) } } else { if (b.indexOf(".") > 0) { selectors = b.split("."); return a.utils.selectors.getElementsByTagAndClass(selectors[0], selectors[1]) } else { return d.getElementsByTagName(b) } } } return null }; a.utils.selectors.getElementsByTagAndClass = function (e, h, g) { elements = []; if (g === undefined) { g = document } var f = g.getElementsByTagName(e); for (var d = 0; d < f.length; d++) { if (f[d].className !== undefined) { var c = f[d].className.split(" "); for (var b = 0; b < c.length; b++) { if (c[b] == h) { elements.push(f[d]) } } } } return elements } })(jwplayer); (function (a) { a.utils.strings = function () { }; a.utils.strings.trim = function (b) { return b.replace(/^\s*/, "").replace(/\s*$/, "") }; a.utils.strings.pad = function (c, d, b) { if (!b) { b = "0" } while (c.length < d) { c = b + c } return c }; a.utils.strings.serialize = function (b) { if (b == null) { return null } else { if (b == "true") { return true } else { if (b == "false") { return false } else { if (isNaN(Number(b)) || b.length > 5 || b.length == 0) { return b } else { return Number(b) } } } } }; a.utils.strings.seconds = function (d) { d = d.replace(",", "."); var b = d.split(":"); var c = 0; if (d.substr(-1) == "s") { c = Number(d.substr(0, d.length - 1)) } else { if (d.substr(-1) == "m") { c = Number(d.substr(0, d.length - 1)) * 60 } else { if (d.substr(-1) == "h") { c = Number(d.substr(0, d.length - 1)) * 3600 } else { if (b.length > 1) { c = Number(b[b.length - 1]); c += Number(b[b.length - 2]) * 60; if (b.length == 3) { c += Number(b[b.length - 3]) * 3600 } } else { c = Number(d) } } } } return c }; a.utils.strings.xmlAttribute = function (b, c) { for (var d in b.attributes) { if (b.attributes[d].name && b.attributes[d].name.toLowerCase() == c.toLowerCase()) { return b.attributes[d].value.toString() } } return "" } })(jwplayer); (function (c) { var d = new RegExp(/^(#|0x)[0-9a-fA-F]{3,6}/); c.utils.typechecker = function (g, f) { f = f === null ? b(g) : f; return e(g, f) }; function b(f) { var g = ["true", "false", "t", "f"]; if (g.toString().indexOf(f.toLowerCase().replace(" ", "")) >= 0) { return "boolean" } else { if (d.test(f)) { return "color" } else { if (!isNaN(parseInt(f, 10)) && parseInt(f, 10).toString().length == f.length) { return "integer" } else { if (!isNaN(parseFloat(f)) && parseFloat(f).toString().length == f.length) { return "float" } } } } return "string" } function e(g, f) { if (f === null) { return g } switch (f) { case "color": if (g.length > 0) { return a(g) } return null; case "integer": return parseInt(g, 10); case "float": return parseFloat(g); case "boolean": if (g.toLowerCase() == "true") { return true } else { if (g == "1") { return true } } return false } return g } function a(f) { switch (f.toLowerCase()) { case "blue": return parseInt("0000FF", 16); case "green": return parseInt("00FF00", 16); case "red": return parseInt("FF0000", 16); case "cyan": return parseInt("00FFFF", 16); case "magenta": return parseInt("FF00FF", 16); case "yellow": return parseInt("FFFF00", 16); case "black": return parseInt("000000", 16); case "white": return parseInt("FFFFFF", 16); default: f = f.replace(/(#|0x)?([0-9A-F]{3,6})$/gi, "$2"); if (f.length == 3) { f = f.charAt(0) + f.charAt(0) + f.charAt(1) + f.charAt(1) + f.charAt(2) + f.charAt(2) } return parseInt(f, 16) } return parseInt("000000", 16) } })(jwplayer); (function (a) { var c = {}; var b = {}; a.plugins = function () { }; a.plugins.loadPlugins = function (e, d) { b[e] = new a.plugins.pluginloader(new a.plugins.model(c), d); return b[e] }; a.plugins.registerPlugin = function (g, e, d) { if (c[g]) { c[g].registerPlugin(g, e, d) } else { a.utils.log("A plugin (" + g + ") was registered with the player that was not loaded. Please check your configuration."); for (var f in b) { b[f].pluginFailed() } } } })(jwplayer); (function (a) { a.plugins.model = function (b) { this.addPlugin = function (c) { var d = a.utils.getPluginName(c); if (!b[d]) { b[d] = new a.plugins.plugin(c) } return b[d] } } })(jwplayer); (function (a) { a.plugins.pluginmodes = { FLASH: "FLASH", JAVASCRIPT: "JAVASCRIPT", HYBRID: "HYBRID" }; a.plugins.plugin = function (b) { var d = "http://lp.longtailvideo.com"; var i = a.utils.loaderstatus.NEW; var j; var h; var k; var c = new a.events.eventdispatcher(); a.utils.extend(this, c); function e() { switch (a.utils.getPluginPathType(b)) { case a.utils.pluginPathType.ABSOLUTE: return b; case a.utils.pluginPathType.RELATIVE: return a.utils.getAbsolutePath(b, window.location.href); case a.utils.pluginPathType.CDN: var l = a.utils.getPluginName(b); return d + "/" + a.version.split(".")[0] + "/" + l + "/" + l + ".js" } } function g(l) { k = setTimeout(function () { i = a.utils.loaderstatus.COMPLETE; c.sendEvent(a.events.COMPLETE) }, 1000) } function f(l) { i = a.utils.loaderstatus.ERROR; c.sendEvent(a.events.ERROR) } this.load = function () { if (i == a.utils.loaderstatus.NEW) { if (b.lastIndexOf(".swf") > 0) { j = b; i = a.utils.loaderstatus.COMPLETE; c.sendEvent(a.events.COMPLETE); return } i = a.utils.loaderstatus.LOADING; var l = new a.utils.scriptloader(e()); l.addEventListener(a.events.COMPLETE, g); l.addEventListener(a.events.ERROR, f); l.load() } }; this.registerPlugin = function (n, m, l) { if (k) { clearTimeout(k); k = undefined } if (m && l) { j = l; h = m } else { if (typeof m == "string") { j = m } else { if (typeof m == "function") { h = m } else { if (!m && !l) { j = n } } } } i = a.utils.loaderstatus.COMPLETE; c.sendEvent(a.events.COMPLETE) }; this.getStatus = function () { return i }; this.getPluginName = function () { return a.utils.getPluginName(b) }; this.getFlashPath = function () { if (j) { switch (a.utils.getPluginPathType(j)) { case a.utils.pluginPathType.ABSOLUTE: return j; case a.utils.pluginPathType.RELATIVE: if (b.lastIndexOf(".swf") > 0) { return a.utils.getAbsolutePath(j, window.location.href) } return a.utils.getAbsolutePath(j, e()); case a.utils.pluginPathType.CDN: if (j.indexOf("-") > -1) { return j + "h" } return j + "-h" } } return null }; this.getJS = function () { return h }; this.getPluginmode = function () { if (typeof j != "undefined" && typeof h != "undefined") { return a.plugins.pluginmodes.HYBRID } else { if (typeof j != "undefined") { return a.plugins.pluginmodes.FLASH } else { if (typeof h != "undefined") { return a.plugins.pluginmodes.JAVASCRIPT } } } }; this.getNewInstance = function (m, l, n) { return new h(m, l, n) }; this.getURL = function () { return b } } })(jwplayer); (function (a) { a.plugins.pluginloader = function (h, e) { var g = {}; var j = a.utils.loaderstatus.NEW; var d = false; var b = false; var c = new a.events.eventdispatcher(); a.utils.extend(this, c); function f() { if (!b) { b = true; j = a.utils.loaderstatus.COMPLETE; c.sendEvent(a.events.COMPLETE) } } function i() { if (!b) { var k = 0; for (plugin in g) { if (g[plugin].getStatus() == a.utils.loaderstatus.LOADING) { k++ } } if (k == 0) { f() } } } this.setupPlugins = function (m, k, r) { var l = { length: 0, plugins: {} }; var o = { length: 0, plugins: {} }; for (var n in g) { var p = g[n].getPluginName(); if (g[n].getFlashPath()) { l.plugins[g[n].getFlashPath()] = k.plugins[n]; l.plugins[g[n].getFlashPath()].pluginmode = g[n].getPluginmode(); l.length++ } if (g[n].getJS()) { var q = document.createElement("div"); q.id = m.id + "_" + p; q.style.position = "absolute"; q.style.zIndex = o.length + 10; o.plugins[p] = g[n].getNewInstance(m, k.plugins[n], q); o.length++; if (typeof o.plugins[p].resize != "undefined") { m.onReady(r(o.plugins[p], q, true)); m.onResize(r(o.plugins[p], q)) } } } m.plugins = o.plugins; return l }; this.load = function () { j = a.utils.loaderstatus.LOADING; d = true; for (var k in e) { g[k] = h.addPlugin(k); g[k].addEventListener(a.events.COMPLETE, i); g[k].addEventListener(a.events.ERROR, i); g[k].load() } d = false; i() }; this.pluginFailed = function () { f() }; this.getStatus = function () { return j } } })(jwplayer); (function (b) { var a = []; b.api = function (d) { this.container = d; this.id = d.id; var l = {}; var q = {}; var c = []; var h = undefined; var k = false; var i = []; var o = b.utils.getOuterHTML(d); var p = {}; var m = 0; var j = {}; this.getBuffer = function () { return this.callInternal("jwGetBuffer") }; this.getContainer = function () { return this.container }; function e(r) { return function (w, s, t, u) { var v; if (s) { j[w] = s; v = "jwplayer('" + r + "').callback('" + w + "')" } else { if (!s && j[w]) { delete j[w] } } h.jwDockSetButton(w, v, t, u) } } this.getPlugin = function (s) { var r = this.callInternal; if (s == "dock") { return { setButton: e(this.id)} } return this.plugins[s] }; this.callback = function (r) { if (j[r]) { return j[r]() } }; this.getDuration = function () { return this.callInternal("jwGetDuration") }; this.getFullscreen = function () { return this.callInternal("jwGetFullscreen") }; this.getHeight = function () { return this.callInternal("jwGetHeight") }; this.getLockState = function () { return this.callInternal("jwGetLockState") }; this.getMeta = function () { return this.getItemMeta() }; this.getMute = function () { return this.callInternal("jwGetMute") }; this.getPlaylist = function () { var s = this.callInternal("jwGetPlaylist"); for (var r = 0; r < s.length; r++) { if (s[r].index === undefined) { s[r].index = r } } return s }; this.getPlaylistItem = function (r) { if (r === undefined) { r = this.getCurrentItem() } return this.getPlaylist()[r] }; this.getPosition = function () { return this.callInternal("jwGetPosition") }; this.getRenderingMode = function () { return this.renderingMode }; this.getState = function () { return this.callInternal("jwGetState") }; this.getVolume = function () { return this.callInternal("jwGetVolume") }; this.getWidth = function () { return this.callInternal("jwGetWidth") }; this.setFullscreen = function (r) { if (r === undefined) { this.callInternal("jwSetFullscreen", !this.callInternal("jwGetFullscreen")) } else { this.callInternal("jwSetFullscreen", r) } return this }; this.setMute = function (r) { if (r === undefined) { this.callInternal("jwSetMute", !this.callInternal("jwGetMute")) } else { this.callInternal("jwSetMute", r) } return this }; this.lock = function () { return this }; this.unlock = function () { return this }; this.load = function (r) { this.callInternal("jwLoad", r); return this }; this.playlistItem = function (r) { this.callInternal("jwPlaylistItem", r); return this }; this.playlistPrev = function () { this.callInternal("jwPlaylistPrev"); return this }; this.playlistNext = function () { this.callInternal("jwPlaylistNext"); return this }; this.resize = function (s, r) { if (this.renderingMode == "html5") { h.jwResize(s, r) } else { this.container.width = s; this.container.height = r } return this }; this.play = function (r) { if (typeof r == "undefined") { r = this.getState(); if (r == b.api.events.state.PLAYING || r == b.api.events.state.BUFFERING) { this.callInternal("jwPause") } else { this.callInternal("jwPlay") } } else { this.callInternal("jwPlay", r) } return this }; this.pause = function (r) { if (typeof r == "undefined") { r = this.getState(); if (r == b.api.events.state.PLAYING || r == b.api.events.state.BUFFERING) { this.callInternal("jwPause") } else { this.callInternal("jwPlay") } } else { this.callInternal("jwPause", r) } return this }; this.stop = function () { this.callInternal("jwStop"); return this }; this.seek = function (r) { this.callInternal("jwSeek", r); return this }; this.setVolume = function (r) { this.callInternal("jwSetVolume", r); return this }; this.onBufferChange = function (r) { return this.eventListener(b.api.events.JWPLAYER_MEDIA_BUFFER, r) }; this.onBufferFull = function (r) { return this.eventListener(b.api.events.JWPLAYER_MEDIA_BUFFER_FULL, r) }; this.onError = function (r) { return this.eventListener(b.api.events.JWPLAYER_ERROR, r) }; this.onFullscreen = function (r) { return this.eventListener(b.api.events.JWPLAYER_FULLSCREEN, r) }; this.onMeta = function (r) { return this.eventListener(b.api.events.JWPLAYER_MEDIA_META, r) }; this.onMute = function (r) { return this.eventListener(b.api.events.JWPLAYER_MEDIA_MUTE, r) }; this.onPlaylist = function (r) { return this.eventListener(b.api.events.JWPLAYER_PLAYLIST_LOADED, r) }; this.onPlaylistItem = function (r) { return this.eventListener(b.api.events.JWPLAYER_PLAYLIST_ITEM, r) }; this.onReady = function (r) { return this.eventListener(b.api.events.API_READY, r) }; this.onResize = function (r) { return this.eventListener(b.api.events.JWPLAYER_RESIZE, r) }; this.onComplete = function (r) { return this.eventListener(b.api.events.JWPLAYER_MEDIA_COMPLETE, r) }; this.onTime = function (r) { return this.eventListener(b.api.events.JWPLAYER_MEDIA_TIME, r) }; this.onVolume = function (r) { return this.eventListener(b.api.events.JWPLAYER_MEDIA_VOLUME, r) }; this.onBuffer = function (r) { return this.stateListener(b.api.events.state.BUFFERING, r) }; this.onPause = function (r) { return this.stateListener(b.api.events.state.PAUSED, r) }; this.onPlay = function (r) { return this.stateListener(b.api.events.state.PLAYING, r) }; this.onIdle = function (r) { return this.stateListener(b.api.events.state.IDLE, r) }; this.remove = function () { l = {}; i = []; if (b.utils.getOuterHTML(this.container) != o) { b.api.destroyPlayer(this.id, o) } }; this.setup = function (s) { if (b.embed) { var r = this.id; this.remove(); var t = b(r); t.config = s; return new b.embed(t) } return this }; this.registerPlugin = function (t, s, r) { b.plugins.registerPlugin(t, s, r) }; this.setPlayer = function (r, s) { h = r; this.renderingMode = s }; this.stateListener = function (r, s) { if (!q[r]) { q[r] = []; this.eventListener(b.api.events.JWPLAYER_PLAYER_STATE, g(r)) } q[r].push(s); return this }; function g(r) { return function (t) { var s = t.newstate, v = t.oldstate; if (s == r) { var u = q[s]; if (u) { for (var w = 0; w < u.length; w++) { if (typeof u[w] == "function") { u[w].call(this, { oldstate: v, newstate: s }) } } } } } } this.addInternalListener = function (r, s) { r.jwAddEventListener(s, 'function(dat) { jwplayer("' + this.id + '").dispatchEvent("' + s + '", dat); }') }; this.eventListener = function (r, s) { if (!l[r]) { l[r] = []; if (h && k) { this.addInternalListener(h, r) } } l[r].push(s); return this }; this.dispatchEvent = function (t) { if (l[t]) { var s = f(t, arguments[1]); for (var r = 0; r < l[t].length; r++) { if (typeof l[t][r] == "function") { l[t][r].call(this, s) } } } }; function f(t, r) { var v = b.utils.extend({}, r); if (t == b.api.events.JWPLAYER_FULLSCREEN && !v.fullscreen) { v.fullscreen = v.message == "true" ? true : false; delete v.message } else { if (typeof v.data == "object") { v = b.utils.extend(v, v.data); delete v.data } } var s = ["position", "duration", "offset"]; for (var u in s) { if (v[s[u]]) { v[s[u]] = Math.round(v[s[u]] * 1000) / 1000 } } return v } this.callInternal = function (s, r) { if (k) { if (typeof h != "undefined" && typeof h[s] == "function") { if (r !== undefined) { return (h[s])(r) } else { return (h[s])() } } return null } else { i.push({ method: s, parameters: r }) } }; this.playerReady = function (t) { k = true; if (!h) { this.setPlayer(document.getElementById(t.id)) } this.container = document.getElementById(this.id); for (var r in l) { this.addInternalListener(h, r) } this.eventListener(b.api.events.JWPLAYER_PLAYLIST_ITEM, function (u) { if (u.index !== undefined) { m = u.index } p = {} }); this.eventListener(b.api.events.JWPLAYER_MEDIA_META, function (u) { b.utils.extend(p, u.metadata) }); this.dispatchEvent(b.api.events.API_READY); while (i.length > 0) { var s = i.shift(); this.callInternal(s.method, s.parameters) } }; this.getItemMeta = function () { return p }; this.getCurrentItem = function () { return m }; function n(t, v, u) { var r = []; if (!v) { v = 0 } if (!u) { u = t.length - 1 } for (var s = v; s <= u; s++) { r.push(t[s]) } return r } return this }; b.api.selectPlayer = function (d) { var c; if (d === undefined) { d = 0 } if (d.nodeType) { c = d } else { if (typeof d == "string") { c = document.getElementById(d) } } if (c) { var e = b.api.playerById(c.id); if (e) { return e } else { return b.api.addPlayer(new b.api(c)) } } else { if (typeof d == "number") { return b.getPlayers()[d] } } return null }; b.api.events = { API_READY: "jwplayerAPIReady", JWPLAYER_READY: "jwplayerReady", JWPLAYER_FULLSCREEN: "jwplayerFullscreen", JWPLAYER_RESIZE: "jwplayerResize", JWPLAYER_ERROR: "jwplayerError", JWPLAYER_MEDIA_BUFFER: "jwplayerMediaBuffer", JWPLAYER_MEDIA_BUFFER_FULL: "jwplayerMediaBufferFull", JWPLAYER_MEDIA_ERROR: "jwplayerMediaError", JWPLAYER_MEDIA_LOADED: "jwplayerMediaLoaded", JWPLAYER_MEDIA_COMPLETE: "jwplayerMediaComplete", JWPLAYER_MEDIA_TIME: "jwplayerMediaTime", JWPLAYER_MEDIA_VOLUME: "jwplayerMediaVolume", JWPLAYER_MEDIA_META: "jwplayerMediaMeta", JWPLAYER_MEDIA_MUTE: "jwplayerMediaMute", JWPLAYER_PLAYER_STATE: "jwplayerPlayerState", JWPLAYER_PLAYLIST_LOADED: "jwplayerPlaylistLoaded", JWPLAYER_PLAYLIST_ITEM: "jwplayerPlaylistItem" }; b.api.events.state = { BUFFERING: "BUFFERING", IDLE: "IDLE", PAUSED: "PAUSED", PLAYING: "PLAYING" }; b.api.playerById = function (d) { for (var c = 0; c < a.length; c++) { if (a[c].id == d) { return a[c] } } return null }; b.api.addPlayer = function (c) { for (var d = 0; d < a.length; d++) { if (a[d] == c) { return c } } a.push(c); return c }; b.api.destroyPlayer = function (g, d) { var f = -1; for (var i = 0; i < a.length; i++) { if (a[i].id == g) { f = i; continue } } if (f >= 0) { var c = document.getElementById(a[f].id); if (document.getElementById(a[f].id + "_wrapper")) { c = document.getElementById(a[f].id + "_wrapper") } if (c) { if (d) { b.utils.setOuterHTML(c, d) } else { var h = document.createElement("div"); var e = c.id; if (c.id.indexOf("_wrapper") == c.id.length - 8) { newID = c.id.substring(0, c.id.length - 8) } h.setAttribute("id", e); c.parentNode.replaceChild(h, c) } } a.splice(f, 1) } return null }; b.getPlayers = function () { return a.slice(0) } })(jwplayer); var _userPlayerReady = (typeof playerReady == "function") ? playerReady : undefined; playerReady = function (b) { var a = jwplayer.api.playerById(b.id); if (a) { a.playerReady(b) } if (_userPlayerReady) { _userPlayerReady.call(this, b) } }; (function (a) { a.embed = function (g) { var i = { width: 400, height: 300, components: { controlbar: { position: "over"}} }; var f = a.utils.mediaparser.parseMedia(g.container); var e = new a.embed.config(a.utils.extend(i, f, g.config), this); var h = a.plugins.loadPlugins(g.id, e.plugins); function c(l, k) { for (var j in k) { if (typeof l[j] == "function") { (l[j]).call(l, k[j]) } } } function d() { if (h.getStatus() == a.utils.loaderstatus.COMPLETE) { for (var l = 0; l < e.modes.length; l++) { if (e.modes[l].type && a.embed[e.modes[l].type]) { var j = e; if (e.modes[l].config) { j = a.utils.extend(a.utils.clone(e), e.modes[l].config) } var k = new a.embed[e.modes[l].type](document.getElementById(g.id), e.modes[l], j, h, g); if (k.supportsConfig()) { k.embed(); c(g, e.events); return g } } } a.utils.log("No suitable players found"); new a.embed.logo(a.utils.extend({ hide: true }, e.components.logo), "none", g.id) } } h.addEventListener(a.events.COMPLETE, d); h.addEventListener(a.events.ERROR, d); h.load(); return g }; function b() { if (!document.body) { return setTimeout(b, 15) } var c = a.utils.selectors.getElementsByTagAndClass("video", "jwplayer"); for (var d = 0; d < c.length; d++) { var e = c[d]; a(e.id).setup({}) } } b() })(jwplayer); (function (a) { function b() { return [{ type: "flash", src: "/jwplayer/player.swf" }, { type: "html5" }, { type: "download"}] } function d(h) { var g = h.toLowerCase(); var f = ["left", "right", "top", "bottom"]; for (var e = 0; e < f.length; e++) { if (g == f[e]) { return true } } return false } function c(f) { var e = false; e = (f instanceof Array) || (typeof f == "object" && !f.position && !f.size); return e } a.embed.config = function (f, p) { var o = a.utils.extend({}, f); var m; if (c(o.playlist)) { m = o.playlist; delete o.playlist } for (var i in o) { if (i.indexOf(".") > -1) { var q = i.split("."); var r = o; for (var e = 0; e < q.length; e++) { if (e == q.length - 1) { if (a.utils.typeOf(r) == "object") { r[q[e]] = o[i]; delete o[i] } } else { if (r[q[e]] === undefined) { r[q[e]] = {} } r = r[q[e]] } } } } if (typeof o.plugins == "string") { var g = o.plugins.split(","); if (typeof o.plugins != "object") { o.plugins = {} } for (var k = 0; k < g.length; k++) { var l = a.utils.getPluginName(g[k]); if (typeof o[l] == "object") { o.plugins[g[k]] = o[l]; delete o[l] } else { o.plugins[g[k]] = {} } } } var j = ["playlist", "dock", "controlbar"]; for (var n = 0; n < j.length; n++) { if (typeof o[j[n]] == "string") { if (!o.components[j[n]]) { o.components[j[n]] = {} } o.components[j[n]].position = o[j[n]]; delete o[j[n]] } else { if (o[j[n]]) { o.components[j[n]] = o[j[n]]; delete o[j[n]] } } if (typeof o[j[n] + "size"] != "undefined") { if (!o.components[j[n]]) { o.components[j[n]] = {} } o.components[j[n]].size = o[j[n] + "size"]; delete o[j[n] + "size"] } } if (typeof o.icons != "undefined") { if (!o.components.display) { o.components.display = {} } o.components.display.icons = o.icons; delete o.icons } if (o.players) { o.modes = o.players; delete o.players } var h; if (o.flashplayer && !o.modes) { h = b(); h[0].src = o.flashplayer; delete o.flashplayer } else { if (o.modes) { if (typeof o.modes == "string") { h = b(); h[0].src = o.modes } else { if (o.modes instanceof Array) { h = o.modes } else { if (typeof o.modes == "object" && o.modes.type) { h = [o.modes] } } } delete o.modes } else { h = b() } } o.modes = h; if (m) { o.playlist = m } return o } })(jwplayer); (function (a) { a.embed.download = function (c, g, b, d, f) { this.embed = function () { var j = a.utils.extend({}, b); var p = {}; var i = b.width ? b.width : 480; if (typeof i != "number") { i = parseInt(i, 10) } var l = b.height ? b.height : 320; if (typeof l != "number") { l = parseInt(l, 10) } var t, n, m; var r = {}; if (b.playlist && b.playlist.length) { r.file = b.playlist[0].file; n = b.playlist[0].image; r.levels = b.playlist[0].levels } else { r.file = b.file; n = b.image; r.levels = b.levels } if (r.file) { t = r.file } else { if (r.levels && r.levels.length) { t = r.levels[0].file } } m = t ? "pointer" : "auto"; var k = { display: { style: { cursor: m, width: i, height: l, backgroundColor: "#000", position: "relative", textDecoration: "none", border: "none", display: "block"} }, display_icon: { style: { cursor: m, position: "absolute", display: t ? "block" : "none", top: 0, left: 0, border: 0, margin: 0, padding: 0, zIndex: 3, width: 50, height: 50, backgroundImage: "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALdJREFUeNrs18ENgjAYhmFouDOCcQJGcARHgE10BDcgTOIosAGwQOuPwaQeuFRi2p/3Sb6EC5L3QCxZBgAAAOCorLW1zMn65TrlkH4NcV7QNcUQt7Gn7KIhxA+qNIR81spOGkL8oFJDyLJRdosqKDDkK+iX5+d7huzwM40xptMQMkjIOeRGo+VkEVvIPfTGIpKASfYIfT9iCHkHrBEzf4gcUQ56aEzuGK/mw0rHpy4AAACAf3kJMACBxjAQNRckhwAAAABJRU5ErkJggg==)"} }, display_iconBackground: { style: { cursor: m, position: "absolute", display: t ? "block" : "none", top: ((l - 50) / 2), left: ((i - 50) / 2), border: 0, width: 50, height: 50, margin: 0, padding: 0, zIndex: 2, backgroundImage: "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEpJREFUeNrszwENADAIA7DhX8ENoBMZ5KR10EryckCJiIiIiIiIiIiIiIiIiIiIiIh8GmkRERERERERERERERERERERERGRHSPAAPlXH1phYpYaAAAAAElFTkSuQmCC)"} }, display_image: { style: { width: i, height: l, display: n ? "block" : "none", position: "absolute", cursor: m, left: 0, top: 0, margin: 0, padding: 0, textDecoration: "none", zIndex: 1, border: "none"}} }; var h = function (u, w, x) { var v = document.createElement(u); if (x) { v.id = x } else { v.id = c.id + "_jwplayer_" + w } a.utils.css(v, k[w].style); return v }; p.display = h("a", "display", c.id); if (t) { p.display.setAttribute("href", a.utils.getAbsolutePath(t)) } p.display_image = h("img", "display_image"); p.display_image.setAttribute("alt", "Click to download..."); if (n) { p.display_image.setAttribute("src", a.utils.getAbsolutePath(n)) } if (true) { p.display_icon = h("div", "display_icon"); p.display_iconBackground = h("div", "display_iconBackground"); p.display.appendChild(p.display_image); p.display_iconBackground.appendChild(p.display_icon); p.display.appendChild(p.display_iconBackground) } _css = a.utils.css; _hide = function (u) { _css(u, { display: "none" }) }; function q(u) { _imageWidth = p.display_image.naturalWidth; _imageHeight = p.display_image.naturalHeight; s() } function s() { a.utils.stretch(a.utils.stretching.UNIFORM, p.display_image, i, l, _imageWidth, _imageHeight) } p.display_image.onerror = function (u) { _hide(p.display_image) }; p.display_image.onload = q; c.parentNode.replaceChild(p.display, c); var o = (b.plugins && b.plugins.logo) ? b.plugins.logo : {}; p.display.appendChild(new a.embed.logo(b.components.logo, "download", c.id)); f.container = document.getElementById(f.id); f.setPlayer(p.display, "download") }; this.supportsConfig = function () { if (b) { var j = a.utils.getFirstPlaylistItemFromConfig(b); if (typeof j.file == "undefined" && typeof j.levels == "undefined") { return true } else { if (j.file) { return e(j.file, j.provider, j.playlistfile) } else { if (j.levels && j.levels.length) { for (var h = 0; h < j.levels.length; h++) { if (j.levels[h].file && e(j.levels[h].file, j.provider, j.playlistfile)) { return true } } } } } } else { return true } }; function e(i, k, h) { if (h) { return false } var j = ["image", "sound", "youtube", "http"]; if (k && (j.toString().indexOf(k) > -1)) { return true } if (!k || (k && k == "video")) { var l = a.utils.extension(i); if (l && a.utils.extensionmap[l]) { return true } } return false } } })(jwplayer); (function (a) { a.embed.flash = function (g, h, l, f, j) { function m(o, n, p) { var q = document.createElement("param"); q.setAttribute("name", n); q.setAttribute("value", p); o.appendChild(q) } function k(o, p, n) { return function (q) { if (n) { document.getElementById(j.id + "_wrapper").appendChild(p) } var s = document.getElementById(j.id).getPluginConfig("display"); o.resize(s.width, s.height); var r = { left: s.x, top: s.y }; a.utils.css(p, r) } } function e(p) { if (!p) { return {} } var r = {}; for (var o in p) { var n = p[o]; for (var q in n) { r[o + "." + q] = n[q] } } return r } function i(q, p) { if (q[p]) { var s = q[p]; for (var o in s) { var n = s[o]; if (typeof n == "string") { if (!q[o]) { q[o] = n } } else { for (var r in n) { if (!q[o + "." + r]) { q[o + "." + r] = n[r] } } } } delete q[p] } } function c(q) { if (!q) { return {} } var t = {}, s = []; for (var n in q) { var p = a.utils.getPluginName(n); var o = q[n]; s.push(n); for (var r in o) { t[p + "." + r] = o[r] } } t.plugins = s.join(","); return t } function d(p) { var n = p.netstreambasepath ? "" : "netstreambasepath=" + encodeURIComponent(window.location.href) + "&"; for (var o in p) { n += o + "=" + encodeURIComponent(p[o]) + "&" } return n.substring(0, n.length - 1) } function b(n) { return function (p) { if (n.playlist) { this.load(n.playlist) } else { if (n.levels) { var o = this.getPlaylistItem(0); if (!o) { o = n } if (!o.image) { o.image = n.image } if (!o.levels) { o.levels = n.levels } this.load(o) } } } } this.embed = function () { if (l.levels || l.playlist) { j.onReady(b(l)) } l.id = j.id; var y; if (g.id + "_wrapper" == g.parentNode.id) { y = document.getElementById(g.id + "_wrapper") } else { y = document.createElement("div"); y.id = g.id + "_wrapper"; a.utils.wrap(g, y); y.style.position = "relative" } var q = a.utils.extend({}, l); var o = f.setupPlugins(j, q, k); if (o.length > 0) { a.utils.extend(q, c(o.plugins)) } else { delete q.plugins } var n = q.width; var w = q.height; var r = ["height", "width", "levels", "playlist", "modes", "events"]; for (var u = 0; u < r.length; u++) { delete q[r[u]] } var p = "opaque"; if (q.wmode) { p = q.wmode } i(q, "components"); i(q, "providers"); var x = "#000000"; var t; if (a.utils.isIE()) { var v = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" bgcolor="' + x + '" width="' + n + '" height="' + w + '" id="' + g.id + '" name="' + g.id + '">'; v += '<param name="movie" value="' + h.src + '">'; v += '<param name="allowfullscreen" value="true">'; v += '<param name="allowscriptaccess" value="always">'; v += '<param name="seamlesstabbing" value="true">'; v += '<param name="wmode" value="' + p + '">'; v += '<param name="flashvars" value="' + d(q) + '">'; v += "</object>"; a.utils.setOuterHTML(g, v); t = document.getElementById(g.id) } else { var s = document.createElement("object"); s.setAttribute("type", "application/x-shockwave-flash"); s.setAttribute("data", h.src); s.setAttribute("width", n); s.setAttribute("height", w); s.setAttribute("bgcolor", "#000000"); s.setAttribute("id", g.id); s.setAttribute("name", g.id); m(s, "allowfullscreen", "true"); m(s, "allowscriptaccess", "always"); m(s, "seamlesstabbing", "true"); m(s, "wmode", p); m(s, "flashvars", d(q)); g.parentNode.replaceChild(s, g); t = s } j.container = t; j.setPlayer(t, "flash") }; this.supportsConfig = function () { if (a.utils.hasFlash()) { if (l) { var o = a.utils.getFirstPlaylistItemFromConfig(l); if (typeof o.file == "undefined" && typeof o.levels == "undefined") { return true } else { if (o.file) { return flashCanPlay(o.file, o.provider) } else { if (o.levels && o.levels.length) { for (var n = 0; n < o.levels.length; n++) { if (o.levels[n].file && flashCanPlay(o.levels[n].file, o.provider)) { return true } } } } } } else { return true } } return false }; flashCanPlay = function (n, p) { var o = ["video", "http", "sound", "image"]; if (p && (o.toString().indexOf(p < 0))) { return true } var q = a.utils.extension(n); if (!q) { return true } if (a.utils.extensionmap[q] !== undefined && a.utils.extensionmap[q].flash === undefined) { return false } return true } } })(jwplayer); (function (a) { a.embed.html5 = function (c, g, b, d, f) { function e(i, j, h) { return function (k) { var l = document.getElementById(c.id + "_displayarea"); if (h) { l.appendChild(j) } var m = l.style; i.resize(parseInt(m.width.replace("px", "")), parseInt(m.height.replace("px", ""))); j.left = m.left; j.top = m.top } } this.embed = function () { if (a.html5) { d.setupPlugins(f, b, e); c.innerHTML = ""; var j = a.utils.extend({ screencolor: "0x000000" }, b); var h = ["plugins", "modes", "events"]; for (var k = 0; k < h.length; k++) { delete j[h[k]] } if (j.levels && !j.sources) { j.sources = b.levels } if (j.skin && j.skin.toLowerCase().indexOf(".zip") > 0) { j.skin = j.skin.replace(/\.zip/i, ".xml") } var l = new (a.html5(c)).setup(j); f.container = document.getElementById(f.id); f.setPlayer(l, "html5") } else { return null } }; this.supportsConfig = function () { var h = document.createElement("video"); if (!!h.canPlayType) { if (b) { var k = a.utils.getFirstPlaylistItemFromConfig(b); if (typeof k.file == "undefined" && typeof k.levels == "undefined") { return true } else { if (k.file) { return html5CanPlay(h, k.file, k.provider, k.playlistfile) } else { if (k.levels && k.levels.length) { for (var j = 0; j < k.levels.length; j++) { if (k.levels[j].file && html5CanPlay(h, k.levels[j].file, k.provider, k.playlistfile)) { return true } } } } } } else { return true } } return false }; html5CanPlay = function (j, i, k, h) { if (h) { return false } if (k && k == "youtube") { return true } if (k && k != "video" && k != "http") { return false } var l = a.utils.extension(i); if (!l || a.utils.extensionmap[l] === undefined) { return true } if (a.utils.extensionmap[l].html5 === undefined) { return false } if (a.utils.isLegacyAndroid() && l.match(/m4v|mp4/)) { return true } return browserCanPlay(j, a.utils.extensionmap[l].html5) }; browserCanPlay = function (i, h) { if (!h) { return true } return i.canPlayType(h) } } })(jwplayer); (function (a) { a.embed.logo = function (l, k, d) { var i = { prefix: "http://l.longtailvideo.com/" + k + "/", file: "", link: "", margin: 8, out: 0.5, over: 1, timeout: 3, hide: false, position: "bottom-left" }; _css = a.utils.css; var b; var h; j(); function j() { n(); c(); f() } function n() { if (i.prefix) { var p = a.version.split(/\W/).splice(0, 2).join("/"); if (i.prefix.indexOf(p) < 0) { i.prefix += p + "/" } } h = a.utils.extend({}, i, l) } function o() { var r = { border: "none", textDecoration: "none", position: "absolute", cursor: "pointer", zIndex: 10 }; r.display = h.hide ? "none" : "block"; var q = h.position.toLowerCase().split("-"); for (var p in q) { r[q[p]] = h.margin } return r } function c() { b = document.createElement("img"); b.id = d + "_jwplayer_logo"; b.style.display = "none"; b.onload = function (p) { _css(b, o()); e() }; if (!h.file) { return } if (h.file.indexOf("http://") === 0) { b.src = h.file } else { b.src = h.prefix + h.file } } if (!h.file) { return } function f() { if (h.link) { b.onmouseover = g; b.onmouseout = e; b.onclick = m } else { this.mouseEnabled = false } } function m(p) { if (typeof p != "undefined") { p.preventDefault(); p.stopPropagation() } if (h.link) { window.open(h.link, "_blank") } return } function e(p) { if (h.link) { b.style.opacity = h.out } return } function g(p) { if (h.hide) { b.style.opacity = h.over } return } return b } })(jwplayer); (function (a) { a.html5 = function (b) { var c = b; this.setup = function (d) { a.utils.extend(this, new a.html5.api(c, d)); return this }; return this } })(jwplayer); (function (b) { var c = b.utils.css; b.html5.view = function (p, o, e) { var s = p; var l = o; var v = e; var u; var f; var z; var q; var A; var n; function x() { u = document.createElement("div"); u.id = l.id; u.className = l.className; _videowrapper = document.createElement("div"); _videowrapper.id = u.id + "_video_wrapper"; l.id = u.id + "_video"; c(u, { position: "relative", height: v.height, width: v.width, padding: 0, backgroundColor: B(), zIndex: 0 }); function B() { if (s.skin.getComponentSettings("display") && s.skin.getComponentSettings("display").backgroundcolor) { return s.skin.getComponentSettings("display").backgroundcolor } return parseInt("000000", 16) } c(l, { width: v.width, height: v.height, top: 0, left: 0, zIndex: 1, margin: "auto", display: "block" }); c(_videowrapper, { overflow: "hidden", position: "absolute", top: 0, left: 0, bottom: 0, right: 0 }); b.utils.wrap(l, u); b.utils.wrap(l, _videowrapper); q = document.createElement("div"); q.id = u.id + "_displayarea"; u.appendChild(q) } function j() { for (var B = 0; B < v.plugins.order.length; B++) { var C = v.plugins.order[B]; if (v.plugins.object[C].getDisplayElement !== undefined) { v.plugins.object[C].height = h(v.plugins.object[C].getDisplayElement().style.height); v.plugins.object[C].width = h(v.plugins.object[C].getDisplayElement().style.width); v.plugins.config[C].currentPosition = v.plugins.config[C].position } } t() } function t(C) { if (v.getMedia() !== undefined) { for (var B = 0; B < v.plugins.order.length; B++) { var D = v.plugins.order[B]; if (v.plugins.object[D].getDisplayElement !== undefined) { if (v.getMedia().hasChrome()) { v.plugins.config[D].currentPosition = b.html5.view.positions.NONE } else { v.plugins.config[D].currentPosition = v.plugins.config[D].position } } } } i(v.width, v.height) } function h(B) { if (typeof B == "string") { if (B === "") { return 0 } else { if (B.lastIndexOf("%") > -1) { return B } else { return parseInt(B.replace("px", ""), 10) } } } return B } this.setup = function (B) { l = B; x(); j(); s.jwAddEventListener(b.api.events.JWPLAYER_MEDIA_LOADED, t); s.jwAddEventListener(b.api.events.JWPLAYER_MEDIA_META, function () { w() }); var C; if (window.onresize !== null) { C = window.onresize } window.onresize = function (D) { if (C !== undefined) { try { C(D) } catch (F) { } } if (s.jwGetFullscreen()) { var E = document.body.getBoundingClientRect(); v.width = Math.abs(E.left) + Math.abs(E.right); v.height = window.innerHeight } i(v.width, v.height) } }; function g(B) { switch (B.keyCode) { case 27: if (s.jwGetFullscreen()) { s.jwSetFullscreen(false) } break; case 32: if (s.jwGetState() != b.api.events.state.IDLE && s.jwGetState() != b.api.events.state.PAUSED) { s.jwPause() } else { s.jwPlay() } break } } function i(E, B) { if (u.style.display == "none") { return } var D = [].concat(v.plugins.order); D.reverse(); A = D.length + 2; if (!v.fullscreen) { v.width = E; v.height = B; f = E; z = B; c(q, { top: 0, bottom: 0, left: 0, right: 0, width: E, height: B }); c(u, { height: z, width: f }); var C = m(r, D); if (C.length > 0) { A += C.length; m(k, C, true) } } else { if (navigator.vendor.indexOf("Apple") !== 0) { m(y, D, true) } } w() } function m(G, D, E) { var C = []; for (var B = 0; B < D.length; B++) { var H = D[B]; if (v.plugins.object[H].getDisplayElement !== undefined) { if (v.plugins.config[H].currentPosition != b.html5.view.positions.NONE) { var F = G(H, A--); if (!F) { C.push(H) } else { v.plugins.object[H].resize(F.width, F.height); if (E) { delete F.width; delete F.height } c(v.plugins.object[H].getDisplayElement(), F) } } else { c(v.plugins.object[H].getDisplayElement(), { display: "none" }) } } } return C } function r(C, D) { if (v.plugins.object[C].getDisplayElement !== undefined) { if (v.plugins.config[C].position && a(v.plugins.config[C].position)) { if (v.plugins.object[C].getDisplayElement().parentNode === null) { u.appendChild(v.plugins.object[C].getDisplayElement()) } var B = d(C); B.zIndex = D; return B } } return false } function k(D, E) { if (v.plugins.object[D].getDisplayElement().parentNode === null) { q.appendChild(v.plugins.object[D].getDisplayElement()) } var B = v.width, C = v.height; if (typeof v.width == "string" && v.width.lastIndexOf("%") > -1) { percentage = parseFloat(v.width.substring(0, v.width.lastIndexOf("%"))) / 100; B = Math.round(window.innerWidth * percentage) } if (typeof v.height == "string" && v.height.lastIndexOf("%") > -1) { percentage = parseFloat(v.height.substring(0, v.height.lastIndexOf("%"))) / 100; C = Math.round(window.innerHeight * percentage) } return { position: "absolute", width: (B - h(q.style.left) - h(q.style.right)), height: (C - h(q.style.top) - h(q.style.bottom)), zIndex: E} } function y(B, C) { return { position: "fixed", width: v.width, height: v.height, zIndex: C} } function w() { q.style.position = "absolute"; v.getMedia().getDisplayElement().style.position = "absolute"; if (v.getMedia().getDisplayElement().videoWidth == 0 || v.getMedia().getDisplayElement().videoHeight == 0) { return } var B, D; if (q.style.width.toString().lastIndexOf("%") > -1 || q.style.width.toString().lastIndexOf("%") > -1) { var C = q.getBoundingClientRect(); B = Math.abs(C.left) + Math.abs(C.right); D = Math.abs(C.top) + Math.abs(C.bottom) } else { B = h(q.style.width); D = h(q.style.height) } b.utils.stretch(s.jwGetStretching(), v.getMedia().getDisplayElement(), B, D, v.getMedia().getDisplayElement().videoWidth, v.getMedia().getDisplayElement().videoHeight) } function d(C) { var D = { position: "absolute", margin: 0, padding: 0, top: null }; var B = v.plugins.config[C].currentPosition.toLowerCase(); switch (B.toUpperCase()) { case b.html5.view.positions.TOP: D.top = h(q.style.top); D.left = h(q.style.left); D.width = f - h(q.style.left) - h(q.style.right); D.height = v.plugins.object[C].height; q.style[B] = h(q.style[B]) + v.plugins.object[C].height + "px"; q.style.height = h(q.style.height) - D.height + "px"; break; case b.html5.view.positions.RIGHT: D.top = h(q.style.top); D.right = h(q.style.right); D.width = D.width = v.plugins.object[C].width; D.height = z - h(q.style.top) - h(q.style.bottom); q.style[B] = h(q.style[B]) + v.plugins.object[C].width + "px"; q.style.width = h(q.style.width) - D.width + "px"; break; case b.html5.view.positions.BOTTOM: D.bottom = h(q.style.bottom); D.left = h(q.style.left); D.width = f - h(q.style.left) - h(q.style.right); D.height = v.plugins.object[C].height; q.style[B] = h(q.style[B]) + v.plugins.object[C].height + "px"; q.style.height = h(q.style.height) - D.height + "px"; break; case b.html5.view.positions.LEFT: D.top = h(q.style.top); D.left = h(q.style.left); D.width = v.plugins.object[C].width; D.height = z - h(q.style.top) - h(q.style.bottom); q.style[B] = h(q.style[B]) + v.plugins.object[C].width + "px"; q.style.width = h(q.style.width) - D.width + "px"; break; default: break } return D } this.resize = i; this.fullscreen = function (E) { if (navigator.vendor.indexOf("Apple") === 0) { if (v.getMedia().getDisplayElement().webkitSupportsFullscreen) { if (E) { try { v.getMedia().getDisplayElement().webkitEnterFullscreen() } catch (D) { } } else { try { v.getMedia().getDisplayElement().webkitExitFullscreen() } catch (D) { } } } } else { if (E) { document.onkeydown = g; clearInterval(n); var C = document.body.getBoundingClientRect(); v.width = Math.abs(C.left) + Math.abs(C.right); v.height = window.innerHeight; var B = { position: "fixed", width: "100%", height: "100%", top: 0, left: 0, zIndex: 2147483000 }; c(u, B); B.zIndex = 1; c(v.getMedia().getDisplayElement(), B); B.zIndex = 2; c(q, B) } else { document.onkeydown = ""; v.width = f; v.height = z; c(u, { position: "relative", height: v.height, width: v.width, zIndex: 0 }) } i(v.width, v.height) } } }; function a(d) { return ([b.html5.view.positions.TOP, b.html5.view.positions.RIGHT, b.html5.view.positions.BOTTOM, b.html5.view.positions.LEFT].toString().indexOf(d.toUpperCase()) > -1) } b.html5.view.positions = { TOP: "TOP", RIGHT: "RIGHT", BOTTOM: "BOTTOM", LEFT: "LEFT", OVER: "OVER", NONE: "NONE"} })(jwplayer); (function (a) { var b = { backgroundcolor: "", margin: 10, font: "Arial,sans-serif", fontsize: 10, fontcolor: parseInt("000000", 16), fontstyle: "normal", fontweight: "bold", buttoncolor: parseInt("ffffff", 16), position: a.html5.view.positions.BOTTOM, idlehide: false, layout: { left: { position: "left", elements: [{ name: "play", type: "button" }, { name: "divider", type: "divider" }, { name: "prev", type: "button" }, { name: "divider", type: "divider" }, { name: "next", type: "button" }, { name: "divider", type: "divider" }, { name: "elapsed", type: "text"}] }, center: { position: "center", elements: [{ name: "time", type: "slider"}] }, right: { position: "right", elements: [{ name: "duration", type: "text" }, { name: "blank", type: "button" }, { name: "divider", type: "divider" }, { name: "mute", type: "button" }, { name: "volume", type: "slider" }, { name: "divider", type: "divider" }, { name: "fullscreen", type: "button"}]}} }; _css = a.utils.css; _hide = function (c) { _css(c, { display: "none" }) }; _show = function (c) { _css(c, { display: "block" }) }; a.html5.controlbar = function (j, L) { var i = j; var A = a.utils.extend({}, b, i.skin.getComponentSettings("controlbar"), L); if (A.position == a.html5.view.positions.NONE || typeof a.html5.view.positions[A.position] == "undefined") { return } if (a.utils.mapLength(i.skin.getComponentLayout("controlbar")) > 0) { A.layout = i.skin.getComponentLayout("controlbar") } var P; var I; var O; var B; var t = "none"; var f; var h; var Q; var e; var d; var w; var s; var J = {}; var n = false; var c = {}; function H() { O = 0; B = 0; I = 0; if (!n) { var V = { height: i.skin.getSkinElement("controlbar", "background").height, backgroundColor: A.backgroundcolor }; P = document.createElement("div"); P.id = i.id + "_jwplayer_controlbar"; _css(P, V) } v("capLeft", "left", false, P); var W = { position: "absolute", height: i.skin.getSkinElement("controlbar", "background").height, left: i.skin.getSkinElement("controlbar", "capLeft").width, zIndex: 0 }; N("background", P, W, "img"); if (i.skin.getSkinElement("controlbar", "background")) { J.background.src = i.skin.getSkinElement("controlbar", "background").src } W.zIndex = 1; N("elements", P, W); v("capRight", "right", false, P) } this.getDisplayElement = function () { return P }; this.resize = function (X, V) { a.utils.cancelAnimation(P); document.getElementById(i.id).onmousemove = x; d = X; w = V; x(); var W = u(); D({ id: i.id, duration: Q, position: h }); r({ id: i.id, bufferPercent: e }); return W }; function o() { var W = ["timeSlider", "volumeSlider", "timeSliderRail", "volumeSliderRail"]; for (var X in W) { var V = W[X]; if (typeof J[V] != "undefined") { c[V] = J[V].getBoundingClientRect() } } } function x() { a.utils.cancelAnimation(P); if (g()) { a.utils.fadeTo(P, 1, 0, 1, 0) } else { a.utils.fadeTo(P, 0, 0.1, 1, 2) } } function g() { if (i.jwGetState() == a.api.events.state.IDLE || i.jwGetState() == a.api.events.state.PAUSED) { if (A.idlehide) { return false } return true } if (i.jwGetFullscreen()) { return false } if (A.position == a.html5.view.positions.OVER) { return false } return true } function N(Z, Y, X, V) { var W; if (!n) { if (!V) { V = "div" } W = document.createElement(V); J[Z] = W; W.id = P.id + "_" + Z; Y.appendChild(W) } else { W = document.getElementById(P.id + "_" + Z) } if (X !== undefined) { _css(W, X) } return W } function G() { U(A.layout.left); U(A.layout.right, -1); U(A.layout.center) } function U(Y, V) { var Z = Y.position == "right" ? "right" : "left"; var X = a.utils.extend([], Y.elements); if (V !== undefined) { X.reverse() } for (var W = 0; W < X.length; W++) { z(X[W], Z) } } function E() { return I++ } function z(Z, ab) { var Y, W, X, V, ad; switch (Z.name) { case "play": v("playButton", ab, false); v("pauseButton", ab, true); K("playButton", "jwPlay"); K("pauseButton", "jwPause"); break; case "divider": v("divider" + E(), ab, true, undefined, undefined, Z.width); break; case "prev": v("prevButton", ab, true); K("prevButton", "jwPlaylistPrev"); break; case "next": v("nextButton", ab, true); K("nextButton", "jwPlaylistNext"); break; case "elapsed": v("elapsedText", ab, true); break; case "time": W = i.skin.getSkinElement("controlbar", "timeSliderCapLeft") === undefined ? 0 : i.skin.getSkinElement("controlbar", "timeSliderCapLeft").width; X = i.skin.getSkinElement("controlbar", "timeSliderCapRight") === undefined ? 0 : i.skin.getSkinElement("controlbar", "timeSliderCapRight").width; Y = ab == "left" ? W : X; V = i.skin.getSkinElement("controlbar", "timeSliderRail").width + W + X; ad = { height: i.skin.getSkinElement("controlbar", "background").height, position: "absolute", top: 0, width: V }; ad[ab] = ab == "left" ? O : B; var aa = N("timeSlider", J.elements, ad); v("timeSliderCapLeft", ab, true, aa, ab == "left" ? 0 : Y); v("timeSliderRail", ab, false, aa, Y); v("timeSliderBuffer", ab, false, aa, Y); v("timeSliderProgress", ab, false, aa, Y); v("timeSliderThumb", ab, false, aa, Y); v("timeSliderCapRight", ab, true, aa, ab == "right" ? 0 : Y); M("time"); break; case "fullscreen": v("fullscreenButton", ab, false); v("normalscreenButton", ab, true); K("fullscreenButton", "jwSetFullscreen", true); K("normalscreenButton", "jwSetFullscreen", false); break; case "volume": W = i.skin.getSkinElement("controlbar", "volumeSliderCapLeft") === undefined ? 0 : i.skin.getSkinElement("controlbar", "volumeSliderCapLeft").width; X = i.skin.getSkinElement("controlbar", "volumeSliderCapRight") === undefined ? 0 : i.skin.getSkinElement("controlbar", "volumeSliderCapRight").width; Y = ab == "left" ? W : X; V = i.skin.getSkinElement("controlbar", "volumeSliderRail").width + W + X; ad = { height: i.skin.getSkinElement("controlbar", "background").height, position: "absolute", top: 0, width: V }; ad[ab] = ab == "left" ? O : B; var ac = N("volumeSlider", J.elements, ad); v("volumeSliderCapLeft", ab, true, ac, ab == "left" ? 0 : Y); v("volumeSliderRail", ab, true, ac, Y); v("volumeSliderProgress", ab, false, ac, Y); v("volumeSliderCapRight", ab, true, ac, ab == "right" ? 0 : Y); M("volume"); break; case "mute": v("muteButton", ab, false); v("unmuteButton", ab, true); K("muteButton", "jwSetMute", true); K("unmuteButton", "jwSetMute", false); break; case "duration": v("durationText", ab, true); break } } function v(X, aa, W, ac, Y, V) { if ((i.skin.getSkinElement("controlbar", X) !== undefined || X.indexOf("Text") > 0 || X.indexOf("divider") === 0) && !(X.indexOf("divider") === 0 && s.indexOf("divider") === 0)) { s = X; var Z = { height: i.skin.getSkinElement("controlbar", "background").height, position: "absolute", display: "block", top: 0 }; if ((X.indexOf("next") === 0 || X.indexOf("prev") === 0) && i.jwGetPlaylist().length < 2) { W = false; Z.display = "none" } var ad; if (X.indexOf("Text") > 0) { X.innerhtml = "00:00"; Z.font = A.fontsize + "px/" + (i.skin.getSkinElement("controlbar", "background").height + 1) + "px " + A.font; Z.color = A.fontcolor; Z.textAlign = "center"; Z.fontWeight = A.fontweight; Z.fontStyle = A.fontstyle; Z.cursor = "default"; ad = 14 + 3 * A.fontsize } else { if (X.indexOf("divider") === 0) { if (V) { if (!isNaN(parseInt(V))) { ad = parseInt(V) } } else { Z.background = "url(" + i.skin.getSkinElement("controlbar", "divider").src + ") repeat-x center left"; ad = i.skin.getSkinElement("controlbar", "divider").width } } else { Z.background = "url(" + i.skin.getSkinElement("controlbar", X).src + ") repeat-x center left"; ad = i.skin.getSkinElement("controlbar", X).width } } if (aa == "left") { Z.left = isNaN(Y) ? O : Y; if (W) { O += ad } } else { if (aa == "right") { Z.right = isNaN(Y) ? B : Y; if (W) { B += ad } } } if (a.utils.typeOf(ac) == "undefined") { ac = J.elements } Z.width = ad; if (n) { _css(J[X], Z) } else { var ab = N(X, ac, Z); if (i.skin.getSkinElement("controlbar", X + "Over") !== undefined) { ab.onmouseover = function (ae) { ab.style.backgroundImage = ["url(", i.skin.getSkinElement("controlbar", X + "Over").src, ")"].join("") }; ab.onmouseout = function (ae) { ab.style.backgroundImage = ["url(", i.skin.getSkinElement("controlbar", X).src, ")"].join("") } } } } } function C() { i.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_LOADED, y); i.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_BUFFER, r); i.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, p); i.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_TIME, D); i.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_MUTE, T); i.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_VOLUME, k); i.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_COMPLETE, F) } function y() { H(); G(); u(); R() } function R() { D({ id: i.id, duration: i.jwGetDuration(), position: 0 }); r({ id: i.id, bufferProgress: 0 }); T({ id: i.id, mute: i.jwGetMute() }); p({ id: i.id, newstate: a.api.events.state.IDLE }); k({ id: i.id, volume: i.jwGetVolume() }) } function K(X, Y, W) { if (n) { return } if (i.skin.getSkinElement("controlbar", X) !== undefined) { var V = J[X]; if (V !== null) { _css(V, { cursor: "pointer" }); if (Y == "fullscreen") { V.onmouseup = function (Z) { Z.stopPropagation(); i.jwSetFullscreen(!i.jwGetFullscreen()) } } else { V.onmouseup = function (Z) { Z.stopPropagation(); if (W !== null) { i[Y](W) } else { i[Y]() } } } } } } function M(V) { if (n) { return } var W = J[V + "Slider"]; _css(J.elements, { cursor: "pointer" }); _css(W, { cursor: "pointer" }); W.onmousedown = function (X) { t = V }; W.onmouseup = function (X) { X.stopPropagation(); S(X.pageX) }; W.onmousemove = function (X) { if (t == "time") { f = true; var Y = X.pageX - c[V + "Slider"].left - window.pageXOffset; _css(J.timeSliderThumb, { left: Y }) } } } function S(W) { f = false; var V; if (t == "time") { V = W - c.timeSliderRail.left + window.pageXOffset; var Y = V / c.timeSliderRail.width * Q; if (Y < 0) { Y = 0 } else { if (Y > Q) { Y = Q - 3 } } i.jwSeek(Y); if (i.jwGetState() != a.api.events.state.PLAYING) { i.jwPlay() } } else { if (t == "volume") { V = W - c.volumeSliderRail.left - window.pageXOffset; var X = Math.round(V / c.volumeSliderRail.width * 100); if (X < 0) { X = 0 } else { if (X > 100) { X = 100 } } if (i.jwGetMute()) { i.jwSetMute(false) } i.jwSetVolume(X) } } t = "none" } function r(W) { if (W.bufferPercent !== null) { e = W.bufferPercent } var X = c.timeSliderRail.width; var V = isNaN(Math.round(X * e / 100)) ? 0 : Math.round(X * e / 100); _css(J.timeSliderBuffer, { width: V }) } function T(V) { if (V.mute) { _hide(J.muteButton); _show(J.unmuteButton); _hide(J.volumeSliderProgress) } else { _show(J.muteButton); _hide(J.unmuteButton); _show(J.volumeSliderProgress) } } function p(V) { if (V.newstate == a.api.events.state.BUFFERING || V.newstate == a.api.events.state.PLAYING) { _show(J.pauseButton); _hide(J.playButton) } else { _hide(J.pauseButton); _show(J.playButton) } x(); if (V.newstate == a.api.events.state.IDLE) { _hide(J.timeSliderBuffer); _hide(J.timeSliderProgress); _hide(J.timeSliderThumb); D({ id: i.id, duration: i.jwGetDuration(), position: 0 }) } else { _show(J.timeSliderBuffer); if (V.newstate != a.api.events.state.BUFFERING) { _show(J.timeSliderProgress); _show(J.timeSliderThumb) } } } function F(V) { r({ bufferPercent: 0 }); D(a.utils.extend(V, { position: 0, duration: Q })) } function D(Y) { if (Y.position !== null) { h = Y.position } if (Y.duration !== null) { Q = Y.duration } var W = (h === Q === 0) ? 0 : h / Q; var V = isNaN(Math.round(c.timeSliderRail.width * W)) ? 0 : Math.round(c.timeSliderRail.width * W); var X = V; J.timeSliderProgress.style.width = V + "px"; if (!f) { if (J.timeSliderThumb) { J.timeSliderThumb.style.left = X + "px" } } if (J.durationText) { J.durationText.innerHTML = m(Q) } if (J.elapsedText) { J.elapsedText.innerHTML = m(h) } } function m(V) { str = "00:00"; if (V > 0) { str = Math.floor(V / 60) < 10 ? "0" + Math.floor(V / 60) + ":" : Math.floor(V / 60) + ":"; str += Math.floor(V % 60) < 10 ? "0" + Math.floor(V % 60) : Math.floor(V % 60) } return str } function l() { var Y, W; var X = document.getElementById(P.id + "_elements").childNodes; for (var V in document.getElementById(P.id + "_elements").childNodes) { if (isNaN(parseInt(V, 10))) { continue } if (X[V].id.indexOf(P.id + "_divider") === 0 && W.id.indexOf(P.id + "_divider") === 0) { X[V].style.display = "none" } else { if (X[V].id.indexOf(P.id + "_divider") === 0 && Y.style.display != "none") { X[V].style.display = "block" } } if (X[V].style.display != "none") { W = X[V] } Y = X[V] } } function u() { l(); if (i.jwGetFullscreen()) { _show(J.normalscreenButton); _hide(J.fullscreenButton) } else { _hide(J.normalscreenButton); _show(J.fullscreenButton) } var W = { width: d }; var V = {}; if (A.position == a.html5.view.positions.OVER || i.jwGetFullscreen()) { W.left = A.margin; W.width -= 2 * A.margin; W.top = w - i.skin.getSkinElement("controlbar", "background").height - A.margin; W.height = i.skin.getSkinElement("controlbar", "background").height } else { W.left = 0 } V.left = i.skin.getSkinElement("controlbar", "capLeft").width; V.width = W.width - i.skin.getSkinElement("controlbar", "capLeft").width - i.skin.getSkinElement("controlbar", "capRight").width; var X = i.skin.getSkinElement("controlbar", "timeSliderCapLeft") === undefined ? 0 : i.skin.getSkinElement("controlbar", "timeSliderCapLeft").width; _css(J.timeSliderRail, { width: (V.width - O - B), left: X }); if (J.timeSliderCapRight !== undefined) { _css(J.timeSliderCapRight, { left: X + (V.width - O - B) }) } _css(P, W); _css(J.elements, V); _css(J.background, V); o(); return W } function k(Z) { if (J.volumeSliderRail !== undefined) { var X = isNaN(Z.volume / 100) ? 1 : Z.volume / 100; var Y = parseInt(J.volumeSliderRail.style.width.replace("px", ""), 10); var V = isNaN(Math.round(Y * X)) ? 0 : Math.round(Y * X); var aa = parseInt(J.volumeSliderRail.style.right.replace("px", ""), 10); var W = i.skin.getSkinElement("controlbar", "volumeSliderCapLeft") === undefined ? 0 : i.skin.getSkinElement("controlbar", "volumeSliderCapLeft").width; _css(J.volumeSliderProgress, { width: V, left: W }); if (J.volumeSliderCapLeft !== undefined) { _css(J.volumeSliderCapLeft, { left: 0 }) } } } function q() { H(); G(); o(); n = true; C(); R(); P.style.opacity = A.idlehide ? 0 : 1 } q(); return this } })(jwplayer); (function (b) { var a = ["width", "height", "state", "playlist", "item", "position", "buffer", "duration", "volume", "mute", "fullscreen"]; b.html5.controller = function (t, r, e, q) { var w = t; var y = e; var d = q; var k = r; var A = true; var c = -1; var u = (y.config.debug !== undefined) && (y.config.debug.toString().toLowerCase() == "console"); var i = new b.html5.eventdispatcher(k.id, u); b.utils.extend(this, i); function m(D) { i.sendEvent(D.type, D) } y.addGlobalListener(m); function p() { try { if (y.playlist[y.item].levels[0].file.length > 0) { if (A || y.state == b.api.events.state.IDLE) { y.addEventListener(b.api.events.JWPLAYER_MEDIA_BUFFER_FULL, function () { y.getMedia().play() }); y.addEventListener(b.api.events.JWPLAYER_MEDIA_TIME, function (E) { if (E.position >= y.playlist[y.item].start && c >= 0) { y.playlist[y.item].start = c; c = -1 } }); if (y.config.repeat) { y.addEventListener(b.api.events.JWPLAYER_MEDIA_COMPLETE, function (E) { setTimeout(n, 25) }) } y.getMedia().load(y.playlist[y.item]); A = false } else { if (y.state == b.api.events.state.PAUSED) { y.getMedia().play() } } } return true } catch (D) { i.sendEvent(b.api.events.JWPLAYER_ERROR, D) } return false } function B() { try { if (y.playlist[y.item].levels[0].file.length > 0) { switch (y.state) { case b.api.events.state.PLAYING: case b.api.events.state.BUFFERING: y.getMedia().pause(); break } } return true } catch (D) { i.sendEvent(b.api.events.JWPLAYER_ERROR, D) } return false } function x(D) { try { if (y.playlist[y.item].levels[0].file.length > 0) { if (typeof D != "number") { D = parseFloat(D) } switch (y.state) { case b.api.events.state.IDLE: if (c < 0) { c = y.playlist[y.item].start; y.playlist[y.item].start = D } p(); break; case b.api.events.state.PLAYING: case b.api.events.state.PAUSED: case b.api.events.state.BUFFERING: y.getMedia().seek(D); break } } return true } catch (E) { i.sendEvent(b.api.events.JWPLAYER_ERROR, E) } return false } function j() { try { if (y.playlist[y.item].levels[0].file.length > 0 && y.state != b.api.events.state.IDLE) { y.getMedia().stop() } return true } catch (D) { i.sendEvent(b.api.events.JWPLAYER_ERROR, D) } return false } function g() { try { if (y.playlist[y.item].levels[0].file.length > 0) { if (y.config.shuffle) { o(s()) } else { if (y.item + 1 == y.playlist.length) { o(0) } else { o(y.item + 1) } } } if (y.state != b.api.events.state.PLAYING && y.state != b.api.events.state.BUFFERING) { p() } return true } catch (D) { i.sendEvent(b.api.events.JWPLAYER_ERROR, D) } return false } function f() { try { if (y.playlist[y.item].levels[0].file.length > 0) { if (y.config.shuffle) { o(s()) } else { if (y.item === 0) { o(y.playlist.length - 1) } else { o(y.item - 1) } } } if (y.state != b.api.events.state.PLAYING && y.state != b.api.events.state.BUFFERING) { p() } return true } catch (D) { i.sendEvent(b.api.events.JWPLAYER_ERROR, D) } return false } function s() { var D = null; if (y.playlist.length > 1) { while (D === null) { D = Math.floor(Math.random() * y.playlist.length); if (D == y.item) { D = null } } } else { D = 0 } return D } function o(E) { y.resetEventListeners(); y.addGlobalListener(m); try { if (y.playlist[E].levels[0].file.length > 0) { var F = y.state; if (F !== b.api.events.state.IDLE) { j() } y.item = E; A = true; y.setActiveMediaProvider(y.playlist[y.item]); i.sendEvent(b.api.events.JWPLAYER_PLAYLIST_ITEM, { index: E }); if (F == b.api.events.state.PLAYING || F == b.api.events.state.BUFFERING || y.config.chromeless || e.config.autostart === true) { p() } } return true } catch (D) { i.sendEvent(b.api.events.JWPLAYER_ERROR, D) } return false } function z(E) { try { switch (typeof (E)) { case "number": y.getMedia().volume(E); break; case "string": y.getMedia().volume(parseInt(E, 10)); break } return true } catch (D) { i.sendEvent(b.api.events.JWPLAYER_ERROR, D) } return false } function l(E) { try { if (typeof E == "undefined") { y.getMedia().mute(!y.mute) } else { if (E.toString().toLowerCase() == "true") { y.getMedia().mute(true) } else { y.getMedia().mute(false) } } return true } catch (D) { i.sendEvent(b.api.events.JWPLAYER_ERROR, D) } return false } function h(E, D) { try { y.width = E; y.height = D; d.resize(E, D); i.sendEvent(b.api.events.JWPLAYER_RESIZE, { width: y.width, height: y.height }); return true } catch (F) { i.sendEvent(b.api.events.JWPLAYER_ERROR, F) } return false } function v(E) { try { if (typeof E == "undefined") { y.fullscreen = !y.fullscreen; d.fullscreen(!y.fullscreen) } else { if (E.toString().toLowerCase() == "true") { y.fullscreen = true; d.fullscreen(true) } else { y.fullscreen = false; d.fullscreen(false) } } i.sendEvent(b.api.events.JWPLAYER_RESIZE, { width: y.width, height: y.height }); i.sendEvent(b.api.events.JWPLAYER_FULLSCREEN, { fullscreen: E }); return true } catch (D) { i.sendEvent(b.api.events.JWPLAYER_ERROR, D) } return false } function C(D) { try { j(); y.loadPlaylist(D); o(y.item); return true } catch (E) { i.sendEvent(b.api.events.JWPLAYER_ERROR, E) } return false } b.html5.controller.repeatoptions = { LIST: "LIST", ALWAYS: "ALWAYS", SINGLE: "SINGLE", NONE: "NONE" }; function n() { y.resetEventListeners(); y.addGlobalListener(m); switch (y.config.repeat.toUpperCase()) { case b.html5.controller.repeatoptions.SINGLE: p(); break; case b.html5.controller.repeatoptions.ALWAYS: if (y.item == y.playlist.length - 1 && !y.config.shuffle) { o(0); p() } else { g() } break; case b.html5.controller.repeatoptions.LIST: if (y.item == y.playlist.length - 1 && !y.config.shuffle) { o(0) } else { g() } break } } this.play = p; this.pause = B; this.seek = x; this.stop = j; this.next = g; this.prev = f; this.item = o; this.setVolume = z; this.setMute = l; this.resize = h; this.setFullscreen = v; this.load = C } })(jwplayer); (function (a) { a.html5.defaultSkin = function () { this.text = '<?xml version="1.0" ?><skin author="LongTail Video" name="Five" version="1.0"><settings><setting name="backcolor" value="0xFFFFFF"/><setting name="frontcolor" value="0x000000"/><setting name="lightcolor" value="0x000000"/><setting name="screencolor" value="0x000000"/></settings><components><component name="controlbar"><settings><setting name="margin" value="20"/><setting name="fontsize" value="11"/></settings><elements><element name="background" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFJJREFUeNrslLENwAAIwxLU/09j5AiOgD5hVQzNAVY8JK4qEfHMIKBnd2+BQlBINaiRtL/aV2rdzYBsM6CIONbI1NZENTr3RwdB2PlnJgJ6BRgA4hwu5Qg5iswAAAAASUVORK5CYII="/><element name="capLeft" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAYCAIAAAC0rgCNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD5JREFUeNosi8ENACAMAgnuv14H0Z8asI19XEjhOiKCMmibVgJTUt7V6fe9KXOtSQCfctJHu2q3/ot79hNgANc2OTz9uTCCAAAAAElFTkSuQmCC"/><element name="capRight" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAYCAIAAAC0rgCNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD5JREFUeNosi8ENACAMAgnuv14H0Z8asI19XEjhOiKCMmibVgJTUt7V6fe9KXOtSQCfctJHu2q3/ot79hNgANc2OTz9uTCCAAAAAElFTkSuQmCC"/><element name="divider" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAYCAIAAAC0rgCNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD5JREFUeNosi8ENACAMAgnuv14H0Z8asI19XEjhOiKCMmibVgJTUt7V6fe9KXOtSQCfctJHu2q3/ot79hNgANc2OTz9uTCCAAAAAElFTkSuQmCC"/><element name="playButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEhJREFUeNpiYqABYBo1dNRQ+hr6H4jvA3E8NS39j4SpZvh/LJig4YxEGEqy3kET+w+AOGFQRhTJhrEQkGcczfujhg4CQwECDADpTRWU/B3wHQAAAABJRU5ErkJggg=="/><element name="pauseButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAChJREFUeNpiYBgFo2DwA0YC8v/R1P4nRu+ooaOGUtnQUTAKhgIACDAAFCwQCfAJ4gwAAAAASUVORK5CYII="/><element name="prevButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEtJREFUeNpiYBgFo2Dog/9QDAPyQHweTYwiQ/2B+D0Wi8g2tB+JTdBQRiIMJVkvEy0iglhDF9Aq9uOpHVEwoE+NJDUKRsFgAAABBgDe2hqZcNNL0AAAAABJRU5ErkJggg=="/><element name="nextButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAElJREFUeNpiYBgFo2Dog/9AfB6I5dHE/lNqKAi/B2J/ahsKw/3EGMpIhKEk66WJoaR6fz61IyqemhEFSlL61ExSo2AUDAYAEGAAiG4hj+5t7M8AAAAASUVORK5CYII="/><element name="timeSliderRail" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADxJREFUeNpiYBgFo2AU0Bwwzluw+D8tLWARFhKiqQ9YuLg4aWsBGxs7bS1gZ6e5BWyjSX0UjIKhDgACDABlYQOGh5pYywAAAABJRU5ErkJggg=="/><element name="timeSliderBuffer" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD1JREFUeNpiYBgFo2AU0Bww1jc0/aelBSz8/Pw09QELOzs7bS1gY2OjrQWsrKy09gHraFIfBaNgqAOAAAMAvy0DChXHsZMAAAAASUVORK5CYII="/><element name="timeSliderProgress" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAClJREFUeNpiYBgFo2AU0BwwAvF/WlrARGsfjFow8BaMglEwCugAAAIMAOHfAQunR+XzAAAAAElFTkSuQmCC"/><element name="timeSliderThumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAICAYAAAA870V8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABZJREFUeNpiZICA/yCCiQEJUJcDEGAAY0gBD1/m7Q0AAAAASUVORK5CYII="/><element name="muteButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAYCAYAAADKx8xXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpiYBgFIw3MB+L/5Gj8j6yRiRTFyICJXHfTXyMLAXlGati4YDRFDj8AEGAABk8GSqqS4CoAAAAASUVORK5CYII="/><element name="unmuteButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAYCAYAAADKx8xXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD1JREFUeNpiYBgFgxz8p7bm+cQa+h8LHy7GhEcjIz4bmAjYykiun/8j0fakGPIfTfPgiSr6aB4FVAcAAQYAWdwR1G1Wd2gAAAAASUVORK5CYII="/><element name="volumeSliderRail" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAYCAYAAADkgu3FAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGpJREFUeNpi/P//PwM9ABMDncCoRYPfIqqDZcuW1UPp/6AUDcNM1DQYKtRAlaAj1mCSLSLXYIIWUctgDItoZfDA5aOoqKhGEANIM9LVR7SymGDQUctikuOIXkFNdhHEOFrDjlpEd4sAAgwAriRMub95fu8AAAAASUVORK5CYII="/><element name="volumeSliderProgress" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAYCAYAAADkgu3FAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFtJREFUeNpi/P//PwM9ABMDncCoRYPfIlqAeij9H5SiYZiqBqPTlFqE02BKLSLaYFItIttgQhZRzWB8FjENiuRJ7aAbsMQwYMl7wDIsWUUQ42gNO2oR3S0CCDAAKhKq6MLLn8oAAAAASUVORK5CYII="/><element name="fullscreenButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAE5JREFUeNpiYBgFo2DQA0YC8v/xqP1PjDlMRDrEgUgxkgHIlfZoriVGjmzLsLFHAW2D6D8eA/9Tw7L/BAwgJE90PvhPpNgoGAVDEQAEGAAMdhTyXcPKcAAAAABJRU5ErkJggg=="/><element name="normalscreenButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEZJREFUeNpiYBgFo2DIg/9UUkOUAf8JiFFsyX88fJyAkcQgYMQjNkzBoAgiezyRbE+tFGSPxQJ7auYBmma0UTAKBhgABBgAJAEY6zON61sAAAAASUVORK5CYII="/></elements></component><component name="display"><elements><element name="background" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEpJREFUeNrszwENADAIA7DhX8ENoBMZ5KR10EryckCJiIiIiIiIiIiIiIiIiIiIiIh8GmkRERERERERERERERERERERERGRHSPAAPlXH1phYpYaAAAAAElFTkSuQmCC"/><element name="playIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALdJREFUeNrs18ENgjAYhmFouDOCcQJGcARHgE10BDcgTOIosAGwQOuPwaQeuFRi2p/3Sb6EC5L3QCxZBgAAAOCorLW1zMn65TrlkH4NcV7QNcUQt7Gn7KIhxA+qNIR81spOGkL8oFJDyLJRdosqKDDkK+iX5+d7huzwM40xptMQMkjIOeRGo+VkEVvIPfTGIpKASfYIfT9iCHkHrBEzf4gcUQ56aEzuGK/mw0rHpy4AAACAf3kJMACBxjAQNRckhwAAAABJRU5ErkJggg=="/><element name="muteIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNrs1jEOgCAMBVAg7t5/8qaoIy4uoobyXsLCxA+0NCUAAADGUWvdQoQ41x4ixNBB2hBvBskdD3w5ZCkl3+33VqI0kjBBlh9rp+uTcyOP33TnolfsU85XX3yIRpQph8ZQY3wTZtU5AACASA4BBgDHoVuY1/fvOQAAAABJRU5ErkJggg=="/><element name="errorIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAWlJREFUeNrsl+1twjAQhsHq/7BBYQLYIBmBDcoGMAIjtBPQTcII2SDtBDBBwrU6pGsUO7YbO470PtKJkz9iH++d4ywWAAAAAABgljRNsyWr2bZzDuJG1rLdZhcMbTjrBCGDyUKsqQLFciJb9bSvuG/WagRVRUVUI6gqy5HVeKWfSgRyJruKIU//TrZTSn2nmlaXThrloi/v9F2STC1W4+Aw5cBzkquRc09bofFNc6YLxEON0VUZS5FPTftO49vMjRsIF3RhOGr7/D/pJw+FKU+q0vDyq8W42jCunDqI3LC5XxNj2wHLU1XjaRnb0Lhykhqhhd8MtSF5J9tbjCv4mXGvKJz/65FF/qJryyaaIvzP2QRxZTX2nTuXjvV/VPFSwyLnW7mpH99yTh1FEVro6JBSd40/pMrRdV8vPtcKl28T2pT8TnFZ4yNosct3Q0io6JfBiz1FlGdqVQH3VHnepAEAAAAAADDzEGAAcTwB10jWgxcAAAAASUVORK5CYII="/><element name="bufferIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuhJREFUeNrsWr9rU1EUznuNGqvFQh1ULOhiBx0KDtIuioO4pJuik3FxFfUPaAV1FTdx0Q5d2g4FFxehTnEpZHFoBy20tCIWtGq0TZP4HfkeHB5N8m6Sl/sa74XDybvv3vvOd8/Pe4lXrVZT3dD8VJc0B8QBcUAcEAfESktHGeR5XtMfqFQq/f92zPe/NbtGlKTdCY30kuxrpMGO94BlQCXs+rbh3ONgA6BlzP1p20d80gEI5hmA2A92Qua1Q2PtAFISM+bvjMG8U+Q7oA3rQGASwrYCU6WpNdLGYbA+Pq5jjXIiwi8EEa2UDbQSaKOIuV+SlkcCrfjY8XTI9EpKGwP0C2kru2hLtHqa4zoXtZRWyvi4CLwv9Opr6Hkn6A9HKgEANsQ1iqC3Ub/vRUk2JgmRkatK36kVrnt0qObunwUdUUMXMWYpakJsO5Am8tAw2GBIgwWA+G2S2dMpiw0gDioQRQJoKhRb1QiDwlHZUABYbaXWsm5ae6loTE4ZDxN4CZar8foVzOJ2iyZ2kWF3t7YIevffaMT5yJ70kQb2fQ1sE5SHr2wazs2wgMxgbsEKEAgxAvZUJbQLBGTSBMgNrncJbA6AljtS/eKDJ0Ez+DmrQEzXS2h1Ck25kAg0IZcUOaydCy4sYnN2fOA+2AP16gNoHALlQ+fwH7XO4CxLenUpgj4xr6ugY2roPMbMx+Xs18m/E8CVEIhxsNeg83XWOAN6grG3lGbk8uE5fr4B/WH3cJw+co/l9nTYsSGYCJ/lY5/qv0thn6nrIWmjeJcPSnWOeY++AkF8tpJHIMAUs/MaBBpj3znZfQo5psY+ZrG4gv5HickjEOymKjEeRpgyST6IuZcTcWbnjcgdPi5ghxciRKsl1lDSsgwA1i8fssonJgzmTSqfGUkCENndNdAL7PS6QQ7ZYISTo+1qq0LEWjTWcvY4isa4z+yfQB+7ooyHVg5RI7/i1Ijn/vnggDggDogD4oC00P4KMACd/juEHOrS4AAAAABJRU5ErkJggg=="/></elements></component><component name="dock"><elements><element name="button" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFBJREFUeNrs0cEJACAQA8Eofu0fu/W6EM5ZSAFDRpKTBs00CQQEBAQEBAQEBAQEBAQEBATkK8iqbY+AgICAgICAgICAgICAgICAgIC86QowAG5PAQzEJ0lKAAAAAElFTkSuQmCC"/></elements></component><component name="playlist"><elements><element name="item" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAIAAAC1nk4lAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNrs2NEJwCAMBcBYuv/CFuIE9VN47WWCR7iocXR3pdWdGPqqwIoMjYfQeAiNh9B4JHc6MHQVHnjggQceeOCBBx77TifyeOY0iHi8DqIdEY8dD5cL094eePzINB5CO/LwcOTptNB4CP25L4TIbZzpU7UEGAA5wz1uF5rF9AAAAABJRU5ErkJggg=="/><element name="sliderRail" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAA8CAIAAADpFA0BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADhJREFUeNrsy6ENACAMAMHClp2wYxZLAg5Fcu9e3OjuOKqqfTMzbs14CIZhGIZhGIZhGP4VLwEGAK/BBnVFpB0oAAAAAElFTkSuQmCC"/><element name="sliderThumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAA8CAIAAADpFA0BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADRJREFUeNrsy7ENACAMBLE8++8caFFKKiRffU53112SGs3ttOohGIZhGIZhGIZh+Fe8BRgAiaUGde6NOSEAAAAASUVORK5CYII="/></elements></component></components></skin>'; this.xml = null; if (window.DOMParser) { parser = new DOMParser(); this.xml = parser.parseFromString(this.text, "text/xml") } else { this.xml = new ActiveXObject("Microsoft.XMLDOM"); this.xml.async = "false"; this.xml.loadXML(this.text) } return this } })(jwplayer); (function (a) { _css = a.utils.css; _hide = function (b) { _css(b, { display: "none" }) }; _show = function (b) { _css(b, { display: "block" }) }; a.html5.display = function (o, z) { var r = { icons: true }; var j = a.utils.extend({}, r, z); var w = o; var d = {}; var f; var A; var k; var x; var y; var p; var i; var n = w.skin.getComponentSettings("display").bufferrotation === undefined ? 15 : parseInt(w.skin.getComponentSettings("display").bufferrotation, 10); var e = w.skin.getComponentSettings("display").bufferinterval === undefined ? 100 : parseInt(w.skin.getComponentSettings("display").bufferinterval, 10); var c = { display: { style: { cursor: "pointer", top: 0, left: 0, overflow: "hidden" }, click: u }, display_icon: { style: { cursor: "pointer", position: "absolute", top: ((w.skin.getSkinElement("display", "background").height - w.skin.getSkinElement("display", "playIcon").height) / 2), left: ((w.skin.getSkinElement("display", "background").width - w.skin.getSkinElement("display", "playIcon").width) / 2), border: 0, margin: 0, padding: 0, zIndex: 3} }, display_iconBackground: { style: { cursor: "pointer", position: "absolute", top: ((A - w.skin.getSkinElement("display", "background").height) / 2), left: ((f - w.skin.getSkinElement("display", "background").width) / 2), border: 0, backgroundImage: (["url(", w.skin.getSkinElement("display", "background").src, ")"]).join(""), width: w.skin.getSkinElement("display", "background").width, height: w.skin.getSkinElement("display", "background").height, margin: 0, padding: 0, zIndex: 2} }, display_image: { style: { display: "none", width: f, height: A, position: "absolute", cursor: "pointer", left: 0, top: 0, margin: 0, padding: 0, textDecoration: "none", zIndex: 1} }, display_text: { style: { zIndex: 4, position: "relative", opacity: 0.8, backgroundColor: parseInt("000000", 16), color: parseInt("ffffff", 16), textAlign: "center", fontFamily: "Arial,sans-serif", padding: "0 5px", fontSize: 14}} }; w.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, l); w.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_MUTE, l); w.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_ITEM, l); w.jwAddEventListener(a.api.events.JWPLAYER_ERROR, t); B(); function B() { d.display = s("div", "display"); d.display_text = s("div", "display_text"); d.display.appendChild(d.display_text); d.display_image = s("img", "display_image"); d.display_image.onerror = function (C) { _hide(d.display_image) }; d.display_image.onload = m; d.display_icon = s("div", "display_icon"); d.display_iconBackground = s("div", "display_iconBackground"); d.display.appendChild(d.display_image); d.display_iconBackground.appendChild(d.display_icon); d.display.appendChild(d.display_iconBackground); b() } this.getDisplayElement = function () { return d.display }; this.resize = function (D, C) { f = D; A = C; _css(d.display, { width: D, height: C }); _css(d.display_text, { width: (D - 10), top: ((A - d.display_text.getBoundingClientRect().height) / 2) }); _css(d.display_iconBackground, { top: ((A - w.skin.getSkinElement("display", "background").height) / 2), left: ((f - w.skin.getSkinElement("display", "background").width) / 2) }); h(); l({}) }; function m(C) { k = d.display_image.naturalWidth; x = d.display_image.naturalHeight; h() } function h() { a.utils.stretch(w.jwGetStretching(), d.display_image, f, A, k, x) } function s(C, E) { var D = document.createElement(C); D.id = w.id + "_jwplayer_" + E; _css(D, c[E].style); return D } function b() { for (var C in d) { if (c[C].click !== undefined) { d[C].onclick = c[C].click } } } function u(C) { if (typeof C.preventDefault != "undefined") { C.preventDefault() } else { C.returnValue = false } if (w.jwGetState() != a.api.events.state.PLAYING) { w.jwPlay() } else { w.jwPause() } } function g(C) { if (i || !j.icons) { q(); return } _show(d.display_iconBackground); d.display_icon.style.backgroundImage = (["url(", w.skin.getSkinElement("display", C).src, ")"]).join(""); _css(d.display_icon, { display: "block", width: w.skin.getSkinElement("display", C).width, height: w.skin.getSkinElement("display", C).height, top: (w.skin.getSkinElement("display", "background").height - w.skin.getSkinElement("display", C).height) / 2, left: (w.skin.getSkinElement("display", "background").width - w.skin.getSkinElement("display", C).width) / 2 }); if (w.skin.getSkinElement("display", C + "Over") !== undefined) { d.display_icon.onmouseover = function (D) { d.display_icon.style.backgroundImage = ["url(", w.skin.getSkinElement("display", C + "Over").src, ")"].join("") }; d.display_icon.onmouseout = function (D) { d.display_icon.style.backgroundImage = ["url(", w.skin.getSkinElement("display", C).src, ")"].join("") } } else { d.display_icon.onmouseover = null; d.display_icon.onmouseout = null } } function q() { _hide(d.display_icon); _hide(d.display_iconBackground) } function t(C) { i = true; q(); d.display_text.innerHTML = C.error; _show(d.display_text); d.display_text.style.top = ((A - d.display_text.getBoundingClientRect().height) / 2) + "px" } function v() { var C = d.display_image; d.display_image = s("img", "display_image"); d.display_image.onerror = function (D) { _hide(d.display_image) }; d.display_image.onload = m; d.display.replaceChild(d.display_image, C) } function l(C) { if ((C.type == a.api.events.JWPLAYER_PLAYER_STATE || C.type == a.api.events.JWPLAYER_PLAYLIST_ITEM) && i) { i = false; _hide(d.display_text) } if (p !== undefined) { clearInterval(p); p = null; a.utils.animations.rotate(d.display_icon, 0) } switch (w.jwGetState()) { case a.api.events.state.BUFFERING: g("bufferIcon"); y = 0; p = setInterval(function () { y += n; a.utils.animations.rotate(d.display_icon, y % 360) }, e); g("bufferIcon"); break; case a.api.events.state.PAUSED: _css(d.display_image, { background: "transparent no-repeat center center" }); g("playIcon"); break; case a.api.events.state.IDLE: if (w.jwGetPlaylist()[w.jwGetItem()].image) { _css(d.display_image, { display: "block" }); d.display_image.src = a.utils.getAbsolutePath(w.jwGetPlaylist()[w.jwGetItem()].image) } else { v() } g("playIcon"); break; default: if (w.jwGetMute()) { v(); g("muteIcon") } else { v(); _hide(d.display_iconBackground); _hide(d.display_icon) } break } } return this } })(jwplayer); (function (a) { a.html5.dock = function (g, c) { function f() { return { align: a.html5.view.positions.RIGHT} } var k = a.utils.extend({}, f(), c); if (k.align == "FALSE") { return } var h = {}; var b = []; var d; var e; var j = document.createElement("div"); j.id = g.id + "_jwplayer_dock"; this.getDisplayElement = function () { return j }; this.setButton = function (o, l, m, n) { if (!l && h[o]) { a.utils.arrays.remove(b, o); j.removeChild(h[o].div); delete h[o] } else { if (l) { if (!h[o]) { h[o] = {} } h[o].handler = l; h[o].outGraphic = m; h[o].overGraphic = n; if (!h[o].div) { b.push(o); h[o].div = document.createElement("div"); h[o].div.style.position = "relative"; j.appendChild(h[o].div); h[o].div.appendChild(document.createElement("img")); h[o].div.childNodes[0].style.position = "absolute"; h[o].div.childNodes[0].style.left = 0; h[o].div.childNodes[0].style.top = 0; h[o].div.childNodes[0].style.zIndex = 10; h[o].div.childNodes[0].style.cursor = "pointer"; h[o].div.appendChild(document.createElement("img")); h[o].div.childNodes[1].style.position = "absolute"; h[o].div.childNodes[1].style.left = 0; h[o].div.childNodes[1].style.top = 0; if (g.skin.getSkinElement("dock", "button")) { h[o].div.childNodes[1].src = g.skin.getSkinElement("dock", "button").src } h[o].div.childNodes[1].style.zIndex = 9; h[o].div.childNodes[1].style.cursor = "pointer"; h[o].div.onmouseover = function () { if (h[o].overGraphic) { h[o].div.childNodes[0].src = h[o].overGraphic } if (g.skin.getSkinElement("dock", "buttonOver")) { h[o].div.childNodes[1].src = g.skin.getSkinElement("dock", "buttonOver").src } }; h[o].div.onmouseout = function () { if (h[o].outGraphic) { h[o].div.childNodes[0].src = h[o].outGraphic } if (g.skin.getSkinElement("dock", "button")) { h[o].div.childNodes[1].src = g.skin.getSkinElement("dock", "button").src } }; if (h[o].overGraphic) { h[o].div.childNodes[0].src = h[o].overGraphic } if (h[o].outGraphic) { h[o].div.childNodes[0].src = h[o].outGraphic } if (g.skin.getSkinElement("dock", "button")) { h[o].div.childNodes[1].src = g.skin.getSkinElement("dock", "button").src } } if (l) { h[o].div.onclick = function (p) { p.preventDefault(); a(g.id).callback(o); if (h[o].overGraphic) { h[o].div.childNodes[0].src = h[o].overGraphic } if (g.skin.getSkinElement("dock", "button")) { h[o].div.childNodes[1].src = g.skin.getSkinElement("dock", "button").src } } } } } i(d, e) }; function i(n, l) { d = n; e = l; if (b.length > 0) { var p = 10; var r = n - g.skin.getSkinElement("dock", "button").width - p; var o = p; var q = -1; if (k.align == a.html5.view.positions.LEFT) { q = 1; r = p } for (var m = 0; m < b.length; m++) { var s = Math.floor(o / l); if ((o + g.skin.getSkinElement("dock", "button").height + p) > ((s + 1) * l)) { o = ((s + 1) * l) + p; s = Math.floor(o / l) } h[b[m]].div.style.top = (o % l) + "px"; h[b[m]].div.style.left = (r + (g.skin.getSkinElement("dock", "button").width + p) * s * q) + "px"; o += g.skin.getSkinElement("dock", "button").height + p } } } this.resize = i; return this } })(jwplayer); (function (a) { a.html5.eventdispatcher = function (d, b) { var c = new a.events.eventdispatcher(b); a.utils.extend(this, c); this.sendEvent = function (e, f) { if (f === undefined) { f = {} } a.utils.extend(f, { id: d, version: a.version, type: e }); c.sendEvent(e, f) } } })(jwplayer); (function (a) { var b = { prefix: "", file: "", link: "", margin: 8, out: 0.5, over: 1, timeout: 3, hide: true, position: "bottom-left" }; _css = a.utils.css; a.html5.logo = function (l, m) { var r = l; var n; var i; var c; j(); function j() { p(); d(); f() } function p() { if (b.prefix) { var t = l.version.split(/\W/).splice(0, 2).join("/"); if (b.prefix.indexOf(t) < 0) { b.prefix += t + "/" } } if (m.position == a.html5.view.positions.OVER) { m.position = b.position } i = a.utils.extend({}, b, m) } function d() { c = document.createElement("img"); c.id = r.id + "_jwplayer_logo"; c.style.display = "none"; c.onload = function (t) { _css(c, q()); r.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, s); e() }; if (!i.file) { return } if (i.file.indexOf("http://") === 0) { c.src = i.file } else { c.src = i.prefix + i.file } } if (!i.file) { return } this.resize = function (u, t) { }; this.getDisplayElement = function () { return c }; function f() { if (i.link) { c.onmouseover = h; c.onmouseout = e; c.onclick = o } else { this.mouseEnabled = false } } function o(t) { if (typeof t != "undefined") { t.stopPropagation() } r.jwPause(); r.jwSetFullscreen(false); if (i.link) { window.open(i.link, "_blank") } return } function e(t) { if (i.link) { c.style.opacity = i.out } return } function h(t) { if (i.hide) { c.style.opacity = i.over } return } function q() { var v = { textDecoration: "none", position: "absolute", cursor: "pointer" }; v.display = i.hide ? "none" : "block"; var u = i.position.toLowerCase().split("-"); for (var t in u) { v[u[t]] = i.margin } return v } function k() { if (i.hide) { c.style.display = "block"; c.style.opacity = 0; a.utils.fadeTo(c, i.out, 0.1, parseFloat(c.style.opacity)); n = setTimeout(function () { g() }, i.timeout * 1000) } } function g() { if (i.hide) { a.utils.fadeTo(c, 0, 0.1, parseFloat(c.style.opacity)) } } function s(t) { if (t.newstate == a.api.events.state.BUFFERING) { clearTimeout(n); k() } } return this } })(jwplayer); (function (a) { var c = { ended: a.api.events.state.IDLE, playing: a.api.events.state.PLAYING, pause: a.api.events.state.PAUSED, buffering: a.api.events.state.BUFFERING }; var b = a.utils.css; a.html5.mediavideo = function (f, D) { var H = { abort: t, canplay: m, canplaythrough: m, durationchange: q, emptied: t, ended: m, error: l, loadeddata: q, loadedmetadata: q, loadstart: m, pause: m, play: K, playing: m, progress: A, ratechange: t, seeked: m, seeking: m, stalled: m, suspend: m, timeupdate: K, volumechange: t, waiting: m, canshowcurrentframe: t, dataunavailable: t, empty: t, load: e, loadedfirstframe: t }; var I = new a.html5.eventdispatcher(); a.utils.extend(this, I); var h = f; var x = D; var E; var G; var d = a.api.events.state.IDLE; var B = null; var n; var g = 0; var z = false; var r = false; var M; var L; var i = []; var N; var C = false; function v() { return d } function e(O) { } function t(O) { } function m(O) { if (c[O.type]) { s(c[O.type]) } } function s(O) { if (C) { return } if (n) { O = a.api.events.state.IDLE } if (O == a.api.events.state.PAUSED && d == a.api.events.state.IDLE) { return } if (O == a.api.events.state.PLAYING && d == a.api.events.state.IDLE) { s(a.api.events.state.BUFFERING); I.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER, { bufferPercent: h.buffer }); y(); return } if (d != O) { var P = d; h.state = O; d = O; var Q = false; if (O == a.api.events.state.IDLE) { p(); if (h.position >= h.duration && (h.position || h.duration)) { Q = true } if (x.style.display != "none" && !h.config.chromeless) { x.style.display = "none" } } I.sendEvent(a.api.events.JWPLAYER_PLAYER_STATE, { oldstate: P, newstate: O }); if (Q) { I.sendEvent(a.api.events.JWPLAYER_MEDIA_COMPLETE) } } n = false } function q(O) { var P = { height: O.target.videoHeight, width: O.target.videoWidth, duration: Math.round(O.target.duration * 10) / 10 }; if (h.duration === 0 || isNaN(h.duration)) { h.duration = Math.round(O.target.duration * 10) / 10 } h.playlist[h.item] = a.utils.extend(h.playlist[h.item], P); I.sendEvent(a.api.events.JWPLAYER_MEDIA_META, { metadata: P }) } function K(P) { if (n) { return } if (P !== undefined && P.target !== undefined) { if (h.duration === 0 || isNaN(h.duration)) { h.duration = Math.round(P.target.duration * 10) / 10 } if (!z && x.readyState > 0) { s(a.api.events.state.PLAYING) } if (d == a.api.events.state.PLAYING) { if (!z && x.readyState > 0) { z = true; try { x.currentTime = h.playlist[h.item].start } catch (O) { } x.volume = h.volume / 100; x.muted = h.mute } h.position = Math.round(P.target.currentTime * 10) / 10; I.sendEvent(a.api.events.JWPLAYER_MEDIA_TIME, { position: P.target.currentTime, duration: P.target.duration }) } } A(P) } function y() { if (E === false && d == a.api.events.state.BUFFERING) { I.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER_FULL); E = true } } function F() { var O = (i[i.length - 1] - i[0]) / i.length; N = setTimeout(function () { if (!G) { A({ lengthComputable: true, loaded: 1, total: 1 }) } }, O * 10) } function A(Q) { var P, O; if (Q !== undefined && Q.lengthComputable && Q.total) { o(); P = Q.loaded / Q.total * 100; O = P / 100 * (h.duration - x.currentTime); if (50 < P && !G) { clearTimeout(N); F() } } else { if ((x.buffered !== undefined) && (x.buffered.length > 0)) { maxBufferIndex = 0; if (maxBufferIndex >= 0) { P = x.buffered.end(maxBufferIndex) / x.duration * 100; O = x.buffered.end(maxBufferIndex) - x.currentTime } } } y(); if (!G) { if (P == 100 && G === false) { G = true } if (P !== null && (P > h.buffer)) { h.buffer = Math.round(P); I.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER, { bufferPercent: Math.round(P) }) } } } function w() { if (B === null) { B = setInterval(function () { K() }, 100) } } function p() { clearInterval(B); B = null } function l(Q) { var P = "There was an error: "; if ((Q.target.error && Q.target.tagName.toLowerCase() == "video") || Q.target.parentNode.error && Q.target.parentNode.tagName.toLowerCase() == "video") { var O = Q.target.error === undefined ? Q.target.parentNode.error : Q.target.error; switch (O.code) { case O.MEDIA_ERR_ABORTED: P = "You aborted the video playback: "; break; case O.MEDIA_ERR_NETWORK: P = "A network error caused the video download to fail part-way: "; break; case O.MEDIA_ERR_DECODE: P = "The video playback was aborted due to a corruption problem or because the video used features your browser did not support: "; break; case O.MEDIA_ERR_SRC_NOT_SUPPORTED: P = "The video could not be loaded, either because the server or network failed or because the format is not supported: "; break; default: P = "An unknown error occurred: "; break } } else { if (Q.target.tagName.toLowerCase() == "source") { L--; if (L > 0) { return } P = "The video could not be loaded, either because the server or network failed or because the format is not supported: " } else { a.utils.log("Erroneous error received. Continuing..."); return } } u(); P += j(); C = true; I.sendEvent(a.api.events.JWPLAYER_ERROR, { error: P }); return } function j() { var Q = ""; for (var P in M.levels) { var O = M.levels[P]; var R = x.ownerDocument.createElement("source"); Q += a.utils.getAbsolutePath(O.file); if (P < (M.levels.length - 1)) { Q += ", " } } return Q } this.getDisplayElement = function () { return x }; this.play = function () { if (d != a.api.events.state.PLAYING) { if (x.style.display != "block") { x.style.display = "block" } x.play(); w(); if (E) { s(a.api.events.state.PLAYING) } } }; this.pause = function () { x.pause(); s(a.api.events.state.PAUSED) }; this.seek = function (O) { if (!(h.duration === 0 || isNaN(h.duration)) && !(h.position === 0 || isNaN(h.position))) { x.currentTime = O; x.play() } }; function u() { x.pause(); p(); h.position = 0; n = true; s(a.api.events.state.IDLE) } this.stop = u; this.volume = function (O) { x.volume = O / 100; h.volume = O; I.sendEvent(a.api.events.JWPLAYER_MEDIA_VOLUME, { volume: Math.round(O) }) }; this.mute = function (O) { x.muted = O; h.mute = O; I.sendEvent(a.api.events.JWPLAYER_MEDIA_MUTE, { mute: O }) }; this.resize = function (P, O) { if (false) { b(x, { width: P, height: O }) } I.sendEvent(a.api.events.JWPLAYER_MEDIA_RESIZE, { fullscreen: h.fullscreen, width: P, hieght: O }) }; this.fullscreen = function (O) { if (O === true) { this.resize("100%", "100%") } else { this.resize(h.config.width, h.config.height) } }; this.load = function (O) { J(O); I.sendEvent(a.api.events.JWPLAYER_MEDIA_LOADED); E = false; G = false; z = false; if (!h.config.chromeless && !r) { i = []; o(); s(a.api.events.state.BUFFERING); setTimeout(function () { K() }, 25) } }; function o() { var O = new Date().getTime(); i.push(O) } this.hasChrome = function () { return r }; function J(V) { h.duration = V.duration; r = false; M = V; var Q = document.createElement("video"); Q.preload = "none"; C = false; L = 0; for (var P = 0; P < V.levels.length; P++) { var O = V.levels[P]; if (a.utils.isYouTube(O.file)) { delete Q; k(O.file); return } var R; if (O.type === undefined) { var U = a.utils.extension(O.file); if (a.utils.extensionmap[U] !== undefined && a.utils.extensionmap[U].html5 !== undefined) { R = a.utils.extensionmap[U].html5 } } else { R = O.type } if (!R || Q.canPlayType(R)) { var T = x.ownerDocument.createElement("source"); T.src = a.utils.getAbsolutePath(O.file); if (R && !a.utils.isLegacyAndroid()) { T.type = R } L++; Q.appendChild(T) } } if (L === 0) { C = true; I.sendEvent(a.api.events.JWPLAYER_ERROR, { error: "The video could not be loaded because the format is not supported by your browser: " + j() }) } if (h.config.chromeless) { Q.poster = a.utils.getAbsolutePath(V.image); Q.controls = "controls" } Q.style.top = x.style.top; Q.style.left = x.style.left; Q.style.width = x.style.width; Q.style.height = x.style.height; Q.style.zIndex = x.style.zIndex; Q.onload = e; Q.volume = 0; x.parentNode.replaceChild(Q, x); Q.id = x.id; x = Q; for (var S in H) { x.addEventListener(S, function (W) { if (W.target.parentNode !== null) { H[W.type](W) } }, true) } } function k(S) { var P = document.createElement("object"); S = ["http://www.youtube.com/v/", S.replace(/^[^v]+v.(.{11}).*/, "$1"), "&amp;hl=en_US&amp;fs=1&autoplay=1"].join(""); var V = { movie: S, allowFullScreen: "true", allowscriptaccess: "always" }; for (var O in V) { var T = document.createElement("param"); T.name = O; T.value = V[O]; P.appendChild(T) } var U = document.createElement("embed"); var Q = { src: S, type: "application/x-shockwave-flash", allowscriptaccess: "always", allowfullscreen: "true", width: document.getElementById(f.id).style.width, height: document.getElementById(f.id).style.height }; for (var R in Q) { U[R] = Q[R] } P.appendChild(U); P.style.position = x.style.position; P.style.top = x.style.top; P.style.left = x.style.left; P.style.width = document.getElementById(f.id).style.width; P.style.height = document.getElementById(f.id).style.height; P.style.zIndex = 2147483000; x.parentNode.replaceChild(P, x); P.id = x.id; x = P; r = true } this.embed = J; return this } })(jwplayer); (function (jwplayer) { var _configurableStateVariables = ["width", "height", "start", "duration", "volume", "mute", "fullscreen", "item", "plugins", "stretching"]; jwplayer.html5.model = function (api, container, options) { var _api = api; var _container = container; var _model = { id: _container.id, playlist: [], state: jwplayer.api.events.state.IDLE, position: 0, buffer: 0, config: { width: 480, height: 320, item: -1, skin: undefined, file: undefined, image: undefined, start: 0, duration: 0, bufferlength: 5, volume: 90, mute: false, fullscreen: false, repeat: "none", stretching: jwplayer.utils.stretching.UNIFORM, autostart: false, debug: undefined, screencolor: undefined} }; var _media; var _eventDispatcher = new jwplayer.html5.eventdispatcher(); var _components = ["display", "logo", "controlbar", "dock"]; jwplayer.utils.extend(_model, _eventDispatcher); for (var option in options) { if (typeof options[option] == "string") { var type = /color$/.test(option) ? "color" : null; options[option] = jwplayer.utils.typechecker(options[option], type) } var config = _model.config; var path = option.split("."); for (var edge in path) { if (edge == path.length - 1) { config[path[edge]] = options[option] } else { if (config[path[edge]] === undefined) { config[path[edge]] = {} } config = config[path[edge]] } } } for (var index in _configurableStateVariables) { var configurableStateVariable = _configurableStateVariables[index]; _model[configurableStateVariable] = _model.config[configurableStateVariable] } var pluginorder = _components.concat([]); if (_model.plugins !== undefined) { if (typeof _model.plugins == "string") { var userplugins = _model.plugins.split(","); for (var userplugin in userplugins) { if (typeof userplugins[userplugin] == "string") { pluginorder.push(userplugins[userplugin].replace(/^\s+|\s+$/g, "")) } } } } if (typeof _model.config.chromeless == "undefined" && jwplayer.utils.isIOS()) { _model.config.chromeless = true } if (_model.config.chromeless) { pluginorder = ["logo"] } _model.plugins = { order: pluginorder, config: {}, object: {} }; if (typeof _model.config.components != "undefined") { for (var component in _model.config.components) { _model.plugins.config[component] = _model.config.components[component] } } for (var pluginIndex in _model.plugins.order) { var pluginName = _model.plugins.order[pluginIndex]; var pluginConfig = _model.config[pluginName] === undefined ? {} : _model.config[pluginName]; _model.plugins.config[pluginName] = _model.plugins.config[pluginName] === undefined ? pluginConfig : jwplayer.utils.extend(_model.plugins.config[pluginName], pluginConfig); if (typeof _model.plugins.config[pluginName].position == "undefined") { _model.plugins.config[pluginName].position = jwplayer.html5.view.positions.OVER } else { _model.plugins.config[pluginName].position = _model.plugins.config[pluginName].position.toString().toUpperCase() } } if (typeof _model.plugins.config.dock != "undefined") { if (typeof _model.plugins.config.dock != "object") { var position = _model.plugins.config.dock.toString().toUpperCase(); _model.plugins.config.dock = { position: position} } if (typeof _model.plugins.config.dock.position != "undefined") { _model.plugins.config.dock.align = _model.plugins.config.dock.position; _model.plugins.config.dock.position = jwplayer.html5.view.positions.OVER } } _model.loadPlaylist = function (arg, ready) { var input; if (typeof arg == "string") { try { input = eval(arg) } catch (err) { input = arg } } else { input = arg } var config; switch (jwplayer.utils.typeOf(input)) { case "object": config = input; break; case "array": config = { playlist: input }; break; default: config = { file: input }; break } _model.playlist = new jwplayer.html5.playlist(config); if (_model.config.shuffle) { _model.item = _getShuffleItem() } else { if (_model.config.item >= _model.playlist.length) { _model.config.item = _model.playlist.length - 1 } else { if (_model.config.item < 0) { _model.config.item = 0 } } _model.item = _model.config.item } if (!ready) { _eventDispatcher.sendEvent(jwplayer.api.events.JWPLAYER_PLAYLIST_LOADED, { playlist: _model.playlist }) } _model.setActiveMediaProvider(_model.playlist[_model.item]) }; function _getShuffleItem() { var result = null; if (_model.playlist.length > 1) { while (result === null) { result = Math.floor(Math.random() * _model.playlist.length); if (result == _model.item) { result = null } } } else { result = 0 } return result } function forward(evt) { if (evt.type == jwplayer.api.events.JWPLAYER_MEDIA_LOADED) { _container = _media.getDisplayElement() } _eventDispatcher.sendEvent(evt.type, evt) } _model.setActiveMediaProvider = function (playlistItem) { if (_media !== undefined) { _media.resetEventListeners() } _media = new jwplayer.html5.mediavideo(_model, _container); _media.addGlobalListener(forward); if (_model.config.chromeless) { _media.load(playlistItem) } return true }; _model.getMedia = function () { return _media }; _model.setupPlugins = function () { for (var plugin in _model.plugins.order) { try { var pluginName = _model.plugins.order[plugin]; if (jwplayer.html5[pluginName] !== undefined) { _model.plugins.object[pluginName] = new jwplayer.html5[pluginName](_api, _model.plugins.config[pluginName]) } else { _model.plugins.order.splice(plugin, plugin + 1) } } catch (err) { jwplayer.utils.log("Could not setup " + pluginName) } } }; return _model } })(jwplayer); (function (a) { a.html5.playlist = function (b) { var d = []; if (b.playlist && b.playlist instanceof Array && b.playlist.length > 0) { for (var c in b.playlist) { if (!isNaN(parseInt(c))) { d.push(new a.html5.playlistitem(b.playlist[c])) } } } else { d.push(new a.html5.playlistitem(b)) } return d } })(jwplayer); (function (a) { a.html5.playlistitem = function (c) { var b = { author: "", date: "", description: "", image: "", link: "", mediaid: "", tags: "", title: "", provider: "", file: "", streamer: "", duration: -1, start: 0, currentLevel: -1, levels: [] }; for (var d in b) { if (c[d] !== undefined) { b[d] = c[d] } } if (b.levels.length === 0) { b.levels[0] = new a.html5.playlistitemlevel(b) } return b } })(jwplayer); (function (a) { a.html5.playlistitemlevel = function (b) { var d = { file: "", streamer: "", bitrate: 0, width: 0 }; for (var c in d) { if (b[c] !== undefined) { d[c] = b[c] } } return d } })(jwplayer); (function (a) { a.html5.skin = function () { var b = {}; var c = false; this.load = function (d, e) { new a.html5.skinloader(d, function (f) { c = true; b = f; e() }, function () { new a.html5.skinloader("", function (f) { c = true; b = f; e() }) }) }; this.getSkinElement = function (d, e) { if (c) { try { return b[d].elements[e] } catch (f) { a.utils.log("No such skin component / element: ", [d, e]) } } return null }; this.getComponentSettings = function (d) { if (c) { return b[d].settings } return null }; this.getComponentLayout = function (d) { if (c) { return b[d].layout } return null } } })(jwplayer); (function (a) { a.html5.skinloader = function (f, n, i) { var m = {}; var c = n; var j = i; var e = true; var h; var l = f; var q = false; function k() { if (typeof l != "string" || l === "") { d(a.html5.defaultSkin().xml) } else { a.utils.ajax(a.utils.getAbsolutePath(l), function (r) { try { if (r.responseXML !== null) { d(r.responseXML); return } } catch (s) { } d(a.html5.defaultSkin().xml) }, function (r) { d(a.html5.defaultSkin().xml) }) } } function d(w) { var C = w.getElementsByTagName("component"); if (C.length === 0) { return } for (var F = 0; F < C.length; F++) { var A = C[F].getAttribute("name"); var z = { settings: {}, elements: {}, layout: {} }; m[A] = z; var E = C[F].getElementsByTagName("elements")[0].getElementsByTagName("element"); for (var D = 0; D < E.length; D++) { b(E[D], A) } var x = C[F].getElementsByTagName("settings")[0]; if (x !== undefined && x.childNodes.length > 0) { var I = x.getElementsByTagName("setting"); for (var N = 0; N < I.length; N++) { var O = I[N].getAttribute("name"); var G = I[N].getAttribute("value"); var v = /color$/.test(O) ? "color" : null; m[A].settings[O] = a.utils.typechecker(G, v) } } var J = C[F].getElementsByTagName("layout")[0]; if (J !== undefined && J.childNodes.length > 0) { var K = J.getElementsByTagName("group"); for (var u = 0; u < K.length; u++) { var y = K[u]; m[A].layout[y.getAttribute("position")] = { elements: [] }; for (var M = 0; M < y.attributes.length; M++) { var B = y.attributes[M]; m[A].layout[y.getAttribute("position")][B.name] = B.value } var L = y.getElementsByTagName("*"); for (var t = 0; t < L.length; t++) { var r = L[t]; m[A].layout[y.getAttribute("position")].elements.push({ type: r.tagName }); for (var s = 0; s < r.attributes.length; s++) { var H = r.attributes[s]; m[A].layout[y.getAttribute("position")].elements[t][H.name] = H.value } if (m[A].layout[y.getAttribute("position")].elements[t].name === undefined) { m[A].layout[y.getAttribute("position")].elements[t].name = r.tagName } } } } e = false; p() } } function p() { clearInterval(h); if (!q) { h = setInterval(function () { o() }, 100) } } function b(w, v) { var u = new Image(); var r = w.getAttribute("name"); var t = w.getAttribute("src"); var y; if (t.indexOf("data:image/png;base64,") === 0) { y = t } else { var s = a.utils.getAbsolutePath(l); var x = s.substr(0, s.lastIndexOf("/")); y = [x, v, t].join("/") } m[v].elements[r] = { height: 0, width: 0, src: "", ready: false }; u.onload = function (z) { g(u, r, v) }; u.onerror = function (z) { q = true; p(); j() }; u.src = y } function o() { for (var r in m) { if (r != "properties") { for (var s in m[r].elements) { if (!m[r].elements[s].ready) { return } } } } if (e === false) { clearInterval(h); c(m) } } function g(r, t, s) { m[s].elements[t].height = r.height; m[s].elements[t].width = r.width; m[s].elements[t].src = r.src; m[s].elements[t].ready = true; p() } k() } })(jwplayer); (function (a) { a.html5.api = function (b, k) { var j = {}; var e = document.createElement("div"); b.parentNode.replaceChild(e, b); e.id = b.id; j.version = a.version; j.id = e.id; var i = new a.html5.model(j, e, k); var g = new a.html5.view(j, e, i); var h = new a.html5.controller(j, e, i, g); j.skin = new a.html5.skin(); j.jwPlay = function (l) { if (typeof l == "undefined") { d() } else { if (l.toString().toLowerCase() == "true") { h.play() } else { h.pause() } } }; j.jwPause = function (l) { if (typeof l == "undefined") { d() } else { if (l.toString().toLowerCase() == "true") { h.pause() } else { h.play() } } }; function d() { if (i.state == a.api.events.state.PLAYING || i.state == a.api.events.state.BUFFERING) { h.pause() } else { h.play() } } j.jwStop = h.stop; j.jwSeek = h.seek; j.jwPlaylistItem = h.item; j.jwPlaylistNext = h.next; j.jwPlaylistPrev = h.prev; j.jwResize = h.resize; j.jwLoad = h.load; function f(l) { return function () { return i[l] } } j.jwGetItem = f("item"); j.jwGetPosition = f("position"); j.jwGetDuration = f("duration"); j.jwGetBuffer = f("buffer"); j.jwGetWidth = f("width"); j.jwGetHeight = f("height"); j.jwGetFullscreen = f("fullscreen"); j.jwSetFullscreen = h.setFullscreen; j.jwGetVolume = f("volume"); j.jwSetVolume = h.setVolume; j.jwGetMute = f("mute"); j.jwSetMute = h.setMute; j.jwGetStretching = f("stretching"); j.jwGetState = f("state"); j.jwGetVersion = function () { return j.version }; j.jwGetPlaylist = function () { return i.playlist }; j.jwAddEventListener = h.addEventListener; j.jwRemoveEventListener = h.removeEventListener; j.jwSendEvent = h.sendEvent; j.jwDockSetButton = function (o, l, m, n) { if (i.plugins.object.dock && i.plugins.object.dock.setButton) { i.plugins.object.dock.setButton(o, l, m, n) } }; j.jwGetLevel = function () { }; j.jwGetBandwidth = function () { }; j.jwGetLockState = function () { }; j.jwLock = function () { }; j.jwUnlock = function () { }; function c(n, m, l) { return function () { n.loadPlaylist(n.config, true); n.setupPlugins(); m.setup(n.getMedia().getDisplayElement()); var o = { id: j.id, version: j.version }; l.sendEvent(a.api.events.JWPLAYER_READY, o); if (playerReady !== undefined) { playerReady(o) } if (window[n.config.playerReady] !== undefined) { window[n.config.playerReady](o) } n.sendEvent(a.api.events.JWPLAYER_PLAYLIST_LOADED, { playlist: n.playlist }); l.item(n.item) } } if (i.config.chromeless) { setTimeout(c(i, g, h), 25) } else { j.skin.load(i.config.skin, c(i, g, h)) } return j } })(jwplayer);
