if (typeof jwplayer == "undefined") {
	var jwplayer = function (a) {
		if (jwplayer.api) {
			return jwplayer.api.selectPlayer(a)
		}
	};
	var $jw = jwplayer;
	jwplayer.version = "5.7.1864";
	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) {
				if (!c) {
					return ""
				}
				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) {
				if (c.parentNode) {
					c.parentNode.replaceChild(d, c)
				}
				d.appendChild(c)
			};
			b.utils.ajax = function (g, f, c) {
				var e;
				if (window.XMLHttpRequest) {
					e = new XMLHttpRequest()
				} else {
					e = new ActiveXObject("Microsoft.XMLHTTP")
				}
				e.onreadystatechange = function () {
					if (e.readyState === 4) {
						if (e.status === 200) {
							if (f) {
								f(e)
							}
						} else {
							if (c) {
								c(g)
							}
						}
					}
				};
				try {
					e.open("GET", g, true);
					e.send(null)
				} catch (d) {
					if (c) {
						c(g)
					}
				}
				return e
			};
			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 (d) {
				if (typeof d == "undefined") {
					d = /iP(hone|ad|od)/i
				}
				var c = navigator.userAgent.toLowerCase();
				return (c.match(d) !== null)
			};
			b.utils.isIPad = function () {
				return b.utils.isIOS(/iPad/i)
			};
			b.utils.isIPod = function () {
				return b.utils.isIOS(/iP(hone|od)/i)
			};
			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;
				d.provider = e.provider;
				if (!d.provider) {
					if (d.file && (d.file.toLowerCase().indexOf("youtube.com") > -1 || d.file.toLowerCase().indexOf("youtu.be") > -1)) {
						d.provider = "youtube"
					}
					if (d.streamer && d.streamer.toLowerCase().indexOf("rtmp://") == 0) {
						d.provider = "rtmp"
					}
					if (e.type) {
						d.provider = e.type.toLowerCase()
					}
				}
				if (d.provider == "audio") {
					d.provider = "sound"
				}
				return d
			};
			b.utils.getOuterHTML = function (c) {
				if (c.outerHTML) {
					return c.outerHTML
				} else {
					try {
						return new XMLSerializer().serializeToString(c)
					} catch (d) {
						return ""
					}
				}
			};
			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 () {
				if (typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] != "undefined") {
					return true
				}
				if (typeof window.ActiveXObject != "undefined") {
					try {
						new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
						return true
					} catch (c) {}
					
				}
				return false
			};
			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.getPluginVersion = function (c) {
				if (c.lastIndexOf("-") >= 0) {
					if (c.lastIndexOf(".js") >= 0) {
						return c.substring(c.lastIndexOf("-") + 1, c.lastIndexOf(".js"))
					} else {
						if (c.lastIndexOf(".swf") >= 0) {
							return c.substring(c.lastIndexOf("-") + 1, c.lastIndexOf(".swf"))
						} else {
							return c.substring(c.lastIndexOf("-") + 1)
						}
					}
				}
				return ""
			};
			b.utils.getAbsolutePath = function (j, h) {
				if (!b.utils.exists(h)) {
					h = document.location.href
				}
				if (!b.utils.exists(j)) {
					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] || !b.utils.exists(d[f]) || d[f] == ".") {
						continue
					} else {
						if (d[f] == "..") {
							c.pop()
						} else {
							c.push(d[f])
						}
					}
				}
				return k + g + "/" + c.join("/")
			};
			function a(d) {
				if (!b.utils.exists(d)) {
					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 (b.utils.exists(d)) {
					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 || c.indexOf("youtu.be") > -1)
			};
			b.utils.transform = function (c, d) {
				c.style.webkitTransform = d;
				c.style.MozTransform = d;
				c.style.OTransform = d
			};
			b.utils.stretch = function (h, n, m, f, l, g) {
				if (typeof m == "undefined" || typeof f == "undefined" || typeof l == "undefined" || typeof g == "undefined") {
					return
				}
				var d = m / l;
				var e = f / g;
				var k = 0;
				var j = 0;
				n.style.overflow = "hidden";
				b.utils.transform(n, "");
				var c = {};
				switch (h.toUpperCase()) {
				case b.utils.stretching.NONE:
					c.width = l;
					c.height = g;
					break;
				case b.utils.stretching.UNIFORM:
					if (d > e) {
						c.width = l * e;
						c.height = g * e
					} else {
						c.width = l * d;
						c.height = g * d
					}
					break;
				case b.utils.stretching.FILL:
					if (d > e) {
						c.width = l * d;
						c.height = g * d
					} else {
						c.width = l * e;
						c.height = g * e
					}
					break;
				case b.utils.stretching.EXACTFIT:
					b.utils.transform(n, ["scale(", d, ",", e, ")", " translate(0px,0px)"].join(""));
					c.width = l;
					c.height = g;
					break;
				default:
					break
				}
				c.top = (f - c.height) / 2;
				c.left = (m - c.width) / 2;
				b.utils.css(n, c)
			};
			b.utils.stretching = {
				NONE : "NONE",
				FILL : "FILL",
				UNIFORM : "UNIFORM",
				EXACTFIT : "EXACTFIT"
			};
			b.utils.deepReplaceKeyName = function (h, e, c) {
				switch (b.utils.typeOf(h)) {
				case "array":
					for (var g = 0; g < h.length; g++) {
						h[g] = b.utils.deepReplaceKeyName(h[g], e, c)
					}
					break;
				case "object":
					for (var f in h) {
						var d = f.replace(new RegExp(e, "g"), c);
						h[d] = b.utils.deepReplaceKeyName(h[f], e, c);
						if (f != d) {
							delete h[f]
						}
					}
					break
				}
				return h
			};
			b.utils.isInArray = function (e, d) {
				if (!(e) || !(e instanceof Array)) {
					return false
				}
				for (var c = 0; c < e.length; c++) {
					if (d === e[c]) {
						return true
					}
				}
				return false
			};
			b.utils.exists = function (c) {
				switch (typeof(c)) {
				case "string":
					return (c.length > 0);
					break;
				case "object":
					return (c !== null);
				case "undefined":
					return false
				}
				return true
			};
			b.utils.empty = function (c) {
				if (typeof c.hasChildNodes == "function") {
					while (c.hasChildNodes()) {
						c.removeChild(c.firstChild)
					}
				}
			};
			b.utils.parseDimension = function (c) {
				if (typeof c == "string") {
					if (c === "") {
						return 0
					} else {
						if (c.lastIndexOf("%") > -1) {
							return c
						} else {
							return parseInt(c.replace("px", ""), 10)
						}
					}
				}
				return c
			};
			b.utils.getDimensions = function (c) {
				if (c && c.style) {
					return {
						x : b.utils.parseDimension(c.style.left),
						y : b.utils.parseDimension(c.style.top),
						width : b.utils.parseDimension(c.style.width),
						height : b.utils.parseDimension(c.style.height)
					}
				} else {
					return {}
					
				}
			};
			b.utils.timeFormat = function (c) {
				str = "00:00";
				if (c > 0) {
					str = Math.floor(c / 60) < 10 ? "0" + Math.floor(c / 60) + ":" : Math.floor(c / 60) + ":";
					str += Math.floor(c % 60) < 10 ? "0" + Math.floor(c % 60) : Math.floor(c % 60)
				}
				return str
			}
		})(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 (!jwplayer.utils.exists(_listeners[type])) {
							_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) {
					if (!_listeners[type]) {
						return
					}
					try {
						for (var listenerIndex = 0; listenerIndex < _listeners[type].length; listenerIndex++) {
							if (_listeners[type][listenerIndex].listener.toString() == listener.toString()) {
								_listeners[type].splice(listenerIndex, 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) {
					if (!_globallisteners[type]) {
						return
					}
					try {
						for (var globalListenerIndex = 0; globalListenerIndex < _globallisteners.length; globalListenerIndex++) {
							if (_globallisteners[globalListenerIndex].listener.toString() == listener.toString()) {
								_globallisteners.splice(globalListenerIndex, 1);
								break
							}
						}
					} catch (err) {
						jwplayer.utils.log("error", err)
					}
					return false
				};
				this.sendEvent = function (type, data) {
					if (!jwplayer.utils.exists(data)) {
						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]) {
								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]) {
							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;
				c.style.msTransform = d
			};
			a.utils.animations.transformOrigin = function (c, d) {
				c.style.webkitTransformOrigin = d;
				c.style.MozTransformOrigin = d;
				c.style.OTransformOrigin = d;
				c.style.msTransformOrigin = 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 (m, f, e, j, h, d) {
				if (b[m.id] != d && a.utils.exists(d)) {
					return
				}
				if (m.style.opacity == f) {
					return
				}
				var c = new Date().getTime();
				if (d > c) {
					setTimeout(function () {
							a.utils.fadeTo(m, f, e, j, 0, d)
						}, d - c)
				}
				if (m.style.display == "none") {
					m.style.display = "block"
				}
				if (!a.utils.exists(j)) {
					j = m.style.opacity === "" ? 1 : m.style.opacity
				}
				if (m.style.opacity == f && m.style.opacity !== "" && a.utils.exists(d)) {
					if (f === 0) {
						m.style.display = "none"
					}
					return
				}
				if (!a.utils.exists(d)) {
					d = c;
					b[m.id] = d
				}
				if (!a.utils.exists(h)) {
					h = 0
				}
				var k = (e > 0) ? ((c - d) / (e * 1000)) : 0;
				k = k > 1 ? 1 : k;
				var l = f - j;
				var g = j + (k * l);
				if (g > 1) {
					g = 1
				} else {
					if (g < 0) {
						g = 0
					}
				}
				m.style.opacity = g;
				if (h > 0) {
					b[m.id] = d + h * 1000;
					a.utils.fadeTo(m, f, e, j, 0, b[m.id]);
					return
				}
				setTimeout(function () {
						a.utils.fadeTo(m, f, e, j, 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"
				},
				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"
				},
				mp4 : {
					html5 : "video/mp4",
					flash : "video"
				},
				rbs : {
					flash : "sound"
				},
				aac : {
					html5 : "audio/aac",
					flash : "video"
				},
				mp3 : {
					html5 : "audio/mp3",
					flash : "sound"
				},
				ogg : {
					html5 : "audio/ogg"
				},
				oga : {
					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"
				},
				wav : {
					html5 : "audio/x-wav"
				}
			}
		})(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 (j) {
				return d(j)
			};
			function c(k, j) {
				if (!e.utils.exists(j)) {
					j = g[k]
				} else {
					e.utils.extend(j, g[k])
				}
				return j
			}
			function d(n, j) {
				if (f[n.tagName.toLowerCase()] && !e.utils.exists(j)) {
					return f[n.tagName.toLowerCase()](n)
				} else {
					j = c("element", j);
					var o = {};
					for (var k in j) {
						if (k != "length") {
							var m = n.getAttribute(k);
							if (e.utils.exists(m)) {
								o[j[k]] = m
							}
						}
					}
					var l = n.style["#background-color"];
					if (l && !(l == "transparent" || l == "rgba(0, 0, 0, 0)")) {
						o.screencolor = l
					}
					return o
				}
			}
			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 (e.utils.exists(o.file)) {
					l[0] = {
						file : o.file
					}
				}
				o.levels = l;
				return o
			}
			function a(l, k) {
				k = c("source", k);
				var j = d(l, k);
				j.width = j.width ? j.width : 0;
				j.bitrate = j.bitrate ? j.bitrate : 0;
				return j
			}
			function b(l, k) {
				k = c("video", k);
				var j = h(l, k);
				return j
			}
			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, e) {
				if (!a.utils.exists(e)) {
					e = document
				}
				b = a.utils.strings.trim(b);
				var c = b.charAt(0);
				if (c == "#") {
					return e.getElementById(b.substr(1))
				} else {
					if (c == ".") {
						if (e.getElementsByClassName) {
							return e.getElementsByClassName(b.substr(1))
						} else {
							return a.utils.selectors.getElementsByTagAndClass("*", b.substr(1))
						}
					} else {
						if (b.indexOf(".") > 0) {
							var d = b.split(".");
							return a.utils.selectors.getElementsByTagAndClass(d[0], d[1])
						} else {
							return e.getElementsByTagName(b)
						}
					}
				}
				return null
			};
			a.utils.selectors.getElementsByTagAndClass = function (e, h, g) {
				var j = [];
				if (!a.utils.exists(g)) {
					g = document
				}
				var f = g.getElementsByTagName(e);
				for (var d = 0; d < f.length; d++) {
					if (a.utils.exists(f[d].className)) {
						var c = f[d].className.split(" ");
						for (var b = 0; b < c.length; b++) {
							if (c[b] == h) {
								j.push(f[d])
							}
						}
					}
				}
				return j
			}
		})(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 ""
			};
			a.utils.strings.jsonToString = function (f) {
				var h = h || {};
				if (h && h.stringify) {
					return h.stringify(f)
				}
				var c = typeof(f);
				if (c != "object" || f === null) {
					if (c == "string") {
						f = '"' + f + '"'
					} else {
						return String(f)
					}
				} else {
					var g = [],
					b = (f && f.constructor == Array);
					for (var d in f) {
						var e = f[d];
						switch (typeof(e)) {
						case "string":
							e = '"' + e + '"';
							break;
						case "object":
							if (a.utils.exists(e)) {
								e = a.utils.strings.jsonToString(e)
							}
							break
						}
						if (b) {
							if (typeof(e) != "function") {
								g.push(String(e))
							}
						} else {
							if (typeof(e) != "function") {
								g.push('"' + d + '":' + String(e))
							}
						}
					}
					if (b) {
						return "[" + String(g) + "]"
					} else {
						return "{" + String(g) + "}"
					}
				}
			}
		})(jwplayer);
	(function (c) {
			var d = new RegExp(/^(#|0x)[0-9a-fA-F]{3,6}/);
			c.utils.typechecker = function (g, f) {
				f = !c.utils.exists(f) ? 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 (!c.utils.exists(f)) {
					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) {
			a.utils.parsers = function () {}
			
		})(jwplayer);
	(function (a) {
			a.utils.parsers.jwparser = function () {};
			a.utils.parsers.jwparser.PREFIX = "jwplayer";
			a.utils.parsers.jwparser.parseEntry = function (c, d) {
				for (var b in c.childNodes) {
					if (c.childNodes[b].prefix == a.utils.parsers.jwparser.PREFIX) {
						d[c.childNodes[b].localName] = a.utils.strings.serialize(c.childNodes[b].textContent)
					}
					if (!d.file && String(d.link).toLowerCase().indexOf("youtube") > -1) {
						d.file = d.link
					}
				}
				return d
			};
			a.utils.parsers.jwparser.getProvider = function (c) {
				if (c.type) {
					return c.type
				} else {
					if (c.file.indexOf("youtube.com/w") > -1 || c.file.indexOf("youtube.com/v") > -1 || c.file.indexOf("youtu.be/") > -1) {
						return "youtube"
					} else {
						if (c.streamer && c.streamer.indexOf("rtmp") == 0) {
							return "rtmp"
						} else {
							if (c.streamer && c.streamer.indexOf("http") == 0) {
								return "http"
							} else {
								var b = a.utils.strings.extension(c.file);
								if (extensions.hasOwnProperty(b)) {
									return extensions[b]
								}
							}
						}
					}
				}
				return ""
			}
		})(jwplayer);
	(function (a) {
			a.utils.parsers.mediaparser = function () {};
			a.utils.parsers.mediaparser.PREFIX = "media";
			a.utils.parsers.mediaparser.parseGroup = function (d, f) {
				var e = false;
				for (var c in d.childNodes) {
					if (d.childNodes[c].prefix == a.utils.parsers.mediaparser.PREFIX) {
						if (!d.childNodes[c].localName) {
							continue
						}
						switch (d.childNodes[c].localName.toLowerCase()) {
						case "content":
							if (!e) {
								f.file = a.utils.strings.xmlAttribute(d.childNodes[c], "url")
							}
							if (d.childNodes[c].attributes.duration) {
								f.duration = a.utils.strings.seconds(a.utils.strings.xmlAttribute(d.childNodes[c], "duration"))
							}
							if (d.childNodes[c].attributes.start) {
								f.start = a.utils.strings.seconds(a.utils.strings.xmlAttribute(d.childNodes[c], "start"))
							}
							if (d.childNodes[c].childNodes && d.childNodes[c].childNodes.length > 0) {
								f = a.utils.parsers.mediaparser.parseGroup(d.childNodes[c], f)
							}
							if (d.childNodes[c].attributes.width || d.childNodes[c].attributes.bitrate || d.childNodes[c].attributes.url) {
								if (!f.levels) {
									f.levels = []
								}
								f.levels.push({
										width : a.utils.strings.xmlAttribute(d.childNodes[c], "width"),
										bitrate : a.utils.strings.xmlAttribute(d.childNodes[c], "bitrate"),
										file : a.utils.strings.xmlAttribute(d.childNodes[c], "url")
									})
							}
							break;
						case "title":
							f.title = d.childNodes[c].textContent;
							break;
						case "description":
							f.description = d.childNodes[c].textContent;
							break;
						case "keywords":
							f.tags = d.childNodes[c].textContent;
							break;
						case "thumbnail":
							f.image = a.utils.strings.xmlAttribute(d.childNodes[c], "url");
							break;
						case "credit":
							f.author = d.childNodes[c].textContent;
							break;
						case "player":
							var b = d.childNodes[c].url;
							if (b.indexOf("youtube.com") >= 0 || b.indexOf("youtu.be") >= 0) {
								e = true;
								f.file = a.utils.strings.xmlAttribute(d.childNodes[c], "url")
							}
							break;
						case "group":
							a.utils.parsers.mediaparser.parseGroup(d.childNodes[c], f);
							break
						}
					}
				}
				return f
			}
		})(jwplayer);
	(function (b) {
			b.utils.parsers.rssparser = function () {};
			b.utils.parsers.rssparser.parse = function (f) {
				var c = [];
				for (var e in f.childNodes) {
					if (f.childNodes[e].localName && f.childNodes[e].localName.toLowerCase() == "channel") {
						for (var d in f.childNodes[e].childNodes) {
							if (f.childNodes[e].childNodes[d].localName && f.childNodes[e].childNodes[d].localName.toLowerCase() == "item") {
								c.push(a(f.childNodes[e].childNodes[d]))
							}
						}
					}
				}
				return c
			};
			function a(d) {
				var e = {};
				for (var c in d.childNodes) {
					if (!d.childNodes[c].localName) {
						continue
					}
					switch (d.childNodes[c].localName.toLowerCase()) {
					case "enclosure":
						e.file = b.utils.strings.xmlAttribute(d.childNodes[c], "url");
						break;
					case "title":
						e.title = d.childNodes[c].textContent;
						break;
					case "pubdate":
						e.date = d.childNodes[c].textContent;
						break;
					case "description":
						e.description = d.childNodes[c].textContent;
						break;
					case "link":
						e.link = d.childNodes[c].textContent;
						break;
					case "category":
						if (e.tags) {
							e.tags += d.childNodes[c].textContent
						} else {
							e.tags = d.childNodes[c].textContent
						}
						break
					}
				}
				e = b.utils.parsers.mediaparser.parseGroup(d, e);
				e = b.utils.parsers.jwparser.parseEntry(d, e);
				return new b.html5.playlistitem(e)
			}
		})(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 (h, f, e) {
				var d = a.utils.getPluginName(h);
				if (c[d]) {
					c[d].registerPlugin(h, f, e)
				} else {
					a.utils.log("A plugin (" + h + ") was registered with the player that was not loaded. Please check your configuration.");
					for (var g in b) {
						b[g].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://plugins.longtailvideo.com";
				var j = a.utils.loaderstatus.NEW;
				var k;
				var h;
				var l;
				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 n = a.utils.getPluginName(b);
						var m = a.utils.getPluginVersion(b);
						return d + "/" + a.version.split(".")[0] + "/" + n + "/" + n + (m !== "" ? ("-" + m) : "") + ".js"
					}
				}
				function g(m) {
					l = setTimeout(function () {
								j = a.utils.loaderstatus.COMPLETE;
								c.sendEvent(a.events.COMPLETE)
							}, 1000)
				}
				function f(m) {
					j = a.utils.loaderstatus.ERROR;
					c.sendEvent(a.events.ERROR)
				}
				this.load = function () {
					if (j == a.utils.loaderstatus.NEW) {
						if (b.lastIndexOf(".swf") > 0) {
							k = b;
							j = a.utils.loaderstatus.COMPLETE;
							c.sendEvent(a.events.COMPLETE);
							return
						}
						j = a.utils.loaderstatus.LOADING;
						var m = new a.utils.scriptloader(e());
						m.addEventListener(a.events.COMPLETE, g);
						m.addEventListener(a.events.ERROR, f);
						m.load()
					}
				};
				this.registerPlugin = function (o, n, m) {
					if (l) {
						clearTimeout(l);
						l = undefined
					}
					if (n && m) {
						k = m;
						h = n
					} else {
						if (typeof n == "string") {
							k = n
						} else {
							if (typeof n == "function") {
								h = n
							} else {
								if (!n && !m) {
									k = o
								}
							}
						}
					}
					j = a.utils.loaderstatus.COMPLETE;
					c.sendEvent(a.events.COMPLETE)
				};
				this.getStatus = function () {
					return j
				};
				this.getPluginName = function () {
					return a.utils.getPluginName(b)
				};
				this.getFlashPath = function () {
					if (k) {
						switch (a.utils.getPluginPathType(k)) {
						case a.utils.pluginPathType.ABSOLUTE:
							return k;
						case a.utils.pluginPathType.RELATIVE:
							if (b.lastIndexOf(".swf") > 0) {
								return a.utils.getAbsolutePath(k, window.location.href)
							}
							return a.utils.getAbsolutePath(k, e());
						case a.utils.pluginPathType.CDN:
							if (k.indexOf("-") > -1) {
								return k + "h"
							}
							return k + "-h"
						}
					}
					return null
				};
				this.getJS = function () {
					return h
				};
				this.getPluginmode = function () {
					if (typeof k != "undefined" && typeof h != "undefined") {
						return a.plugins.pluginmodes.HYBRID
					} else {
						if (typeof k != "undefined") {
							return a.plugins.pluginmodes.FLASH
						} else {
							if (typeof h != "undefined") {
								return a.plugins.pluginmodes.JAVASCRIPT
							}
						}
					}
				};
				this.getNewInstance = function (n, m, o) {
					return new h(n, m, o)
				};
				this.getURL = function () {
					return b
				}
			}
		})(jwplayer);
	(function (a) {
			a.plugins.pluginloader = function (h, e) {
				var g = {};
				var k = 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;
						k = a.utils.loaderstatus.COMPLETE;
						c.sendEvent(a.events.COMPLETE)
					}
				}
				function j() {
					if (!b) {
						var m = 0;
						for (plugin in g) {
							var l = g[plugin].getStatus();
							if (l == a.utils.loaderstatus.LOADING || l == a.utils.loaderstatus.NEW) {
								m++
							}
						}
						if (m == 0) {
							f()
						}
					}
				}
				this.setupPlugins = function (n, l, s) {
					var m = {
						length : 0,
						plugins : {}
						
					};
					var p = {
						length : 0,
						plugins : {}
						
					};
					for (var o in g) {
						var q = g[o].getPluginName();
						if (g[o].getFlashPath()) {
							m.plugins[g[o].getFlashPath()] = l.plugins[o];
							m.plugins[g[o].getFlashPath()].pluginmode = g[o].getPluginmode();
							m.length++
						}
						if (g[o].getJS()) {
							var r = document.createElement("div");
							r.id = n.id + "_" + q;
							r.style.position = "absolute";
							r.style.zIndex = p.length + 10;
							p.plugins[q] = g[o].getNewInstance(n, l.plugins[o], r);
							p.length++;
							if (typeof p.plugins[q].resize != "undefined") {
								n.onReady(s(p.plugins[q], r, true));
								n.onResize(s(p.plugins[q], r))
							}
						}
					}
					n.plugins = p.plugins;
					return m
				};
				this.load = function () {
					k = a.utils.loaderstatus.LOADING;
					d = true;
					for (var l in e) {
						if (a.utils.exists(l)) {
							g[l] = h.addPlugin(l);
							g[l].addEventListener(a.events.COMPLETE, j);
							g[l].addEventListener(a.events.ERROR, j)
						}
					}
					for (l in g) {
						g[l].load()
					}
					d = false;
					j()
				};
				this.pluginFailed = function () {
					f()
				};
				this.getStatus = function () {
					return k
				}
			}
		})(jwplayer);
	(function (b) {
			var a = [];
			b.api = function (d) {
				this.container = d;
				this.id = d.id;
				var n = {};
				var s = {};
				var q = {};
				var c = [];
				var h = undefined;
				var l = false;
				var j = [];
				var p = b.utils.getOuterHTML(d);
				var r = {};
				var k = {};
				this.getBuffer = function () {
					return this.callInternal("jwGetBuffer")
				};
				this.getContainer = function () {
					return this.container
				};
				function e(u, t) {
					return function (z, v, w, x) {
						if (this.renderingMode == "flash" || this.renderingMode == "html5") {
							var y;
							if (v) {
								k[z] = v;
								y = "jwplayer('" + u.id + "').callback('" + z + "')"
							} else {
								if (!v && k[z]) {
									delete k[z]
								}
							}
							h.jwDockSetButton(z, y, w, x)
						}
						return t
					}
				}
				this.getPlugin = function (t) {
					var v = this;
					var u = {};
					if (t == "dock") {
						return b.utils.extend(u, {
								setButton : e(v, u),
								show : function () {
									v.callInternal("jwDockShow");
									return u
								},
								hide : function () {
									v.callInternal("jwDockHide");
									return u
								},
								onShow : function (w) {
									v.componentListener("dock", b.api.events.JWPLAYER_COMPONENT_SHOW, w);
									return u
								},
								onHide : function (w) {
									v.componentListener("dock", b.api.events.JWPLAYER_COMPONENT_HIDE, w);
									return u
								}
							})
					} else {
						if (t == "controlbar") {
							return b.utils.extend(u, {
									show : function () {
										v.callInternal("jwControlbarShow");
										return u
									},
									hide : function () {
										v.callInternal("jwControlbarHide");
										return u
									},
									onShow : function (w) {
										v.componentListener("controlbar", b.api.events.JWPLAYER_COMPONENT_SHOW, w);
										return u
									},
									onHide : function (w) {
										v.componentListener("controlbar", b.api.events.JWPLAYER_COMPONENT_HIDE, w);
										return u
									}
								})
						} else {
							if (t == "display") {
								return b.utils.extend(u, {
										show : function () {
											v.callInternal("jwDisplayShow");
											return u
										},
										hide : function () {
											v.callInternal("jwDisplayHide");
											return u
										},
										onShow : function (w) {
											v.componentListener("display", b.api.events.JWPLAYER_COMPONENT_SHOW, w);
											return u
										},
										onHide : function (w) {
											v.componentListener("display", b.api.events.JWPLAYER_COMPONENT_HIDE, w);
											return u
										}
									})
							} else {
								return this.plugins[t]
							}
						}
					}
				};
				this.callback = function (t) {
					if (k[t]) {
						return k[t]()
					}
				};
				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 u = this.callInternal("jwGetPlaylist");
					if (this.renderingMode == "flash") {
						b.utils.deepReplaceKeyName(u, "__dot__", ".")
					}
					for (var t = 0; t < u.length; t++) {
						if (!b.utils.exists(u[t].index)) {
							u[t].index = t
						}
					}
					return u
				};
				this.getPlaylistItem = function (t) {
					if (!b.utils.exists(t)) {
						t = this.getCurrentItem()
					}
					return this.getPlaylist()[t]
				};
				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 (t) {
					if (!b.utils.exists(t)) {
						this.callInternal("jwSetFullscreen", !this.callInternal("jwGetFullscreen"))
					} else {
						this.callInternal("jwSetFullscreen", t)
					}
					return this
				};
				this.setMute = function (t) {
					if (!b.utils.exists(t)) {
						this.callInternal("jwSetMute", !this.callInternal("jwGetMute"))
					} else {
						this.callInternal("jwSetMute", t)
					}
					return this
				};
				this.lock = function () {
					return this
				};
				this.unlock = function () {
					return this
				};
				this.load = function (t) {
					this.callInternal("jwLoad", t);
					return this
				};
				this.playlistItem = function (t) {
					this.callInternal("jwPlaylistItem", t);
					return this
				};
				this.playlistPrev = function () {
					this.callInternal("jwPlaylistPrev");
					return this
				};
				this.playlistNext = function () {
					this.callInternal("jwPlaylistNext");
					return this
				};
				this.resize = function (u, t) {
					if (this.renderingMode == "html5") {
						h.jwResize(u, t)
					} else {
						this.container.width = u;
						this.container.height = t
					}
					return this
				};
				this.play = function (t) {
					if (typeof t == "undefined") {
						t = this.getState();
						if (t == b.api.events.state.PLAYING || t == b.api.events.state.BUFFERING) {
							this.callInternal("jwPause")
						} else {
							this.callInternal("jwPlay")
						}
					} else {
						this.callInternal("jwPlay", t)
					}
					return this
				};
				this.pause = function (t) {
					if (typeof t == "undefined") {
						t = this.getState();
						if (t == b.api.events.state.PLAYING || t == b.api.events.state.BUFFERING) {
							this.callInternal("jwPause")
						} else {
							this.callInternal("jwPlay")
						}
					} else {
						this.callInternal("jwPause", t)
					}
					return this
				};
				this.stop = function () {
					this.callInternal("jwStop");
					return this
				};
				this.seek = function (t) {
					this.callInternal("jwSeek", t);
					return this
				};
				this.setVolume = function (t) {
					this.callInternal("jwSetVolume", t);
					return this
				};
				this.onBufferChange = function (t) {
					return this.eventListener(b.api.events.JWPLAYER_MEDIA_BUFFER, t)
				};
				this.onBufferFull = function (t) {
					return this.eventListener(b.api.events.JWPLAYER_MEDIA_BUFFER_FULL, t)
				};
				this.onError = function (t) {
					return this.eventListener(b.api.events.JWPLAYER_ERROR, t)
				};
				this.onFullscreen = function (t) {
					return this.eventListener(b.api.events.JWPLAYER_FULLSCREEN, t)
				};
				this.onMeta = function (t) {
					return this.eventListener(b.api.events.JWPLAYER_MEDIA_META, t)
				};
				this.onMute = function (t) {
					return this.eventListener(b.api.events.JWPLAYER_MEDIA_MUTE, t)
				};
				this.onPlaylist = function (t) {
					return this.eventListener(b.api.events.JWPLAYER_PLAYLIST_LOADED, t)
				};
				this.onPlaylistItem = function (t) {
					return this.eventListener(b.api.events.JWPLAYER_PLAYLIST_ITEM, t)
				};
				this.onReady = function (t) {
					return this.eventListener(b.api.events.API_READY, t)
				};
				this.onResize = function (t) {
					return this.eventListener(b.api.events.JWPLAYER_RESIZE, t)
				};
				this.onComplete = function (t) {
					return this.eventListener(b.api.events.JWPLAYER_MEDIA_COMPLETE, t)
				};
				this.onSeek = function (t) {
					return this.eventListener(b.api.events.JWPLAYER_MEDIA_SEEK, t)
				};
				this.onTime = function (t) {
					return this.eventListener(b.api.events.JWPLAYER_MEDIA_TIME, t)
				};
				this.onVolume = function (t) {
					return this.eventListener(b.api.events.JWPLAYER_MEDIA_VOLUME, t)
				};
				this.onBuffer = function (t) {
					return this.stateListener(b.api.events.state.BUFFERING, t)
				};
				this.onPause = function (t) {
					return this.stateListener(b.api.events.state.PAUSED, t)
				};
				this.onPlay = function (t) {
					return this.stateListener(b.api.events.state.PLAYING, t)
				};
				this.onIdle = function (t) {
					return this.stateListener(b.api.events.state.IDLE, t)
				};
				this.remove = function () {
					n = {};
					j = [];
					if (b.utils.getOuterHTML(this.container) != p) {
						b.api.destroyPlayer(this.id, p)
					}
				};
				this.setup = function (u) {
					if (b.embed) {
						var t = this.id;
						this.remove();
						var v = b(t);
						v.config = u;
						return new b.embed(v)
					}
					return this
				};
				this.registerPlugin = function (v, u, t) {
					b.plugins.registerPlugin(v, u, t)
				};
				this.setPlayer = function (t, u) {
					h = t;
					this.renderingMode = u
				};
				this.stateListener = function (t, u) {
					if (!s[t]) {
						s[t] = [];
						this.eventListener(b.api.events.JWPLAYER_PLAYER_STATE, g(t))
					}
					s[t].push(u);
					return this
				};
				function g(t) {
					return function (v) {
						var u = v.newstate,
						x = v.oldstate;
						if (u == t) {
							var w = s[u];
							if (w) {
								for (var y = 0; y < w.length; y++) {
									if (typeof w[y] == "function") {
										w[y].call(this, {
												oldstate : x,
												newstate : u
											})
									}
								}
							}
						}
					}
				}
				this.componentListener = function (t, u, v) {
					if (!q[t]) {
						q[t] = {}
						
					}
					if (!q[t][u]) {
						q[t][u] = [];
						this.eventListener(u, m(t, u))
					}
					q[t][u].push(v);
					return this
				};
				function m(t, u) {
					return function (w) {
						if (t == w.component) {
							var v = q[t][u];
							if (v) {
								for (var x = 0; x < v.length; x++) {
									if (typeof v[x] == "function") {
										v[x].call(this, w)
									}
								}
							}
						}
					}
				}
				this.addInternalListener = function (t, u) {
					t.jwAddEventListener(u, 'function(dat) { jwplayer("' + this.id + '").dispatchEvent("' + u + '", dat); }')
				};
				this.eventListener = function (t, u) {
					if (!n[t]) {
						n[t] = [];
						if (h && l) {
							this.addInternalListener(h, t)
						}
					}
					n[t].push(u);
					return this
				};
				this.dispatchEvent = function (v) {
					if (n[v]) {
						var u = f(v, arguments[1]);
						for (var t = 0; t < n[v].length; t++) {
							if (typeof n[v][t] == "function") {
								n[v][t].call(this, u)
							}
						}
					}
				};
				function f(v, t) {
					var x = b.utils.extend({}, t);
					if (v == b.api.events.JWPLAYER_FULLSCREEN && !x.fullscreen) {
						x.fullscreen = x.message == "true" ? true : false;
						delete x.message
					} else {
						if (typeof x.data == "object") {
							x = b.utils.extend(x, x.data);
							delete x.data
						}
					}
					var u = ["position", "duration", "offset"];
					for (var w in u) {
						if (x[u[w]]) {
							x[u[w]] = Math.round(x[u[w]] * 1000) / 1000
						}
					}
					return x
				}
				this.callInternal = function (u, t) {
					if (l) {
						if (typeof h != "undefined" && typeof h[u] == "function") {
							if (b.utils.exists(t)) {
								return (h[u])(t)
							} else {
								return (h[u])()
							}
						}
						return null
					} else {
						j.push({
								method : u,
								parameters : t
							})
					}
				};
				this.playerReady = function (v) {
					l = true;
					if (!h) {
						this.setPlayer(document.getElementById(v.id))
					}
					this.container = document.getElementById(this.id);
					for (var t in n) {
						this.addInternalListener(h, t)
					}
					this.eventListener(b.api.events.JWPLAYER_PLAYLIST_ITEM, function (w) {
							r = {}
							
						});
					this.eventListener(b.api.events.JWPLAYER_MEDIA_META, function (w) {
							b.utils.extend(r, w.metadata)
						});
					this.dispatchEvent(b.api.events.API_READY);
					while (j.length > 0) {
						var u = j.shift();
						this.callInternal(u.method, u.parameters)
					}
				};
				this.getItemMeta = function () {
					return r
				};
				this.getCurrentItem = function () {
					return this.callInternal("jwGetPlaylistIndex")
				};
				function o(v, x, w) {
					var t = [];
					if (!x) {
						x = 0
					}
					if (!w) {
						w = v.length - 1
					}
					for (var u = x; u <= w; u++) {
						t.push(v[u])
					}
					return t
				}
				return this
			};
			b.api.selectPlayer = function (d) {
				var c;
				if (!b.utils.exists(d)) {
					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_COMPONENT_SHOW : "jwplayerComponentShow",
				JWPLAYER_COMPONENT_HIDE : "jwplayerComponentHide",
				JWPLAYER_MEDIA_BUFFER : "jwplayerMediaBuffer",
				JWPLAYER_MEDIA_BUFFER_FULL : "jwplayerMediaBufferFull",
				JWPLAYER_MEDIA_ERROR : "jwplayerMediaError",
				JWPLAYER_MEDIA_LOADED : "jwplayerMediaLoaded",
				JWPLAYER_MEDIA_COMPLETE : "jwplayerMediaComplete",
				JWPLAYER_MEDIA_SEEK : "jwplayerMediaSeek",
				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 j = 0; j < a.length; j++) {
					if (a[j].id == g) {
						f = j;
						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)
		} else {
			jwplayer.api.selectPlayer(b.id).playerReady(b)
		}
		if (_userPlayerReady) {
			_userPlayerReady.call(this, b)
		}
	};
	(function (a) {
			a.embed = function (g) {
				var j = {
					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(j, f, g.config), this);
				var h = a.plugins.loadPlugins(g.id, e.plugins);
				function c(m, l) {
					for (var k in l) {
						if (typeof m[k] == "function") {
							(m[k]).call(m, l[k])
						}
					}
				}
				function d() {
					if (h.getStatus() == a.utils.loaderstatus.COMPLETE) {
						for (var m = 0; m < e.modes.length; m++) {
							if (e.modes[m].type && a.embed[e.modes[m].type]) {
								var k = e;
								if (e.modes[m].config) {
									k = a.utils.extend(a.utils.clone(e), e.modes[m].config)
								}
								var l = new a.embed[e.modes[m].type](document.getElementById(g.id), e.modes[m], k, h, g);
								if (l.supportsConfig()) {
									l.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 (e) {
			function h() {
				return [{
						type : "flash",
						src : "player.swf"
					}, {
						type : "html5"
					}, {
						type : "download"
					}
				]
			}
			var a = {
				players : "modes",
				autoplay : "autostart"
			};
			function b(n) {
				var m = n.toLowerCase();
				var l = ["left", "right", "top", "bottom"];
				for (var k = 0; k < l.length; k++) {
					if (m == l[k]) {
						return true
					}
				}
				return false
			}
			function c(l) {
				var k = false;
				k = (l instanceof Array) || (typeof l == "object" && !l.position && !l.size);
				return k
			}
			function j(k) {
				if (typeof k == "string") {
					if (parseInt(k).toString() == k || k.toLowerCase().indexOf("px") > -1) {
						return parseInt(k)
					}
				}
				return k
			}
			var g = ["playlist", "dock", "controlbar", "logo", "display"];
			function f(k) {
				var n = {};
				switch (e.utils.typeOf(k.plugins)) {
				case "object":
					for (var m in k.plugins) {
						n[e.utils.getPluginName(m)] = m
					}
					break;
				case "string":
					var o = k.plugins.split(",");
					for (var l = 0; l < o.length; l++) {
						n[e.utils.getPluginName(o[l])] = o[l]
					}
					break
				}
				return n
			}
			function d(o, n, m, k) {
				if (e.utils.typeOf(o[n]) != "object") {
					o[n] = {}
					
				}
				var l = o[n][m];
				if (e.utils.typeOf(l) != "object") {
					o[n][m] = l = {}
						
				}
				if (k) {
					if (n == "plugins") {
						var p = e.utils.getPluginName(m);
						l[k] = o[p + "." + k];
						delete o[p + "." + k]
					} else {
						l[k] = o[m + "." + k];
						delete o[m + "." + k]
					}
				}
			}
			e.embed.deserialize = function (l) {
				var m = f(l);
				for (var k in m) {
					d(l, "plugins", m[k])
				}
				for (var p in l) {
					if (p.indexOf(".") > -1) {
						var o = p.split(".");
						var n = o[0];
						var p = o[1];
						if (e.utils.isInArray(g, n)) {
							d(l, "components", n, p)
						} else {
							if (m[n]) {
								d(l, "plugins", m[n], p)
							}
						}
					}
				}
				return l
			};
			e.embed.config = function (k, u) {
				var t = e.utils.extend({}, k);
				var r;
				if (c(t.playlist)) {
					r = t.playlist;
					delete t.playlist
				}
				t = e.embed.deserialize(t);
				t.height = j(t.height);
				t.width = j(t.width);
				if (typeof t.plugins == "string") {
					var l = t.plugins.split(",");
					if (typeof t.plugins != "object") {
						t.plugins = {}
						
					}
					for (var p = 0; p < l.length; p++) {
						var q = e.utils.getPluginName(l[p]);
						if (typeof t[q] == "object") {
							t.plugins[l[p]] = t[q];
							delete t[q]
						} else {
							t.plugins[l[p]] = {}
							
						}
					}
				}
				for (var s = 0; s < g.length; s++) {
					var o = g[s];
					if (e.utils.exists(t[o])) {
						if (typeof t[o] != "object") {
							if (!t.components[o]) {
								t.components[o] = {}
								
							}
							if (o == "logo") {
								t.components[o].file = t[o]
							} else {
								t.components[o].position = t[o]
							}
							delete t[o]
						} else {
							if (!t.components[o]) {
								t.components[o] = {}
								
							}
							e.utils.extend(t.components[o], t[o]);
							delete t[o]
						}
					}
					if (typeof t[o + "size"] != "undefined") {
						if (!t.components[o]) {
							t.components[o] = {}
							
						}
						t.components[o].size = t[o + "size"];
						delete t[o + "size"]
					}
				}
				if (typeof t.icons != "undefined") {
					if (!t.components.display) {
						t.components.display = {}
						
					}
					t.components.display.icons = t.icons;
					delete t.icons
				}
				for (var n in a) {
					if (t[n]) {
						if (!t[a[n]]) {
							t[a[n]] = t[n]
						}
						delete t[n]
					}
				}
				var m;
				if (t.flashplayer && !t.modes) {
					m = h();
					m[0].src = t.flashplayer;
					delete t.flashplayer
				} else {
					if (t.modes) {
						if (typeof t.modes == "string") {
							m = h();
							m[0].src = t.modes
						} else {
							if (t.modes instanceof Array) {
								m = t.modes
							} else {
								if (typeof t.modes == "object" && t.modes.type) {
									m = [t.modes]
								}
							}
						}
						delete t.modes
					} else {
						m = h()
					}
				}
				t.modes = m;
				if (r) {
					t.playlist = r
				}
				return t
			}
		})(jwplayer);
	(function (a) {
			a.embed.download = function (c, g, b, d, f) {
				this.embed = function () {
					var k = a.utils.extend({}, b);
					var q = {};
					var j = b.width ? b.width : 480;
					if (typeof j != "number") {
						j = parseInt(j, 10)
					}
					var m = b.height ? b.height : 320;
					if (typeof m != "number") {
						m = parseInt(m, 10)
					}
					var u,
					o,
					n;
					var s = {};
					if (b.playlist && b.playlist.length) {
						s.file = b.playlist[0].file;
						o = b.playlist[0].image;
						s.levels = b.playlist[0].levels
					} else {
						s.file = b.file;
						o = b.image;
						s.levels = b.levels
					}
					if (s.file) {
						u = s.file
					} else {
						if (s.levels && s.levels.length) {
							u = s.levels[0].file
						}
					}
					n = u ? "pointer" : "auto";
					var l = {
						display : {
							style : {
								cursor : n,
								width : j,
								height : m,
								backgroundColor : "#000",
								position : "relative",
								textDecoration : "none",
								border : "none",
								display : "block"
							}
						},
						display_icon : {
							style : {
								cursor : n,
								position : "absolute",
								display : u ? "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 : n,
								position : "absolute",
								display : u ? "block" : "none",
								top : ((m - 50) / 2),
								left : ((j - 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 : j,
								height : m,
								display : o ? "block" : "none",
								position : "absolute",
								cursor : n,
								left : 0,
								top : 0,
								margin : 0,
								padding : 0,
								textDecoration : "none",
								zIndex : 1,
								border : "none"
							}
						}
					};
					var h = function (v, x, y) {
						var w = document.createElement(v);
						if (y) {
							w.id = y
						} else {
							w.id = c.id + "_jwplayer_" + x
						}
						a.utils.css(w, l[x].style);
						return w
					};
					q.display = h("a", "display", c.id);
					if (u) {
						q.display.setAttribute("href", a.utils.getAbsolutePath(u))
					}
					q.display_image = h("img", "display_image");
					q.display_image.setAttribute("alt", "Click to download...");
					if (o) {
						q.display_image.setAttribute("src", a.utils.getAbsolutePath(o))
					}
					if (true) {
						q.display_icon = h("div", "display_icon");
						q.display_iconBackground = h("div", "display_iconBackground");
						q.display.appendChild(q.display_image);
						q.display_iconBackground.appendChild(q.display_icon);
						q.display.appendChild(q.display_iconBackground)
					}
					_css = a.utils.css;
					_hide = function (v) {
						_css(v, {
								display : "none"
							})
					};
					function r(v) {
						_imageWidth = q.display_image.naturalWidth;
						_imageHeight = q.display_image.naturalHeight;
						t()
					}
					function t() {
						a.utils.stretch(a.utils.stretching.UNIFORM, q.display_image, j, m, _imageWidth, _imageHeight)
					}
					q.display_image.onerror = function (v) {
						_hide(q.display_image)
					};
					q.display_image.onload = r;
					c.parentNode.replaceChild(q.display, c);
					var p = (b.plugins && b.plugins.logo) ? b.plugins.logo : {};
					q.display.appendChild(new a.embed.logo(b.components.logo, "download", c.id));
					f.container = document.getElementById(f.id);
					f.setPlayer(q.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(j, l, h) {
					if (h) {
						return false
					}
					var k = ["image", "sound", "youtube", "http"];
					if (l && (k.toString().indexOf(l) > -1)) {
						return true
					}
					if (!l || (l && l == "video")) {
						var m = a.utils.extension(j);
						if (m && a.utils.extensionmap[m]) {
							return true
						}
					}
					return false
				}
			}
		})(jwplayer);
	(function (a) {
			a.embed.flash = function (f, g, l, e, 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 d(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 h(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 b(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 c(p) {
					var n = p.netstreambasepath ? "" : "netstreambasepath=" + encodeURIComponent(window.location.href.split("#")[0]) + "&";
					for (var o in p) {
						if (typeof(p[o]) == "object") {
							n += o + "=" + encodeURIComponent("[[JSON]]" + a.utils.strings.jsonToString(p[o])) + "&"
						} else {
							n += o + "=" + encodeURIComponent(p[o]) + "&"
						}
					}
					return n.substring(0, n.length - 1)
				}
				this.embed = function () {
					l.id = j.id;
					var y;
					var q = a.utils.extend({}, l);
					var n = q.width;
					var w = q.height;
					if (f.id + "_wrapper" == f.parentNode.id) {
						y = document.getElementById(f.id + "_wrapper")
					} else {
						y = document.createElement("div");
						y.id = f.id + "_wrapper";
						a.utils.wrap(f, y);
						a.utils.css(y, {
								position : "relative",
								width : n,
								height : w
							})
					}
					var o = e.setupPlugins(j, q, k);
					if (o.length > 0) {
						a.utils.extend(q, b(o.plugins))
					} else {
						delete q.plugins
					}
					var r = ["height", "width", "modes", "events"];
					for (var u = 0; u < r.length; u++) {
						delete q[r[u]]
					}
					var p = "opaque";
					if (q.wmode) {
						p = q.wmode
					}
					h(q, "components");
					h(q, "providers");
					if (typeof q["dock.position"] != "undefined") {
						if (q["dock.position"].toString().toLowerCase() == "false") {
							q.dock = q["dock.position"];
							delete q["dock.position"]
						}
					}
					var x = "#000000";
					var t;
					if (a.utils.isIE()) {
						var v = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" bgcolor="' + x + '" width="100%" height="100%" id="' + f.id + '" name="' + f.id + '" tabindex=0"">';
						v += '<param name="movie" value="' + g.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="' + c(q) + '">';
						v += "</object>";
						a.utils.setOuterHTML(f, v);
						t = document.getElementById(f.id)
					} else {
						var s = document.createElement("object");
						s.setAttribute("type", "application/x-shockwave-flash");
						s.setAttribute("data", g.src);
						s.setAttribute("width", "100%");
						s.setAttribute("height", "100%");
						s.setAttribute("bgcolor", "#000000");
						s.setAttribute("id", f.id);
						s.setAttribute("name", f.id);
						s.setAttribute("tabindex", 0);
						m(s, "allowfullscreen", "true");
						m(s, "allowscriptaccess", "always");
						m(s, "seamlesstabbing", "true");
						m(s, "wmode", p);
						m(s, "flashvars", c(q));
						f.parentNode.replaceChild(s, f);
						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.exists(a.utils.extensionmap[q]) && !a.utils.exists(a.utils.extensionmap[q].flash)) {
						return false
					}
					return true
				}
			}
		})(jwplayer);
	(function (a) {
			a.embed.html5 = function (c, g, b, d, f) {
				function e(j, k, h) {
					return function (l) {
						var m = document.getElementById(c.id + "_displayarea");
						if (h) {
							m.appendChild(k)
						}
						var n = m.style;
						j.resize(parseInt(n.width.replace("px", "")), parseInt(n.height.replace("px", "")));
						k.left = n.left;
						k.top = n.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 (k, j, l, h) {
					if (h) {
						return false
					}
					if (l && l == "youtube") {
						return true
					}
					if (l && l != "video" && l != "http" && l != "sound") {
						return false
					}
					var m = a.utils.extension(j);
					if (!a.utils.exists(m) || !a.utils.exists(a.utils.extensionmap[m])) {
						return true
					}
					if (!a.utils.exists(a.utils.extensionmap[m].html5)) {
						return false
					}
					if (a.utils.isLegacyAndroid() && m.match(/m4v|mp4/)) {
						return true
					}
					return browserCanPlay(k, a.utils.extensionmap[m].html5)
				};
				browserCanPlay = function (j, h) {
					if (!h) {
						return true
					}
					if (j.canPlayType(h)) {
						return true
					} else {
						if (h == "audio/mp3" && navigator.userAgent.match(/safari/i)) {
							return j.canPlayType("audio/mpeg")
						} else {
							return false
						}
					}
				}
			}
		})(jwplayer);
	(function (a) {
			a.embed.logo = function (m, l, d) {
				var j = {
					prefix : "http://l.longtailvideo.com/" + l + "/",
					file : "logo.png",
					link : "http://www.longtailvideo.com/players/jw-flv-player/",
					margin : 8,
					out : 0.5,
					over : 1,
					timeout : 5,
					hide : false,
					position : "bottom-left"
				};
				_css = a.utils.css;
				var b;
				var h;
				k();
				function k() {
					o();
					c();
					f()
				}
				function o() {
					if (j.prefix) {
						var q = a.version.split(/\W/).splice(0, 2).join("/");
						if (j.prefix.indexOf(q) < 0) {
							j.prefix += q + "/"
						}
					}
					h = a.utils.extend({}, j)
				}
				function p() {
					var s = {
						border : "none",
						textDecoration : "none",
						position : "absolute",
						cursor : "pointer",
						zIndex : 10
					};
					s.display = h.hide ? "none" : "block";
					var r = h.position.toLowerCase().split("-");
					for (var q in r) {
						s[r[q]] = h.margin
					}
					return s
				}
				function c() {
					b = document.createElement("img");
					b.id = d + "_jwplayer_logo";
					b.style.display = "none";
					b.onload = function (q) {
						_css(b, p());
						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 = n
					} else {
						this.mouseEnabled = false
					}
				}
				function n(q) {
					if (typeof q != "undefined") {
						q.preventDefault();
						q.stopPropagation()
					}
					if (h.link) {
						window.open(h.link, "_blank")
					}
					return
				}
				function e(q) {
					if (h.link) {
						b.style.opacity = h.out
					}
					return
				}
				function g(q) {
					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 d = b.utils;
			var c = d.css;
			b.html5.view = function (r, q, f) {
				var u = r;
				var n = q;
				var x = f;
				var w;
				var g;
				var C;
				var s;
				var D;
				var p;
				var A;
				function z() {
					w = document.createElement("div");
					w.id = n.id;
					w.className = n.className;
					_videowrapper = document.createElement("div");
					_videowrapper.id = w.id + "_video_wrapper";
					n.id = w.id + "_video";
					c(w, {
							position : "relative",
							height : x.height,
							width : x.width,
							padding : 0,
							backgroundColor : E(),
							zIndex : 0
						});
					function E() {
						if (u.skin.getComponentSettings("display") && u.skin.getComponentSettings("display").backgroundcolor) {
							return u.skin.getComponentSettings("display").backgroundcolor
						}
						return parseInt("000000", 16)
					}
					c(n, {
							width : x.width,
							height : x.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
						});
					d.wrap(n, w);
					d.wrap(n, _videowrapper);
					s = document.createElement("div");
					s.id = w.id + "_displayarea";
					w.appendChild(s)
				}
				function k() {
					for (var E = 0; E < x.plugins.order.length; E++) {
						var F = x.plugins.order[E];
						if (d.exists(x.plugins.object[F].getDisplayElement)) {
							x.plugins.object[F].height = d.parseDimension(x.plugins.object[F].getDisplayElement().style.height);
							x.plugins.object[F].width = d.parseDimension(x.plugins.object[F].getDisplayElement().style.width);
							x.plugins.config[F].currentPosition = x.plugins.config[F].position
						}
					}
					v()
				}
				function m(E) {
					c(s, {
							display : x.getMedia().hasChrome() ? "none" : "block"
						})
				}
				function v(F) {
					var H = x.getMedia() ? x.getMedia().getDisplayElement() : null;
					if (d.exists(H)) {
						if (A != H) {
							if (A && A.parentNode) {
								A.parentNode.replaceChild(H, A)
							}
							A = H
						}
						for (var E = 0; E < x.plugins.order.length; E++) {
							var G = x.plugins.order[E];
							if (d.exists(x.plugins.object[G].getDisplayElement)) {
								if (x.getMedia().hasChrome()) {
									x.plugins.config[G].currentPosition = b.html5.view.positions.NONE
								} else {
									x.plugins.config[G].currentPosition = x.plugins.config[G].position
								}
							}
						}
					}
					j(x.width, x.height)
				}
				this.setup = function () {
					if (x && x.getMedia()) {
						n = x.getMedia().getDisplayElement()
					}
					z();
					k();
					u.jwAddEventListener(b.api.events.JWPLAYER_PLAYER_STATE, m);
					u.jwAddEventListener(b.api.events.JWPLAYER_MEDIA_LOADED, v);
					u.jwAddEventListener(b.api.events.JWPLAYER_MEDIA_META, function () {
							y()
						});
					var E;
					if (d.exists(window.onresize)) {
						E = window.onresize
					}
					window.onresize = function (F) {
						if (d.exists(E)) {
							try {
								E(F)
							} catch (H) {}
							
						}
						if (u.jwGetFullscreen()) {
							var G = document.body.getBoundingClientRect();
							x.width = Math.abs(G.left) + Math.abs(G.right);
							x.height = window.innerHeight
						}
						j(x.width, x.height)
					}
				};
				function h(E) {
					switch (E.keyCode) {
					case 27:
						if (u.jwGetFullscreen()) {
							u.jwSetFullscreen(false)
						}
						break;
					case 32:
						if (u.jwGetState() != b.api.events.state.IDLE && u.jwGetState() != b.api.events.state.PAUSED) {
							u.jwPause()
						} else {
							u.jwPlay()
						}
						break
					}
				}
				function j(H, E) {
					if (w.style.display == "none") {
						return
					}
					var G = [].concat(x.plugins.order);
					G.reverse();
					D = G.length + 2;
					if (!x.fullscreen) {
						x.width = H;
						x.height = E;
						g = H;
						C = E;
						c(s, {
								top : 0,
								bottom : 0,
								left : 0,
								right : 0,
								width : H,
								height : E,
								position : "relative"
							});
						c(w, {
								height : C,
								width : g
							});
						var F = o(t, G);
						if (F.length > 0) {
							D += F.length;
							var J = F.indexOf("playlist"),
							I = F.indexOf("controlbar");
							if (J >= 0 && I >= 0) {
								F[J] = F.splice(I, 1, F[J])[0]
							}
							o(l, F, true)
						}
					} else {
						if (navigator.vendor.indexOf("Apple") !== 0) {
							o(B, G, true)
						}
					}
					y()
				}
				function o(J, G, H) {
					var F = [];
					for (var E = 0; E < G.length; E++) {
						var K = G[E];
						if (d.exists(x.plugins.object[K].getDisplayElement)) {
							if (x.plugins.config[K].currentPosition != b.html5.view.positions.NONE) {
								var I = J(K, D--);
								if (!I) {
									F.push(K)
								} else {
									x.plugins.object[K].resize(I.width, I.height);
									if (H) {
										delete I.width;
										delete I.height
									}
									c(x.plugins.object[K].getDisplayElement(), I)
								}
							} else {
								c(x.plugins.object[K].getDisplayElement(), {
										display : "none"
									})
							}
						}
					}
					return F
				}
				function t(F, G) {
					if (d.exists(x.plugins.object[F].getDisplayElement)) {
						if (x.plugins.config[F].position && a(x.plugins.config[F].position)) {
							if (!d.exists(x.plugins.object[F].getDisplayElement().parentNode)) {
								w.appendChild(x.plugins.object[F].getDisplayElement())
							}
							var E = e(F);
							E.zIndex = G;
							return E
						}
					}
					return false
				}
				function l(G, H) {
					if (!d.exists(x.plugins.object[G].getDisplayElement().parentNode)) {
						s.appendChild(x.plugins.object[G].getDisplayElement())
					}
					var E = x.width,
					F = x.height;
					if (typeof x.width == "string" && x.width.lastIndexOf("%") > -1) {
						percentage = parseFloat(x.width.substring(0, x.width.lastIndexOf("%"))) / 100;
						E = Math.round(window.innerWidth * percentage)
					}
					if (typeof x.height == "string" && x.height.lastIndexOf("%") > -1) {
						percentage = parseFloat(x.height.substring(0, x.height.lastIndexOf("%"))) / 100;
						F = Math.round(window.innerHeight * percentage)
					}
					return {
						position : "absolute",
						width : (E - d.parseDimension(s.style.left) - d.parseDimension(s.style.right)),
						height : (F - d.parseDimension(s.style.top) - d.parseDimension(s.style.bottom)),
						zIndex : H
					}
				}
				function B(E, F) {
					return {
						position : "fixed",
						width : x.width,
						height : x.height,
						zIndex : F
					}
				}
				function y() {
					if (!d.exists(x.getMedia())) {
						return
					}
					s.style.position = "absolute";
					var G = x.getMedia().getDisplayElement();
					if (G && G.tagName.toLowerCase() == "video") {
						G.style.position = "absolute";
						var E,
						H;
						if (s.style.width.toString().lastIndexOf("%") > -1 || s.style.width.toString().lastIndexOf("%") > -1) {
							var F = s.getBoundingClientRect();
							E = Math.abs(F.left) + Math.abs(F.right);
							H = Math.abs(F.top) + Math.abs(F.bottom)
						} else {
							E = d.parseDimension(s.style.width);
							H = d.parseDimension(s.style.height)
						}
						if (G.parentNode) {
							G.parentNode.style.left = s.style.left;
							G.parentNode.style.top = s.style.top
						}
						d.stretch(u.jwGetStretching(), G, E, H, G.videoWidth ? G.videoWidth : 400, G.videoHeight ? G.videoHeight : 300)
					} else {
						x.getMedia().resize(d.parseDimension(s.style.width), d.parseDimension(s.style.height))
					}
				}
				function e(F) {
					var G = {
						position : "absolute",
						margin : 0,
						padding : 0,
						top : null
					};
					var E = x.plugins.config[F].currentPosition.toLowerCase();
					switch (E.toUpperCase()) {
					case b.html5.view.positions.TOP:
						G.top = d.parseDimension(s.style.top);
						G.left = d.parseDimension(s.style.left);
						G.width = g - d.parseDimension(s.style.left) - d.parseDimension(s.style.right);
						G.height = x.plugins.object[F].height;
						s.style[E] = d.parseDimension(s.style[E]) + x.plugins.object[F].height + "px";
						s.style.height = d.parseDimension(s.style.height) - G.height + "px";
						break;
					case b.html5.view.positions.RIGHT:
						G.top = d.parseDimension(s.style.top);
						G.right = d.parseDimension(s.style.right);
						G.width = x.plugins.object[F].width;
						G.height = C - d.parseDimension(s.style.top) - d.parseDimension(s.style.bottom);
						s.style[E] = d.parseDimension(s.style[E]) + x.plugins.object[F].width + "px";
						s.style.width = d.parseDimension(s.style.width) - G.width + "px";
						break;
					case b.html5.view.positions.BOTTOM:
						G.bottom = d.parseDimension(s.style.bottom);
						G.left = d.parseDimension(s.style.left);
						G.width = g - d.parseDimension(s.style.left) - d.parseDimension(s.style.right);
						G.height = x.plugins.object[F].height;
						s.style[E] = d.parseDimension(s.style[E]) + x.plugins.object[F].height + "px";
						s.style.height = d.parseDimension(s.style.height) - G.height + "px";
						break;
					case b.html5.view.positions.LEFT:
						G.top = d.parseDimension(s.style.top);
						G.left = d.parseDimension(s.style.left);
						G.width = x.plugins.object[F].width;
						G.height = C - d.parseDimension(s.style.top) - d.parseDimension(s.style.bottom);
						s.style[E] = d.parseDimension(s.style[E]) + x.plugins.object[F].width + "px";
						s.style.width = d.parseDimension(s.style.width) - G.width + "px";
						break;
					default:
						break
					}
					return G
				}
				this.resize = j;
				this.fullscreen = function (H) {
					if (navigator && navigator.vendor && navigator.vendor.indexOf("Apple") === 0) {
						if (x.getMedia().getDisplayElement().webkitSupportsFullscreen) {
							if (H) {
								try {
									x.getMedia().getDisplayElement().webkitEnterFullscreen()
								} catch (G) {}
								
							} else {
								try {
									x.getMedia().getDisplayElement().webkitExitFullscreen()
								} catch (G) {}
								
							}
						}
					} else {
						if (H) {
							document.onkeydown = h;
							clearInterval(p);
							var F = document.body.getBoundingClientRect();
							x.width = Math.abs(F.left) + Math.abs(F.right);
							x.height = window.innerHeight;
							var E = {
								position : "fixed",
								width : "100%",
								height : "100%",
								top : 0,
								left : 0,
								zIndex : 2147483000
							};
							c(w, E);
							E.zIndex = 1;
							c(x.getMedia().getDisplayElement(), E);
							E.zIndex = 2;
							c(s, E)
						} else {
							document.onkeydown = "";
							x.width = g;
							x.height = C;
							c(w, {
									position : "relative",
									height : x.height,
									width : x.width,
									zIndex : 0
								})
						}
						j(x.width, x.height)
					}
				}
			};
			function a(e) {
				return ([b.html5.view.positions.TOP, b.html5.view.positions.RIGHT, b.html5.view.positions.BOTTOM, b.html5.view.positions.LEFT].toString().indexOf(e.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"
							}
						]
					}
				}
			};
			_utils = a.utils;
			_css = _utils.css;
			_hide = function (c) {
				_css(c, {
						display : "none"
					})
			};
			_show = function (c) {
				_css(c, {
						display : "block"
					})
			};
			a.html5.controlbar = function (l, V) {
				var k = l;
				var D = _utils.extend({}, b, k.skin.getComponentSettings("controlbar"), V);
				if (D.position == a.html5.view.positions.NONE || typeof a.html5.view.positions[D.position] == "undefined") {
					return
				}
				if (_utils.mapLength(k.skin.getComponentLayout("controlbar")) > 0) {
					D.layout = k.skin.getComponentLayout("controlbar")
				}
				var ac;
				var P;
				var ab;
				var E;
				var v = "none";
				var g;
				var j;
				var ad;
				var f;
				var e;
				var y;
				var Q = {};
				var p = false;
				var c = {};
				var Y;
				var h = false;
				var o;
				var d;
				var S = false;
				var G = false;
				var W = new a.html5.eventdispatcher();
				_utils.extend(this, W);
				function J() {
					if (!Y) {
						Y = k.skin.getSkinElement("controlbar", "background");
						if (!Y) {
							Y = {
								width : 0,
								height : 0,
								src : null
							}
						}
					}
					return Y
				}
				function N() {
					ab = 0;
					E = 0;
					P = 0;
					if (!p) {
						var ak = {
							height : J().height,
							backgroundColor : D.backgroundcolor
						};
						ac = document.createElement("div");
						ac.id = k.id + "_jwplayer_controlbar";
						_css(ac, ak)
					}
					var aj = (k.skin.getSkinElement("controlbar", "capLeft"));
					var ai = (k.skin.getSkinElement("controlbar", "capRight"));
					if (aj) {
						x("capLeft", "left", false, ac)
					}
					var al = {
						position : "absolute",
						height : J().height,
						left : (aj ? aj.width : 0),
						zIndex : 0
					};
					Z("background", ac, al, "img");
					if (J().src) {
						Q.background.src = J().src
					}
					al.zIndex = 1;
					Z("elements", ac, al);
					if (ai) {
						x("capRight", "right", false, ac)
					}
				}
				this.getDisplayElement = function () {
					return ac
				};
				this.resize = function (ak, ai) {
					_utils.cancelAnimation(ac);
					document.getElementById(k.id).onmousemove = A;
					e = ak;
					y = ai;
					if (G != k.jwGetFullscreen()) {
						G = k.jwGetFullscreen();
						d = undefined
					}
					var aj = w();
					A();
					I({
							id : k.id,
							duration : ad,
							position : j
						});
					u({
							id : k.id,
							bufferPercent : f
						});
					return aj
				};
				this.show = function () {
					if (h) {
						h = false;
						_show(ac);
						T()
					}
				};
				this.hide = function () {
					if (!h) {
						h = true;
						_hide(ac);
						aa()
					}
				};
				function q() {
					var aj = ["timeSlider", "volumeSlider", "timeSliderRail", "volumeSliderRail"];
					for (var ak in aj) {
						var ai = aj[ak];
						if (typeof Q[ai] != "undefined") {
							c[ai] = Q[ai].getBoundingClientRect()
						}
					}
				}
				function A(ai) {
					if (h) {
						return
					}
					if (D.position == a.html5.view.positions.OVER || k.jwGetFullscreen()) {
						clearTimeout(o);
						switch (k.jwGetState()) {
						case a.api.events.state.PAUSED:
						case a.api.events.state.IDLE:
							if (!D.idlehide || _utils.exists(ai)) {
								U()
							}
							if (D.idlehide) {
								o = setTimeout(function () {
											z()
										}, 2000)
							}
							break;
						default:
							if (ai) {
								U()
							}
							o = setTimeout(function () {
										z()
									}, 2000);
							break
						}
					}
				}
				function z(ai) {
					aa();
					_utils.cancelAnimation(ac);
					_utils.fadeTo(ac, 0, 0.1, 1, 0)
				}
				function U() {
					T();
					_utils.cancelAnimation(ac);
					_utils.fadeTo(ac, 1, 0, 1, 0)
				}
				function H(ai) {
					return function () {
						if (S && d != ai) {
							d = ai;
							W.sendEvent(ai, {
									component : "controlbar",
									boundingRect : O()
								})
						}
					}
				}
				var T = H(a.api.events.JWPLAYER_COMPONENT_SHOW);
				var aa = H(a.api.events.JWPLAYER_COMPONENT_HIDE);
				function O() {
					if (D.position == a.html5.view.positions.OVER || k.jwGetFullscreen()) {
						return _utils.getDimensions(ac)
					} else {
						return {
							x : 0,
							y : 0,
							width : 0,
							height : 0
						}
					}
				}
				function Z(am, al, ak, ai) {
					var aj;
					if (!p) {
						if (!ai) {
							ai = "div"
						}
						aj = document.createElement(ai);
						Q[am] = aj;
						aj.id = ac.id + "_" + am;
						al.appendChild(aj)
					} else {
						aj = document.getElementById(ac.id + "_" + am)
					}
					if (_utils.exists(ak)) {
						_css(aj, ak)
					}
					return aj
				}
				function M() {
					ah(D.layout.left);
					ah(D.layout.right, -1);
					ah(D.layout.center)
				}
				function ah(al, ai) {
					var am = al.position == "right" ? "right" : "left";
					var ak = _utils.extend([], al.elements);
					if (_utils.exists(ai)) {
						ak.reverse()
					}
					for (var aj = 0; aj < ak.length; aj++) {
						C(ak[aj], am)
					}
				}
				function K() {
					return P++
				}
				function C(am, ao) {
					var al,
					aj,
					ak,
					ai,
					aq;
					if (am.type == "divider") {
						x("divider" + K(), ao, true, undefined, undefined, am.width, am.element);
						return
					}
					switch (am.name) {
					case "play":
						x("playButton", ao, false);
						x("pauseButton", ao, true);
						R("playButton", "jwPlay");
						R("pauseButton", "jwPause");
						break;
					case "prev":
						x("prevButton", ao, true);
						R("prevButton", "jwPlaylistPrev");
						break;
					case "stop":
						x("stopButton", ao, true);
						R("stopButton", "jwStop");
						break;
					case "next":
						x("nextButton", ao, true);
						R("nextButton", "jwPlaylistNext");
						break;
					case "elapsed":
						x("elapsedText", ao, true);
						break;
					case "time":
						aj = !_utils.exists(k.skin.getSkinElement("controlbar", "timeSliderCapLeft")) ? 0 : k.skin.getSkinElement("controlbar", "timeSliderCapLeft").width;
						ak = !_utils.exists(k.skin.getSkinElement("controlbar", "timeSliderCapRight")) ? 0 : k.skin.getSkinElement("controlbar", "timeSliderCapRight").width;
						al = ao == "left" ? aj : ak;
						ai = k.skin.getSkinElement("controlbar", "timeSliderRail").width + aj + ak;
						aq = {
							height : J().height,
							position : "absolute",
							top : 0,
							width : ai
						};
						aq[ao] = ao == "left" ? ab : E;
						var an = Z("timeSlider", Q.elements, aq);
						x("timeSliderCapLeft", ao, true, an, ao == "left" ? 0 : al);
						x("timeSliderRail", ao, false, an, al);
						x("timeSliderBuffer", ao, false, an, al);
						x("timeSliderProgress", ao, false, an, al);
						x("timeSliderThumb", ao, false, an, al);
						x("timeSliderCapRight", ao, true, an, ao == "right" ? 0 : al);
						X("time");
						break;
					case "fullscreen":
						x("fullscreenButton", ao, false);
						x("normalscreenButton", ao, true);
						R("fullscreenButton", "jwSetFullscreen", true);
						R("normalscreenButton", "jwSetFullscreen", false);
						break;
					case "volume":
						aj = !_utils.exists(k.skin.getSkinElement("controlbar", "volumeSliderCapLeft")) ? 0 : k.skin.getSkinElement("controlbar", "volumeSliderCapLeft").width;
						ak = !_utils.exists(k.skin.getSkinElement("controlbar", "volumeSliderCapRight")) ? 0 : k.skin.getSkinElement("controlbar", "volumeSliderCapRight").width;
						al = ao == "left" ? aj : ak;
						ai = k.skin.getSkinElement("controlbar", "volumeSliderRail").width + aj + ak;
						aq = {
							height : J().height,
							position : "absolute",
							top : 0,
							width : ai
						};
						aq[ao] = ao == "left" ? ab : E;
						var ap = Z("volumeSlider", Q.elements, aq);
						x("volumeSliderCapLeft", ao, true, ap, ao == "left" ? 0 : al);
						x("volumeSliderRail", ao, true, ap, al);
						x("volumeSliderProgress", ao, false, ap, al);
						x("volumeSliderCapRight", ao, true, ap, ao == "right" ? 0 : al);
						X("volume");
						break;
					case "mute":
						x("muteButton", ao, false);
						x("unmuteButton", ao, true);
						R("muteButton", "jwSetMute", true);
						R("unmuteButton", "jwSetMute", false);
						break;
					case "duration":
						x("durationText", ao, true);
						break
					}
				}
				function x(al, ao, aj, ar, am, ai, ak) {
					if (_utils.exists(k.skin.getSkinElement("controlbar", al)) || al.indexOf("Text") > 0 || al.indexOf("divider") === 0) {
						var an = {
							height : J().height,
							position : "absolute",
							display : "block",
							top : 0
						};
						if ((al.indexOf("next") === 0 || al.indexOf("prev") === 0) && k.jwGetPlaylist().length < 2) {
							aj = false;
							an.display = "none"
						}
						var at;
						if (al.indexOf("Text") > 0) {
							al.innerhtml = "00:00";
							an.font = D.fontsize + "px/" + (J().height + 1) + "px " + D.font;
							an.color = D.fontcolor;
							an.textAlign = "center";
							an.fontWeight = D.fontweight;
							an.fontStyle = D.fontstyle;
							an.cursor = "default";
							at = 14 + 3 * D.fontsize
						} else {
							if (al.indexOf("divider") === 0) {
								if (ai) {
									if (!isNaN(parseInt(ai))) {
										at = parseInt(ai)
									}
								} else {
									if (ak) {
										var ap = k.skin.getSkinElement("controlbar", ak);
										if (ap) {
											an.background = "url(" + ap.src + ") repeat-x center left";
											at = ap.width
										}
									} else {
										an.background = "url(" + k.skin.getSkinElement("controlbar", "divider").src + ") repeat-x center left";
										at = k.skin.getSkinElement("controlbar", "divider").width
									}
								}
							} else {
								an.background = "url(" + k.skin.getSkinElement("controlbar", al).src + ") repeat-x center left";
								at = k.skin.getSkinElement("controlbar", al).width
							}
						}
						if (ao == "left") {
							an.left = isNaN(am) ? ab : am;
							if (aj) {
								ab += at
							}
						} else {
							if (ao == "right") {
								an.right = isNaN(am) ? E : am;
								if (aj) {
									E += at
								}
							}
						}
						if (_utils.typeOf(ar) == "undefined") {
							ar = Q.elements
						}
						an.width = at;
						if (p) {
							_css(Q[al], an)
						} else {
							var aq = Z(al, ar, an);
							if (_utils.exists(k.skin.getSkinElement("controlbar", al + "Over"))) {
								aq.onmouseover = function (au) {
									aq.style.backgroundImage = ["url(", k.skin.getSkinElement("controlbar", al + "Over").src, ")"].join("")
								};
								aq.onmouseout = function (au) {
									aq.style.backgroundImage = ["url(", k.skin.getSkinElement("controlbar", al).src, ")"].join("")
								}
							}
						}
					}
				}
				function F() {
					k.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_LOADED, B);
					k.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_ITEM, s);
					k.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_BUFFER, u);
					k.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, r);
					k.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_TIME, I);
					k.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_MUTE, ag);
					k.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_VOLUME, m);
					k.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_COMPLETE, L)
				}
				function B() {
					N();
					M();
					w();
					ae()
				}
				function s(ai) {
					ad = k.jwGetPlaylist()[ai.index].duration;
					I({
							id : k.id,
							duration : ad,
							position : 0
						});
					u({
							id : k.id,
							bufferProgress : 0
						})
				}
				function ae() {
					I({
							id : k.id,
							duration : k.jwGetDuration(),
							position : 0
						});
					u({
							id : k.id,
							bufferProgress : 0
						});
					ag({
							id : k.id,
							mute : k.jwGetMute()
						});
					r({
							id : k.id,
							newstate : a.api.events.state.IDLE
						});
					m({
							id : k.id,
							volume : k.jwGetVolume()
						})
				}
				function R(ak, al, aj) {
					if (p) {
						return
					}
					if (_utils.exists(k.skin.getSkinElement("controlbar", ak))) {
						var ai = Q[ak];
						if (_utils.exists(ai)) {
							_css(ai, {
									cursor : "pointer"
								});
							if (al == "fullscreen") {
								ai.onmouseup = function (am) {
									am.stopPropagation();
									k.jwSetFullscreen(!k.jwGetFullscreen())
								}
							} else {
								ai.onmouseup = function (am) {
									am.stopPropagation();
									if (_utils.exists(aj)) {
										k[al](aj)
									} else {
										k[al]()
									}
								}
							}
						}
					}
				}
				function X(ai) {
					if (p) {
						return
					}
					var aj = Q[ai + "Slider"];
					_css(Q.elements, {
							cursor : "pointer"
						});
					_css(aj, {
							cursor : "pointer"
						});
					aj.onmousedown = function (ak) {
						v = ai
					};
					aj.onmouseup = function (ak) {
						ak.stopPropagation();
						af(ak.pageX)
					};
					aj.onmousemove = function (ak) {
						if (v == "time") {
							g = true;
							var al = ak.pageX - c[ai + "Slider"].left - window.pageXOffset;
							_css(Q.timeSliderThumb, {
									left : al
								})
						}
					}
				}
				function af(aj) {
					g = false;
					var ai;
					if (v == "time") {
						ai = aj - c.timeSliderRail.left + window.pageXOffset;
						var al = ai / c.timeSliderRail.width * ad;
						if (al < 0) {
							al = 0
						} else {
							if (al > ad) {
								al = ad - 3
							}
						}
						if (k.jwGetState() == a.api.events.state.PAUSED || k.jwGetState() == a.api.events.state.IDLE) {
							k.jwPlay()
						}
						k.jwSeek(al)
					} else {
						if (v == "volume") {
							ai = aj - c.volumeSliderRail.left - window.pageXOffset;
							var ak = Math.round(ai / c.volumeSliderRail.width * 100);
							if (ak < 0) {
								ak = 0
							} else {
								if (ak > 100) {
									ak = 100
								}
							}
							if (k.jwGetMute()) {
								k.jwSetMute(false)
							}
							k.jwSetVolume(ak)
						}
					}
					v = "none"
				}
				function u(aj) {
					if (_utils.exists(aj.bufferPercent)) {
						f = aj.bufferPercent
					}
					if (c.timeSliderRail) {
						var ak = c.timeSliderRail.width;
						var ai = isNaN(Math.round(ak * f / 100)) ? 0 : Math.round(ak * f / 100);
						_css(Q.timeSliderBuffer, {
								width : ai
							})
					}
				}
				function ag(ai) {
					if (ai.mute) {
						_hide(Q.muteButton);
						_show(Q.unmuteButton);
						_hide(Q.volumeSliderProgress)
					} else {
						_show(Q.muteButton);
						_hide(Q.unmuteButton);
						_show(Q.volumeSliderProgress)
					}
				}
				function r(ai) {
					if (ai.newstate == a.api.events.state.BUFFERING || ai.newstate == a.api.events.state.PLAYING) {
						_show(Q.pauseButton);
						_hide(Q.playButton)
					} else {
						_hide(Q.pauseButton);
						_show(Q.playButton)
					}
					A();
					if (ai.newstate == a.api.events.state.IDLE) {
						_hide(Q.timeSliderBuffer);
						_hide(Q.timeSliderProgress);
						_hide(Q.timeSliderThumb);
						I({
								id : k.id,
								duration : k.jwGetDuration(),
								position : 0
							})
					} else {
						_show(Q.timeSliderBuffer);
						if (ai.newstate != a.api.events.state.BUFFERING) {
							_show(Q.timeSliderProgress);
							_show(Q.timeSliderThumb)
						}
					}
				}
				function L(ai) {
					u({
							bufferPercent : 0
						});
					I(_utils.extend(ai, {
								position : 0,
								duration : ad
							}))
				}
				function I(al) {
					if (_utils.exists(al.position)) {
						j = al.position
					}
					if (_utils.exists(al.duration)) {
						ad = al.duration
					}
					var aj = (j === ad === 0) ? 0 : j / ad;
					var am = c.timeSliderRail;
					if (am) {
						var ai = isNaN(Math.round(am.width * aj)) ? 0 : Math.round(am.width * aj);
						var ak = ai;
						if (Q.timeSliderProgress) {
							Q.timeSliderProgress.style.width = ai + "px";
							if (!g) {
								if (Q.timeSliderThumb) {
									Q.timeSliderThumb.style.left = ak + "px"
								}
							}
						}
					}
					if (Q.durationText) {
						Q.durationText.innerHTML = _utils.timeFormat(ad)
					}
					if (Q.elapsedText) {
						Q.elapsedText.innerHTML = _utils.timeFormat(j)
					}
				}
				function n() {
					var am,
					aj;
					var ak = document.getElementById(ac.id + "_elements");
					if (!ak) {
						return
					}
					var al = ak.childNodes;
					for (var ai in ak.childNodes) {
						if (isNaN(parseInt(ai, 10))) {
							continue
						}
						if (al[ai].id.indexOf(ac.id + "_divider") === 0 && aj && aj.id.indexOf(ac.id + "_divider") === 0 && al[ai].style.backgroundImage == aj.style.backgroundImage) {
							al[ai].style.display = "none"
						} else {
							if (al[ai].id.indexOf(ac.id + "_divider") === 0 && am && am.style.display != "none") {
								al[ai].style.display = "block"
							}
						}
						if (al[ai].style.display != "none") {
							aj = al[ai]
						}
						am = al[ai]
					}
				}
				function w() {
					n();
					if (k.jwGetFullscreen()) {
						_show(Q.normalscreenButton);
						_hide(Q.fullscreenButton)
					} else {
						_hide(Q.normalscreenButton);
						_show(Q.fullscreenButton)
					}
					var aj = {
						width : e
					};
					var ai = {};
					if (D.position == a.html5.view.positions.OVER || k.jwGetFullscreen()) {
						aj.left = D.margin;
						aj.width -= 2 * D.margin;
						aj.top = y - J().height - D.margin;
						aj.height = J().height
					}
					var al = k.skin.getSkinElement("controlbar", "capLeft");
					var ak = k.skin.getSkinElement("controlbar", "capRight");
					ai.left = al ? al.width : 0;
					ai.width = aj.width - ai.left - (ak ? ak.width : 0);
					var am = !_utils.exists(k.skin.getSkinElement("controlbar", "timeSliderCapLeft")) ? 0 : k.skin.getSkinElement("controlbar", "timeSliderCapLeft").width;
					_css(Q.timeSliderRail, {
							width : (ai.width - ab - E),
							left : am
						});
					if (_utils.exists(Q.timeSliderCapRight)) {
						_css(Q.timeSliderCapRight, {
								left : am + (ai.width - ab - E)
							})
					}
					_css(ac, aj);
					_css(Q.elements, ai);
					_css(Q.background, ai);
					q();
					return aj
				}
				function m(am) {
					if (_utils.exists(Q.volumeSliderRail)) {
						var ak = isNaN(am.volume / 100) ? 1 : am.volume / 100;
						var al = _utils.parseDimension(Q.volumeSliderRail.style.width);
						var ai = isNaN(Math.round(al * ak)) ? 0 : Math.round(al * ak);
						var an = _utils.parseDimension(Q.volumeSliderRail.style.right);
						var aj = (!_utils.exists(k.skin.getSkinElement("controlbar", "volumeSliderCapLeft"))) ? 0 : k.skin.getSkinElement("controlbar", "volumeSliderCapLeft").width;
						_css(Q.volumeSliderProgress, {
								width : ai,
								left : aj
							});
						if (_utils.exists(Q.volumeSliderCapLeft)) {
							_css(Q.volumeSliderCapLeft, {
									left : 0
								})
						}
					}
				}
				function t() {
					N();
					M();
					q();
					p = true;
					F();
					D.idlehide = (D.idlehide.toString().toLowerCase() == "true");
					if (D.position == a.html5.view.positions.OVER && D.idlehide) {
						ac.style.opacity = 0;
						S = true
					} else {
						setTimeout((function () {
									S = true;
									T()
								}), 1)
					}
					ae()
				}
				t();
				return this
			}
		})(jwplayer);
	(function (b) {
			var a = ["width", "height", "state", "playlist", "item", "position", "buffer", "duration", "volume", "mute", "fullscreen"];
			var c = b.utils;
			b.html5.controller = function (z, w, h, v) {
				var C = z;
				var G = h;
				var g = v;
				var o = w;
				var J = true;
				var e = -1;
				var A = c.exists(G.config.debug) && (G.config.debug.toString().toLowerCase() == "console");
				var m = new b.html5.eventdispatcher(o.id, A);
				c.extend(this, m);
				var E = [];
				var d = false;
				function r(M) {
					if (d) {
						m.sendEvent(M.type, M)
					} else {
						E.push(M)
					}
				}
				function K(M) {
					if (!d) {
						f(G.item);
						m.sendEvent(b.api.events.JWPLAYER_READY, M);
						if (b.utils.exists(window.playerReady)) {
							playerReady(M)
						}
						if (b.utils.exists(window[h.config.playerReady])) {
							window[h.config.playerReady](M)
						}
						while (E.length > 0) {
							var O = E.shift();
							m.sendEvent(O.type, O)
						}
						if (h.config.autostart && !b.utils.isIOS()) {
							controller.item(h.item)
						}
						while (p.length > 0) {
							var N = p.shift();
							x(N.method, N.arguments)
						}
						d = true
					}
				}
				G.addGlobalListener(r);
				G.addEventListener(b.api.events.JWPLAYER_MEDIA_BUFFER_FULL, function () {
						G.getMedia().play()
					});
				G.addEventListener(b.api.events.JWPLAYER_MEDIA_TIME, function (M) {
						if (M.position >= G.playlist[G.item].start && e >= 0) {
							G.playlist[G.item].start = e;
							e = -1
						}
					});
				G.addEventListener(b.api.events.JWPLAYER_MEDIA_COMPLETE, function (M) {
						setTimeout(s, 25)
					});
				G.addEventListener(b.api.events.JWPLAYER_PLAYLIST_ITEM, function (M) {
						f(G.item)
					});
				function u() {
					try {
						if (G.playlist[G.item].levels[0].file.length > 0) {
							if (J || G.state == b.api.events.state.IDLE) {
								G.getMedia().load(G.playlist[G.item]);
								J = false
							} else {
								if (G.state == b.api.events.state.PAUSED) {
									G.getMedia().play()
								}
							}
						}
						return true
					} catch (M) {
						m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
					}
					return false
				}
				function I() {
					try {
						if (G.playlist[G.item].levels[0].file.length > 0) {
							switch (G.state) {
							case b.api.events.state.PLAYING:
							case b.api.events.state.BUFFERING:
								G.getMedia().pause();
								break
							}
						}
						return true
					} catch (M) {
						m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
					}
					return false
				}
				function D(M) {
					try {
						if (G.playlist[G.item].levels[0].file.length > 0) {
							if (typeof M != "number") {
								M = parseFloat(M)
							}
							switch (G.state) {
							case b.api.events.state.IDLE:
								if (e < 0) {
									e = G.playlist[G.item].start;
									G.playlist[G.item].start = M
								}
								u();
								break;
							case b.api.events.state.PLAYING:
							case b.api.events.state.PAUSED:
							case b.api.events.state.BUFFERING:
								G.seek(M);
								break
							}
						}
						return true
					} catch (N) {
						m.sendEvent(b.api.events.JWPLAYER_ERROR, N)
					}
					return false
				}
				function n(M) {
					if (!c.exists(M)) {
						M = true
					}
					try {
						G.getMedia().stop(M);
						return true
					} catch (N) {
						m.sendEvent(b.api.events.JWPLAYER_ERROR, N)
					}
					return false
				}
				function k() {
					try {
						if (G.playlist[G.item].levels[0].file.length > 0) {
							if (G.config.shuffle) {
								f(y())
							} else {
								if (G.item + 1 == G.playlist.length) {
									f(0)
								} else {
									f(G.item + 1)
								}
							}
						}
						if (G.state != b.api.events.state.IDLE) {
							var N = G.state;
							G.state = b.api.events.state.IDLE;
							m.sendEvent(b.api.events.JWPLAYER_PLAYER_STATE, {
									oldstate : N,
									newstate : b.api.events.state.IDLE
								})
						}
						u();
						return true
					} catch (M) {
						m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
					}
					return false
				}
				function j() {
					try {
						if (G.playlist[G.item].levels[0].file.length > 0) {
							if (G.config.shuffle) {
								f(y())
							} else {
								if (G.item === 0) {
									f(G.playlist.length - 1)
								} else {
									f(G.item - 1)
								}
							}
						}
						if (G.state != b.api.events.state.IDLE) {
							var N = G.state;
							G.state = b.api.events.state.IDLE;
							m.sendEvent(b.api.events.JWPLAYER_PLAYER_STATE, {
									oldstate : N,
									newstate : b.api.events.state.IDLE
								})
						}
						u();
						return true
					} catch (M) {
						m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
					}
					return false
				}
				function y() {
					var M = null;
					if (G.playlist.length > 1) {
						while (!c.exists(M)) {
							M = Math.floor(Math.random() * G.playlist.length);
							if (M == G.item) {
								M = null
							}
						}
					} else {
						M = 0
					}
					return M
				}
				function t(N) {
					if (!G.playlist || !G.playlist[N]) {
						return false
					}
					try {
						if (G.playlist[N].levels[0].file.length > 0) {
							var O = G.state;
							if (O !== b.api.events.state.IDLE) {
								if (G.playlist[G.item].provider == G.playlist[N].provider) {
									n(false)
								} else {
									n()
								}
							}
							f(N);
							u()
						}
						return true
					} catch (M) {
						m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
					}
					return false
				}
				function f(M) {
					if (!G.playlist[M]) {
						return
					}
					G.setActiveMediaProvider(G.playlist[M]);
					if (G.item != M) {
						G.item = M;
						J = true;
						m.sendEvent(b.api.events.JWPLAYER_PLAYLIST_ITEM, {
								index : M
							})
					}
				}
				function H(N) {
					try {
						switch (typeof(N)) {
						case "number":
							G.getMedia().volume(N);
							break;
						case "string":
							G.getMedia().volume(parseInt(N, 10));
							break
						}
						return true
					} catch (M) {
						m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
					}
					return false
				}
				function q(N) {
					try {
						if (typeof N == "undefined") {
							G.getMedia().mute(!G.mute)
						} else {
							if (N.toString().toLowerCase() == "true") {
								G.getMedia().mute(true)
							} else {
								G.getMedia().mute(false)
							}
						}
						return true
					} catch (M) {
						m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
					}
					return false
				}
				function l(N, M) {
					try {
						G.width = N;
						G.height = M;
						g.resize(N, M);
						m.sendEvent(b.api.events.JWPLAYER_RESIZE, {
								width : G.width,
								height : G.height
							});
						return true
					} catch (O) {
						m.sendEvent(b.api.events.JWPLAYER_ERROR, O)
					}
					return false
				}
				function B(N) {
					try {
						if (typeof N == "undefined") {
							G.fullscreen = !G.fullscreen;
							g.fullscreen(!G.fullscreen)
						} else {
							if (N.toString().toLowerCase() == "true") {
								G.fullscreen = true;
								g.fullscreen(true)
							} else {
								G.fullscreen = false;
								g.fullscreen(false)
							}
						}
						m.sendEvent(b.api.events.JWPLAYER_RESIZE, {
								width : G.width,
								height : G.height
							});
						m.sendEvent(b.api.events.JWPLAYER_FULLSCREEN, {
								fullscreen : N
							});
						return true
					} catch (M) {
						m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
					}
					return false
				}
				function L(M) {
					try {
						n();
						G.loadPlaylist(M);
						f(G.item);
						return true
					} catch (N) {
						m.sendEvent(b.api.events.JWPLAYER_ERROR, N)
					}
					return false
				}
				b.html5.controller.repeatoptions = {
					LIST : "LIST",
					ALWAYS : "ALWAYS",
					SINGLE : "SINGLE",
					NONE : "NONE"
				};
				function s() {
					switch (G.config.repeat.toUpperCase()) {
					case b.html5.controller.repeatoptions.SINGLE:
						u();
						break;
					case b.html5.controller.repeatoptions.ALWAYS:
						if (G.item == G.playlist.length - 1 && !G.config.shuffle) {
							t(0)
						} else {
							k()
						}
						break;
					case b.html5.controller.repeatoptions.LIST:
						if (G.item == G.playlist.length - 1 && !G.config.shuffle) {
							n();
							f(0)
						} else {
							k()
						}
						break;
					default:
						n();
						break
					}
				}
				var p = [];
				function F(M) {
					return function () {
						if (d) {
							x(M, arguments)
						} else {
							p.push({
									method : M,
									arguments : arguments
								})
						}
					}
				}
				function x(O, N) {
					var M = [];
					for (i = 0; i < N.length; i++) {
						M.push(N[i])
					}
					O.apply(this, M)
				}
				this.play = F(u);
				this.pause = F(I);
				this.seek = F(D);
				this.stop = F(n);
				this.next = F(k);
				this.prev = F(j);
				this.item = F(t);
				this.setVolume = F(H);
				this.setMute = F(q);
				this.resize = F(l);
				this.setFullscreen = F(B);
				this.load = F(L);
				this.playerReady = K
			}
		})(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) {
			_utils = a.utils;
			_css = _utils.css;
			_hide = function (b) {
				_css(b, {
						display : "none"
					})
			};
			_show = function (b) {
				_css(b, {
						display : "block"
					})
			};
			a.html5.display = function (k, G) {
				var j = {
					icons : true,
					showmute : false
				};
				var Q = _utils.extend({}, j, G);
				var h = k;
				var P = {};
				var e;
				var u;
				var w;
				var N;
				var s;
				var I;
				var A;
				var J = !_utils.exists(h.skin.getComponentSettings("display").bufferrotation) ? 15 : parseInt(h.skin.getComponentSettings("display").bufferrotation, 10);
				var q = !_utils.exists(h.skin.getComponentSettings("display").bufferinterval) ? 100 : parseInt(h.skin.getComponentSettings("display").bufferinterval, 10);
				var z = -1;
				var t = "";
				var K = true;
				var d;
				var g = false;
				var n = false;
				var H = new a.html5.eventdispatcher();
				_utils.extend(this, H);
				var D = {
					display : {
						style : {
							cursor : "pointer",
							top : 0,
							left : 0,
							overflow : "hidden"
						},
						click : m
					},
					display_icon : {
						style : {
							cursor : "pointer",
							position : "absolute",
							top : ((h.skin.getSkinElement("display", "background").height - h.skin.getSkinElement("display", "playIcon").height) / 2),
							left : ((h.skin.getSkinElement("display", "background").width - h.skin.getSkinElement("display", "playIcon").width) / 2),
							border : 0,
							margin : 0,
							padding : 0,
							zIndex : 3,
							display : "none"
						}
					},
					display_iconBackground : {
						style : {
							cursor : "pointer",
							position : "absolute",
							top : ((u - h.skin.getSkinElement("display", "background").height) / 2),
							left : ((e - h.skin.getSkinElement("display", "background").width) / 2),
							border : 0,
							backgroundImage : (["url(", h.skin.getSkinElement("display", "background").src, ")"]).join(""),
							width : h.skin.getSkinElement("display", "background").width,
							height : h.skin.getSkinElement("display", "background").height,
							margin : 0,
							padding : 0,
							zIndex : 2,
							display : "none"
						}
					},
					display_image : {
						style : {
							display : "none",
							width : e,
							height : u,
							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
						}
					}
				};
				h.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, p);
				h.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_MUTE, p);
				h.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_ITEM, p);
				h.jwAddEventListener(a.api.events.JWPLAYER_ERROR, o);
				L();
				function L() {
					P.display = C("div", "display");
					P.display_text = C("div", "display_text");
					P.display.appendChild(P.display_text);
					P.display_image = C("img", "display_image");
					P.display_image.onerror = function (R) {
						_hide(P.display_image)
					};
					P.display_image.onload = y;
					P.display_icon = C("div", "display_icon");
					P.display_iconBackground = C("div", "display_iconBackground");
					P.display.appendChild(P.display_image);
					P.display_iconBackground.appendChild(P.display_icon);
					P.display.appendChild(P.display_iconBackground);
					f();
					setTimeout((function () {
								n = true;
								if (Q.icons.toString() == "true") {
									F()
								}
							}), 1)
				}
				this.getDisplayElement = function () {
					return P.display
				};
				this.resize = function (S, R) {
					_css(P.display, {
							width : S,
							height : R
						});
					_css(P.display_text, {
							width : (S - 10),
							top : ((R - P.display_text.getBoundingClientRect().height) / 2)
						});
					_css(P.display_iconBackground, {
							top : ((R - h.skin.getSkinElement("display", "background").height) / 2),
							left : ((S - h.skin.getSkinElement("display", "background").width) / 2)
						});
					if (e != S || u != R) {
						e = S;
						u = R;
						d = undefined;
						F()
					}
					c();
					p({})
				};
				this.show = function () {
					if (g) {
						g = false;
						d = undefined;
						b()
					}
				};
				this.hide = function () {
					if (!g) {
						d = undefined;
						B();
						g = true
					}
				};
				function y(R) {
					w = P.display_image.naturalWidth;
					N = P.display_image.naturalHeight;
					c()
				}
				function c() {
					_utils.stretch(h.jwGetStretching(), P.display_image, e, u, w, N)
				}
				function C(R, T) {
					var S = document.createElement(R);
					S.id = h.id + "_jwplayer_" + T;
					_css(S, D[T].style);
					return S
				}
				function f() {
					for (var R in P) {
						if (_utils.exists(D[R].click)) {
							P[R].onclick = D[R].click
						}
					}
				}
				function m(R) {
					if (typeof R.preventDefault != "undefined") {
						R.preventDefault()
					} else {
						R.returnValue = false
					}
					if (h.jwGetState() != a.api.events.state.PLAYING) {
						h.jwPlay()
					} else {
						h.jwPause()
					}
				}
				function O(R) {
					if (A) {
						B();
						return
					}
					P.display_icon.style.backgroundImage = (["url(", h.skin.getSkinElement("display", R).src, ")"]).join("");
					_css(P.display_icon, {
							width : h.skin.getSkinElement("display", R).width,
							height : h.skin.getSkinElement("display", R).height,
							top : (h.skin.getSkinElement("display", "background").height - h.skin.getSkinElement("display", R).height) / 2,
							left : (h.skin.getSkinElement("display", "background").width - h.skin.getSkinElement("display", R).width) / 2
						});
					b();
					if (_utils.exists(h.skin.getSkinElement("display", R + "Over"))) {
						P.display_icon.onmouseover = function (S) {
							P.display_icon.style.backgroundImage = ["url(", h.skin.getSkinElement("display", R + "Over").src, ")"].join("")
						};
						P.display_icon.onmouseout = function (S) {
							P.display_icon.style.backgroundImage = ["url(", h.skin.getSkinElement("display", R).src, ")"].join("")
						}
					} else {
						P.display_icon.onmouseover = null;
						P.display_icon.onmouseout = null
					}
				}
				function B() {
					if (Q.icons.toString() == "true") {
						_hide(P.display_icon);
						_hide(P.display_iconBackground);
						M()
					}
				}
				function b() {
					if (!g && Q.icons.toString() == "true") {
						_show(P.display_icon);
						_show(P.display_iconBackground);
						F()
					}
				}
				function o(R) {
					A = true;
					B();
					P.display_text.innerHTML = R.error;
					_show(P.display_text);
					P.display_text.style.top = ((u - P.display_text.getBoundingClientRect().height) / 2) + "px"
				}
				function E() {
					P.display_image.style.display = "none"
				}
				function p(R) {
					if ((R.type == a.api.events.JWPLAYER_PLAYER_STATE || R.type == a.api.events.JWPLAYER_PLAYLIST_ITEM) && A) {
						A = false;
						_hide(P.display_text)
					}
					var S = h.jwGetState();
					if (S == t) {
						return
					}
					t = S;
					if (z >= 0) {
						clearTimeout(z)
					}
					if (K || h.jwGetState() == a.api.events.state.PLAYING || h.jwGetState() == a.api.events.state.PAUSED) {
						r(h.jwGetState())
					} else {
						z = setTimeout(l(h.jwGetState()), 500)
					}
				}
				function l(R) {
					return (function () {
							r(R)
						})
				}
				function r(R) {
					if (_utils.exists(I)) {
						clearInterval(I);
						I = null;
						_utils.animations.rotate(P.display_icon, 0)
					}
					switch (R) {
					case a.api.events.state.BUFFERING:
						if (_utils.isIOS()) {
							E();
							B()
						} else {
							if (h.jwGetPlaylist()[h.jwGetItem()].provider == "sound") {
								v()
							}
							s = 0;
							I = setInterval(function () {
										s += J;
										_utils.animations.rotate(P.display_icon, s % 360)
									}, q);
							O("bufferIcon");
							K = true
						}
						break;
					case a.api.events.state.PAUSED:
						if (!_utils.isIOS()) {
							if (h.jwGetPlaylist()[h.jwGetItem()].provider != "sound") {
								_css(P.display_image, {
										background : "transparent no-repeat center center"
									})
							}
							O("playIcon");
							K = true
						}
						break;
					case a.api.events.state.IDLE:
						if (h.jwGetPlaylist()[h.jwGetItem()] && h.jwGetPlaylist()[h.jwGetItem()].image) {
							v()
						} else {
							E()
						}
						O("playIcon");
						K = true;
						break;
					default:
						if (h.jwGetPlaylist()[h.jwGetItem()] && h.jwGetPlaylist()[h.jwGetItem()].provider == "sound") {
							if (_utils.isIOS()) {
								E();
								K = false
							} else {
								v()
							}
						} else {
							E();
							K = false
						}
						if (h.jwGetMute() && Q.showmute) {
							O("muteIcon")
						} else {
							B()
						}
						break
					}
					z = -1
				}
				function v() {
					_css(P.display_image, {
							display : "block"
						});
					P.display_image.src = _utils.getAbsolutePath(h.jwGetPlaylist()[h.jwGetItem()].image)
				}
				function x(R) {
					return function () {
						if (!n) {
							return
						}
						if (!g && d != R) {
							d = R;
							H.sendEvent(R, {
									component : "display",
									boundingRect : _utils.getDimensions(P.display_iconBackground)
								})
						}
					}
				}
				var F = x(a.api.events.JWPLAYER_COMPONENT_SHOW);
				var M = x(a.api.events.JWPLAYER_COMPONENT_HIDE);
				return this
			}
		})(jwplayer);
	(function (a) {
			_css = a.utils.css;
			a.html5.dock = function (p, u) {
				function q() {
					return {
						align : a.html5.view.positions.RIGHT
					}
				}
				var k = a.utils.extend({}, q(), u);
				if (k.align == "FALSE") {
					return
				}
				var f = {};
				var s = [];
				var g;
				var v;
				var d = false;
				var t = false;
				var e = {
					x : 0,
					y : 0,
					width : 0,
					height : 0
				};
				var r;
				var j = new a.html5.eventdispatcher();
				_utils.extend(this, j);
				var m = document.createElement("div");
				m.id = p.id + "_jwplayer_dock";
				p.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, l);
				this.getDisplayElement = function () {
					return m
				};
				this.setButton = function (A, x, y, z) {
					if (!x && f[A]) {
						a.utils.arrays.remove(s, A);
						m.removeChild(f[A].div);
						delete f[A]
					} else {
						if (x) {
							if (!f[A]) {
								f[A] = {}
								
							}
							f[A].handler = x;
							f[A].outGraphic = y;
							f[A].overGraphic = z;
							if (!f[A].div) {
								s.push(A);
								f[A].div = document.createElement("div");
								f[A].div.style.position = "relative";
								m.appendChild(f[A].div);
								f[A].div.appendChild(document.createElement("img"));
								f[A].div.childNodes[0].style.position = "absolute";
								f[A].div.childNodes[0].style.left = 0;
								f[A].div.childNodes[0].style.top = 0;
								f[A].div.childNodes[0].style.zIndex = 10;
								f[A].div.childNodes[0].style.cursor = "pointer";
								f[A].div.appendChild(document.createElement("img"));
								f[A].div.childNodes[1].style.position = "absolute";
								f[A].div.childNodes[1].style.left = 0;
								f[A].div.childNodes[1].style.top = 0;
								if (p.skin.getSkinElement("dock", "button")) {
									f[A].div.childNodes[1].src = p.skin.getSkinElement("dock", "button").src
								}
								f[A].div.childNodes[1].style.zIndex = 9;
								f[A].div.childNodes[1].style.cursor = "pointer";
								f[A].div.onmouseover = function () {
									if (f[A].overGraphic) {
										f[A].div.childNodes[0].src = f[A].overGraphic
									}
									if (p.skin.getSkinElement("dock", "buttonOver")) {
										f[A].div.childNodes[1].src = p.skin.getSkinElement("dock", "buttonOver").src
									}
								};
								f[A].div.onmouseout = function () {
									if (f[A].outGraphic) {
										f[A].div.childNodes[0].src = f[A].outGraphic
									}
									if (p.skin.getSkinElement("dock", "button")) {
										f[A].div.childNodes[1].src = p.skin.getSkinElement("dock", "button").src
									}
								};
								if (f[A].overGraphic) {
									f[A].div.childNodes[0].src = f[A].overGraphic
								}
								if (f[A].outGraphic) {
									f[A].div.childNodes[0].src = f[A].outGraphic
								}
								if (p.skin.getSkinElement("dock", "button")) {
									f[A].div.childNodes[1].src = p.skin.getSkinElement("dock", "button").src
								}
							}
							if (x) {
								f[A].div.onclick = function (B) {
									B.preventDefault();
									a(p.id).callback(A);
									if (f[A].overGraphic) {
										f[A].div.childNodes[0].src = f[A].overGraphic
									}
									if (p.skin.getSkinElement("dock", "button")) {
										f[A].div.childNodes[1].src = p.skin.getSkinElement("dock", "button").src
									}
								}
							}
						}
					}
					h(g, v)
				};
				function h(x, J) {
					if (s.length > 0) {
						var y = 10;
						var I = y;
						var F = -1;
						var G = p.skin.getSkinElement("dock", "button").height;
						var E = p.skin.getSkinElement("dock", "button").width;
						var C = x - E - y;
						var H,
						B;
						if (k.align == a.html5.view.positions.LEFT) {
							F = 1;
							C = y
						}
						for (var z = 0; z < s.length; z++) {
							var K = Math.floor(I / J);
							if ((I + G + y) > ((K + 1) * J)) {
								I = ((K + 1) * J) + y;
								K = Math.floor(I / J)
							}
							var A = f[s[z]].div;
							A.style.top = (I % J) + "px";
							A.style.left = (C + (p.skin.getSkinElement("dock", "button").width + y) * K * F) + "px";
							var D = {
								x : a.utils.parseDimension(A.style.left),
								y : a.utils.parseDimension(A.style.top),
								width : E,
								height : G
							};
							if (!H || (D.x <= H.x && D.y <= H.y)) {
								H = D
							}
							if (!B || (D.x >= B.x && D.y >= B.y)) {
								B = D
							}
							I += p.skin.getSkinElement("dock", "button").height + y
						}
						e = {
							x : H.x,
							y : H.y,
							width : B.x - H.x + B.width,
							height : H.y - B.y + B.height
						}
					}
					if (t != p.jwGetFullscreen() || g != x || v != J) {
						g = x;
						v = J;
						t = p.jwGetFullscreen();
						r = undefined;
						setTimeout(n, 1)
					}
				}
				function b(x) {
					return function () {
						if (!d && r != x && s.length > 0) {
							r = x;
							j.sendEvent(x, {
									component : "dock",
									boundingRect : e
								})
						}
					}
				}
				function l(x) {
					if (a.utils.isIOS()) {
						switch (x.newstate) {
						case a.api.events.state.IDLE:
							o();
							break;
						default:
							c();
							break
						}
					}
				}
				var n = b(a.api.events.JWPLAYER_COMPONENT_SHOW);
				var w = b(a.api.events.JWPLAYER_COMPONENT_HIDE);
				this.resize = h;
				var o = function () {
					_css(m, {
							display : "block"
						});
					if (d) {
						d = false;
						n()
					}
				};
				var c = function () {
					_css(m, {
							display : "none"
						});
					if (!d) {
						w();
						d = true
					}
				};
				this.hide = c;
				this.show = o;
				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 (!a.utils.exists(f)) {
						f = {}
						
					}
					a.utils.extend(f, {
							id : d,
							version : a.version,
							type : e
						});
					c.sendEvent(e, f)
				}
			}
		})(jwplayer);
	(function (a) {
			var b = {
				prefix : "http://l.longtailvideo.com/html5/",
				file : "logo.png",
				link : "http://www.longtailvideo.com/players/jw-flv-player/",
				margin : 8,
				out : 0.5,
				over : 1,
				timeout : 5,
				hide : true,
				position : "bottom-left"
			};
			_css = a.utils.css;
			a.html5.logo = function (m, n) {
				var s = m;
				var o;
				var j;
				var c;
				k();
				function k() {
					q();
					d();
					f()
				}
				function q() {
					if (b.prefix) {
						var u = m.version.split(/\W/).splice(0, 2).join("/");
						if (b.prefix.indexOf(u) < 0) {
							b.prefix += u + "/"
						}
					}
					if (n.position == a.html5.view.positions.OVER) {
						n.position = b.position
					}
					j = a.utils.extend({}, b)
				}
				function d() {
					c = document.createElement("img");
					c.id = s.id + "_jwplayer_logo";
					c.style.display = "none";
					c.onload = function (u) {
						_css(c, r());
						s.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, t);
						e()
					};
					if (!j.file) {
						return
					}
					if (j.file.indexOf("http://") === 0) {
						c.src = j.file
					} else {
						c.src = j.prefix + j.file
					}
				}
				if (!j.file) {
					return
				}
				this.resize = function (v, u) {};
				this.getDisplayElement = function () {
					return c
				};
				function f() {
					if (j.link) {
						c.onmouseover = h;
						c.onmouseout = e;
						c.onclick = p
					} else {
						this.mouseEnabled = false
					}
				}
				function p(u) {
					if (typeof u != "undefined") {
						u.stopPropagation()
					}
					s.jwPause();
					s.jwSetFullscreen(false);
					if (j.link) {
						window.open(j.link, "_top")
					}
					return
				}
				function e(u) {
					if (j.link) {
						c.style.opacity = j.out
					}
					return
				}
				function h(u) {
					if (j.hide.toString() == "true") {
						c.style.opacity = j.over
					}
					return
				}
				function r() {
					var w = {
						textDecoration : "none",
						position : "absolute",
						cursor : "pointer"
					};
					w.display = (j.hide.toString() == "true") ? "none" : "block";
					var v = j.position.toLowerCase().split("-");
					for (var u in v) {
						w[v[u]] = j.margin
					}
					return w
				}
				function l() {
					if (j.hide.toString() == "true") {
						c.style.display = "block";
						c.style.opacity = 0;
						a.utils.fadeTo(c, j.out, 0.1, parseFloat(c.style.opacity));
						o = setTimeout(function () {
									g()
								}, j.timeout * 1000)
					}
				}
				function g() {
					if (j.hide.toString() == "hide") {
						a.utils.fadeTo(c, 0, 0.1, parseFloat(c.style.opacity))
					}
				}
				function t(u) {
					if (u.newstate == a.api.events.state.BUFFERING) {
						clearTimeout(o);
						l()
					}
				}
				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 e = a.utils;
			var b = e.css;
			var d = e.isIOS();
			a.html5.mediavideo = function (h, s) {
				var r = {
					abort : n,
					canplay : k,
					canplaythrough : k,
					durationchange : G,
					emptied : n,
					ended : k,
					error : u,
					loadeddata : G,
					loadedmetadata : G,
					loadstart : k,
					pause : k,
					play : D,
					playing : k,
					progress : v,
					ratechange : n,
					seeked : k,
					seeking : k,
					stalled : k,
					suspend : k,
					timeupdate : D,
					volumechange : n,
					waiting : k,
					canshowcurrentframe : n,
					dataunavailable : n,
					empty : n,
					load : z,
					loadedfirstframe : n
				};
				var j = new a.html5.eventdispatcher();
				e.extend(this, j);
				var y = h,
				l = s,
				m,
				B,
				A,
				x,
				f,
				H = false,
				C,
				p,
				q;
				o();
				this.load = function (J, K) {
					if (typeof K == "undefined") {
						K = true
					}
					x = J;
					e.empty(m);
					q = 0;
					if (J.levels && J.levels.length > 0) {
						if (J.levels.length == 1) {
							m.src = J.levels[0].file
						} else {
							if (m.src) {
								m.removeAttribute("src")
							}
							for (var I = 0; I < J.levels.length; I++) {
								var L = m.ownerDocument.createElement("source");
								L.src = J.levels[I].file;
								m.appendChild(L);
								q++
							}
						}
					} else {
						m.src = J.file
					}
					if (d) {
						if (J.image) {
							m.poster = J.image
						}
						m.controls = "controls"
					}
					C = p = A = false;
					y.buffer = 0;
					if (!e.exists(J.start)) {
						J.start = 0
					}
					y.duration = J.duration;
					j.sendEvent(a.api.events.JWPLAYER_MEDIA_LOADED);
					if ((!d && J.levels.length == 1) || !H) {
						m.load()
					}
					H = false;
					if (K) {
						E(a.api.events.state.BUFFERING);
						j.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER, {
								bufferPercent : 0
							});
						this.play()
					}
				};
				this.play = function () {
					if (B != a.api.events.state.PLAYING) {
						t();
						m.play();
						if (p) {
							E(a.api.events.state.PLAYING)
						} else {
							E(a.api.events.state.BUFFERING)
						}
					}
				};
				this.pause = function () {
					m.pause();
					E(a.api.events.state.PAUSED)
				};
				this.seek = function (I) {
					if (!(y.duration <= 0 || isNaN(y.duration)) && !(y.position <= 0 || isNaN(y.position))) {
						m.currentTime = I;
						m.play()
					}
				};
				_stop = this.stop = function (I) {
					if (!e.exists(I)) {
						I = true
					}
					g();
					if (I) {
						m.style.display = "none";
						p = false;
						var J = navigator.userAgent;
						if (J.match(/chrome/i)) {
							m.src = undefined
						} else {
							if (J.match(/safari/i)) {
								m.removeAttribute("src")
							} else {
								m.src = ""
							}
						}
						m.removeAttribute("controls");
						m.removeAttribute("poster");
						e.empty(m);
						m.load();
						H = true;
						if (m.webkitSupportsFullscreen) {
							try {
								m.webkitExitFullscreen()
							} catch (K) {}
							
						}
					}
					E(a.api.events.state.IDLE)
				};
				this.fullscreen = function (I) {
					if (I === true) {
						this.resize("100%", "100%")
					} else {
						this.resize(y.config.width, y.config.height)
					}
				};
				this.resize = function (J, I) {
					if (false) {
						b(l, {
								width : J,
								height : I
							})
					}
					j.sendEvent(a.api.events.JWPLAYER_MEDIA_RESIZE, {
							fullscreen : y.fullscreen,
							width : J,
							hieght : I
						})
				};
				this.volume = function (I) {
					if (!d) {
						m.volume = I / 100;
						y.volume = I;
						j.sendEvent(a.api.events.JWPLAYER_MEDIA_VOLUME, {
								volume : Math.round(I)
							})
					}
				};
				this.mute = function (I) {
					if (!d) {
						m.muted = I;
						y.mute = I;
						j.sendEvent(a.api.events.JWPLAYER_MEDIA_MUTE, {
								mute : I
							})
					}
				};
				this.getDisplayElement = function () {
					return m
				};
				this.hasChrome = function () {
					return false
				};
				function o() {
					m = document.createElement("video");
					B = a.api.events.state.IDLE;
					for (var I in r) {
						m.addEventListener(I, function (J) {
								if (e.exists(J.target.parentNode)) {
									r[J.type](J)
								}
							}, true)
					}
					if (l.parentNode) {
						l.parentNode.replaceChild(m, l)
					}
					if (!m.id) {
						m.id = l.id
					}
				}
				function E(I) {
					if (I == a.api.events.state.PAUSED && B == a.api.events.state.IDLE) {
						return
					}
					if (B != I) {
						var J = B;
						y.state = B = I;
						j.sendEvent(a.api.events.JWPLAYER_PLAYER_STATE, {
								oldstate : J,
								newstate : I
							})
					}
				}
				function n(I) {}
				
				function v(K) {
					var J;
					if (e.exists(K) && K.lengthComputable && K.total) {
						J = K.loaded / K.total * 100
					} else {
						if (e.exists(m.buffered) && (m.buffered.length > 0)) {
							var I = m.buffered.length - 1;
							if (I >= 0) {
								J = m.buffered.end(I) / m.duration * 100
							}
						}
					}
					if (p === false && B == a.api.events.state.BUFFERING) {
						j.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER_FULL);
						p = true
					}
					if (!C) {
						if (J == 100) {
							C = true
						}
						if (e.exists(J) && (J > y.buffer)) {
							y.buffer = Math.round(J);
							j.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER, {
									bufferPercent : Math.round(J)
								})
						}
					}
				}
				function D(J) {
					if (e.exists(J) && e.exists(J.target)) {
						if (y.duration <= 0 || isNaN(y.duration)) {
							y.duration = Math.round(J.target.duration * 10) / 10
						}
						if (!A && m.readyState > 0) {
							m.style.display = "block";
							E(a.api.events.state.PLAYING)
						}
						if (B == a.api.events.state.PLAYING) {
							if (!A && m.readyState > 0) {
								A = true;
								try {
									if (m.currentTime < x.start) {
										m.currentTime = x.start
									}
								} catch (I) {}
								
								m.volume = y.volume / 100;
								m.muted = y.mute
							}
							y.position = Math.round(J.target.currentTime * 10) / 10;
							j.sendEvent(a.api.events.JWPLAYER_MEDIA_TIME, {
									position : J.target.currentTime,
									duration : y.duration
								});
							if (y.position >= y.duration && (y.position > 0 || y.duration > 0)) {
								w()
							}
						}
					}
					v(J)
				}
				function z(I) {}
				
				function k(I) {
					if (c[I.type]) {
						if (I.type == "ended") {
							w()
						} else {
							E(c[I.type])
						}
					}
				}
				function G(I) {
					var J = {
						height : I.target.videoHeight,
						width : I.target.videoWidth,
						duration : Math.round(I.target.duration * 10) / 10
					};
					if (y.duration === 0 || isNaN(y.duration)) {
						y.duration = Math.round(I.target.duration * 10) / 10
					}
					j.sendEvent(a.api.events.JWPLAYER_MEDIA_META, {
							metadata : J
						})
				}
				function u(K) {
					if (B == a.api.events.state.IDLE) {
						return
					}
					var J = "There was an error: ";
					if ((K.target.error && K.target.tagName.toLowerCase() == "video") || K.target.parentNode.error && K.target.parentNode.tagName.toLowerCase() == "video") {
						var I = !e.exists(K.target.error) ? K.target.parentNode.error : K.target.error;
						switch (I.code) {
						case I.MEDIA_ERR_ABORTED:
							J = "You aborted the video playback: ";
							break;
						case I.MEDIA_ERR_NETWORK:
							J = "A network error caused the video download to fail part-way: ";
							break;
						case I.MEDIA_ERR_DECODE:
							J = "The video playback was aborted due to a corruption problem or because the video used features your browser did not support: ";
							break;
						case I.MEDIA_ERR_SRC_NOT_SUPPORTED:
							J = "The video could not be loaded, either because the server or network failed or because the format is not supported: ";
							break;
						default:
							J = "An unknown error occurred: ";
							break
						}
					} else {
						if (K.target.tagName.toLowerCase() == "source") {
							q--;
							if (q > 0) {
								return
							}
							J = "The video could not be loaded, either because the server or network failed or because the format is not supported: "
						} else {
							e.log("An unknown error occurred.  Continuing...");
							return
						}
					}
					_stop(false);
					J += F();
					_error = true;
					j.sendEvent(a.api.events.JWPLAYER_ERROR, {
							error : J
						});
					return
				}
				function F() {
					var K = "";
					for (var J in x.levels) {
						var I = x.levels[J];
						var L = l.ownerDocument.createElement("source");
						K += a.utils.getAbsolutePath(I.file);
						if (J < (x.levels.length - 1)) {
							K += ", "
						}
					}
					return K
				}
				function t() {
					if (!e.exists(f)) {
						f = setInterval(function () {
									v()
								}, 100)
					}
				}
				function g() {
					clearInterval(f);
					f = null
				}
				function w() {
					if (B != a.api.events.state.IDLE) {
						_stop(false);
						j.sendEvent(a.api.events.JWPLAYER_MEDIA_COMPLETE)
					}
				}
			}
		})(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.mediayoutube = function (j, e) {
				var f = new a.html5.eventdispatcher();
				a.utils.extend(this, f);
				var l = j;
				var h = document.getElementById(e.id);
				var g = a.api.events.state.IDLE;
				var o,
				n;
				m();
				function k(q) {
					if (g != q) {
						var r = g;
						l.state = q;
						g = q;
						f.sendEvent(a.api.events.JWPLAYER_PLAYER_STATE, {
								oldstate : r,
								newstate : q
							})
					}
				}
				this.getDisplayElement = function () {
					return h
				};
				this.play = function () {
					if (g == a.api.events.state.IDLE) {
						f.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER, {
								bufferPercent : 100
							});
						f.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER_FULL);
						k(a.api.events.state.PLAYING)
					} else {
						if (g == a.api.events.state.PAUSED) {
							k(a.api.events.state.PLAYING)
						}
					}
				};
				this.pause = function () {
					k(a.api.events.state.PAUSED)
				};
				this.seek = function (q) {};
				this.stop = function (q) {
					if (!_utils.exists(q)) {
						q = true
					}
					l.position = 0;
					k(a.api.events.state.IDLE);
					if (q) {
						b(o, {
								display : "none"
							})
					}
				};
				this.volume = function (q) {
					l.volume = q;
					f.sendEvent(a.api.events.JWPLAYER_MEDIA_VOLUME, {
							volume : Math.round(q)
						})
				};
				this.mute = function (q) {
					h.muted = q;
					l.mute = q;
					f.sendEvent(a.api.events.JWPLAYER_MEDIA_MUTE, {
							mute : q
						})
				};
				this.resize = function (r, q) {
					if (r * q > 0) {
						o.width = n.width = r;
						o.height = n.height = q
					}
					f.sendEvent(a.api.events.JWPLAYER_MEDIA_RESIZE, {
							fullscreen : l.fullscreen,
							width : r,
							height : q
						})
				};
				this.fullscreen = function (q) {
					if (q === true) {
						this.resize("100%", "100%")
					} else {
						this.resize(l.config.width, l.config.height)
					}
				};
				this.load = function (q) {
					b(o, {
							display : "block"
						});
					p(q);
					k(a.api.events.state.BUFFERING);
					f.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER, {
							bufferPercent : 0
						});
					f.sendEvent(a.api.events.JWPLAYER_MEDIA_LOADED);
					this.play()
				};
				this.hasChrome = function () {
					return (g != a.api.events.state.IDLE)
				};
				function p(w) {
					var t = w.levels[0].file;
					t = ["http://www.youtube.com/v/", d(t), "&amp;hl=en_US&amp;fs=1&autoplay=1"].join("");
					var v = {
						movie : t,
						allowfullscreen : "true",
						allowscriptaccess : "always"
					};
					o.innerHTML = "";
					for (var q in v) {
						var u = document.createElement("param");
						u.name = q;
						u.value = v[q];
						o.appendChild(u)
					}
					var r = {
						src : t,
						type : "application/x-shockwave-flash",
						allowfullscreen : "true",
						allowscriptaccess : "always",
						width : o.width,
						height : o.height
					};
					for (var s in r) {
						n.setAttribute(s, r[s])
					}
					o.appendChild(n);
					o.style.zIndex = 2147483000
				}
				function m() {
					o = document.createElement("object");
					o.id = h.id;
					o.style.position = "absolute";
					o.width = l.config.width;
					o.height = l.config.height;
					if (h.parentNode) {
						h.parentNode.replaceChild(o, h)
					}
					h = o;
					n = document.createElement("embed");
					o.appendChild(n);
					if (a.utils.isIOS() && l.playlist && l.playlist[l.item]) {
						p(l.playlist[l.item])
					}
				}
				function d(r) {
					var q = r.split(/\?|\#\!/);
					var t = "";
					for (var s = 0; s < q.length; s++) {
						if (q[s].substr(0, 2) == "v=") {
							t = q[s].substr(2)
						}
					}
					if (t == "") {
						if (r.indexOf("/v/") >= 0) {
							t = r.substr(r.indexOf("/v/") + 3)
						} else {
							if (r.indexOf("youtu.be") >= 0) {
								t = r.substr(r.indexOf("youtu.be/") + 9)
							} else {
								t = r
							}
						}
					}
					if (t.indexOf("?") > -1) {
						t = t.substr(0, t.indexOf("?"))
					}
					if (t.indexOf("&") > -1) {
						t = t.substr(0, t.indexOf("&"))
					}
					return t
				}
				this.embed = n;
				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 : "",
						stretching : jwplayer.utils.stretching.UNIFORM,
						autostart : false,
						debug : undefined,
						screencolor : undefined
					}
				};
				var _media;
				var _eventDispatcher = new jwplayer.html5.eventdispatcher();
				var _components = ["display", "logo", "controlbar", "playlist", "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 (!jwplayer.utils.exists(config[path[edge]])) {
								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 (jwplayer.utils.exists(_model.plugins)) {
					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.isIPod()) {
					_model.config.chromeless = true
				}
				if (jwplayer.utils.isIPad()) {
					pluginorder = ["display", "logo", "dock", "playlist"];
					if (!jwplayer.utils.exists(_model.config.repeat)) {
						_model.config.repeat = "list"
					}
				} else {
					if (_model.config.chromeless) {
						pluginorder = ["logo", "playlist"];
						if (!jwplayer.utils.exists(_model.config.repeat)) {
							_model.config.repeat = "list"
						}
					}
				}
				_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 = !jwplayer.utils.exists(_model.plugins.config[pluginName]) ? {}
						
						 : _model.plugins.config[pluginName];
					_model.plugins.config[pluginName] = !jwplayer.utils.exists(_model.plugins.config[pluginName]) ? pluginConfig : jwplayer.utils.extend(_model.plugins.config[pluginName], pluginConfig);
					if (!jwplayer.utils.exists(_model.plugins.config[pluginName].position)) {
						if (pluginName == "playlist") {
							_model.plugins.config[pluginName].position = jwplayer.html5.view.positions.NONE
						} else {
							_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
					}
				}
				function _loadExternal(playlistfile) {
					var loader = new jwplayer.html5.playlistloader();
					loader.addEventListener(jwplayer.api.events.JWPLAYER_PLAYLIST_LOADED, function (evt) {
							_model.playlist = new jwplayer.html5.playlist(evt);
							_loadComplete(true)
						});
					loader.addEventListener(jwplayer.api.events.JWPLAYER_ERROR, function (evt) {
							_model.playlist = new jwplayer.html5.playlist({
										playlist : []
									});
							_loadComplete(false)
						});
					loader.load(playlistfile)
				}
				function _loadComplete() {
					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
					}
					_eventDispatcher.sendEvent(jwplayer.api.events.JWPLAYER_PLAYLIST_LOADED, {
							playlist : _model.playlist
						});
					_eventDispatcher.sendEvent(jwplayer.api.events.JWPLAYER_PLAYLIST_ITEM, {
							index : _model.item
						});
					if (_model.playlist[_model.item].file || _model.playlist[_model.item].levels[0].file) {
						_model.setActiveMediaProvider(_model.playlist[_model.item])
					}
				}
				_model.loadPlaylist = function (arg) {
					var input;
					if (typeof arg == "string") {
						if (arg.indexOf("[") == 0 || arg.indexOf("{") == "0") {
							try {
								input = eval(arg)
							} catch (err) {
								input = arg
							}
						} else {
							input = arg
						}
					} else {
						input = arg
					}
					var config;
					switch (jwplayer.utils.typeOf(input)) {
					case "object":
						config = input;
						break;
					case "array":
						config = {
							playlist : input
						};
						break;
					default:
						_loadExternal(input);
						return;
						break
					}
					_model.playlist = new jwplayer.html5.playlist(config);
					if (jwplayer.utils.extension(_model.playlist[0].file) == "xml") {
						_loadExternal(_model.playlist[0].file)
					} else {
						_loadComplete()
					}
				};
				function _getShuffleItem() {
					var result = null;
					if (_model.playlist.length > 1) {
						while (!jwplayer.utils.exists(result)) {
							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)
				}
				var _mediaProviders = {};
				_model.setActiveMediaProvider = function (playlistItem) {
					if (playlistItem.provider == "audio") {
						playlistItem.provider = "sound"
					}
					var provider = playlistItem.provider;
					var current = _media ? _media.getDisplayElement() : null;
					if (provider == "sound" || provider == "http" || provider == "") {
						provider = "video"
					}
					if (!jwplayer.utils.exists(_mediaProviders[provider])) {
						switch (provider) {
						case "video":
							_media = new jwplayer.html5.mediavideo(_model, current ? current : _container);
							break;
						case "youtube":
							_media = new jwplayer.html5.mediayoutube(_model, current ? current : _container);
							break
						}
						if (!jwplayer.utils.exists(_media)) {
							return false
						}
						_media.addGlobalListener(forward);
						_mediaProviders[provider] = _media
					} else {
						if (_media != _mediaProviders[provider]) {
							if (_media) {
								_media.stop()
							}
							_media = _mediaProviders[provider]
						}
					}
					if (_model.config.chromeless) {
						_media.load(playlistItem, false)
					}
					return true
				};
				_model.getMedia = function () {
					return _media
				};
				_model.seek = function (pos) {
					_eventDispatcher.sendEvent(jwplayer.api.events.JWPLAYER_MEDIA_SEEK, {
							position : _model.position,
							offset : pos
						});
					return _media.seek(pos)
				};
				_model.setupPlugins = function () {
					if (!jwplayer.utils.exists(_model.plugins) || !jwplayer.utils.exists(_model.plugins.order) || _model.plugins.order.length == 0) {
						jwplayer.utils.log("No plugins to set up");
						return _model
					}
					for (var i = 0; i < _model.plugins.order.length; i++) {
						try {
							var pluginName = _model.plugins.order[i];
							if (jwplayer.utils.exists(jwplayer.html5[pluginName])) {
								if (pluginName == "playlist") {
									_model.plugins.object[pluginName] = new jwplayer.html5.playlistcomponent(_api, _model.plugins.config[pluginName])
								} else {
									_model.plugins.object[pluginName] = new jwplayer.html5[pluginName](_api, _model.plugins.config[pluginName])
								}
							} else {
								_model.plugins.order.splice(plugin, plugin + 1)
							}
							if (typeof _model.plugins.object[pluginName].addGlobalListener == "function") {
								_model.plugins.object[pluginName].addGlobalListener(forward)
							}
						} 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) {
			var c = {
				size : 180,
				position : a.html5.view.positions.NONE,
				itemheight : 60,
				thumbs : true,
				fontcolor : "#000000",
				overcolor : "",
				activecolor : "",
				backgroundcolor : "#f8f8f8",
				font : "_sans",
				fontsize : "",
				fontstyle : "",
				fontweight : ""
			};
			var b = {
				_sans : "Arial, Helvetica, sans-serif",
				_serif : "Times, Times New Roman, serif",
				_typewriter : "Courier New, Courier, monospace"
			};
			_utils = a.utils;
			_css = _utils.css;
			_hide = function (d) {
				_css(d, {
						display : "none"
					})
			};
			_show = function (d) {
				_css(d, {
						display : "block"
					})
			};
			a.html5.playlistcomponent = function (r, B) {
				var w = r;
				var e = a.utils.extend({}, c, w.skin.getComponentSettings("playlist"), B);
				if (e.position == a.html5.view.positions.NONE || typeof a.html5.view.positions[e.position] == "undefined") {
					return
				}
				var x;
				var l;
				var C;
				var d;
				var g;
				var f;
				var k = -1;
				var h = {
					background : undefined,
					item : undefined,
					itemOver : undefined,
					itemImage : undefined,
					itemActive : undefined
				};
				this.getDisplayElement = function () {
					return x
				};
				this.resize = function (F, D) {
					l = F;
					C = D;
					if (w.jwGetFullscreen()) {
						_hide(x)
					} else {
						var E = {
							display : "block",
							width : l,
							height : C
						};
						_css(x, E)
					}
				};
				this.show = function () {
					_show(x)
				};
				this.hide = function () {
					_hide(x)
				};
				function j() {
					x = document.createElement("div");
					x.id = w.id + "_jwplayer_playlistcomponent";
					switch (e.position) {
					case a.html5.view.positions.RIGHT:
					case a.html5.view.positions.LEFT:
						x.style.width = e.size + "px";
						break;
					case a.html5.view.positions.TOP:
					case a.html5.view.positions.BOTTOM:
						x.style.height = e.size + "px";
						break
					}
					A();
					if (h.item) {
						e.itemheight = h.item.height
					}
					x.style.backgroundColor = "#C6C6C6";
					w.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_LOADED, s);
					w.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_ITEM, u);
					w.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, m)
				}
				function p() {
					var D = document.createElement("ul");
					_css(D, {
							width : x.style.width,
							minWidth : x.style.width,
							height : x.style.height,
							backgroundColor : e.backgroundcolor,
							backgroundImage : h.background ? "url(" + h.background.src + ")" : "",
							color : e.fontcolor,
							listStyle : "none",
							margin : 0,
							padding : 0,
							fontFamily : b[e.font] ? b[e.font] : b._sans,
							fontSize : (e.fontsize ? e.fontsize : 11) + "px",
							fontStyle : e.fontstyle,
							fontWeight : e.fontweight,
							overflowY : "auto"
						});
					return D
				}
				function y(D) {
					return function () {
						var E = f.getElementsByClassName("item")[D];
						var F = e.fontcolor;
						var G = h.item ? "url(" + h.item.src + ")" : "";
						if (D == w.jwGetPlaylistIndex()) {
							if (e.activecolor !== "") {
								F = e.activecolor
							}
							if (h.itemActive) {
								G = "url(" + h.itemActive.src + ")"
							}
						}
						_css(E, {
								color : e.overcolor !== "" ? e.overcolor : F,
								backgroundImage : h.itemOver ? "url(" + h.itemOver.src + ")" : G
							})
					}
				}
				function o(D) {
					return function () {
						var E = f.getElementsByClassName("item")[D];
						var F = e.fontcolor;
						var G = h.item ? "url(" + h.item.src + ")" : "";
						if (D == w.jwGetPlaylistIndex()) {
							if (e.activecolor !== "") {
								F = e.activecolor
							}
							if (h.itemActive) {
								G = "url(" + h.itemActive.src + ")"
							}
						}
						_css(E, {
								color : F,
								backgroundImage : G
							})
					}
				}
				function q(I) {
					var P = d[I];
					var O = document.createElement("li");
					O.className = "item";
					_css(O, {
							height : e.itemheight,
							display : "block",
							cursor : "pointer",
							backgroundImage : h.item ? "url(" + h.item.src + ")" : "",
							backgroundSize : "100% " + e.itemheight + "px"
						});
					O.onmouseover = y(I);
					O.onmouseout = o(I);
					var J = document.createElement("div");
					var F = new Image();
					var K = 0;
					var L = 0;
					var M = 0;
					if (v() && (P.image || P["playlist.image"] || h.itemImage)) {
						F.className = "image";
						if (h.itemImage) {
							K = (e.itemheight - h.itemImage.height) / 2;
							L = h.itemImage.width;
							M = h.itemImage.height
						} else {
							L = e.itemheight * 4 / 3;
							M = e.itemheight
						}
						_css(J, {
								height : M,
								width : L,
								"float" : "left",
								styleFloat : "left",
								cssFloat : "left",
								margin : "0 5px 0 0",
								background : "black",
								overflow : "hidden",
								margin : K + "px",
								position : "relative"
							});
						_css(F, {
								position : "relative"
							});
						J.appendChild(F);
						F.onload = function () {
							a.utils.stretch(a.utils.stretching.FILL, F, L, M, this.naturalWidth, this.naturalHeight)
						};
						if (P["playlist.image"]) {
							F.src = P["playlist.image"]
						} else {
							if (P.image) {
								F.src = P.image
							} else {
								if (h.itemImage) {
									F.src = h.itemImage.src
								}
							}
						}
						O.appendChild(J)
					}
					var E = l - L - K * 2;
					if (C < e.itemheight * d.length) {
						E -= 15
					}
					var D = document.createElement("div");
					_css(D, {
							position : "relative",
							height : "100%",
							overflow : "hidden"
						});
					var G = document.createElement("span");
					if (P.duration > 0) {
						G.className = "duration";
						_css(G, {
								fontSize : (e.fontsize ? e.fontsize : 11) + "px",
								fontWeight : (e.fontweight ? e.fontweight : "bold"),
								width : "40px",
								height : e.fontsize ? e.fontsize + 10 : 20,
								lineHeight : 24,
								"float" : "right",
								styleFloat : "right",
								cssFloat : "right"
							});
						G.innerHTML = _utils.timeFormat(P.duration);
						D.appendChild(G)
					}
					var N = document.createElement("span");
					N.className = "title";
					_css(N, {
							padding : "5px 5px 0 " + (K ? 0 : "5px"),
							height : e.fontsize ? e.fontsize + 10 : 20,
							lineHeight : e.fontsize ? e.fontsize + 10 : 20,
							overflow : "hidden",
							"float" : "left",
							styleFloat : "left",
							cssFloat : "left",
							width : ((P.duration > 0) ? E - 50 : E) - 10 + "px",
							fontSize : (e.fontsize ? e.fontsize : 13) + "px",
							fontWeight : (e.fontweight ? e.fontweight : "bold")
						});
					N.innerHTML = P ? P.title : "";
					D.appendChild(N);
					if (P.description) {
						var H = document.createElement("span");
						H.className = "description";
						_css(H, {
								display : "block",
								"float" : "left",
								styleFloat : "left",
								cssFloat : "left",
								margin : 0,
								paddingLeft : N.style.paddingLeft,
								paddingRight : N.style.paddingRight,
								lineHeight : (e.fontsize ? e.fontsize + 4 : 15) + "px",
								overflow : "hidden",
								position : "relative"
							});
						H.innerHTML = P.description;
						D.appendChild(H)
					}
					O.appendChild(D);
					return O
				}
				function s(E) {
					x.innerHTML = "";
					d = w.jwGetPlaylist();
					if (!d) {
						return
					}
					items = [];
					f = p();
					for (var F = 0; F < d.length; F++) {
						var D = q(F);
						D.onclick = z(F);
						f.appendChild(D);
						items.push(D)
					}
					k = w.jwGetPlaylistIndex();
					o(k)();
					x.appendChild(f);
					if (_utils.isIOS() && window.iScroll) {
						f.style.height = e.itemheight * d.length + "px";
						var G = new iScroll(x.id)
					}
				}
				function z(D) {
					return function () {
						w.jwPlaylistItem(D);
						w.jwPlay(true)
					}
				}
				function n() {
					f.scrollTop = w.jwGetPlaylistIndex() * e.itemheight
				}
				function v() {
					return e.thumbs.toString().toLowerCase() == "true"
				}
				function u(D) {
					if (k >= 0) {
						o(k)();
						k = D.index
					}
					o(D.index)();
					n()
				}
				function m() {
					if (e.position == a.html5.view.positions.OVER) {
						switch (w.jwGetState()) {
						case a.api.events.state.IDLE:
							_show(x);
							break;
						default:
							_hide(x);
							break
						}
					}
				}
				function A() {
					for (var D in h) {
						h[D] = t(D)
					}
				}
				function t(D) {
					return w.skin.getSkinElement("playlist", D)
				}
				j();
				return this
			}
		})(jwplayer);
	(function (b) {
			b.html5.playlistitem = function (d) {
				var e = {
					author : "",
					date : "",
					description : "",
					image : "",
					link : "",
					mediaid : "",
					tags : "",
					title : "",
					provider : "",
					file : "",
					streamer : "",
					duration : -1,
					start : 0,
					currentLevel : -1,
					levels : []
				};
				var c = b.utils.extend({}, e, d);
				if (c.type) {
					c.provider = c.type;
					delete c.type
				}
				if (c.levels.length === 0) {
					c.levels[0] = new b.html5.playlistitemlevel(c)
				}
				if (!c.provider) {
					c.provider = a(c.levels[0])
				} else {
					c.provider = c.provider.toLowerCase()
				}
				return c
			};
			function a(e) {
				if (b.utils.isYouTube(e.file)) {
					return "youtube"
				} else {
					var f = b.utils.extension(e.file);
					var c;
					if (f && b.utils.extensionmap[f]) {
						c = b.utils.extensionmap[f].html5
					} else {
						if (e.type) {
							c = e.type
						}
					}
					if (c) {
						var d = c.split("/")[0];
						if (d == "audio") {
							return "sound"
						} else {
							if (d == "video") {
								return d
							}
						}
					}
				}
				return ""
			}
		})(jwplayer);
	(function (a) {
			a.html5.playlistitemlevel = function (b) {
				var d = {
					file : "",
					streamer : "",
					bitrate : 0,
					width : 0
				};
				for (var c in d) {
					if (a.utils.exists(b[c])) {
						d[c] = b[c]
					}
				}
				return d
			}
		})(jwplayer);
	(function (a) {
			a.html5.playlistloader = function () {
				var c = new a.html5.eventdispatcher();
				a.utils.extend(this, c);
				this.load = function (e) {
					a.utils.ajax(e, d, b)
				};
				function d(g) {
					var f = [];
					try {
						var f = a.utils.parsers.rssparser.parse(g.responseXML.firstChild);
						c.sendEvent(a.api.events.JWPLAYER_PLAYLIST_LOADED, {
								playlist : new a.html5.playlist({
										playlist : f
									})
							})
					} catch (h) {
						b("Could not parse the playlist")
					}
				}
				function b(e) {
					c.sendEvent(a.api.events.JWPLAYER_ERROR, {
							error : e ? e : "could not load playlist for whatever reason.  too bad"
						})
				}
			}
		})(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, p, k) {
				var o = {};
				var c = p;
				var l = k;
				var e = true;
				var j;
				var n = f;
				var s = false;
				function m() {
					if (typeof n != "string" || n === "") {
						d(a.html5.defaultSkin().xml)
					} else {
						a.utils.ajax(a.utils.getAbsolutePath(n), function (t) {
								try {
									if (a.utils.exists(t.responseXML)) {
										d(t.responseXML);
										return
									}
								} catch (u) {
									h()
								}
								d(a.html5.defaultSkin().xml)
							}, function (t) {
								d(a.html5.defaultSkin().xml)
							})
					}
				}
				function d(y) {
					var E = y.getElementsByTagName("component");
					if (E.length === 0) {
						return
					}
					for (var H = 0; H < E.length; H++) {
						var C = E[H].getAttribute("name");
						var B = {
							settings : {},
							elements : {},
							layout : {}
							
						};
						o[C] = B;
						var G = E[H].getElementsByTagName("elements")[0].getElementsByTagName("element");
						for (var F = 0; F < G.length; F++) {
							b(G[F], C)
						}
						var z = E[H].getElementsByTagName("settings")[0];
						if (z && z.childNodes.length > 0) {
							var K = z.getElementsByTagName("setting");
							for (var P = 0; P < K.length; P++) {
								var Q = K[P].getAttribute("name");
								var I = K[P].getAttribute("value");
								var x = /color$/.test(Q) ? "color" : null;
								o[C].settings[Q] = a.utils.typechecker(I, x)
							}
						}
						var L = E[H].getElementsByTagName("layout")[0];
						if (L && L.childNodes.length > 0) {
							var M = L.getElementsByTagName("group");
							for (var w = 0; w < M.length; w++) {
								var A = M[w];
								o[C].layout[A.getAttribute("position")] = {
									elements : []
								};
								for (var O = 0; O < A.attributes.length; O++) {
									var D = A.attributes[O];
									o[C].layout[A.getAttribute("position")][D.name] = D.value
								}
								var N = A.getElementsByTagName("*");
								for (var v = 0; v < N.length; v++) {
									var t = N[v];
									o[C].layout[A.getAttribute("position")].elements.push({
											type : t.tagName
										});
									for (var u = 0; u < t.attributes.length; u++) {
										var J = t.attributes[u];
										o[C].layout[A.getAttribute("position")].elements[v][J.name] = J.value
									}
									if (!a.utils.exists(o[C].layout[A.getAttribute("position")].elements[v].name)) {
										o[C].layout[A.getAttribute("position")].elements[v].name = t.tagName
									}
								}
							}
						}
						e = false;
						r()
					}
				}
				function r() {
					clearInterval(j);
					if (!s) {
						j = setInterval(function () {
									q()
								}, 100)
					}
				}
				function b(y, x) {
					var w = new Image();
					var t = y.getAttribute("name");
					var v = y.getAttribute("src");
					var A;
					if (v.indexOf("data:image/png;base64,") === 0) {
						A = v
					} else {
						var u = a.utils.getAbsolutePath(n);
						var z = u.substr(0, u.lastIndexOf("/"));
						A = [z, x, v].join("/")
					}
					o[x].elements[t] = {
						height : 0,
						width : 0,
						src : "",
						ready : false,
						image : w
					};
					w.onload = function (B) {
						g(w, t, x)
					};
					w.onerror = function (B) {
						s = true;
						r();
						l()
					};
					w.src = A
				}
				function h() {
					for (var u in o) {
						var w = o[u];
						for (var t in w.elements) {
							var x = w.elements[t];
							var v = x.image;
							v.onload = null;
							v.onerror = null;
							delete x.image;
							delete w.elements[t]
						}
						delete o[u]
					}
				}
				function q() {
					for (var t in o) {
						if (t != "properties") {
							for (var u in o[t].elements) {
								if (!o[t].elements[u].ready) {
									return
								}
							}
						}
					}
					if (e === false) {
						clearInterval(j);
						c(o)
					}
				}
				function g(t, v, u) {
					if (o[u] && o[u].elements[v]) {
						o[u].elements[v].height = t.height;
						o[u].elements[v].width = t.width;
						o[u].elements[v].src = t.src;
						o[u].elements[v].ready = true;
						r()
					} else {
						a.utils.log("Loaded an image for a missing element: " + u + "." + v)
					}
				}
				m()
			}
		})(jwplayer);
	(function (a) {
			a.html5.api = function (c, n) {
				var m = {};
				var f = document.createElement("div");
				c.parentNode.replaceChild(f, c);
				f.id = c.id;
				m.version = a.version;
				m.id = f.id;
				var l = new a.html5.model(m, f, n);
				var j = new a.html5.view(m, f, l);
				var k = new a.html5.controller(m, f, l, j);
				m.skin = new a.html5.skin();
				m.jwPlay = function (o) {
					if (typeof o == "undefined") {
						e()
					} else {
						if (o.toString().toLowerCase() == "true") {
							k.play()
						} else {
							k.pause()
						}
					}
				};
				m.jwPause = function (o) {
					if (typeof o == "undefined") {
						e()
					} else {
						if (o.toString().toLowerCase() == "true") {
							k.pause()
						} else {
							k.play()
						}
					}
				};
				function e() {
					if (l.state == a.api.events.state.PLAYING || l.state == a.api.events.state.BUFFERING) {
						k.pause()
					} else {
						k.play()
					}
				}
				m.jwStop = k.stop;
				m.jwSeek = k.seek;
				m.jwPlaylistItem = k.item;
				m.jwPlaylistNext = k.next;
				m.jwPlaylistPrev = k.prev;
				m.jwResize = k.resize;
				m.jwLoad = k.load;
				function h(o) {
					return function () {
						return l[o]
					}
				}
				function d(o, q, p) {
					return function () {
						var r = l.plugins.object[o];
						if (r && r[q] && typeof r[q] == "function") {
							r[q].apply(r, p)
						}
					}
				}
				m.jwGetItem = h("item");
				m.jwGetPosition = h("position");
				m.jwGetDuration = h("duration");
				m.jwGetBuffer = h("buffer");
				m.jwGetWidth = h("width");
				m.jwGetHeight = h("height");
				m.jwGetFullscreen = h("fullscreen");
				m.jwSetFullscreen = k.setFullscreen;
				m.jwGetVolume = h("volume");
				m.jwSetVolume = k.setVolume;
				m.jwGetMute = h("mute");
				m.jwSetMute = k.setMute;
				m.jwGetStretching = h("stretching");
				m.jwGetState = h("state");
				m.jwGetVersion = function () {
					return m.version
				};
				m.jwGetPlaylist = function () {
					return l.playlist
				};
				m.jwGetPlaylistIndex = m.jwGetItem;
				m.jwAddEventListener = k.addEventListener;
				m.jwRemoveEventListener = k.removeEventListener;
				m.jwSendEvent = k.sendEvent;
				m.jwDockSetButton = function (r, o, p, q) {
					if (l.plugins.object.dock && l.plugins.object.dock.setButton) {
						l.plugins.object.dock.setButton(r, o, p, q)
					}
				};
				m.jwControlbarShow = d("controlbar", "show");
				m.jwControlbarHide = d("controlbar", "hide");
				m.jwDockShow = d("dock", "show");
				m.jwDockHide = d("dock", "hide");
				m.jwDisplayShow = d("display", "show");
				m.jwDisplayHide = d("display", "hide");
				m.jwGetLevel = function () {};
				m.jwGetBandwidth = function () {};
				m.jwGetLockState = function () {};
				m.jwLock = function () {};
				m.jwUnlock = function () {};
				function b() {
					if (l.config.playlistfile) {
						l.addEventListener(a.api.events.JWPLAYER_PLAYLIST_LOADED, g);
						l.loadPlaylist(l.config.playlistfile)
					} else {
						if (typeof l.config.playlist == "string") {
							l.addEventListener(a.api.events.JWPLAYER_PLAYLIST_LOADED, g);
							l.loadPlaylist(l.config.playlist)
						} else {
							l.loadPlaylist(l.config);
							setTimeout(g, 25)
						}
					}
				}
				function g(o) {
					l.removeEventListener(a.api.events.JWPLAYER_PLAYLIST_LOADED, g);
					l.setupPlugins();
					j.setup();
					var o = {
						id : m.id,
						version : m.version
					};
					k.playerReady(o)
				}
				if (l.config.chromeless && !a.utils.isIPad()) {
					b()
				} else {
					m.skin.load(l.config.skin, b)
				}
				return m
			}
		})(jwplayer)
};
 
