PageSourceSearch

https://xn----ctbefcoydw0b9j.xn--p1ai/wp-content/plugins/wp-symposium/js/jwplayer.js?ver=4.1

js xn----ctbefcoydw0b9j.xn--p1ai collected 2026-09-25 11:53:39 UTC 182,036 bytes, 7,079 lines download raw bytes

1// JW Player ***************************************************************************
2if (typeof jwplayer == "undefined") {
3	var jwplayer = function(a) {
4			if (jwplayer.api) {
5				return jwplayer.api.selectPlayer(a)
6			}
7		};
8	var $jw = jwplayer;
9	jwplayer.version = "5.7.1896";
10	jwplayer.vid = document.createElement("video");
11	jwplayer.audio = document.createElement("audio");
12	jwplayer.source = document.createElement("source");
13	(function(b) {
14		b.utils = function() {};
15		b.utils.typeOf = function(d) {
16			var c = typeof d;
17			if (c === "object") {
18				if (d) {
19					if (d instanceof Array) {
20						c = "array"
21					}
22				} else {
23					c = "null"
24				}
25			}
26			return c
27		};
28		b.utils.extend = function() {
29			var c = b.utils.extend["arguments"];
30			if (c.length > 1) {
31				for (var e = 1; e < c.length; e++) {
32					for (var d in c[e]) {
33						c[0][d] = c[e][d]
34					}
35				}
36				return c[0]
37			}
38			return null
39		};
40		b.utils.clone = function(f) {
41			var c;
42			var d = b.utils.clone["arguments"];
43			if (d.length == 1) {
44				switch (b.utils.typeOf(d[0])) {
45				case "object":
46					c = {};
47					for (var e in d[0]) {
48						c[e] = b.utils.clone(d[0][e])
49					}
50					break;
51				case "array":
52					c = [];
53					for (var e in d[0]) {
54						c[e] = b.utils.clone(d[0][e])
55					}
56					break;
57				default:
58					return d[0];
59					break
60				}
61			}
62			return c
63		};
64		b.utils.extension = function(c) {
65			if (!c) {
66				return ""
67			}
68			c = c.substring(c.lastIndexOf("/") + 1, c.length);
69			c = c.split("?")[0];
70			if (c.lastIndexOf(".") > -1) {
71				return c.substr(c.lastIndexOf(".") + 1, c.length).toLowerCase()
72			}
73			return
74		};
75		b.utils.html = function(c, d) {
76			c.innerHTML = d
77		};
78		b.utils.wrap = function(c, d) {
79			if (c.parentNode) {
80				c.parentNode.replaceChild(d, c)
81			}
82			d.appendChild(c)
83		};
84		b.utils.ajax = function(g, f, c) {
85			var e;
86			if (window.XMLHttpRequest) {
87				e = new XMLHttpRequest()
88			} else {
89				e = new ActiveXObject("Microsoft.XMLHTTP")
90			}
91			e.onreadystatechange = function() {
92				if (e.readyState === 4) {
93					if (e.status === 200) {
94						if (f) {
95							f(e)
96						}
97					} else {
98						if (c) {
99							c(g)
100						}
101					}
102				}
103			};
104			try {
105				e.open("GET", g, true);
106				e.send(null)
107			} catch (d) {
108				if (c) {
109					c(g)
110				}
111			}
112			return e
113		};
114		b.utils.load = function(d, e, c) {
115			d.onreadystatechange = function() {
116				if (d.readyState === 4) {
117					if (d.status === 200) {
118						if (e) {
119							e()
120						}
121					} else {
122						if (c) {
123							c()
124						}
125					}
126				}
127			}
128		};
129		b.utils.find = function(d, c) {
130			return d.getElementsByTagName(c)
131		};
132		b.utils.append = function(c, d) {
133			c.appendChild(d)
134		};
135		b.utils.isIE = function() {
136			return ((!+"\v1") || (typeof window.ActiveXObject != "undefined"))
137		};
138		b.utils.isLegacyAndroid = function() {
139			var c = navigator.userAgent.toLowerCase();
140			return (c.match(/android 2.[012]/i) !== null)
141		};
142		b.utils.isIOS = function(d) {
143			if (typeof d == "undefined") {
144				d = /iP(hone|ad|od)/i
145			}
146			var c = navigator.userAgent.toLowerCase();
147			return (c.match(d) !== null)
148		};
149		b.utils.isIPad = function() {
150			return b.utils.isIOS(/iPad/i)
151		};
152		b.utils.isIPod = function() {
153			return b.utils.isIOS(/iP(hone|od)/i)
154		};
155		b.utils.getFirstPlaylistItemFromConfig = function(c) {
156			var d = {};
157			var e;
158			if (c.playlist && c.playlist.length) {
159				e = c.playlist[0]
160			} else {
161				e = c
162			}
163			d.file = e.file;
164			d.levels = e.levels;
165			d.streamer = e.streamer;
166			d.playlistfile = e.playlistfile;
167			d.provider = e.provider;
168			if (!d.provider) {
169				if (d.file && (d.file.toLowerCase().indexOf("youtube.com") > -1 || d.file.toLowerCase().indexOf("youtu.be") > -1)) {
170					d.provider = "youtube"
171				}
172				if (d.streamer && d.streamer.toLowerCase().indexOf("rtmp://") == 0) {
173					d.provider = "rtmp"
174				}
175				if (e.type) {
176					d.provider = e.type.toLowerCase()
177				}
178			}
179			if (d.provider == "audio") {
180				d.provider = "sound"
181			}
182			return d
183		};
184		b.utils.getOuterHTML = function(c) {
185			if (c.outerHTML) {
186				return c.outerHTML
187			} else {
188				try {
189					return new XMLSerializer().serializeToString(c)
190				} catch (d) {
191					return ""
192				}
193			}
194		};
195		b.utils.setOuterHTML = function(f, e) {
196			if (f.outerHTML) {
197				f.outerHTML = e
198			} else {
199				var g = document.createElement("div");
200				g.innerHTML = e;
201				var c = document.createRange();
202				c.selectNodeContents(g);
203				var d = c.extractContents();
204				f.parentNode.insertBefore(d, f);
205				f.parentNode.removeChild(f)
206			}
207		};
208		b.utils.hasFlash = function() {
209			if (typeof navigator.plugins != "undefined" && typeof navigator.plugins["Shockwave Flash"] != "undefined") {
210				return true
211			}
212			if (typeof window.ActiveXObject != "undefined") {
213				try {
214					new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
215					return true
216				} catch (c) {}
217			}
218			return false
219		};
220		b.utils.getPluginName = function(c) {
221			if (c.lastIndexOf("/") >= 0) {
222				c = c.substring(c.lastIndexOf("/") + 1, c.length)
223			}
224			if (c.lastIndexOf("-") >= 0) {
225				c = c.substring(0, c.lastIndexOf("-"))
226			}
227			if (c.lastIndexOf(".swf") >= 0) {
228				c = c.substring(0, c.lastIndexOf(".swf"))
229			}
230			if (c.lastIndexOf(".js") >= 0) {
231				c = c.substring(0, c.lastIndexOf(".js"))
232			}
233			return c
234		};
235		b.utils.getPluginVersion = function(c) {
236			if (c.lastIndexOf("-") >= 0) {
237				if (c.lastIndexOf(".js") >= 0) {
238					return c.substring(c.lastIndexOf("-") + 1, c.lastIndexOf(".js"))
239				} else {
240					if (c.lastIndexOf(".swf") >= 0) {
241						return c.substring(c.lastIndexOf("-") + 1, c.lastIndexOf(".swf"))
242					} else {
243						return c.substring(c.lastIndexOf("-") + 1)
244					}
245				}
246			}
247			return ""
248		};
249		b.utils.getAbsolutePath = function(j, h) {
250			if (!b.utils.exists(h)) {
251				h = document.location.href
252			}
253			if (!b.utils.exists(j)) {
254				return undefined
255			}
256			if (a(j)) {
257				return j
258			}
259			var k = h.substring(0, h.indexOf("://") + 3);
260			var g = h.substring(k.length, h.indexOf("/", k.length + 1));
261			var d;
262			if (j.indexOf("/") === 0) {
263				d = j.split("/")
264			} else {
265				var e = h.split("?")[0];
266				e = e.substring(k.length + g.length + 1, e.lastIndexOf("/"));
267				d = e.split("/").concat(j.split("/"))
268			}
269			var c = [];
270			for (var f = 0; f < d.length; f++) {
271				if (!d[f] || !b.utils.exists(d[f]) || d[f] == ".") {
272					continue
273				} else {
274					if (d[f] == "..") {
275						c.pop()
276					} else {
277						c.push(d[f])
278					}
279				}
280			}
281			return k + g + "/" + c.join("/")
282		};
283
284		function a(d) {
285			if (!b.utils.exists(d)) {
286				return
287			}
288			var e = d.indexOf("://");
289			var c = d.indexOf("?");
290			return (e > 0 && (c < 0 || (c > e)))
291		}
292		b.utils.pluginPathType = {
293			ABSOLUTE: "ABSOLUTE",
294			RELATIVE: "RELATIVE",
295			CDN: "CDN"
296		};
297		b.utils.getPluginPathType = function(d) {
298			if (typeof d != "string") {
299				return
300			}
301			d = d.split("?")[0];
302			var e = d.indexOf("://");
303			if (e > 0) {
304				return b.utils.pluginPathType.ABSOLUTE
305			}
306			var c = d.indexOf("/");
307			var f = b.utils.extension(d);
308			if (e < 0 && c < 0 && (!f || !isNaN(f))) {
309				return b.utils.pluginPathType.CDN
310			}
311			return b.utils.pluginPathType.RELATIVE
312		};
313		b.utils.mapEmpty = function(c) {
314			for (var d in c) {
315				return false
316			}
317			return true
318		};
319		b.utils.mapLength = function(d) {
320			var c = 0;
321			for (var e in d) {
322				c++
323			}
324			return c
325		};
326		b.utils.log = function(d, c) {
327			if (typeof console != "undefined" && typeof console.log != "undefined") {
328				if (c) {
329					console.log(d, c)
330				} else {
331					console.log(d)
332				}
333			}
334		};
335		b.utils.css = function(d, g, c) {
336			if (b.utils.exists(d)) {
337				for (var e in g) {
338					try {
339						if (typeof g[e] === "undefined") {
340							continue
341						} else {
342							if (typeof g[e] == "number" && !(e == "zIndex" || e == "opacity")) {
343								if (isNaN(g[e])) {
344									continue
345								}
346								if (e.match(/color/i)) {
347									g[e] = "#" + b.utils.strings.pad(g[e].toString(16), 6)
348								} else {
349									g[e] = Math.ceil(g[e]) + "px"
350								}
351							}
352						}
353						d.style[e] = g[e]
354					} catch (f) {}
355				}
356			}
357		};
358		b.utils.isYouTube = function(c) {
359			return (c.indexOf("youtube.com") > -1 || c.indexOf("youtu.be") > -1)
360		};
361		b.utils.transform = function(c, d) {
362			c.style.webkitTransform = d;
363			c.style.MozTransform = d;
364			c.style.OTransform = d
365		};
366		b.utils.stretch = function(h, n, m, f, l, g) {
367			if (typeof m == "undefined" || typeof f == "undefined" || typeof l == "undefined" || typeof g == "undefined") {
368				return
369			}
370			var d = m / l;
371			var e = f / g;
372			var k = 0;
373			var j = 0;
374			n.style.overflow = "hidden";
375			b.utils.transform(n, "");
376			var c = {};
377			switch (h.toUpperCase()) {
378			case b.utils.stretching.NONE:
379				c.width = l;
380				c.height = g;
381				break;
382			case b.utils.stretching.UNIFORM:
383				if (d > e) {
384					c.width = l * e;
385					c.height = g * e
386				} else {
387					c.width = l * d;
388					c.height = g * d
389				}
390				break;
391			case b.utils.stretching.FILL:
392				if (d > e) {
393					c.width = l * d;
394					c.height = g * d
395				} else {
396					c.width = l * e;
397					c.height = g * e
398				}
399				break;
400			case b.utils.stretching.EXACTFIT:
401				b.utils.transform(n, ["scale(", d, ",", e, ")", " translate(0px,0px)"].join(""));
402				c.width = l;
403				c.height = g;
404				break;
405			default:
406				break
407			}
408			c.top = (f - c.height) / 2;
409			c.left = (m - c.width) / 2;
410			b.utils.css(n, c)
411		};
412		b.utils.stretching = {
413			NONE: "NONE",
414			FILL: "FILL",
415			UNIFORM: "UNIFORM",
416			EXACTFIT: "EXACTFIT"
417		};
418		b.utils.deepReplaceKeyName = function(h, e, c) {
419			switch (b.utils.typeOf(h)) {
420			case "array":
421				for (var g = 0; g < h.length; g++) {
422					h[g] = b.utils.deepReplaceKeyName(h[g], e, c)
423				}
424				break;
425			case "object":
426				for (var f in h) {
427					var d = f.replace(new RegExp(e, "g"), c);
428					h[d] = b.utils.deepReplaceKeyName(h[f], e, c);
429					if (f != d) {
430						delete h[f]
431					}
432				}
433				break
434			}
435			return h
436		};
437		b.utils.isInArray = function(e, d) {
438			if (!(e) || !(e instanceof Array)) {
439				return false
440			}
441			for (var c = 0; c < e.length; c++) {
442				if (d === e[c]) {
443					return true
444				}
445			}
446			return false
447		};
448		b.utils.exists = function(c) {
449			switch (typeof(c)) {
450			case "string":
451				return (c.length > 0);
452				break;
453			case "object":
454				return (c !== null);
455			case "undefined":
456				return false
457			}
458			return true
459		};
460		b.utils.empty = function(c) {
461			if (typeof c.hasChildNodes == "function") {
462				while (c.hasChildNodes()) {
463					c.removeChild(c.firstChild)
464				}
465			}
466		};
467		b.utils.parseDimension = function(c) {
468			if (typeof c == "string") {
469				if (c === "") {
470					return 0
471				} else {
472					if (c.lastIndexOf("%") > -1) {
473						return c
474					} else {
475						return parseInt(c.replace("px", ""), 10)
476					}
477				}
478			}
479			return c
480		};
481		b.utils.getDimensions = function(c) {
482			if (c && c.style) {
483				return {
484					x: b.utils.parseDimension(c.style.left),
485					y: b.utils.parseDimension(c.style.top),
486					width: b.utils.parseDimension(c.style.width),
487					height: b.utils.parseDimension(c.style.height)
488				}
489			} else {
490				return {}
491			}
492		};
493		b.utils.timeFormat = function(c) {
494			str = "00:00";
495			if (c > 0) {
496				str = Math.floor(c / 60) < 10 ? "0" + Math.floor(c / 60) + ":" : Math.floor(c / 60) + ":";
497				str += Math.floor(c % 60) < 10 ? "0" + Math.floor(c % 60) : Math.floor(c % 60)
498			}
499			return str
500		}
501	})(jwplayer);
502	(function(a) {
503		a.events = function() {};
504		a.events.COMPLETE = "COMPLETE";
505		a.events.ERROR = "ERROR"
506	})(jwplayer);
507	(function(jwplayer) {
508		jwplayer.events.eventdispatcher = function(debug) {
509			var _debug = debug;
510			var _listeners;
511			var _globallisteners;
512			this.resetEventListeners = function() {
513				_listeners = {};
514				_globallisteners = []
515			};
516			this.resetEventListeners();
517			this.addEventListener = function(type, listener, count) {
518				try {
519					if (!jwplayer.utils.exists(_listeners[type])) {
520						_listeners[type] = []
521					}
522					if (typeof(listener) == "string") {
523						eval("listener = " + listener)
524					}
525					_listeners[type].push({
526						listener: listener,
527						count: count
528					})
529				} catch (err) {
530					jwplayer.utils.log("error", err)
531				}
532				return false
533			};
534			this.removeEventListener = function(type, listener) {
535				if (!_listeners[type]) {
536					return
537				}
538				try {
539					for (var listenerIndex = 0; listenerIndex < _listeners[type].length; listenerIndex++) {
540						if (_listeners[type][listenerIndex].listener.toString() == listener.toString()) {
541							_listeners[type].splice(listenerIndex, 1);
542							break
543						}
544					}
545				} catch (err) {
546					jwplayer.utils.log("error", err)
547				}
548				return false
549			};
550			this.addGlobalListener = function(listener, count) {
551				try {
552					if (typeof(listener) == "string") {
553						eval("listener = " + listener)
554					}
555					_globallisteners.push({
556						listener: listener,
557						count: count
558					})
559				} catch (err) {
560					jwplayer.utils.log("error", err)
561				}
562				return false
563			};
564			this.removeGlobalListener = function(listener) {
565				if (!_globallisteners[type]) {
566					return
567				}
568				try {
569					for (var globalListenerIndex = 0; globalListenerIndex < _globallisteners.length; globalListenerIndex++) {
570						if (_globallisteners[globalListenerIndex].listener.toString() == listener.toString()) {
571							_globallisteners.splice(globalListenerIndex, 1);
572							break
573						}
574					}
575				} catch (err) {
576					jwplayer.utils.log("error", err)
577				}
578				return false
579			};
580			this.sendEvent = function(type, data) {
581				if (!jwplayer.utils.exists(data)) {
582					data = {}
583				}
584				if (_debug) {
585					jwplayer.utils.log(type, data)
586				}
587				if (typeof _listeners[type] != "undefined") {
588					for (var listenerIndex = 0; listenerIndex < _listeners[type].length; listenerIndex++) {
589						try {
590							_listeners[type][listenerIndex].listener(data)
591						} catch (err) {
592							jwplayer.utils.log("There was an error while handling a listener: " + err.toString(), _listeners[type][listenerIndex].listener)
593						}
594						if (_listeners[type][listenerIndex]) {
595							if (_listeners[type][listenerIndex].count === 1) {
596								delete _listeners[type][listenerIndex]
597							} else {
598								if (_listeners[type][listenerIndex].count > 0) {
599									_listeners[type][listenerIndex].count = _listeners[type][listenerIndex].count - 1
600								}
601							}
602						}
603					}
604				}
605				for (var globalListenerIndex = 0; globalListenerIndex < _globallisteners.length; globalListenerIndex++) {
606					try {
607						_globallisteners[globalListenerIndex].listener(data)
608					} catch (err) {
609						jwplayer.utils.log("There was an error while handling a listener: " + err.toString(), _globallisteners[globalListenerIndex].listener)
610					}
611					if (_globallisteners[globalListenerIndex]) {
612						if (_globallisteners[globalListenerIndex].count === 1) {
613							delete _globallisteners[globalListenerIndex]
614						} else {
615							if (_globallisteners[globalListenerIndex].count > 0) {
616								_globallisteners[globalListenerIndex].count = _globallisteners[globalListenerIndex].count - 1
617							}
618						}
619					}
620				}
621			}
622		}
623	})(jwplayer);
624	(function(a) {
625		var b = {};
626		a.utils.animations = function() {};
627		a.utils.animations.transform = function(c, d) {
628			c.style.webkitTransform = d;
629			c.style.MozTransform = d;
630			c.style.OTransform = d;
631			c.style.msTransform = d
632		};
633		a.utils.animations.transformOrigin = function(c, d) {
634			c.style.webkitTransformOrigin = d;
635			c.style.MozTransformOrigin = d;
636			c.style.OTransformOrigin = d;
637			c.style.msTransformOrigin = d
638		};
639		a.utils.animations.rotate = function(c, d) {
640			a.utils.animations.transform(c, ["rotate(", d, "deg)"].join(""))
641		};
642		a.utils.cancelAnimation = function(c) {
643			delete b[c.id]
644		};
645		a.utils.fadeTo = function(m, f, e, j, h, d) {
646			if (b[m.id] != d && a.utils.exists(d)) {
647				return
648			}
649			if (m.style.opacity == f) {
650				return
651			}
652			var c = new Date().getTime();
653			if (d > c) {
654				setTimeout(function() {
655					a.utils.fadeTo(m, f, e, j, 0, d)
656				}, d - c)
657			}
658			if (m.style.display == "none") {
659				m.style.display = "block"
660			}
661			if (!a.utils.exists(j)) {
662				j = m.style.opacity === "" ? 1 : m.style.opacity
663			}
664			if (m.style.opacity == f && m.style.opacity !== "" && a.utils.exists(d)) {
665				if (f === 0) {
666					m.style.display = "none"
667				}
668				return
669			}
670			if (!a.utils.exists(d)) {
671				d = c;
672				b[m.id] = d
673			}
674			if (!a.utils.exists(h)) {
675				h = 0
676			}
677			var k = (e > 0) ? ((c - d) / (e * 1000)) : 0;
678			k = k > 1 ? 1 : k;
679			var l = f - j;
680			var g = j + (k * l);
681			if (g > 1) {
682				g = 1
683			} else {
684				if (g < 0) {
685					g = 0
686				}
687			}
688			m.style.opacity = g;
689			if (h > 0) {
690				b[m.id] = d + h * 1000;
691				a.utils.fadeTo(m, f, e, j, 0, b[m.id]);
692				return
693			}
694			setTimeout(function() {
695				a.utils.fadeTo(m, f, e, j, 0, d)
696			}, 10)
697		}
698	})(jwplayer);
699	(function(a) {
700		a.utils.arrays = function() {};
701		a.utils.arrays.indexOf = function(c, d) {
702			for (var b = 0; b < c.length; b++) {
703				if (c[b] == d) {
704					return b
705				}
706			}
707			return -1
708		};
709		a.utils.arrays.remove = function(c, d) {
710			var b = a.utils.arrays.indexOf(c, d);
711			if (b > -1) {
712				c.splice(b, 1)
713			}
714		}
715	})(jwplayer);
716	(function(a) {
717		a.utils.extensionmap = {
718			"3gp": {
719				html5: "video/3gpp",
720				flash: "video"
721			},
722			"3gpp": {
723				html5: "video/3gpp"
724			},
725			"3g2": {
726				html5: "video/3gpp2",
727				flash: "video"
728			},
729			"3gpp2": {
730				html5: "video/3gpp2"
731			},
732			flv: {
733				flash: "video"
734			},
735			f4a: {
736				html5: "audio/mp4"
737			},
738			f4b: {
739				html5: "audio/mp4",
740				flash: "video"
741			},
742			f4v: {
743				html5: "video/mp4",
744				flash: "video"
745			},
746			mov: {
747				html5: "video/quicktime",
748				flash: "video"
749			},
750			m4a: {
751				html5: "audio/mp4",
752				flash: "video"
753			},
754			m4b: {
755				html5: "audio/mp4"
756			},
757			m4p: {
758				html5: "audio/mp4"
759			},
760			m4v: {
761				html5: "video/mp4",
762				flash: "video"
763			},
764			mp4: {
765				html5: "video/mp4",
766				flash: "video"
767			},
768			rbs: {
769				flash: "sound"
770			},
771			aac: {
772				html5: "audio/aac",
773				flash: "video"
774			},
775			mp3: {
776				html5: "audio/mp3",
777				flash: "sound"
778			},
779			ogg: {
780				html5: "audio/ogg"
781			},
782			oga: {
783				html5: "audio/ogg"
784			},
785			ogv: {
786				html5: "video/ogg"
787			},
788			webm: {
789				html5: "video/webm"
790			},
791			m3u8: {
792				html5: "audio/x-mpegurl"
793			},
794			gif: {
795				flash: "image"
796			},
797			jpeg: {
798				flash: "image"
799			},
800			jpg: {
801				flash: "image"
802			},
803			swf: {
804				flash: "image"
805			},
806			png: {
807				flash: "image"
808			},
809			wav: {
810				html5: "audio/x-wav"
811			}
812		}
813	})(jwplayer);
814	(function(e) {
815		e.utils.mediaparser = function() {};
816		var g = {
817			element: {
818				width: "width",
819				height: "height",
820				id: "id",
821				"class": "className",
822				name: "name"
823			},
824			media: {
825				src: "file",
826				preload: "preload",
827				autoplay: "autostart",
828				loop: "repeat",
829				controls: "controls"
830			},
831			source: {
832				src: "file",
833				type: "type",
834				media: "media",
835				"data-jw-width": "width",
836				"data-jw-bitrate": "bitrate"
837			},
838			video: {
839				poster: "image"
840			}
841		};
842		var f = {};
843		e.utils.mediaparser.parseMedia = function(j) {
844			return d(j)
845		};
846
847		function c(k, j) {
848			if (!e.utils.exists(j)) {
849				j = g[k]
850			} else {
851				e.utils.extend(j, g[k])
852			}
853			return j
854		}
855		function d(n, j) {
856			if (f[n.tagName.toLowerCase()] && !e.utils.exists(j)) {
857				return f[n.tagName.toLowerCase()](n)
858			} else {
859				j = c("element", j);
860				var o = {};
861				for (var k in j) {
862					if (k != "length") {
863						var m = n.getAttribute(k);
864						if (e.utils.exists(m)) {
865							o[j[k]] = m
866						}
867					}
868				}
869				var l = n.style["#background-color"];
870				if (l && !(l == "transparent" || l == "rgba(0, 0, 0, 0)")) {
871					o.screencolor = l
872				}
873				return o
874			}
875		}
876		function h(n, k) {
877			k = c("media", k);
878			var l = [];
879			var j = e.utils.selectors("source", n);
880			for (var m in j) {
881				if (!isNaN(m)) {
882					l.push(a(j[m]))
883				}
884			}
885			var o = d(n, k);
886			if (e.utils.exists(o.file)) {
887				l[0] = {
888					file: o.file
889				}
890			}
891			o.levels = l;
892			return o
893		}
894		function a(l, k) {
895			k = c("source", k);
896			var j = d(l, k);
897			j.width = j.width ? j.width : 0;
898			j.bitrate = j.bitrate ? j.bitrate : 0;
899			return j
900		}
901		function b(l, k) {
902			k = c("video", k);
903			var j = h(l, k);
904			return j
905		}
906		f.media = h;
907		f.audio = h;
908		f.source = a;
909		f.video = b
910	})(jwplayer);
911	(function(a) {
912		a.utils.loaderstatus = {
913			NEW: "NEW",
914			LOADING: "LOADING",
915			ERROR: "ERROR",
916			COMPLETE: "COMPLETE"
917		};
918		a.utils.scriptloader = function(c) {
919			var d = a.utils.loaderstatus.NEW;
920			var b = new a.events.eventdispatcher();
921			a.utils.extend(this, b);
922			this.load = function() {
923				if (d == a.utils.loaderstatus.NEW) {
924					d = a.utils.loaderstatus.LOADING;
925					var e = document.createElement("script");
926					e.onload = function(f) {
927						d = a.utils.loaderstatus.COMPLETE;
928						b.sendEvent(a.events.COMPLETE)
929					};
930					e.onerror = function(f) {
931						d = a.utils.loaderstatus.ERROR;
932						b.sendEvent(a.events.ERROR)
933					};
934					e.onreadystatechange = function() {
935						if (e.readyState == "loaded" || e.readyState == "complete") {
936							d = a.utils.loaderstatus.COMPLETE;
937							b.sendEvent(a.events.COMPLETE)
938						}
939					};
940					document.getElementsByTagName("head")[0].appendChild(e);
941					e.src = c
942				}
943			};
944			this.getStatus = function() {
945				return d
946			}
947		}
948	})(jwplayer);
949	(function(a) {
950		a.utils.selectors = function(b, e) {
951			if (!a.utils.exists(e)) {
952				e = document
953			}
954			b = a.utils.strings.trim(b);
955			var c = b.charAt(0);
956			if (c == "#") {
957				return e.getElementById(b.substr(1))
958			} else {
959				if (c == ".") {
960					if (e.getElementsByClassName) {
961						return e.getElementsByClassName(b.substr(1))
962					} else {
963						return a.utils.selectors.getElementsByTagAndClass("*", b.substr(1))
964					}
965				} else {
966					if (b.indexOf(".") > 0) {
967						var d = b.split(".");
968						return a.utils.selectors.getElementsByTagAndClass(d[0], d[1])
969					} else {
970						return e.getElementsByTagName(b)
971					}
972				}
973			}
974			return null
975		};
976		a.utils.selectors.getElementsByTagAndClass = function(e, h, g) {
977			var j = [];
978			if (!a.utils.exists(g)) {
979				g = document
980			}
981			var f = g.getElementsByTagName(e);
982			for (var d = 0; d < f.length; d++) {
983				if (a.utils.exists(f[d].className)) {
984					var c = f[d].className.split(" ");
985					for (var b = 0; b < c.length; b++) {
986						if (c[b] == h) {
987							j.push(f[d])
988						}
989					}
990				}
991			}
992			return j
993		}
994	})(jwplayer);
995	(function(a) {
996		a.utils.strings = function() {};
997		a.utils.strings.trim = function(b) {
998			return b.replace(/^\s*/, "").replace(/\s*$/, "")
999		};
1000		a.utils.strings.pad = function(c, d, b) {
1001			if (!b) {
1002				b = "0"
1003			}
1004			while (c.length < d) {
1005				c = b + c
1006			}
1007			return c
1008		};
1009		a.utils.strings.serialize = function(b) {
1010			if (b == null) {
1011				return null
1012			} else {
1013				if (b == "true") {
1014					return true
1015				} else {
1016					if (b == "false") {
1017						return false
1018					} else {
1019						if (isNaN(Number(b)) || b.length > 5 || b.length == 0) {
1020							return b
1021						} else {
1022							return Number(b)
1023						}
1024					}
1025				}
1026			}
1027		};
1028		a.utils.strings.seconds = function(d) {
1029			d = d.replace(",", ".");
1030			var b = d.split(":");
1031			var c = 0;
1032			if (d.substr(-1) == "s") {
1033				c = Number(d.substr(0, d.length - 1))
1034			} else {
1035				if (d.substr(-1) == "m") {
1036					c = Number(d.substr(0, d.length - 1)) * 60
1037				} else {
1038					if (d.substr(-1) == "h") {
1039						c = Number(d.substr(0, d.length - 1)) * 3600
1040					} else {
1041						if (b.length > 1) {
1042							c = Number(b[b.length - 1]);
1043							c += Number(b[b.length - 2]) * 60;
1044							if (b.length == 3) {
1045								c += Number(b[b.length - 3]) * 3600
1046							}
1047						} else {
1048							c = Number(d)
1049						}
1050					}
1051				}
1052			}
1053			return c
1054		};
1055		a.utils.strings.xmlAttribute = function(b, c) {
1056			for (var d = 0; d < b.attributes.length; d++) {
1057				if (b.attributes[d].name && b.attributes[d].name.toLowerCase() == c.toLowerCase()) {
1058					return b.attributes[d].value.toString()
1059				}
1060			}
1061			return ""
1062		};
1063		a.utils.strings.jsonToString = function(f) {
1064			var h = h || {};
1065			if (h && h.stringify) {
1066				return h.stringify(f)
1067			}
1068			var c = typeof(f);
1069			if (c != "object" || f === null) {
1070				if (c == "string") {
1071					f = '"' + f + '"'
1072				} else {
1073					return String(f)
1074				}
1075			} else {
1076				var g = [],
1077					b = (f && f.constructor == Array);
1078				for (var d in f) {
1079					var e = f[d];
1080					switch (typeof(e)) {
1081					case "string":
1082						e = '"' + e + '"';
1083						break;
1084					case "object":
1085						if (a.utils.exists(e)) {
1086							e = a.utils.strings.jsonToString(e)
1087						}
1088						break
1089					}
1090					if (b) {
1091						if (typeof(e) != "function") {
1092							g.push(String(e))
1093						}
1094					} else {
1095						if (typeof(e) != "function") {
1096							g.push('"' + d + '":' + String(e))
1097						}
1098					}
1099				}
1100				if (b) {
1101					return "[" + String(g) + "]"
1102				} else {
1103					return "{" + String(g) + "}"
1104				}
1105			}
1106		}
1107	})(jwplayer);
1108	(function(c) {
1109		var d = new RegExp(/^(#|0x)[0-9a-fA-F]{3,6}/);
1110		c.utils.typechecker = function(g, f) {
1111			f = !c.utils.exists(f) ? b(g) : f;
1112			return e(g, f)
1113		};
1114
1115		function b(f) {
1116			var g = ["true", "false", "t", "f"];
1117			if (g.toString().indexOf(f.toLowerCase().replace(" ", "")) >= 0) {
1118				return "boolean"
1119			} else {
1120				if (d.test(f)) {
1121					return "color"
1122				} else {
1123					if (!isNaN(parseInt(f, 10)) && parseInt(f, 10).toString().length == f.length) {
1124						return "integer"
1125					} else {
1126						if (!isNaN(parseFloat(f)) && parseFloat(f).toString().length == f.length) {
1127							return "float"
1128						}
1129					}
1130				}
1131			}
1132			return "string"
1133		}
1134		function e(g, f) {
1135			if (!c.utils.exists(f)) {
1136				return g
1137			}
1138			switch (f) {
1139			case "color":
1140				if (g.length > 0) {
1141					return a(g)
1142				}
1143				return null;
1144			case "integer":
1145				return parseInt(g, 10);
1146			case "float":
1147				return parseFloat(g);
1148			case "boolean":
1149				if (g.toLowerCase() == "true") {
1150					return true
1151				} else {
1152					if (g == "1") {
1153						return true
1154					}
1155				}
1156				return false
1157			}
1158			return g
1159		}
1160		function a(f) {
1161			switch (f.toLowerCase()) {
1162			case "blue":
1163				return parseInt("0000FF", 16);
1164			case "green":
1165				return parseInt("00FF00", 16);
1166			case "red":
1167				return parseInt("FF0000", 16);
1168			case "cyan":
1169				return parseInt("00FFFF", 16);
1170			case "magenta":
1171				return parseInt("FF00FF", 16);
1172			case "yellow":
1173				return parseInt("FFFF00", 16);
1174			case "black":
1175				return parseInt("000000", 16);
1176			case "white":
1177				return parseInt("FFFFFF", 16);
1178			default:
1179				f = f.replace(/(#|0x)?([0-9A-F]{3,6})$/gi, "$2");
1180				if (f.length == 3) {
1181					f = f.charAt(0) + f.charAt(0) + f.charAt(1) + f.charAt(1) + f.charAt(2) + f.charAt(2)
1182				}
1183				return parseInt(f, 16)
1184			}
1185			return parseInt("000000", 16)
1186		}
1187	})(jwplayer);
1188	(function(a) {
1189		a.utils.parsers = function() {};
1190		a.utils.parsers.localName = function(b) {
1191			if (!b) {
1192				return ""
1193			} else {
1194				if (b.localName) {
1195					return b.localName
1196				} else {
1197					if (b.baseName) {
1198						return b.baseName
1199					} else {
1200						return ""
1201					}
1202				}
1203			}
1204		};
1205		a.utils.parsers.textContent = function(b) {
1206			if (!b) {
1207				return ""
1208			} else {
1209				if (b.textContent) {
1210					return b.textContent
1211				} else {
1212					if (b.text) {
1213						return b.text
1214					} else {
1215						return ""
1216					}
1217				}
1218			}
1219		}
1220	})(jwplayer);
1221	(function(a) {
1222		a.utils.parsers.jwparser = function() {};
1223		a.utils.parsers.jwparser.PREFIX = "jwplayer";
1224		a.utils.parsers.jwparser.parseEntry = function(c, d) {
1225			for (var b = 0; b < c.childNodes.length; b++) {
1226				if (c.childNodes[b].prefix == a.utils.parsers.jwparser.PREFIX) {
1227					d[a.utils.parsers.localName(c.childNodes[b])] = a.utils.strings.serialize(a.utils.parsers.textContent(c.childNodes[b]))
1228				}
1229				if (!d.file && String(d.link).toLowerCase().indexOf("youtube") > -1) {
1230					d.file = d.link
1231				}
1232			}
1233			return d
1234		};
1235		a.utils.parsers.jwparser.getProvider = function(c) {
1236			if (c.type) {
1237				return c.type
1238			} else {
1239				if (c.file.indexOf("youtube.com/w") > -1 || c.file.indexOf("youtube.com/v") > -1 || c.file.indexOf("youtu.be/") > -1) {
1240					return "youtube"
1241				} else {
1242					if (c.streamer && c.streamer.indexOf("rtmp") == 0) {
1243						return "rtmp"
1244					} else {
1245						if (c.streamer && c.streamer.indexOf("http") == 0) {
1246							return "http"
1247						} else {
1248							var b = a.utils.strings.extension(c.file);
1249							if (extensions.hasOwnProperty(b)) {
1250								return extensions[b]
1251							}
1252						}
1253					}
1254				}
1255			}
1256			return ""
1257		}
1258	})(jwplayer);
1259	(function(a) {
1260		a.utils.parsers.mediaparser = function() {};
1261		a.utils.parsers.mediaparser.PREFIX = "media";
1262		a.utils.parsers.mediaparser.parseGroup = function(d, f) {
1263			var e = false;
1264			for (var c = 0; c < d.childNodes.length; c++) {
1265				if (d.childNodes[c].prefix == a.utils.parsers.mediaparser.PREFIX) {
1266					if (!a.utils.parsers.localName(d.childNodes[c])) {
1267						continue
1268					}
1269					switch (a.utils.parsers.localName(d.childNodes[c]).toLowerCase()) {
1270					case "content":
1271						if (!e) {
1272							f.file = a.utils.strings.xmlAttribute(d.childNodes[c], "url")
1273						}
1274						if (a.utils.strings.xmlAttribute(d.childNodes[c], "duration")) {
1275							f.duration = a.utils.strings.seconds(a.utils.strings.xmlAttribute(d.childNodes[c], "duration"))
1276						}
1277						if (a.utils.strings.xmlAttribute(d.childNodes[c], "start")) {
1278							f.start = a.utils.strings.seconds(a.utils.strings.xmlAttribute(d.childNodes[c], "start"))
1279						}
1280						if (d.childNodes[c].childNodes && d.childNodes[c].childNodes.length > 0) {
1281							f = a.utils.parsers.mediaparser.parseGroup(d.childNodes[c], f)
1282						}
1283						if (a.utils.strings.xmlAttribute(d.childNodes[c], "width") || a.utils.strings.xmlAttribute(d.childNodes[c], "bitrate") || a.utils.strings.xmlAttribute(d.childNodes[c], "url")) {
1284							if (!f.levels) {
1285								f.levels = []
1286							}
1287							f.levels.push({
1288								width: a.utils.strings.xmlAttribute(d.childNodes[c], "width"),
1289								bitrate: a.utils.strings.xmlAttribute(d.childNodes[c], "bitrate"),
1290								file: a.utils.strings.xmlAttribute(d.childNodes[c], "url")
1291							})
1292						}
1293						break;
1294					case "title":
1295						f.title = a.utils.parsers.textContent(d.childNodes[c]);
1296						break;
1297					case "description":
1298						f.description = a.utils.parsers.textContent(d.childNodes[c]);
1299						break;
1300					case "keywords":
1301						f.tags = a.utils.parsers.textContent(d.childNodes[c]);
1302						break;
1303					case "thumbnail":
1304						f.image = a.utils.strings.xmlAttribute(d.childNodes[c], "url");
1305						break;
1306					case "credit":
1307						f.author = a.utils.parsers.textContent(d.childNodes[c]);
1308						break;
1309					case "player":
1310						var b = d.childNodes[c].url;
1311						if (b.indexOf("youtube.com") >= 0 || b.indexOf("youtu.be") >= 0) {
1312							e = true;
1313							f.file = a.utils.strings.xmlAttribute(d.childNodes[c], "url")
1314						}
1315						break;
1316					case "group":
1317						a.utils.parsers.mediaparser.parseGroup(d.childNodes[c], f);
1318						break
1319					}
1320				}
1321			}
1322			return f
1323		}
1324	})(jwplayer);
1325	(function(b) {
1326		b.utils.parsers.rssparser = function() {};
1327		b.utils.parsers.rssparser.parse = function(f) {
1328			var c = [];
1329			for (var e = 0; e < f.childNodes.length; e++) {
1330				if (b.utils.parsers.localName(f.childNodes[e]).toLowerCase() == "channel") {
1331					for (var d = 0; d < f.childNodes[e].childNodes.length; d++) {
1332						if (b.utils.parsers.localName(f.childNodes[e].childNodes[d]).toLowerCase() == "item") {
1333							c.push(a(f.childNodes[e].childNodes[d]))
1334						}
1335					}
1336				}
1337			}
1338			return c
1339		};
1340
1341		function a(d) {
1342			var e = {};
1343			for (var c = 0; c < d.childNodes.length; c++) {
1344				if (!b.utils.parsers.localName(d.childNodes[c])) {
1345					continue
1346				}
1347				switch (b.utils.parsers.localName(d.childNodes[c]).toLowerCase()) {
1348				case "enclosure":
1349					e.file = b.utils.strings.xmlAttribute(d.childNodes[c], "url");
1350					break;
1351				case "title":
1352					e.title = b.utils.parsers.textContent(d.childNodes[c]);
1353					break;
1354				case "pubdate":
1355					e.date = b.utils.parsers.textContent(d.childNodes[c]);
1356					break;
1357				case "description":
1358					e.description = b.utils.parsers.textContent(d.childNodes[c]);
1359					break;
1360				case "link":
1361					e.link = b.utils.parsers.textContent(d.childNodes[c]);
1362					break;
1363				case "category":
1364					if (e.tags) {
1365						e.tags += b.utils.parsers.textContent(d.childNodes[c])
1366					} else {
1367						e.tags = b.utils.parsers.textContent(d.childNodes[c])
1368					}
1369					break
1370				}
1371			}
1372			e = b.utils.parsers.mediaparser.parseGroup(d, e);
1373			e = b.utils.parsers.jwparser.parseEntry(d, e);
1374			return new b.html5.playlistitem(e)
1375		}
1376	})(jwplayer);
1377	(function(a) {
1378		var c = {};
1379		var b = {};
1380		a.plugins = function() {};
1381		a.plugins.loadPlugins = function(e, d) {
1382			b[e] = new a.plugins.pluginloader(new a.plugins.model(c), d);
1383			return b[e]
1384		};
1385		a.plugins.registerPlugin = function(h, f, e) {
1386			var d = a.utils.getPluginName(h);
1387			if (c[d]) {
1388				c[d].registerPlugin(h, f, e)
1389			} else {
1390				a.utils.log("A plugin (" + h + ") was registered with the player that was not loaded. Please check your configuration.");
1391				for (var g in b) {
1392					b[g].pluginFailed()
1393				}
1394			}
1395		}
1396	})(jwplayer);
1397	(function(a) {
1398		a.plugins.model = function(b) {
1399			this.addPlugin = function(c) {
1400				var d = a.utils.getPluginName(c);
1401				if (!b[d]) {
1402					b[d] = new a.plugins.plugin(c)
1403				}
1404				return b[d]
1405			}
1406		}
1407	})(jwplayer);
1408	(function(a) {
1409		a.plugins.pluginmodes = {
1410			FLASH: "FLASH",
1411			JAVASCRIPT: "JAVASCRIPT",
1412			HYBRID: "HYBRID"
1413		};
1414		a.plugins.plugin = function(b) {
1415			var d = "http://plugins.longtailvideo.com";
1416			var j = a.utils.loaderstatus.NEW;
1417			var k;
1418			var h;
1419			var l;
1420			var c = new a.events.eventdispatcher();
1421			a.utils.extend(this, c);
1422
1423			function e() {
1424				switch (a.utils.getPluginPathType(b)) {
1425				case a.utils.pluginPathType.ABSOLUTE:
1426					return b;
1427				case a.utils.pluginPathType.RELATIVE:
1428					return a.utils.getAbsolutePath(b, window.location.href);
1429				case a.utils.pluginPathType.CDN:
1430					var n = a.utils.getPluginName(b);
1431					var m = a.utils.getPluginVersion(b);
1432					return d + "/" + a.version.split(".")[0] + "/" + n + "/" + n + (m !== "" ? ("-" + m) : "") + ".js"
1433				}
1434			}
1435			function g(m) {
1436				l = setTimeout(function() {
1437					j = a.utils.loaderstatus.COMPLETE;
1438					c.sendEvent(a.events.COMPLETE)
1439				}, 1000)
1440			}
1441			function f(m) {
1442				j = a.utils.loaderstatus.ERROR;
1443				c.sendEvent(a.events.ERROR)
1444			}
1445			this.load = function() {
1446				if (j == a.utils.loaderstatus.NEW) {
1447					if (b.lastIndexOf(".swf") > 0) {
1448						k = b;
1449						j = a.utils.loaderstatus.COMPLETE;
1450						c.sendEvent(a.events.COMPLETE);
1451						return
1452					}
1453					j = a.utils.loaderstatus.LOADING;
1454					var m = new a.utils.scriptloader(e());
1455					m.addEventListener(a.events.COMPLETE, g);
1456					m.addEventListener(a.events.ERROR, f);
1457					m.load()
1458				}
1459			};
1460			this.registerPlugin = function(o, n, m) {
1461				if (l) {
1462					clearTimeout(l);
1463					l = undefined
1464				}
1465				if (n && m) {
1466					k = m;
1467					h = n
1468				} else {
1469					if (typeof n == "string") {
1470						k = n
1471					} else {
1472						if (typeof n == "function") {
1473							h = n
1474						} else {
1475							if (!n && !m) {
1476								k = o
1477							}
1478						}
1479					}
1480				}
1481				j = a.utils.loaderstatus.COMPLETE;
1482				c.sendEvent(a.events.COMPLETE)
1483			};
1484			this.getStatus = function() {
1485				return j
1486			};
1487			this.getPluginName = function() {
1488				return a.utils.getPluginName(b)
1489			};
1490			this.getFlashPath = function() {
1491				if (k) {
1492					switch (a.utils.getPluginPathType(k)) {
1493					case a.utils.pluginPathType.ABSOLUTE:
1494						return k;
1495					case a.utils.pluginPathType.RELATIVE:
1496						if (b.lastIndexOf(".swf") > 0) {
1497							return a.utils.getAbsolutePath(k, window.location.href)
1498						}
1499						return a.utils.getAbsolutePath(k, e());
1500					case a.utils.pluginPathType.CDN:
1501						if (k.indexOf("-") > -1) {
1502							return k + "h"
1503						}
1504						return k + "-h"
1505					}
1506				}
1507				return null
1508			};
1509			this.getJS = function() {
1510				return h
1511			};
1512			this.getPluginmode = function() {
1513				if (typeof k != "undefined" && typeof h != "undefined") {
1514					return a.plugins.pluginmodes.HYBRID
1515				} else {
1516					if (typeof k != "undefined") {
1517						return a.plugins.pluginmodes.FLASH
1518					} else {
1519						if (typeof h != "undefined") {
1520							return a.plugins.pluginmodes.JAVASCRIPT
1521						}
1522					}
1523				}
1524			};
1525			this.getNewInstance = function(n, m, o) {
1526				return new h(n, m, o)
1527			};
1528			this.getURL = function() {
1529				return b
1530			}
1531		}
1532	})(jwplayer);
1533	(function(a) {
1534		a.plugins.pluginloader = function(h, e) {
1535			var g = {};
1536			var k = a.utils.loaderstatus.NEW;
1537			var d = false;
1538			var b = false;
1539			var c = new a.events.eventdispatcher();
1540			a.utils.extend(this, c);
1541
1542			function f() {
1543				if (!b) {
1544					b = true;
1545					k = a.utils.loaderstatus.COMPLETE;
1546					c.sendEvent(a.events.COMPLETE)
1547				}
1548			}
1549			function j() {
1550				if (!b) {
1551					var m = 0;
1552					for (plugin in g) {
1553						var l = g[plugin].getStatus();
1554						if (l == a.utils.loaderstatus.LOADING || l == a.utils.loaderstatus.NEW) {
1555							m++
1556						}
1557					}
1558					if (m == 0) {
1559						f()
1560					}
1561				}
1562			}
1563			this.setupPlugins = function(n, l, s) {
1564				var m = {
1565					length: 0,
1566					plugins: {}
1567				};
1568				var p = {
1569					length: 0,
1570					plugins: {}
1571				};
1572				for (var o in g) {
1573					var q = g[o].getPluginName();
1574					if (g[o].getFlashPath()) {
1575						m.plugins[g[o].getFlashPath()] = l.plugins[o];
1576						m.plugins[g[o].getFlashPath()].pluginmode = g[o].getPluginmode();
1577						m.length++
1578					}
1579					if (g[o].getJS()) {
1580						var r = document.createElement("div");
1581						r.id = n.id + "_" + q;
1582						r.style.position = "absolute";
1583						r.style.zIndex = p.length + 10;
1584						p.plugins[q] = g[o].getNewInstance(n, l.plugins[o], r);
1585						p.length++;
1586						if (typeof p.plugins[q].resize != "undefined") {
1587							n.onReady(s(p.plugins[q], r, true));
1588							n.onResize(s(p.plugins[q], r))
1589						}
1590					}
1591				}
1592				n.plugins = p.plugins;
1593				return m
1594			};
1595			this.load = function() {
1596				k = a.utils.loaderstatus.LOADING;
1597				d = true;
1598				for (var l in e) {
1599					if (a.utils.exists(l)) {
1600						g[l] = h.addPlugin(l);
1601						g[l].addEventListener(a.events.COMPLETE, j);
1602						g[l].addEventListener(a.events.ERROR, j)
1603					}
1604				}
1605				for (l in g) {
1606					g[l].load()
1607				}
1608				d = false;
1609				j()
1610			};
1611			this.pluginFailed = function() {
1612				f()
1613			};
1614			this.getStatus = function() {
1615				return k
1616			}
1617		}
1618	})(jwplayer);
1619	(function(b) {
1620		var a = [];
1621		b.api = function(d) {
1622			this.container = d;
1623			this.id = d.id;
1624			var n = {};
1625			var s = {};
1626			var q = {};
1627			var c = [];
1628			var h = undefined;
1629			var l = false;
1630			var j = [];
1631			var p = b.utils.getOuterHTML(d);
1632			var r = {};
1633			var k = {};
1634			this.getBuffer = function() {
1635				return this.callInternal("jwGetBuffer")
1636			};
1637			this.getContainer = function() {
1638				return this.container
1639			};
1640
1641			function e(u, t) {
1642				return function(z, v, w, x) {
1643					if (u.renderingMode == "flash" || u.renderingMode == "html5") {
1644						var y;
1645						if (v) {
1646							k[z] = v;
1647							y = "jwplayer('" + u.id + "').callback('" + z + "')"
1648						} else {
1649							if (!v && k[z]) {
1650								delete k[z]
1651							}
1652						}
1653						h.jwDockSetButton(z, y, w, x)
1654					}
1655					return t
1656				}
1657			}
1658			this.getPlugin = function(t) {
1659				var v = this;
1660				var u = {};
1661				if (t == "dock") {
1662					return b.utils.extend(u, {
1663						setButton: e(v, u),
1664						show: function() {
1665							v.callInternal("jwDockShow");
1666							return u
1667						},
1668						hide: function() {
1669							v.callInternal("jwDockHide");
1670							return u
1671						},
1672						onShow: function(w) {
1673							v.componentListener("dock", b.api.events.JWPLAYER_COMPONENT_SHOW, w);
1674							return u
1675						},
1676						onHide: function(w) {
1677							v.componentListener("dock", b.api.events.JWPLAYER_COMPONENT_HIDE, w);
1678							return u
1679						}
1680					})
1681				} else {
1682					if (t == "controlbar") {
1683						return b.utils.extend(u, {
1684							show: function() {
1685								v.callInternal("jwControlbarShow");
1686								return u
1687							},
1688							hide: function() {
1689								v.callInternal("jwControlbarHide");
1690								return u
1691							},
1692							onShow: function(w) {
1693								v.componentListener("controlbar", b.api.events.JWPLAYER_COMPONENT_SHOW, w);
1694								return u
1695							},
1696							onHide: function(w) {
1697								v.componentListener("controlbar", b.api.events.JWPLAYER_COMPONENT_HIDE, w);
1698								return u
1699							}
1700						})
1701					} else {
1702						if (t == "display") {
1703							return b.utils.extend(u, {
1704								show: function() {
1705									v.callInternal("jwDisplayShow");
1706									return u
1707								},
1708								hide: function() {
1709									v.callInternal("jwDisplayHide");
1710									return u
1711								},
1712								onShow: function(w) {
1713									v.componentListener("display", b.api.events.JWPLAYER_COMPONENT_SHOW, w);
1714									return u
1715								},
1716								onHide: function(w) {
1717									v.componentListener("display", b.api.events.JWPLAYER_COMPONENT_HIDE, w);
1718									return u
1719								}
1720							})
1721						} else {
1722							return this.plugins[t]
1723						}
1724					}
1725				}
1726			};
1727			this.callback = function(t) {
1728				if (k[t]) {
1729					return k[t]()
1730				}
1731			};
1732			this.getDuration = function() {
1733				return this.callInternal("jwGetDuration")
1734			};
1735			this.getFullscreen = function() {
1736				return this.callInternal("jwGetFullscreen")
1737			};
1738			this.getHeight = function() {
1739				return this.callInternal("jwGetHeight")
1740			};
1741			this.getLockState = function() {
1742				return this.callInternal("jwGetLockState")
1743			};
1744			this.getMeta = function() {
1745				return this.getItemMeta()
1746			};
1747			this.getMute = function() {
1748				return this.callInternal("jwGetMute")
1749			};
1750			this.getPlaylist = function() {
1751				var u = this.callInternal("jwGetPlaylist");
1752				if (this.renderingMode == "flash") {
1753					b.utils.deepReplaceKeyName(u, "__dot__", ".")
1754				}
1755				for (var t = 0; t < u.length; t++) {
1756					if (!b.utils.exists(u[t].index)) {
1757						u[t].index = t
1758					}
1759				}
1760				return u
1761			};
1762			this.getPlaylistItem = function(t) {
1763				if (!b.utils.exists(t)) {
1764					t = this.getCurrentItem()
1765				}
1766				return this.getPlaylist()[t]
1767			};
1768			this.getPosition = function() {
1769				return this.callInternal("jwGetPosition")
1770			};
1771			this.getRenderingMode = function() {
1772				return this.renderingMode
1773			};
1774			this.getState = function() {
1775				return this.callInternal("jwGetState")
1776			};
1777			this.getVolume = function() {
1778				return this.callInternal("jwGetVolume")
1779			};
1780			this.getWidth = function() {
1781				return this.callInternal("jwGetWidth")
1782			};
1783			this.setFullscreen = function(t) {
1784				if (!b.utils.exists(t)) {
1785					this.callInternal("jwSetFullscreen", !this.callInternal("jwGetFullscreen"))
1786				} else {
1787					this.callInternal("jwSetFullscreen", t)
1788				}
1789				return this
1790			};
1791			this.setMute = function(t) {
1792				if (!b.utils.exists(t)) {
1793					this.callInternal("jwSetMute", !this.callInternal("jwGetMute"))
1794				} else {
1795					this.callInternal("jwSetMute", t)
1796				}
1797				return this
1798			};
1799			this.lock = function() {
1800				return this
1801			};
1802			this.unlock = function() {
1803				return this
1804			};
1805			this.load = function(t) {
1806				this.callInternal("jwLoad", t);
1807				return this
1808			};
1809			this.playlistItem = function(t) {
1810				this.callInternal("jwPlaylistItem", t);
1811				return this
1812			};
1813			this.playlistPrev = function() {
1814				this.callInternal("jwPlaylistPrev");
1815				return this
1816			};
1817			this.playlistNext = function() {
1818				this.callInternal("jwPlaylistNext");
1819				return this
1820			};
1821			this.resize = function(u, t) {
1822				if (this.renderingMode == "html5") {
1823					h.jwResize(u, t)
1824				} else {
1825					this.container.width = u;
1826					this.container.height = t
1827				}
1828				return this
1829			};
1830			this.play = function(t) {
1831				if (typeof t == "undefined") {
1832					t = this.getState();
1833					if (t == b.api.events.state.PLAYING || t == b.api.events.state.BUFFERING) {
1834						this.callInternal("jwPause")
1835					} else {
1836						this.callInternal("jwPlay")
1837					}
1838				} else {
1839					this.callInternal("jwPlay", t)
1840				}
1841				return this
1842			};
1843			this.pause = function(t) {
1844				if (typeof t == "undefined") {
1845					t = this.getState();
1846					if (t == b.api.events.state.PLAYING || t == b.api.events.state.BUFFERING) {
1847						this.callInternal("jwPause")
1848					} else {
1849						this.callInternal("jwPlay")
1850					}
1851				} else {
1852					this.callInternal("jwPause", t)
1853				}
1854				return this
1855			};
1856			this.stop = function() {
1857				this.callInternal("jwStop");
1858				return this
1859			};
1860			this.seek = function(t) {
1861				this.callInternal("jwSeek", t);
1862				return this
1863			};
1864			this.setVolume = function(t) {
1865				this.callInternal("jwSetVolume", t);
1866				return this
1867			};
1868			this.onBufferChange = function(t) {
1869				return this.eventListener(b.api.events.JWPLAYER_MEDIA_BUFFER, t)
1870			};
1871			this.onBufferFull = function(t) {
1872				return this.eventListener(b.api.events.JWPLAYER_MEDIA_BUFFER_FULL, t)
1873			};
1874			this.onError = function(t) {
1875				return this.eventListener(b.api.events.JWPLAYER_ERROR, t)
1876			};
1877			this.onFullscreen = function(t) {
1878				return this.eventListener(b.api.events.JWPLAYER_FULLSCREEN, t)
1879			};
1880			this.onMeta = function(t) {
1881				return this.eventListener(b.api.events.JWPLAYER_MEDIA_META, t)
1882			};
1883			this.onMute = function(t) {
1884				return this.eventListener(b.api.events.JWPLAYER_MEDIA_MUTE, t)
1885			};
1886			this.onPlaylist = function(t) {
1887				return this.eventListener(b.api.events.JWPLAYER_PLAYLIST_LOADED, t)
1888			};
1889			this.onPlaylistItem = function(t) {
1890				return this.eventListener(b.api.events.JWPLAYER_PLAYLIST_ITEM, t)
1891			};
1892			this.onReady = function(t) {
1893				return this.eventListener(b.api.events.API_READY, t)
1894			};
1895			this.onResize = function(t) {
1896				return this.eventListener(b.api.events.JWPLAYER_RESIZE, t)
1897			};
1898			this.onComplete = function(t) {
1899				return this.eventListener(b.api.events.JWPLAYER_MEDIA_COMPLETE, t)
1900			};
1901			this.onSeek = function(t) {
1902				return this.eventListener(b.api.events.JWPLAYER_MEDIA_SEEK, t)
1903			};
1904			this.onTime = function(t) {
1905				return this.eventListener(b.api.events.JWPLAYER_MEDIA_TIME, t)
1906			};
1907			this.onVolume = function(t) {
1908				return this.eventListener(b.api.events.JWPLAYER_MEDIA_VOLUME, t)
1909			};
1910			this.onBuffer = function(t) {
1911				return this.stateListener(b.api.events.state.BUFFERING, t)
1912			};
1913			this.onPause = function(t) {
1914				return this.stateListener(b.api.events.state.PAUSED, t)
1915			};
1916			this.onPlay = function(t) {
1917				return this.stateListener(b.api.events.state.PLAYING, t)
1918			};
1919			this.onIdle = function(t) {
1920				return this.stateListener(b.api.events.state.IDLE, t)
1921			};
1922			this.remove = function() {
1923				n = {};
1924				j = [];
1925				if (b.utils.getOuterHTML(this.container) != p) {
1926					b.api.destroyPlayer(this.id, p)
1927				}
1928			};
1929			this.setup = function(u) {
1930				if (b.embed) {
1931					var t = this.id;
1932					this.remove();
1933					var v = b(t);
1934					v.config = u;
1935					return new b.embed(v)
1936				}
1937				return this
1938			};
1939			this.registerPlugin = function(v, u, t) {
1940				b.plugins.registerPlugin(v, u, t)
1941			};
1942			this.setPlayer = function(t, u) {
1943				h = t;
1944				this.renderingMode = u
1945			};
1946			this.stateListener = function(t, u) {
1947				if (!s[t]) {
1948					s[t] = [];
1949					this.eventListener(b.api.events.JWPLAYER_PLAYER_STATE, g(t))
1950				}
1951				s[t].push(u);
1952				return this
1953			};
1954
1955			function g(t) {
1956				return function(v) {
1957					var u = v.newstate,
1958						x = v.oldstate;
1959					if (u == t) {
1960						var w = s[u];
1961						if (w) {
1962							for (var y = 0; y < w.length; y++) {
1963								if (typeof w[y] == "function") {
1964									w[y].call(this, {
1965										oldstate: x,
1966										newstate: u
1967									})
1968								}
1969							}
1970						}
1971					}
1972				}
1973			}
1974			this.componentListener = function(t, u, v) {
1975				if (!q[t]) {
1976					q[t] = {}
1977				}
1978				if (!q[t][u]) {
1979					q[t][u] = [];
1980					this.eventListener(u, m(t, u))
1981				}
1982				q[t][u].push(v);
1983				return this
1984			};
1985
1986			function m(t, u) {
1987				return function(w) {
1988					if (t == w.component) {
1989						var v = q[t][u];
1990						if (v) {
1991							for (var x = 0; x < v.length; x++) {
1992								if (typeof v[x] == "function") {
1993									v[x].call(this, w)
1994								}
1995							}
1996						}
1997					}
1998				}
1999			}
2000			this.addInternalListener = function(t, u) {
2001				t.jwAddEventListener(u, 'function(dat) { jwplayer("' + this.id + '").dispatchEvent("' + u + '", dat); }')
2002			};
2003			this.eventListener = function(t, u) {
2004				if (!n[t]) {
2005					n[t] = [];
2006					if (h && l) {
2007						this.addInternalListener(h, t)
2008					}
2009				}
2010				n[t].push(u);
2011				return this
2012			};
2013			this.dispatchEvent = function(v) {
2014				if (n[v]) {
2015					var u = f(v, arguments[1]);
2016					for (var t = 0; t < n[v].length; t++) {
2017						if (typeof n[v][t] == "function") {
2018							n[v][t].call(this, u)
2019						}
2020					}
2021				}
2022			};
2023
2024			function f(v, t) {
2025				var x = b.utils.extend({}, t);
2026				if (v == b.api.events.JWPLAYER_FULLSCREEN && !x.fullscreen) {
2027					x.fullscreen = x.message == "true" ? true : false;
2028					delete x.message
2029				} else {
2030					if (typeof x.data == "object") {
2031						x = b.utils.extend(x, x.data);
2032						delete x.data
2033					}
2034				}
2035				var u = ["position", "duration", "offset"];
2036				for (var w in u) {
2037					if (x[u[w]]) {
2038						x[u[w]] = Math.round(x[u[w]] * 1000) / 1000
2039					}
2040				}
2041				return x
2042			}
2043			this.callInternal = function(u, t) {
2044				if (l) {
2045					if (typeof h != "undefined" && typeof h[u] == "function") {
2046						if (b.utils.exists(t)) {
2047							return (h[u])(t)
2048						} else {
2049							return (h[u])()
2050						}
2051					}
2052					return null
2053				} else {
2054					j.push({
2055						method: u,
2056						parameters: t
2057					})
2058				}
2059			};
2060			this.playerReady = function(v) {
2061				l = true;
2062				if (!h) {
2063					this.setPlayer(document.getElementById(v.id))
2064				}
2065				this.container = document.getElementById(this.id);
2066				for (var t in n) {
2067					this.addInternalListener(h, t)
2068				}
2069				this.eventListener(b.api.events.JWPLAYER_PLAYLIST_ITEM, function(w) {
2070					r = {}
2071				});
2072				this.eventListener(b.api.events.JWPLAYER_MEDIA_META, function(w) {
2073					b.utils.extend(r, w.metadata)
2074				});
2075				this.dispatchEvent(b.api.events.API_READY);
2076				while (j.length > 0) {
2077					var u = j.shift();
2078					this.callInternal(u.method, u.parameters)
2079				}
2080			};
2081			this.getItemMeta = function() {
2082				return r
2083			};
2084			this.getCurrentItem = function() {
2085				return this.callInternal("jwGetPlaylistIndex")
2086			};
2087
2088			function o(v, x, w) {
2089				var t = [];
2090				if (!x) {
2091					x = 0
2092				}
2093				if (!w) {
2094					w = v.length - 1
2095				}
2096				for (var u = x; u <= w; u++) {
2097					t.push(v[u])
2098				}
2099				return t
2100			}
2101			return this
2102		};
2103		b.api.selectPlayer = function(d) {
2104			var c;
2105			if (!b.utils.exists(d)) {
2106				d = 0
2107			}
2108			if (d.nodeType) {
2109				c = d
2110			} else {
2111				if (typeof d == "string") {
2112					c = document.getElementById(d)
2113				}
2114			}
2115			if (c) {
2116				var e = b.api.playerById(c.id);
2117				if (e) {
2118					return e
2119				} else {
2120					return b.api.addPlayer(new b.api(c))
2121				}
2122			} else {
2123				if (typeof d == "number") {
2124					return b.getPlayers()[d]
2125				}
2126			}
2127			return null
2128		};
2129		b.api.events = {
2130			API_READY: "jwplayerAPIReady",
2131			JWPLAYER_READY: "jwplayerReady",
2132			JWPLAYER_FULLSCREEN: "jwplayerFullscreen",
2133			JWPLAYER_RESIZE: "jwplayerResize",
2134			JWPLAYER_ERROR: "jwplayerError",
2135			JWPLAYER_COMPONENT_SHOW: "jwplayerComponentShow",
2136			JWPLAYER_COMPONENT_HIDE: "jwplayerComponentHide",
2137			JWPLAYER_MEDIA_BUFFER: "jwplayerMediaBuffer",
2138			JWPLAYER_MEDIA_BUFFER_FULL: "jwplayerMediaBufferFull",
2139			JWPLAYER_MEDIA_ERROR: "jwplayerMediaError",
2140			JWPLAYER_MEDIA_LOADED: "jwplayerMediaLoaded",
2141			JWPLAYER_MEDIA_COMPLETE: "jwplayerMediaComplete",
2142			JWPLAYER_MEDIA_SEEK: "jwplayerMediaSeek",
2143			JWPLAYER_MEDIA_TIME: "jwplayerMediaTime",
2144			JWPLAYER_MEDIA_VOLUME: "jwplayerMediaVolume",
2145			JWPLAYER_MEDIA_META: "jwplayerMediaMeta",
2146			JWPLAYER_MEDIA_MUTE: "jwplayerMediaMute",
2147			JWPLAYER_PLAYER_STATE: "jwplayerPlayerState",
2148			JWPLAYER_PLAYLIST_LOADED: "jwplayerPlaylistLoaded",
2149			JWPLAYER_PLAYLIST_ITEM: "jwplayerPlaylistItem"
2150		};
2151		b.api.events.state = {
2152			BUFFERING: "BUFFERING",
2153			IDLE: "IDLE",
2154			PAUSED: "PAUSED",
2155			PLAYING: "PLAYING"
2156		};
2157		b.api.playerById = function(d) {
2158			for (var c = 0; c < a.length; c++) {
2159				if (a[c].id == d) {
2160					return a[c]
2161				}
2162			}
2163			return null
2164		};
2165		b.api.addPlayer = function(c) {
2166			for (var d = 0; d < a.length; d++) {
2167				if (a[d] == c) {
2168					return c
2169				}
2170			}
2171			a.push(c);
2172			return c
2173		};
2174		b.api.destroyPlayer = function(g, d) {
2175			var f = -1;
2176			for (var j = 0; j < a.length; j++) {
2177				if (a[j].id == g) {
2178					f = j;
2179					continue
2180				}
2181			}
2182			if (f >= 0) {
2183				var c = document.getElementById(a[f].id);
2184				if (document.getElementById(a[f].id + "_wrapper")) {
2185					c = document.getElementById(a[f].id + "_wrapper")
2186				}
2187				if (c) {
2188					if (d) {
2189						b.utils.setOuterHTML(c, d)
2190					} else {
2191						var h = document.createElement("div");
2192						var e = c.id;
2193						if (c.id.indexOf("_wrapper") == c.id.length - 8) {
2194							newID = c.id.substring(0, c.id.length - 8)
2195						}
2196						h.setAttribute("id", e);
2197						c.parentNode.replaceChild(h, c)
2198					}
2199				}
2200				a.splice(f, 1)
2201			}
2202			return null
2203		};
2204		b.getPlayers = function() {
2205			return a.slice(0)
2206		}
2207	})(jwplayer);
2208	var _userPlayerReady = (typeof playerReady == "function") ? playerReady : undefined;
2209	playerReady = function(b) {
2210		var a = jwplayer.api.playerById(b.id);
2211		if (a) {
2212			a.playerReady(b)
2213		} else {
2214			jwplayer.api.selectPlayer(b.id).playerReady(b)
2215		}
2216		if (_userPlayerReady) {
2217			_userPlayerReady.call(this, b)
2218		}
2219	};
2220	(function(a) {
2221		a.embed = function(g) {
2222			var j = {
2223				width: 400,
2224				height: 300,
2225				components: {
2226					controlbar: {
2227						position: "over"
2228					}
2229				}
2230			};
2231			var f = a.utils.mediaparser.parseMedia(g.container);
2232			var e = new a.embed.config(a.utils.extend(j, f, g.config), this);
2233			var h = a.plugins.loadPlugins(g.id, e.plugins);
2234
2235			function c(m, l) {
2236				for (var k in l) {
2237					if (typeof m[k] == "function") {
2238						(m[k]).call(m, l[k])
2239					}
2240				}
2241			}
2242			function d() {
2243				if (h.getStatus() == a.utils.loaderstatus.COMPLETE) {
2244					for (var m = 0; m < e.modes.length; m++) {
2245						if (e.modes[m].type && a.embed[e.modes[m].type]) {
2246							var k = e;
2247							if (e.modes[m].config) {
2248								k = a.utils.extend(a.utils.clone(e), e.modes[m].config)
2249							}
2250							var l = new a.embed[e.modes[m].type](document.getElementById(g.id), e.modes[m], k, h, g);
2251							if (l.supportsConfig()) {
2252								l.embed();
2253								c(g, e.events);
2254								return g
2255							}
2256						}
2257					}
2258					a.utils.log("No suitable players found");
2259					new a.embed.logo(a.utils.extend({
2260						hide: true
2261					}, e.components.logo), "none", g.id)
2262				}
2263			}
2264			h.addEventListener(a.events.COMPLETE, d);
2265			h.addEventListener(a.events.ERROR, d);
2266			h.load();
2267			return g
2268		};
2269
2270		function b() {
2271			if (!document.body) {
2272				return setTimeout(b, 15)
2273			}
2274			var c = a.utils.selectors.getElementsByTagAndClass("video", "jwplayer");
2275			for (var d = 0; d < c.length; d++) {
2276				var e = c[d];
2277				a(e.id).setup({})
2278			}
2279		}
2280		b()
2281	})(jwplayer);
2282	(function(e) {
2283		function h() {
2284			return [{
2285				type: "flash",
2286				src: "/jwplayer/player.swf"
2287			}, {
2288				type: "html5"
2289			}, {
2290				type: "download"
2291			}]
2292		}
2293		var a = {
2294			players: "modes",
2295			autoplay: "autostart"
2296		};
2297
2298		function b(n) {
2299			var m = n.toLowerCase();
2300			var l = ["left", "right", "top", "bottom"];
2301			for (var k = 0; k < l.length; k++) {
2302				if (m == l[k]) {
2303					return true
2304				}
2305			}
2306			return false
2307		}
2308		function c(l) {
2309			var k = false;
2310			k = (l instanceof Array) || (typeof l == "object" && !l.position && !l.size);
2311			return k
2312		}
2313		function j(k) {
2314			if (typeof k == "string") {
2315				if (parseInt(k).toString() == k || k.toLowerCase().indexOf("px") > -1) {
2316					return parseInt(k)
2317				}
2318			}
2319			return k
2320		}
2321		var g = ["playlist", "dock", "controlbar", "logo", "display"];
2322
2323		function f(k) {
2324			var n = {};
2325			switch (e.utils.typeOf(k.plugins)) {
2326			case "object":
2327				for (var m in k.plugins) {
2328					n[e.utils.getPluginName(m)] = m
2329				}
2330				break;
2331			case "string":
2332				var o = k.plugins.split(",");
2333				for (var l = 0; l < o.length; l++) {
2334					n[e.utils.getPluginName(o[l])] = o[l]
2335				}
2336				break
2337			}
2338			return n
2339		}
2340		function d(o, n, m, k) {
2341			if (e.utils.typeOf(o[n]) != "object") {
2342				o[n] = {}
2343			}
2344			var l = o[n][m];
2345			if (e.utils.typeOf(l) != "object") {
2346				o[n][m] = l = {}
2347			}
2348			if (k) {
2349				if (n == "plugins") {
2350					var p = e.utils.getPluginName(m);
2351					l[k] = o[p + "." + k];
2352					delete o[p + "." + k]
2353				} else {
2354					l[k] = o[m + "." + k];
2355					delete o[m + "." + k]
2356				}
2357			}
2358		}
2359		e.embed.deserialize = function(l) {
2360			var m = f(l);
2361			for (var k in m) {
2362				d(l, "plugins", m[k])
2363			}
2364			for (var p in l) {
2365				if (p.indexOf(".") > -1) {
2366					var o = p.split(".");
2367					var n = o[0];
2368					var p = o[1];
2369					if (e.utils.isInArray(g, n)) {
2370						d(l, "components", n, p)
2371					} else {
2372						if (m[n]) {
2373							d(l, "plugins", m[n], p)
2374						}
2375					}
2376				}
2377			}
2378			return l
2379		};
2380		e.embed.config = function(k, u) {
2381			var t = e.utils.extend({}, k);
2382			var r;
2383			if (c(t.playlist)) {
2384				r = t.playlist;
2385				delete t.playlist
2386			}
2387			t = e.embed.deserialize(t);
2388			t.height = j(t.height);
2389			t.width = j(t.width);
2390			if (typeof t.plugins == "string") {
2391				var l = t.plugins.split(",");
2392				if (typeof t.plugins != "object") {
2393					t.plugins = {}
2394				}
2395				for (var p = 0; p < l.length; p++) {
2396					var q = e.utils.getPluginName(l[p]);
2397					if (typeof t[q] == "object") {
2398						t.plugins[l[p]] = t[q];
2399						delete t[q]
2400					} else {
2401						t.plugins[l[p]] = {}
2402					}
2403				}
2404			}
2405			for (var s = 0; s < g.length; s++) {
2406				var o = g[s];
2407				if (e.utils.exists(t[o])) {
2408					if (typeof t[o] != "object") {
2409						if (!t.components[o]) {
2410							t.components[o] = {}
2411						}
2412						if (o == "logo") {
2413							t.components[o].file = t[o]
2414						} else {
2415							t.components[o].position = t[o]
2416						}
2417						delete t[o]
2418					} else {
2419						if (!t.components[o]) {
2420							t.components[o] = {}
2421						}
2422						e.utils.extend(t.components[o], t[o]);
2423						delete t[o]
2424					}
2425				}
2426				if (typeof t[o + "size"] != "undefined") {
2427					if (!t.components[o]) {
2428						t.components[o] = {}
2429					}
2430					t.components[o].size = t[o + "size"];
2431					delete t[o + "size"]
2432				}
2433			}
2434			if (typeof t.icons != "undefined") {
2435				if (!t.components.display) {
2436					t.components.display = {}
2437				}
2438				t.components.display.icons = t.icons;
2439				delete t.icons
2440			}
2441			for (var n in a) {
2442				if (t[n]) {
2443					if (!t[a[n]]) {
2444						t[a[n]] = t[n]
2445					}
2446					delete t[n]
2447				}
2448			}
2449			var m;
2450			if (t.flashplayer && !t.modes) {
2451				m = h();
2452				m[0].src = t.flashplayer;
2453				delete t.flashplayer
2454			} else {
2455				if (t.modes) {
2456					if (typeof t.modes == "string") {
2457						m = h();
2458						m[0].src = t.modes
2459					} else {
2460						if (t.modes instanceof Array) {
2461							m = t.modes
2462						} else {
2463							if (typeof t.modes == "object" && t.modes.type) {
2464								m = [t.modes]
2465							}
2466						}
2467					}
2468					delete t.modes
2469				} else {
2470					m = h()
2471				}
2472			}
2473			t.modes = m;
2474			if (r) {
2475				t.playlist = r
2476			}
2477			return t
2478		}
2479	})(jwplayer);
2480	(function(a) {
2481		a.embed.download = function(c, g, b, d, f) {
2482			this.embed = function() {
2483				var k = a.utils.extend({}, b);
2484				var q = {};
2485				var j = b.width ? b.width : 480;
2486				if (typeof j != "number") {
2487					j = parseInt(j, 10)
2488				}
2489				var m = b.height ? b.height : 320;
2490				if (typeof m != "number") {
2491					m = parseInt(m, 10)
2492				}
2493				var u, o, n;
2494				var s = {};
2495				if (b.playlist && b.playlist.length) {
2496					s.file = b.playlist[0].file;
2497					o = b.playlist[0].image;
2498					s.levels = b.playlist[0].levels
2499				} else {
2500					s.file = b.file;
2501					o = b.image;
2502					s.levels = b.levels
2503				}
2504				if (s.file) {
2505					u = s.file
2506				} else {
2507					if (s.levels && s.levels.length) {
2508						u = s.levels[0].file
2509					}
2510				}
2511				n = u ? "pointer" : "auto";
2512				var l = {
2513					display: {
2514						style: {
2515							cursor: n,
2516							width: j,
2517							height: m,
2518							backgroundColor: "#000",
2519							position: "relative",
2520							textDecoration: "none",
2521							border: "none",
2522							display: "block"
2523						}
2524					},
2525					display_icon: {
2526						style: {
2527							cursor: n,
2528							position: "absolute",
2529							display: u ? "block" : "none",
2530							top: 0,
2531							left: 0,
2532							border: 0,
2533							margin: 0,
2534							padding: 0,
2535							zIndex: 3,
2536							width: 50,
2537							height: 50,
2538							backgroundImage: "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALdJREFUeNrs18ENgjAYhmFouDOCcQJGcARHgE10BDcgTOIosAGwQOuPwaQeuFRi2p/3Sb6EC5L3QCxZBgAAAOCorLW1zMn65TrlkH4NcV7QNcUQt7Gn7KIhxA+qNIR81spOGkL8oFJDyLJRdosqKDDkK+iX5+d7huzwM40xptMQMkjIOeRGo+VkEVvIPfTGIpKASfYIfT9iCHkHrBEzf4gcUQ56aEzuGK/mw0rHpy4AAACAf3kJMACBxjAQNRckhwAAAABJRU5ErkJggg==)"
2539						}
2540					},
2541					display_iconBackground: {
2542						style: {
2543							cursor: n,
2544							position: "absolute",
2545							display: u ? "block" : "none",
2546							top: ((m - 50) / 2),
2547							left: ((j - 50) / 2),
2548							border: 0,
2549							width: 50,
2550							height: 50,
2551							margin: 0,
2552							padding: 0,
2553							zIndex: 2,
2554							backgroundImage: "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEpJREFUeNrszwENADAIA7DhX8ENoBMZ5KR10EryckCJiIiIiIiIiIiIiIiIiIiIiIh8GmkRERERERERERERERERERERERGRHSPAAPlXH1phYpYaAAAAAElFTkSuQmCC)"
2555						}
2556					},
2557					display_image: {
2558						style: {
2559							width: j,
2560							height: m,
2561							display: o ? "block" : "none",
2562							position: "absolute",
2563							cursor: n,
2564							left: 0,
2565							top: 0,
2566							margin: 0,
2567							padding: 0,
2568							textDecoration: "none",
2569							zIndex: 1,
2570							border: "none"
2571						}
2572					}
2573				};
2574				var h = function(v, x, y) {
2575						var w = document.createElement(v);
2576						if (y) {
2577							w.id = y
2578						} else {
2579							w.id = c.id + "_jwplayer_" + x
2580						}
2581						a.utils.css(w, l[x].style);
2582						return w
2583					};
2584				q.display = h("a", "display", c.id);
2585				if (u) {
2586					q.display.setAttribute("href", a.utils.getAbsolutePath(u))
2587				}
2588				q.display_image = h("img", "display_image");
2589				q.display_image.setAttribute("alt", "Click to download...");
2590				if (o) {
2591					q.display_image.setAttribute("src", a.utils.getAbsolutePath(o))
2592				}
2593				if (true) {
2594					q.display_icon = h("div", "display_icon");
2595					q.display_iconBackground = h("div", "display_iconBackground");
2596					q.display.appendChild(q.display_image);
2597					q.display_iconBackground.appendChild(q.display_icon);
2598					q.display.appendChild(q.display_iconBackground)
2599				}
2600				_css = a.utils.css;
2601				_hide = function(v) {
2602					_css(v, {
2603						display: "none"
2604					})
2605				};
2606
2607				function r(v) {
2608					_imageWidth = q.display_image.naturalWidth;
2609					_imageHeight = q.display_image.naturalHeight;
2610					t()
2611				}
2612				function t() {
2613					a.utils.stretch(a.utils.stretching.UNIFORM, q.display_image, j, m, _imageWidth, _imageHeight)
2614				}
2615				q.display_image.onerror = function(v) {
2616					_hide(q.display_image)
2617				};
2618				q.display_image.onload = r;
2619				c.parentNode.replaceChild(q.display, c);
2620				var p = (b.plugins && b.plugins.logo) ? b.plugins.logo : {};
2621				q.display.appendChild(new a.embed.logo(b.components.logo, "download", c.id));
2622				f.container = document.getElementById(f.id);
2623				f.setPlayer(q.display, "download")
2624			};
2625			this.supportsConfig = function() {
2626				if (b) {
2627					var j = a.utils.getFirstPlaylistItemFromConfig(b);
2628					if (typeof j.file == "undefined" && typeof j.levels == "undefined") {
2629						return true
2630					} else {
2631						if (j.file) {
2632							return e(j.file, j.provider, j.playlistfile)
2633						} else {
2634							if (j.levels && j.levels.length) {
2635								for (var h = 0; h < j.levels.length; h++) {
2636									if (j.levels[h].file && e(j.levels[h].file, j.provider, j.playlistfile)) {
2637										return true
2638									}
2639								}
2640							}
2641						}
2642					}
2643				} else {
2644					return true
2645				}
2646			};
2647
2648			function e(j, l, h) {
2649				if (h) {
2650					return false
2651				}
2652				var k = ["image", "sound", "youtube", "http"];
2653				if (l && (k.toString().indexOf(l) > -1)) {
2654					return true
2655				}
2656				if (!l || (l && l == "video")) {
2657					var m = a.utils.extension(j);
2658					if (m && a.utils.extensionmap[m]) {
2659						return true
2660					}
2661				}
2662				return false
2663			}
2664		}
2665	})(jwplayer);
2666	(function(a) {
2667		a.embed.flash = function(f, g, l, e, j) {
2668			function m(o, n, p) {
2669				var q = document.createElement("param");
2670				q.setAttribute("name", n);
2671				q.setAttribute("value", p);
2672				o.appendChild(q)
2673			}
2674			function k(o, p, n) {
2675				return function(q) {
2676					if (n) {
2677						document.getElementById(j.id + "_wrapper").appendChild(p)
2678					}
2679					var s = document.getElementById(j.id).getPluginConfig("display");
2680					o.resize(s.width, s.height);
2681					var r = {
2682						left: s.x,
2683						top: s.y
2684					};
2685					a.utils.css(p, r)
2686				}
2687			}
2688			function d(p) {
2689				if (!p) {
2690					return {}
2691				}
2692				var r = {};
2693				for (var o in p) {
2694					var n = p[o];
2695					for (var q in n) {
2696						r[o + "." + q] = n[q]
2697					}
2698				}
2699				return r
2700			}
2701			function h(q, p) {
2702				if (q[p]) {
2703					var s = q[p];
2704					for (var o in s) {
2705						var n = s[o];
2706						if (typeof n == "string") {
2707							if (!q[o]) {
2708								q[o] = n
2709							}
2710						} else {
2711							for (var r in n) {
2712								if (!q[o + "." + r]) {
2713									q[o + "." + r] = n[r]
2714								}
2715							}
2716						}
2717					}
2718					delete q[p]
2719				}
2720			}
2721			function b(q) {
2722				if (!q) {
2723					return {}
2724				}
2725				var t = {},
2726					s = [];
2727				for (var n in q) {
2728					var p = a.utils.getPluginName(n);
2729					var o = q[n];
2730					s.push(n);
2731					for (var r in o) {
2732						t[p + "." + r] = o[r]
2733					}
2734				}
2735				t.plugins = s.join(",");
2736				return t
2737			}
2738			function c(p) {
2739				var n = p.netstreambasepath ? "" : "netstreambasepath=" + encodeURIComponent(window.location.href.split("#")[0]) + "&";
2740				for (var o in p) {
2741					if (typeof(p[o]) == "object") {
2742						n += o + "=" + encodeURIComponent("[[JSON]]" + a.utils.strings.jsonToString(p[o])) + "&"
2743					} else {
2744						n += o + "=" + encodeURIComponent(p[o]) + "&"
2745					}
2746				}
2747				return n.substring(0, n.length - 1)
2748			}
2749			this.embed = function() {
2750				l.id = j.id;
2751				var y;
2752				var q = a.utils.extend({}, l);
2753				var n = q.width;
2754				var w = q.height;
2755				if (f.id + "_wrapper" == f.parentNode.id) {
2756					y = document.getElementById(f.id + "_wrapper")
2757				} else {
2758					y = document.createElement("div");
2759					y.id = f.id + "_wrapper";
2760					a.utils.wrap(f, y);
2761					a.utils.css(y, {
2762						position: "relative",
2763						width: n,
2764						height: w
2765					})
2766				}
2767				var o = e.setupPlugins(j, q, k);
2768				if (o.length > 0) {
2769					a.utils.extend(q, b(o.plugins))
2770				} else {
2771					delete q.plugins
2772				}
2773				var r = ["height", "width", "modes", "events"];
2774				for (var u = 0; u < r.length; u++) {
2775					delete q[r[u]]
2776				}
2777				var p = "opaque";
2778				if (q.wmode) {
2779					p = q.wmode
2780				}
2781				h(q, "components");
2782				h(q, "providers");
2783				if (typeof q["dock.position"] != "undefined") {
2784					if (q["dock.position"].toString().toLowerCase() == "false") {
2785						q.dock = q["dock.position"];
2786						delete q["dock.position"]
2787					}
2788				}
2789				var x = "#000000";
2790				var t;
2791				if (a.utils.isIE()) {
2792					var v = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" bgcolor="' + x + '" width="100%" height="100%" id="' + f.id + '" name="' + f.id + '" tabindex=0"">';
2793					v += '<param name="movie" value="' + g.src + '">';
2794					v += '<param name="allowfullscreen" value="true">';
2795					v += '<param name="allowscriptaccess" value="always">';
2796					v += '<param name="seamlesstabbing" value="true">';
2797					v += '<param name="wmode" value="' + p + '">';
2798					v += '<param name="flashvars" value="' + c(q) + '">';
2799					v += "</object>";
2800					a.utils.setOuterHTML(f, v);
2801					t = document.getElementById(f.id)
2802				} else {
2803					var s = document.createElement("object");
2804					s.setAttribute("type", "application/x-shockwave-flash");
2805					s.setAttribute("data", g.src);
2806					s.setAttribute("width", "100%");
2807					s.setAttribute("height", "100%");
2808					s.setAttribute("bgcolor", "#000000");
2809					s.setAttribute("id", f.id);
2810					s.setAttribute("name", f.id);
2811					s.setAttribute("tabindex", 0);
2812					m(s, "allowfullscreen", "true");
2813					m(s, "allowscriptaccess", "always");
2814					m(s, "seamlesstabbing", "true");
2815					m(s, "wmode", p);
2816					m(s, "flashvars", c(q));
2817					f.parentNode.replaceChild(s, f);
2818					t = s
2819				}
2820				j.container = t;
2821				j.setPlayer(t, "flash")
2822			};
2823			this.supportsConfig = function() {
2824				if (a.utils.hasFlash()) {
2825					if (l) {
2826						var o = a.utils.getFirstPlaylistItemFromConfig(l);
2827						if (typeof o.file == "undefined" && typeof o.levels == "undefined") {
2828							return true
2829						} else {
2830							if (o.file) {
2831								return flashCanPlay(o.file, o.provider)
2832							} else {
2833								if (o.levels && o.levels.length) {
2834									for (var n = 0; n < o.levels.length; n++) {
2835										if (o.levels[n].file && flashCanPlay(o.levels[n].file, o.provider)) {
2836											return true
2837										}
2838									}
2839								}
2840							}
2841						}
2842					} else {
2843						return true
2844					}
2845				}
2846				return false
2847			};
2848			flashCanPlay = function(n, p) {
2849				var o = ["video", "http", "sound", "image"];
2850				if (p && (o.toString().indexOf(p < 0))) {
2851					return true
2852				}
2853				var q = a.utils.extension(n);
2854				if (!q) {
2855					return true
2856				}
2857				if (a.utils.exists(a.utils.extensionmap[q]) && !a.utils.exists(a.utils.extensionmap[q].flash)) {
2858					return false
2859				}
2860				return true
2861			}
2862		}
2863	})(jwplayer);
2864	(function(a) {
2865		a.embed.html5 = function(c, g, b, d, f) {
2866			function e(j, k, h) {
2867				return function(l) {
2868					var m = document.getElementById(c.id + "_displayarea");
2869					if (h) {
2870						m.appendChild(k)
2871					}
2872					var n = m.style;
2873					j.resize(parseInt(n.width.replace("px", "")), parseInt(n.height.replace("px", "")));
2874					k.left = n.left;
2875					k.top = n.top
2876				}
2877			}
2878			this.embed = function() {
2879				if (a.html5) {
2880					d.setupPlugins(f, b, e);
2881					c.innerHTML = "";
2882					var j = a.utils.extend({
2883						screencolor: "0x000000"
2884					}, b);
2885					var h = ["plugins", "modes", "events"];
2886					for (var k = 0; k < h.length; k++) {
2887						delete j[h[k]]
2888					}
2889					if (j.levels && !j.sources) {
2890						j.sources = b.levels
2891					}
2892					if (j.skin && j.skin.toLowerCase().indexOf(".zip") > 0) {
2893						j.skin = j.skin.replace(/\.zip/i, ".xml")
2894					}
2895					var l = new(a.html5(c)).setup(j);
2896					f.container = document.getElementById(f.id);
2897					f.setPlayer(l, "html5")
2898				} else {
2899					return null
2900				}
2901			};
2902			this.supportsConfig = function() {
2903				if ( !! a.vid.canPlayType) {
2904					if (b) {
2905						var j = a.utils.getFirstPlaylistItemFromConfig(b);
2906						if (typeof j.file == "undefined" && typeof j.levels == "undefined") {
2907							return true
2908						} else {
2909							if (j.file) {
2910								return html5CanPlay(a.vid, j.file, j.provider, j.playlistfile)
2911							} else {
2912								if (j.levels && j.levels.length) {
2913									for (var h = 0; h < j.levels.length; h++) {
2914										if (j.levels[h].file && html5CanPlay(a.vid, j.levels[h].file, j.provider, j.playlistfile)) {
2915											return true
2916										}
2917									}
2918								}
2919							}
2920						}
2921					} else {
2922						return true
2923					}
2924				}
2925				return false
2926			};
2927			html5CanPlay = function(k, j, l, h) {
2928				if (h) {
2929					return false
2930				}
2931				if (l && l == "youtube") {
2932					return true
2933				}
2934				if (l && l != "video" && l != "http" && l != "sound") {
2935					return false
2936				}
2937				var m = a.utils.extension(j);
2938				if (!a.utils.exists(m) || !a.utils.exists(a.utils.extensionmap[m])) {
2939					return true
2940				}
2941				if (!a.utils.exists(a.utils.extensionmap[m].html5)) {
2942					return false
2943				}
2944				if (a.utils.isLegacyAndroid() && m.match(/m4v|mp4/)) {
2945					return true
2946				}
2947				return browserCanPlay(k, a.utils.extensionmap[m].html5)
2948			};
2949			browserCanPlay = function(j, h) {
2950				if (!h) {
2951					return true
2952				}
2953				if (j.canPlayType(h)) {
2954					return true
2955				} else {
2956					if (h == "audio/mp3" && navigator.userAgent.match(/safari/i)) {
2957						return j.canPlayType("audio/mpeg")
2958					} else {
2959						return false
2960					}
2961				}
2962			}
2963		}
2964	})(jwplayer);
2965	(function(a) {
2966		a.embed.logo = function(m, l, d) {
2967			var j = {
2968				prefix: "http://l.longtailvideo.com/" + l + "/",
2969				file: "logo.png",
2970				link: "http://www.longtailvideo.com/players/jw-flv-player/",
2971				margin: 8,
2972				out: 0.5,
2973				over: 1,
2974				timeout: 5,
2975				hide: false,
2976				position: "bottom-left"
2977			};
2978			_css = a.utils.css;
2979			var b;
2980			var h;
2981			k();
2982
2983			function k() {
2984				o();
2985				c();
2986				f()
2987			}
2988			function o() {
2989				if (j.prefix) {
2990					var q = a.version.split(/\W/).splice(0, 2).join("/");
2991					if (j.prefix.indexOf(q) < 0) {
2992						j.prefix += q + "/"
2993					}
2994				}
2995				h = a.utils.extend({}, j)
2996			}
2997			function p() {
2998				var s = {
2999					border: "none",
3000					textDecoration: "none",
3001					position: "absolute",
3002					cursor: "pointer",
3003					zIndex: 10
3004				};
3005				s.display = h.hide ? "none" : "block";
3006				var r = h.position.toLowerCase().split("-");
3007				for (var q in r) {
3008					s[r[q]] = h.margin
3009				}
3010				return s
3011			}
3012			function c() {
3013				b = document.createElement("img");
3014				b.id = d + "_jwplayer_logo";
3015				b.style.display = "none";
3016				b.onload = function(q) {
3017					_css(b, p());
3018					e()
3019				};
3020				if (!h.file) {
3021					return
3022				}
3023				if (h.file.indexOf("http://") === 0) {
3024					b.src = h.file
3025				} else {
3026					b.src = h.prefix + h.file
3027				}
3028			}
3029			if (!h.file) {
3030				return
3031			}
3032			function f() {
3033				if (h.link) {
3034					b.onmouseover = g;
3035					b.onmouseout = e;
3036					b.onclick = n
3037				} else {
3038					this.mouseEnabled = false
3039				}
3040			}
3041			function n(q) {
3042				if (typeof q != "undefined") {
3043					q.preventDefault();
3044					q.stopPropagation()
3045				}
3046				if (h.link) {
3047					window.open(h.link, "_blank")
3048				}
3049				return
3050			}
3051			function e(q) {
3052				if (h.link) {
3053					b.style.opacity = h.out
3054				}
3055				return
3056			}
3057			function g(q) {
3058				if (h.hide) {
3059					b.style.opacity = h.over
3060				}
3061				return
3062			}
3063			return b
3064		}
3065	})(jwplayer);
3066	(function(a) {
3067		a.html5 = function(b) {
3068			var c = b;
3069			this.setup = function(d) {
3070				a.utils.extend(this, new a.html5.api(c, d));
3071				return this
3072			};
3073			return this
3074		}
3075	})(jwplayer);
3076	(function(b) {
3077		var d = b.utils;
3078		var c = d.css;
3079		b.html5.view = function(r, q, f) {
3080			var u = r;
3081			var n = q;
3082			var x = f;
3083			var w;
3084			var g;
3085			var C;
3086			var s;
3087			var D;
3088			var p;
3089			var A;
3090
3091			function z() {
3092				w = document.createElement("div");
3093				w.id = n.id;
3094				w.className = n.className;
3095				_videowrapper = document.createElement("div");
3096				_videowrapper.id = w.id + "_video_wrapper";
3097				n.id = w.id + "_video";
3098				c(w, {
3099					position: "relative",
3100					height: x.height,
3101					width: x.width,
3102					padding: 0,
3103					backgroundColor: E(),
3104					zIndex: 0
3105				});
3106
3107				function E() {
3108					if (u.skin.getComponentSettings("display") && u.skin.getComponentSettings("display").backgroundcolor) {
3109						return u.skin.getComponentSettings("display").backgroundcolor
3110					}
3111					return parseInt("000000", 16)
3112				}
3113				c(n, {
3114					width: x.width,
3115					height: x.height,
3116					top: 0,
3117					left: 0,
3118					zIndex: 1,
3119					margin: "auto",
3120					display: "block"
3121				});
3122				c(_videowrapper, {
3123					overflow: "hidden",
3124					position: "absolute",
3125					top: 0,
3126					left: 0,
3127					bottom: 0,
3128					right: 0
3129				});
3130				d.wrap(n, w);
3131				d.wrap(n, _videowrapper);
3132				s = document.createElement("div");
3133				s.id = w.id + "_displayarea";
3134				w.appendChild(s)
3135			}
3136			function k() {
3137				for (var E = 0; E < x.plugins.order.length; E++) {
3138					var F = x.plugins.order[E];
3139					if (d.exists(x.plugins.object[F].getDisplayElement)) {
3140						x.plugins.object[F].height = d.parseDimension(x.plugins.object[F].getDisplayElement().style.height);
3141						x.plugins.object[F].width = d.parseDimension(x.plugins.object[F].getDisplayElement().style.width);
3142						x.plugins.config[F].currentPosition = x.plugins.config[F].position
3143					}
3144				}
3145				v()
3146			}
3147			function m(E) {
3148				c(s, {
3149					display: x.getMedia().hasChrome() ? "none" : "block"
3150				})
3151			}
3152			function v(F) {
3153				var H = x.getMedia() ? x.getMedia().getDisplayElement() : null;
3154				if (d.exists(H)) {
3155					if (A != H) {
3156						if (A && A.parentNode) {
3157							A.parentNode.replaceChild(H, A)
3158						}
3159						A = H
3160					}
3161					for (var E = 0; E < x.plugins.order.length; E++) {
3162						var G = x.plugins.order[E];
3163						if (d.exists(x.plugins.object[G].getDisplayElement)) {
3164							x.plugins.config[G].currentPosition = x.plugins.config[G].position
3165						}
3166					}
3167				}
3168				j(x.width, x.height)
3169			}
3170			this.setup = function() {
3171				if (x && x.getMedia()) {
3172					n = x.getMedia().getDisplayElement()
3173				}
3174				z();
3175				k();
3176				u.jwAddEventListener(b.api.events.JWPLAYER_PLAYER_STATE, m);
3177				u.jwAddEventListener(b.api.events.JWPLAYER_MEDIA_LOADED, v);
3178				u.jwAddEventListener(b.api.events.JWPLAYER_MEDIA_META, function() {
3179					y()
3180				});
3181				var E;
3182				if (d.exists(window.onresize)) {
3183					E = window.onresize
3184				}
3185				window.onresize = function(F) {
3186					if (d.exists(E)) {
3187						try {
3188							E(F)
3189						} catch (H) {}
3190					}
3191					if (u.jwGetFullscreen()) {
3192						var G = document.body.getBoundingClientRect();
3193						x.width = Math.abs(G.left) + Math.abs(G.right);
3194						x.height = window.innerHeight
3195					}
3196					j(x.width, x.height)
3197				}
3198			};
3199
3200			function h(E) {
3201				switch (E.keyCode) {
3202				case 27:
3203					if (u.jwGetFullscreen()) {
3204						u.jwSetFullscreen(false)
3205					}
3206					break;
3207				case 32:
3208					if (u.jwGetState() != b.api.events.state.IDLE && u.jwGetState() != b.api.events.state.PAUSED) {
3209						u.jwPause()
3210					} else {
3211						u.jwPlay()
3212					}
3213					break
3214				}
3215			}
3216			function j(H, E) {
3217				if (w.style.display == "none") {
3218					return
3219				}
3220				var G = [].concat(x.plugins.order);
3221				G.reverse();
3222				D = G.length + 2;
3223				if (!x.fullscreen) {
3224					x.width = H;
3225					x.height = E;
3226					g = H;
3227					C = E;
3228					c(s, {
3229						top: 0,
3230						bottom: 0,
3231						left: 0,
3232						right: 0,
3233						width: H,
3234						height: E,
3235						position: "relative"
3236					});
3237					c(w, {
3238						height: C,
3239						width: g
3240					});
3241					var F = o(t, G);
3242					if (F.length > 0) {
3243						D += F.length;
3244						var J = F.indexOf("playlist"),
3245							I = F.indexOf("controlbar");
3246						if (J >= 0 && I >= 0) {
3247							F[J] = F.splice(I, 1, F[J])[0]
3248						}
3249						o(l, F, true)
3250					}
3251				} else {
3252					if (!(navigator && navigator.vendor && navigator.vendor.indexOf("Apple") == 0)) {
3253						o(B, G, true)
3254					}
3255				}
3256				y()
3257			}
3258			function o(J, G, H) {
3259				var F = [];
3260				for (var E = 0; E < G.length; E++) {
3261					var K = G[E];
3262					if (d.exists(x.plugins.object[K].getDisplayElement)) {
3263						if (x.plugins.config[K].currentPosition != b.html5.view.positions.NONE) {
3264							var I = J(K, D--);
3265							if (!I) {
3266								F.push(K)
3267							} else {
3268								x.plugins.object[K].resize(I.width, I.height);
3269								if (H) {
3270									delete I.width;
3271									delete I.height
3272								}
3273								c(x.plugins.object[K].getDisplayElement(), I)
3274							}
3275						} else {
3276							c(x.plugins.object[K].getDisplayElement(), {
3277								display: "none"
3278							})
3279						}
3280					}
3281				}
3282				return F
3283			}
3284			function t(F, G) {
3285				if (d.exists(x.plugins.object[F].getDisplayElement)) {
3286					if (x.plugins.config[F].position && a(x.plugins.config[F].position)) {
3287						if (!d.exists(x.plugins.object[F].getDisplayElement().parentNode)) {
3288							w.appendChild(x.plugins.object[F].getDisplayElement())
3289						}
3290						var E = e(F);
3291						E.zIndex = G;
3292						return E
3293					}
3294				}
3295				return false
3296			}
3297			function l(G, H) {
3298				if (!d.exists(x.plugins.object[G].getDisplayElement().parentNode)) {
3299					s.appendChild(x.plugins.object[G].getDisplayElement())
3300				}
3301				var E = x.width,
3302					F = x.height;
3303				if (typeof x.width == "string" && x.width.lastIndexOf("%") > -1) {
3304					percentage = parseFloat(x.width.substring(0, x.width.lastIndexOf("%"))) / 100;
3305					E = Math.round(window.innerWidth * percentage)
3306				}
3307				if (typeof x.height == "string" && x.height.lastIndexOf("%") > -1) {
3308					percentage = parseFloat(x.height.substring(0, x.height.lastIndexOf("%"))) / 100;
3309					F = Math.round(window.innerHeight * percentage)
3310				}
3311				return {
3312					position: "absolute",
3313					width: (E - d.parseDimension(s.style.left) - d.parseDimension(s.style.right)),
3314					height: (F - d.parseDimension(s.style.top) - d.parseDimension(s.style.bottom)),
3315					zIndex: H
3316				}
3317			}
3318			function B(E, F) {
3319				return {
3320					position: "fixed",
3321					width: x.width,
3322					height: x.height,
3323					zIndex: F
3324				}
3325			}
3326			function y() {
3327				if (!d.exists(x.getMedia())) {
3328					return
3329				}
3330				s.style.position = "absolute";
3331				var H = x.getMedia().getDisplayElement();
3332				if (H && H.tagName.toLowerCase() == "video") {
3333					H.style.position = "absolute";
3334					var E, I;
3335					if (s.style.width.toString().lastIndexOf("%") > -1 || s.style.width.toString().lastIndexOf("%") > -1) {
3336						var F = s.getBoundingClientRect();
3337						E = Math.abs(F.left) + Math.abs(F.right);
3338						I = Math.abs(F.top) + Math.abs(F.bottom)
3339					} else {
3340						E = d.parseDimension(s.style.width);
3341						I = d.parseDimension(s.style.height)
3342					}
3343					if (H.parentNode) {
3344						H.parentNode.style.left = s.style.left;
3345						H.parentNode.style.top = s.style.top
3346					}
3347					d.stretch(u.jwGetStretching(), H, E, I, H.videoWidth ? H.videoWidth : 400, H.videoHeight ? H.videoHeight : 300)
3348				} else {
3349					var G = x.plugins.object.display.getDisplayElement();
3350					if (G) {
3351						x.getMedia().resize(d.parseDimension(G.style.width), d.parseDimension(G.style.height))
3352					} else {
3353						x.getMedia().resize(d.parseDimension(s.style.width), d.parseDimension(s.style.height))
3354					}
3355				}
3356			}
3357			function e(F) {
3358				var G = {
3359					position: "absolute",
3360					margin: 0,
3361					padding: 0,
3362					top: null
3363				};
3364				var E = x.plugins.config[F].currentPosition.toLowerCase();
3365				switch (E.toUpperCase()) {
3366				case b.html5.view.positions.TOP:
3367					G.top = d.parseDimension(s.style.top);
3368					G.left = d.parseDimension(s.style.left);
3369					G.width = g - d.parseDimension(s.style.left) - d.parseDimension(s.style.right);
3370					G.height = x.plugins.object[F].height;
3371					s.style[E] = d.parseDi
3371mension(s.style[E]) + x.plugins.object[F].height + "px";
3372					s.style.height = d.parseDimension(s.style.height) - G.height + "px";
3373					break;
3374				case b.html5.view.positions.RIGHT:
3375					G.top = d.parseDimension(s.style.top);
3376					G.right = d.parseDimension(s.style.right);
3377					G.width = x.plugins.object[F].width;
3378					G.height = C - d.parseDimension(s.style.top) - d.parseDimension(s.style.bottom);
3379					s.style[E] = d.parseDimension(s.style[E]) + x.plugins.object[F].width + "px";
3380					s.style.width = d.parseDimension(s.style.width) - G.width + "px";
3381					break;
3382				case b.html5.view.positions.BOTTOM:
3383					G.bottom = d.parseDimension(s.style.bottom);
3384					G.left = d.parseDimension(s.style.left);
3385					G.width = g - d.parseDimension(s.style.left) - d.parseDimension(s.style.right);
3386					G.height = x.plugins.object[F].height;
3387					s.style[E] = d.parseDimension(s.style[E]) + x.plugins.object[F].height + "px";
3388					s.style.height = d.parseDimension(s.style.height) - G.height + "px";
3389					break;
3390				case b.html5.view.positions.LEFT:
3391					G.top = d.parseDimension(s.style.top);
3392					G.left = d.parseDimension(s.style.left);
3393					G.width = x.plugins.object[F].width;
3394					G.height = C - d.parseDimension(s.style.top) - d.parseDimension(s.style.bottom);
3395					s.style[E] = d.parseDimension(s.style[E]) + x.plugins.object[F].width + "px";
3396					s.style.width = d.parseDimension(s.style.width) - G.width + "px";
3397					break;
3398				default:
3399					break
3400				}
3401				return G
3402			}
3403			this.resize = j;
3404			this.fullscreen = function(H) {
3405				if (navigator && navigator.vendor && navigator.vendor.indexOf("Apple") === 0) {
3406					if (x.getMedia().getDisplayElement().webkitSupportsFullscreen) {
3407						if (H) {
3408							try {
3409								x.getMedia().getDisplayElement().webkitEnterFullscreen()
3410							} catch (G) {}
3411						} else {
3412							try {
3413								x.getMedia().getDisplayElement().webkitExitFullscreen()
3414							} catch (G) {}
3415						}
3416					}
3417				} else {
3418					if (H) {
3419						document.onkeydown = h;
3420						clearInterval(p);
3421						var F = document.body.getBoundingClientRect();
3422						x.width = Math.abs(F.left) + Math.abs(F.right);
3423						x.height = window.innerHeight;
3424						var E = {
3425							position: "fixed",
3426							width: "100%",
3427							height: "100%",
3428							top: 0,
3429							left: 0,
3430							zIndex: 2147483000
3431						};
3432						c(w, E);
3433						E.zIndex = 1;
3434						if (x.getMedia() && x.getMedia().getDisplayElement()) {
3435							c(x.getMedia().getDisplayElement(), E)
3436						}
3437						E.zIndex = 2;
3438						c(s, E)
3439					} else {
3440						document.onkeydown = "";
3441						x.width = g;
3442						x.height = C;
3443						c(w, {
3444							position: "relative",
3445							height: x.height,
3446							width: x.width,
3447							zIndex: 0
3448						})
3449					}
3450					j(x.width, x.height)
3451				}
3452			}
3453		};
3454
3455		function a(e) {
3456			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)
3457		}
3458		b.html5.view.positions = {
3459			TOP: "TOP",
3460			RIGHT: "RIGHT",
3461			BOTTOM: "BOTTOM",
3462			LEFT: "LEFT",
3463			OVER: "OVER",
3464			NONE: "NONE"
3465		}
3466	})(jwplayer);
3467	(function(a) {
3468		var b = {
3469			backgroundcolor: "",
3470			margin: 10,
3471			font: "Arial,sans-serif",
3472			fontsize: 10,
3473			fontcolor: parseInt("000000", 16),
3474			fontstyle: "normal",
3475			fontweight: "bold",
3476			buttoncolor: parseInt("ffffff", 16),
3477			position: a.html5.view.positions.BOTTOM,
3478			idlehide: false,
3479			layout: {
3480				left: {
3481					position: "left",
3482					elements: [{
3483						name: "play",
3484						type: "button"
3485					}, {
3486						name: "divider",
3487						type: "divider"
3488					}, {
3489						name: "prev",
3490						type: "button"
3491					}, {
3492						name: "divider",
3493						type: "divider"
3494					}, {
3495						name: "next",
3496						type: "button"
3497					}, {
3498						name: "divider",
3499						type: "divider"
3500					}, {
3501						name: "elapsed",
3502						type: "text"
3503					}]
3504				},
3505				center: {
3506					position: "center",
3507					elements: [{
3508						name: "time",
3509						type: "slider"
3510					}]
3511				},
3512				right: {
3513					position: "right",
3514					elements: [{
3515						name: "duration",
3516						type: "text"
3517					}, {
3518						name: "blank",
3519						type: "button"
3520					}, {
3521						name: "divider",
3522						type: "divider"
3523					}, {
3524						name: "mute",
3525						type: "button"
3526					}, {
3527						name: "volume",
3528						type: "slider"
3529					}, {
3530						name: "divider",
3531						type: "divider"
3532					}, {
3533						name: "fullscreen",
3534						type: "button"
3535					}]
3536				}
3537			}
3538		};
3539		_utils = a.utils;
3540		_css = _utils.css;
3541		_hide = function(c) {
3542			_css(c, {
3543				display: "none"
3544			})
3545		};
3546		_show = function(c) {
3547			_css(c, {
3548				display: "block"
3549			})
3550		};
3551		a.html5.controlbar = function(l, V) {
3552			var k = l;
3553			var D = _utils.extend({}, b, k.skin.getComponentSettings("controlbar"), V);
3554			if (D.position == a.html5.view.positions.NONE || typeof a.html5.view.positions[D.position] == "undefined") {
3555				return
3556			}
3557			if (_utils.mapLength(k.skin.getComponentLayout("controlbar")) > 0) {
3558				D.layout = k.skin.getComponentLayout("controlbar")
3559			}
3560			var ac;
3561			var P;
3562			var ab;
3563			var E;
3564			var v = "none";
3565			var g;
3566			var j;
3567			var ad;
3568			var f;
3569			var e;
3570			var y;
3571			var Q = {};
3572			var p = false;
3573			var c = {};
3574			var Y;
3575			var h = false;
3576			var o;
3577			var d;
3578			var S = false;
3579			var G = false;
3580			var W = new a.html5.eventdispatcher();
3581			_utils.extend(this, W);
3582
3583			function J() {
3584				if (!Y) {
3585					Y = k.skin.getSkinElement("controlbar", "background");
3586					if (!Y) {
3587						Y = {
3588							width: 0,
3589							height: 0,
3590							src: null
3591						}
3592					}
3593				}
3594				return Y
3595			}
3596			function N() {
3597				ab = 0;
3598				E = 0;
3599				P = 0;
3600				if (!p) {
3601					var ak = {
3602						height: J().height,
3603						backgroundColor: D.backgroundcolor
3604					};
3605					ac = document.createElement("div");
3606					ac.id = k.id + "_jwplayer_controlbar";
3607					_css(ac, ak)
3608				}
3609				var aj = (k.skin.getSkinElement("controlbar", "capLeft"));
3610				var ai = (k.skin.getSkinElement("controlbar", "capRight"));
3611				if (aj) {
3612					x("capLeft", "left", false, ac)
3613				}
3614				var al = {
3615					position: "absolute",
3616					height: J().height,
3617					left: (aj ? aj.width : 0),
3618					zIndex: 0
3619				};
3620				Z("background", ac, al, "img");
3621				if (J().src) {
3622					Q.background.src = J().src
3623				}
3624				al.zIndex = 1;
3625				Z("elements", ac, al);
3626				if (ai) {
3627					x("capRight", "right", false, ac)
3628				}
3629			}
3630			this.getDisplayElement = function() {
3631				return ac
3632			};
3633			this.resize = function(ak, ai) {
3634				_utils.cancelAnimation(ac);
3635				document.getElementById(k.id).onmousemove = A;
3636				e = ak;
3637				y = ai;
3638				if (G != k.jwGetFullscreen()) {
3639					G = k.jwGetFullscreen();
3640					d = undefined
3641				}
3642				var aj = w();
3643				A();
3644				I({
3645					id: k.id,
3646					duration: ad,
3647					position: j
3648				});
3649				u({
3650					id: k.id,
3651					bufferPercent: f
3652				});
3653				return aj
3654			};
3655			this.show = function() {
3656				if (h) {
3657					h = false;
3658					_show(ac);
3659					T()
3660				}
3661			};
3662			this.hide = function() {
3663				if (!h) {
3664					h = true;
3665					_hide(ac);
3666					aa()
3667				}
3668			};
3669
3670			function q() {
3671				var aj = ["timeSlider", "volumeSlider", "timeSliderRail", "volumeSliderRail"];
3672				for (var ak in aj) {
3673					var ai = aj[ak];
3674					if (typeof Q[ai] != "undefined") {
3675						c[ai] = Q[ai].getBoundingClientRect()
3676					}
3677				}
3678			}
3679			function A(ai) {
3680				if (h) {
3681					return
3682				}
3683				if (D.position == a.html5.view.positions.OVER || k.jwGetFullscreen()) {
3684					clearTimeout(o);
3685					switch (k.jwGetState()) {
3686					case a.api.events.state.PAUSED:
3687					case a.api.events.state.IDLE:
3688						if (!D.idlehide || _utils.exists(ai)) {
3689							U()
3690						}
3691						if (D.idlehide) {
3692							o = setTimeout(function() {
3693								z()
3694							}, 2000)
3695						}
3696						break;
3697					default:
3698						if (ai) {
3699							U()
3700						}
3701						o = setTimeout(function() {
3702							z()
3703						}, 2000);
3704						break
3705					}
3706				}
3707			}
3708			function z(ai) {
3709				aa();
3710				_utils.cancelAnimation(ac);
3711				_utils.fadeTo(ac, 0, 0.1, 1, 0)
3712			}
3713			function U() {
3714				T();
3715				_utils.cancelAnimation(ac);
3716				_utils.fadeTo(ac, 1, 0, 1, 0)
3717			}
3718			function H(ai) {
3719				return function() {
3720					if (S && d != ai) {
3721						d = ai;
3722						W.sendEvent(ai, {
3723							component: "controlbar",
3724							boundingRect: O()
3725						})
3726					}
3727				}
3728			}
3729			var T = H(a.api.events.JWPLAYER_COMPONENT_SHOW);
3730			var aa = H(a.api.events.JWPLAYER_COMPONENT_HIDE);
3731
3732			function O() {
3733				if (D.position == a.html5.view.positions.OVER || k.jwGetFullscreen()) {
3734					return _utils.getDimensions(ac)
3735				} else {
3736					return {
3737						x: 0,
3738						y: 0,
3739						width: 0,
3740						height: 0
3741					}
3742				}
3743			}
3744			function Z(am, al, ak, ai) {
3745				var aj;
3746				if (!p) {
3747					if (!ai) {
3748						ai = "div"
3749					}
3750					aj = document.createElement(ai);
3751					Q[am] = aj;
3752					aj.id = ac.id + "_" + am;
3753					al.appendChild(aj)
3754				} else {
3755					aj = document.getElementById(ac.id + "_" + am)
3756				}
3757				if (_utils.exists(ak)) {
3758					_css(aj, ak)
3759				}
3760				return aj
3761			}
3762			function M() {
3763				ah(D.layout.left);
3764				ah(D.layout.right, -1);
3765				ah(D.layout.center)
3766			}
3767			function ah(al, ai) {
3768				var am = al.position == "right" ? "right" : "left";
3769				var ak = _utils.extend([], al.elements);
3770				if (_utils.exists(ai)) {
3771					ak.reverse()
3772				}
3773				for (var aj = 0; aj < ak.length; aj++) {
3774					C(ak[aj], am)
3775				}
3776			}
3777			function K() {
3778				return P++
3779			}
3780			function C(am, ao) {
3781				var al, aj, ak, ai, aq;
3782				if (am.type == "divider") {
3783					x("divider" + K(), ao, true, undefined, undefined, am.width, am.element);
3784					return
3785				}
3786				switch (am.name) {
3787				case "play":
3788					x("playButton", ao, false);
3789					x("pauseButton", ao, true);
3790					R("playButton", "jwPlay");
3791					R("pauseButton", "jwPause");
3792					break;
3793				case "prev":
3794					x("prevButton", ao, true);
3795					R("prevButton", "jwPlaylistPrev");
3796					break;
3797				case "stop":
3798					x("stopButton", ao, true);
3799					R("stopButton", "jwStop");
3800					break;
3801				case "next":
3802					x("nextButton", ao, true);
3803					R("nextButton", "jwPlaylistNext");
3804					break;
3805				case "elapsed":
3806					x("elapsedText", ao, true);
3807					break;
3808				case "time":
3809					aj = !_utils.exists(k.skin.getSkinElement("controlbar", "timeSliderCapLeft")) ? 0 : k.skin.getSkinElement("controlbar", "timeSliderCapLeft").width;
3810					ak = !_utils.exists(k.skin.getSkinElement("controlbar", "timeSliderCapRight")) ? 0 : k.skin.getSkinElement("controlbar", "timeSliderCapRight").width;
3811					al = ao == "left" ? aj : ak;
3812					ai = k.skin.getSkinElement("controlbar", "timeSliderRail").width + aj + ak;
3813					aq = {
3814						height: J().height,
3815						position: "absolute",
3816						top: 0,
3817						width: ai
3818					};
3819					aq[ao] = ao == "left" ? ab : E;
3820					var an = Z("timeSlider", Q.elements, aq);
3821					x("timeSliderCapLeft", ao, true, an, ao == "left" ? 0 : al);
3822					x("timeSliderRail", ao, false, an, al);
3823					x("timeSliderBuffer", ao, false, an, al);
3824					x("timeSliderProgress", ao, false, an, al);
3825					x("timeSliderThumb", ao, false, an, al);
3826					x("timeSliderCapRight", ao, true, an, ao == "right" ? 0 : al);
3827					X("time");
3828					break;
3829				case "fullscreen":
3830					x("fullscreenButton", ao, false);
3831					x("normalscreenButton", ao, true);
3832					R("fullscreenButton", "jwSetFullscreen", true);
3833					R("normalscreenButton", "jwSetFullscreen", false);
3834					break;
3835				case "volume":
3836					aj = !_utils.exists(k.skin.getSkinElement("controlbar", "volumeSliderCapLeft")) ? 0 : k.skin.getSkinElement("controlbar", "volumeSliderCapLeft").width;
3837					ak = !_utils.exists(k.skin.getSkinElement("controlbar", "volumeSliderCapRight")) ? 0 : k.skin.getSkinElement("controlbar", "volumeSliderCapRight").width;
3838					al = ao == "left" ? aj : ak;
3839					ai = k.skin.getSkinElement("controlbar", "volumeSliderRail").width + aj + ak;
3840					aq = {
3841						height: J().height,
3842						position: "absolute",
3843						top: 0,
3844						width: ai
3845					};
3846					aq[ao] = ao == "left" ? ab : E;
3847					var ap = Z("volumeSlider", Q.elements, aq);
3848					x("volumeSliderCapLeft", ao, true, ap, ao == "left" ? 0 : al);
3849					x("volumeSliderRail", ao, true, ap, al);
3850					x("volumeSliderProgress", ao, false, ap, al);
3851					x("volumeSliderCapRight", ao, true, ap, ao == "right" ? 0 : al);
3852					X("volume");
3853					break;
3854				case "mute":
3855					x("muteButton", ao, false);
3856					x("unmuteButton", ao, true);
3857					R("muteButton", "jwSetMute", true);
3858					R("unmuteButton", "jwSetMute", false);
3859					break;
3860				case "duration":
3861					x("durationText", ao, true);
3862					break
3863				}
3864			}
3865			function x(al, ao, aj, ar, am, ai, ak) {
3866				if (_utils.exists(k.skin.getSkinElement("controlbar", al)) || al.indexOf("Text") > 0 || al.indexOf("divider") === 0) {
3867					var an = {
3868						height: J().height,
3869						position: "absolute",
3870						display: "block",
3871						top: 0
3872					};
3873					if ((al.indexOf("next") === 0 || al.indexOf("prev") === 0) && k.jwGetPlaylist().length < 2) {
3874						aj = false;
3875						an.display = "none"
3876					}
3877					var at;
3878					if (al.indexOf("Text") > 0) {
3879						al.innerhtml = "00:00";
3880						an.font = D.fontsize + "px/" + (J().height + 1) + "px " + D.font;
3881						an.color = D.fontcolor;
3882						an.textAlign = "center";
3883						an.fontWeight = D.fontweight;
3884						an.fontStyle = D.fontstyle;
3885						an.cursor = "default";
3886						at = 14 + 3 * D.fontsize
3887					} else {
3888						if (al.indexOf("divider") === 0) {
3889							if (ai) {
3890								if (!isNaN(parseInt(ai))) {
3891									at = parseInt(ai)
3892								}
3893							} else {
3894								if (ak) {
3895									var ap = k.skin.getSkinElement("controlbar", ak);
3896									if (ap) {
3897										an.background = "url(" + ap.src + ") repeat-x center left";
3898										at = ap.width
3899									}
3900								} else {
3901									an.background = "url(" + k.skin.getSkinElement("controlbar", "divider").src + ") repeat-x center left";
3902									at = k.skin.getSkinElement("controlbar", "divider").width
3903								}
3904							}
3905						} else {
3906							an.background = "url(" + k.skin.getSkinElement("controlbar", al).src + ") repeat-x center left";
3907							at = k.skin.getSkinElement("controlbar", al).width
3908						}
3909					}
3910					if (ao == "left") {
3911						an.left = isNaN(am) ? ab : am;
3912						if (aj) {
3913							ab += at
3914						}
3915					} else {
3916						if (ao == "right") {
3917							an.right = isNaN(am) ? E : am;
3918							if (aj) {
3919								E += at
3920							}
3921						}
3922					}
3923					if (_utils.typeOf(ar) == "undefined") {
3924						ar = Q.elements
3925					}
3926					an.width = at;
3927					if (p) {
3928						_css(Q[al], an)
3929					} else {
3930						var aq = Z(al, ar, an);
3931						if (_utils.exists(k.skin.getSkinElement("controlbar", al + "Over"))) {
3932							aq.onmouseover = function(au) {
3933								aq.style.backgroundImage = ["url(", k.skin.getSkinElement("controlbar", al + "Over").src, ")"].join("")
3934							};
3935							aq.onmouseout = function(au) {
3936								aq.style.backgroundImage = ["url(", k.skin.getSkinElement("controlbar", al).src, ")"].join("")
3937							}
3938						}
3939					}
3940				}
3941			}
3942			function F() {
3943				k.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_LOADED, B);
3944				k.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_ITEM, s);
3945				k.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_BUFFER, u);
3946				k.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, r);
3947				k.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_TIME, I);
3948				k.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_MUTE, ag);
3949				k.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_VOLUME, m);
3950				k.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_COMPLETE, L)
3951			}
3952			function B() {
3953				N();
3954				M();
3955				w();
3956				ae()
3957			}
3958			function s(ai) {
3959				ad = k.jwGetPlaylist()[ai.index].duration;
3960				I({
3961					id: k.id,
3962					duration: ad,
3963					position: 0
3964				});
3965				u({
3966					id: k.id,
3967					bufferProgress: 0
3968				})
3969			}
3970			function ae() {
3971				I({
3972					id: k.id,
3973					duration: k.jwGetDuration(),
3974					position: 0
3975				});
3976				u({
3977					id: k.id,
3978					bufferProgress: 0
3979				});
3980				ag({
3981					id: k.id,
3982					mute: k.jwGetMute()
3983				});
3984				r({
3985					id: k.id,
3986					newstate: a.api.events.state.IDLE
3987				});
3988				m({
3989					id: k.id,
3990					volume: k.jwGetVolume()
3991				})
3992			}
3993			function R(ak, al, aj) {
3994				if (p) {
3995					return
3996				}
3997				if (_utils.exists(k.skin.getSkinElement("controlbar", ak))) {
3998					var ai = Q[ak];
3999					if (_utils.exists(ai)) {
4000						_css(ai, {
4001							cursor: "pointer"
4002						});
4003						if (al == "fullscreen") {
4004							ai.onmouseup = function(am) {
4005								am.stopPropagation();
4006								k.jwSetFullscreen(!k.jwGetFullscreen())
4007							}
4008						} else {
4009							ai.onmouseup = function(am) {
4010								am.stopPropagation();
4011								if (_utils.exists(aj)) {
4012									k[al](aj)
4013								} else {
4014									k[al]()
4015								}
4016							}
4017						}
4018					}
4019				}
4020			}
4021			function X(ai) {
4022				if (p) {
4023					return
4024				}
4025				var aj = Q[ai + "Slider"];
4026				_css(Q.elements, {
4027					cursor: "pointer"
4028				});
4029				_css(aj, {
4030					cursor: "pointer"
4031				});
4032				aj.onmousedown = function(ak) {
4033					v = ai
4034				};
4035				aj.onmouseup = function(ak) {
4036					ak.stopPropagation();
4037					af(ak.pageX)
4038				};
4039				aj.onmousemove = function(ak) {
4040					if (v == "time") {
4041						g = true;
4042						var al = ak.pageX - c[ai + "Slider"].left - window.pageXOffset;
4043						_css(Q.timeSliderThumb, {
4044							left: al
4045						})
4046					}
4047				}
4048			}
4049			function af(aj) {
4050				g = false;
4051				var ai;
4052				if (v == "time") {
4053					ai = aj - c.timeSliderRail.left + window.pageXOffset;
4054					var al = ai / c.timeSliderRail.width * ad;
4055					if (al < 0) {
4056						al = 0
4057					} else {
4058						if (al > ad) {
4059							al = ad - 3
4060						}
4061					}
4062					if (k.jwGetState() == a.api.events.state.PAUSED || k.jwGetState() == a.api.events.state.IDLE) {
4063						k.jwPlay()
4064					}
4065					k.jwSeek(al)
4066				} else {
4067					if (v == "volume") {
4068						ai = aj - c.volumeSliderRail.left - window.pageXOffset;
4069						var ak = Math.round(ai / c.volumeSliderRail.width * 100);
4070						if (ak < 0) {
4071							ak = 0
4072						} else {
4073							if (ak > 100) {
4074								ak = 100
4075							}
4076						}
4077						if (k.jwGetMute()) {
4078							k.jwSetMute(false)
4079						}
4080						k.jwSetVolume(ak)
4081					}
4082				}
4083				v = "none"
4084			}
4085			function u(aj) {
4086				if (_utils.exists(aj.bufferPercent)) {
4087					f = aj.bufferPercent
4088				}
4089				if (c.timeSliderRail) {
4090					var ak = c.timeSliderRail.width;
4091					var ai = isNaN(Math.round(ak * f / 100)) ? 0 : Math.round(ak * f / 100);
4092					_css(Q.timeSliderBuffer, {
4093						width: ai
4094					})
4095				}
4096			}
4097			function ag(ai) {
4098				if (ai.mute) {
4099					_hide(Q.muteButton);
4100					_show(Q.unmuteButton);
4101					_hide(Q.volumeSliderProgress)
4102				} else {
4103					_show(Q.muteButton);
4104					_hide(Q.unmuteButton);
4105					_show(Q.volumeSliderProgress)
4106				}
4107			}
4108			function r(ai) {
4109				if (ai.newstate == a.api.events.state.BUFFERING || ai.newstate == a.api.events.state.PLAYING) {
4110					_show(Q.pauseButton);
4111					_hide(Q.playButton)
4112				} else {
4113					_hide(Q.pauseButton);
4114					_show(Q.playButton)
4115				}
4116				A();
4117				if (ai.newstate == a.api.events.state.IDLE) {
4118					_hide(Q.timeSliderBuffer);
4119					_hide(Q.timeSliderProgress);
4120					_hide(Q.timeSliderThumb);
4121					I({
4122						id: k.id,
4123						duration: k.jwGetDuration(),
4124						position: 0
4125					})
4126				} else {
4127					_show(Q.timeSliderBuffer);
4128					if (ai.newstate != a.api.events.state.BUFFERING) {
4129						_show(Q.timeSliderProgress);
4130						_show(Q.timeSliderThumb)
4131					}
4132				}
4133			}
4134			function L(ai) {
4135				u({
4136					bufferPercent: 0
4137				});
4138				I(_utils.extend(ai, {
4139					position: 0,
4140					duration: ad
4141				}))
4142			}
4143			function I(al) {
4144				if (_utils.exists(al.position)) {
4145					j = al.position
4146				}
4147				if (_utils.exists(al.duration)) {
4148					ad = al.duration
4149				}
4150				var aj = (j === ad === 0) ? 0 : j / ad;
4151				var am = c.timeSliderRail;
4152				if (am) {
4153					var ai = isNaN(Math.round(am.width * aj)) ? 0 : Math.round(am.width * aj);
4154					var ak = ai;
4155					if (Q.timeSliderProgress) {
4156						Q.timeSliderProgress.style.width = ai + "px";
4157						if (!g) {
4158							if (Q.timeSliderThumb) {
4159								Q.timeSliderThumb.style.left = ak + "px"
4160							}
4161						}
4162					}
4163				}
4164				if (Q.durationText) {
4165					Q.durationText.innerHTML = _utils.timeFormat(ad)
4166				}
4167				if (Q.elapsedText) {
4168					Q.elapsedText.innerHTML = _utils.timeFormat(j)
4169				}
4170			}
4171			function n() {
4172				var am, aj;
4173				var ak = document.getElementById(ac.id + "_elements");
4174				if (!ak) {
4175					return
4176				}
4177				var al = ak.childNodes;
4178				for (var ai in ak.childNodes) {
4179					if (isNaN(parseInt(ai, 10))) {
4180						continue
4181					}
4182					if (al[ai].id.indexOf(ac.id + "_divider") === 0 && aj && aj.id.indexOf(ac.id + "_divider") === 0 && al[ai].style.backgroundImage == aj.style.backgroundImage) {
4183						al[ai].style.display = "none"
4184					} else {
4185						if (al[ai].id.indexOf(ac.id + "_divider") === 0 && am && am.style.display != "none") {
4186							al[ai].style.display = "block"
4187						}
4188					}
4189					if (al[ai].style.display != "none") {
4190						aj = al[ai]
4191					}
4192					am = al[ai]
4193				}
4194			}
4195			function w() {
4196				n();
4197				if (k.jwGetFullscreen()) {
4198					_show(Q.normalscreenButton);
4199					_hide(Q.fullscreenButton)
4200				} else {
4201					_hide(Q.normalscreenButton);
4202					_show(Q.fullscreenButton)
4203				}
4204				var aj = {
4205					width: e
4206				};
4207				var ai = {};
4208				if (D.position == a.html5.view.positions.OVER || k.jwGetFullscreen()) {
4209					aj.left = D.margin;
4210					aj.width -= 2 * D.margin;
4211					aj.top = y - J().height - D.margin;
4212					aj.height = J().height
4213				}
4214				var al = k.skin.getSkinElement("controlbar", "capLeft");
4215				var ak = k.skin.getSkinElement("controlbar", "capRight");
4216				ai.left = al ? al.width : 0;
4217				ai.width = aj.width - ai.left - (ak ? ak.width : 0);
4218				var am = !_utils.exists(k.skin.getSkinElement("controlbar", "timeSliderCapLeft")) ? 0 : k.skin.getSkinElement("controlbar", "timeSliderCapLeft").width;
4219				_css(Q.timeSliderRail, {
4220					width: (ai.width - ab - E),
4221					left: am
4222				});
4223				if (_utils.exists(Q.timeSliderCapRight)) {
4224					_css(Q.timeSliderCapRight, {
4225						left: am + (ai.width - ab - E)
4226					})
4227				}
4228				_css(ac, aj);
4229				_css(Q.elements, ai);
4230				_css(Q.background, ai);
4231				q();
4232				return aj
4233			}
4234			function m(am) {
4235				if (_utils.exists(Q.volumeSliderRail)) {
4236					var ak = isNaN(am.volume / 100) ? 1 : am.volume / 100;
4237					var al = _utils.parseDimension(Q.volumeSliderRail.style.width);
4238					var ai = isNaN(Math.round(al * ak)) ? 0 : Math.round(al * ak);
4239					var an = _utils.parseDimension(Q.volumeSliderRail.style.right);
4240					var aj = (!_utils.exists(k.skin.getSkinElement("controlbar", "volumeSliderCapLeft"))) ? 0 : k.skin.getSkinElement("controlbar", "volumeSliderCapLeft").width;
4241					_css(Q.volumeSliderProgress, {
4242						width: ai,
4243						left: aj
4244					});
4245					if (_utils.exists(Q.volumeSliderCapLeft)) {
4246						_css(Q.volumeSliderCapLeft, {
4247							left: 0
4248						})
4249					}
4250				}
4251			}
4252			function t() {
4253				N();
4254				M();
4255				q();
4256				p = true;
4257				F();
4258				D.idlehide = (D.idlehide.toString().toLowerCase() == "true");
4259				if (D.position == a.html5.view.positions.OVER && D.idlehide) {
4260					ac.style.opacity = 0;
4261					S = true
4262				} else {
4263					setTimeout((function() {
4264						S = true;
4265						T()
4266					}), 1)
4267				}
4268				ae()
4269			}
4270			t();
4271			return this
4272		}
4273	})(jwplayer);
4274	(function(b) {
4275		var a = ["width", "height", "state", "playlist", "item", "position", "buffer", "duration", "volume", "mute", "fullscreen"];
4276		var c = b.utils;
4277		b.html5.controller = function(z, w, h, v) {
4278			var C = z;
4279			var G = h;
4280			var g = v;
4281			var o = w;
4282			var J = true;
4283			var e = -1;
4284			var A = c.exists(G.config.debug) && (G.config.debug.toString().toLowerCase() == "console");
4285			var m = new b.html5.eventdispatcher(o.id, A);
4286			c.extend(this, m);
4287			var E = [];
4288			var d = false;
4289
4290			function r(M) {
4291				if (d) {
4292					m.sendEvent(M.type, M)
4293				} else {
4294					E.push(M)
4295				}
4296			}
4297			function K(M) {
4298				if (!d) {
4299					m.sendEvent(b.api.events.JWPLAYER_READY, M);
4300					if (b.utils.exists(window.playerReady)) {
4301						playerReady(M)
4302					}
4303					if (b.utils.exists(window[h.config.playerReady])) {
4304						window[h.config.playerReady](M)
4305					}
4306					while (E.length > 0) {
4307						var O = E.shift();
4308						m.sendEvent(O.type, O)
4309					}
4310					if (h.config.autostart && !b.utils.isIOS()) {
4311						t(G.item)
4312					}
4313					while (p.length > 0) {
4314						var N = p.shift();
4315						x(N.method, N.arguments)
4316					}
4317					d = true
4318				}
4319			}
4320			G.addGlobalListener(r);
4321			G.addEventListener(b.api.events.JWPLAYER_MEDIA_BUFFER_FULL, function() {
4322				G.getMedia().play()
4323			});
4324			G.addEventListener(b.api.events.JWPLAYER_MEDIA_TIME, function(M) {
4325				if (M.position >= G.playlist[G.item].start && e >= 0) {
4326					G.playlist[G.item].start = e;
4327					e = -1
4328				}
4329			});
4330			G.addEventListener(b.api.events.JWPLAYER_MEDIA_COMPLETE, function(M) {
4331				setTimeout(s, 25)
4332			});
4333
4334			function u() {
4335				try {
4336					f(G.item);
4337					if (G.playlist[G.item].levels[0].file.length > 0) {
4338						if (J || G.state == b.api.events.state.IDLE) {
4339							G.getMedia().load(G.playlist[G.item]);
4340							J = false
4341						} else {
4342							if (G.state == b.api.events.state.PAUSED) {
4343								G.getMedia().play()
4344							}
4345						}
4346					}
4347					return true
4348				} catch (M) {
4349					m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
4350				}
4351				return false
4352			}
4353			function I() {
4354				try {
4355					if (G.playlist[G.item].levels[0].file.length > 0) {
4356						switch (G.state) {
4357						case b.api.events.state.PLAYING:
4358						case b.api.events.state.BUFFERING:
4359							G.getMedia().pause();
4360							break
4361						}
4362					}
4363					return true
4364				} catch (M) {
4365					m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
4366				}
4367				return false
4368			}
4369			function D(M) {
4370				try {
4371					if (G.playlist[G.item].levels[0].file.length > 0) {
4372						if (typeof M != "number") {
4373							M = parseFloat(M)
4374						}
4375						switch (G.state) {
4376						case b.api.events.state.IDLE:
4377							if (e < 0) {
4378								e = G.playlist[G.item].start;
4379								G.playlist[G.item].start = M
4380							}
4381							u();
4382							break;
4383						case b.api.events.state.PLAYING:
4384						case b.api.events.state.PAUSED:
4385						case b.api.events.state.BUFFERING:
4386							G.seek(M);
4387							break
4388						}
4389					}
4390					return true
4391				} catch (N) {
4392					m.sendEvent(b.api.events.JWPLAYER_ERROR, N)
4393				}
4394				return false
4395			}
4396			function n(M) {
4397				if (!c.exists(M)) {
4398					M = true
4399				}
4400				try {
4401					G.getMedia().stop(M);
4402					return true
4403				} catch (N) {
4404					m.sendEvent(b.api.events.JWPLAYER_ERROR, N)
4405				}
4406				return false
4407			}
4408			function k() {
4409				try {
4410					if (G.playlist[G.item].levels[0].file.length > 0) {
4411						if (G.config.shuffle) {
4412							f(y())
4413						} else {
4414							if (G.item + 1 == G.playlist.length) {
4415								f(0)
4416							} else {
4417								f(G.item + 1)
4418							}
4419						}
4420					}
4421					if (G.state != b.api.events.state.IDLE) {
4422						var N = G.state;
4423						G.state = b.api.events.state.IDLE;
4424						m.sendEvent(b.api.events.JWPLAYER_PLAYER_STATE, {
4425							oldstate: N,
4426							newstate: b.api.events.state.IDLE
4427						})
4428					}
4429					u();
4430					return true
4431				} catch (M) {
4432					m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
4433				}
4434				return false
4435			}
4436			function j() {
4437				try {
4438					if (G.playlist[G.item].levels[0].file.length > 0) {
4439						if (G.config.shuffle) {
4440							f(y())
4441						} else {
4442							if (G.item === 0) {
4443								f(G.playlist.length - 1)
4444							} else {
4445								f(G.item - 1)
4446							}
4447						}
4448					}
4449					if (G.state != b.api.events.state.IDLE) {
4450						var N = G.state;
4451						G.state = b.api.events.state.IDLE;
4452						m.sendEvent(b.api.events.JWPLAYER_PLAYER_STATE, {
4453							oldstate: N,
4454							newstate: b.api.events.state.IDLE
4455						})
4456					}
4457					u();
4458					return true
4459				} catch (M) {
4460					m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
4461				}
4462				return false
4463			}
4464			function y() {
4465				var M = null;
4466				if (G.playlist.length > 1) {
4467					while (!c.exists(M)) {
4468						M = Math.floor(Math.random() * G.playlist.length);
4469						if (M == G.item) {
4470							M = null
4471						}
4472					}
4473				} else {
4474					M = 0
4475				}
4476				return M
4477			}
4478			function t(N) {
4479				if (!G.playlist || !G.playlist[N]) {
4480					return false
4481				}
4482				try {
4483					if (G.playlist[N].levels[0].file.length > 0) {
4484						var O = G.state;
4485						if (O !== b.api.events.state.IDLE) {
4486							if (G.playlist[G.item].provider == G.playlist[N].provider) {
4487								n(false)
4488							} else {
4489								n()
4490							}
4491						}
4492						f(N);
4493						u()
4494					}
4495					return true
4496				} catch (M) {
4497					m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
4498				}
4499				return false
4500			}
4501			function f(M) {
4502				if (!G.playlist[M]) {
4503					return
4504				}
4505				G.setActiveMediaProvider(G.playlist[M]);
4506				if (G.item != M) {
4507					G.item = M;
4508					J = true;
4509					m.sendEvent(b.api.events.JWPLAYER_PLAYLIST_ITEM, {
4510						index: M
4511					})
4512				}
4513			}
4514			function H(N) {
4515				try {
4516					f(G.item);
4517					var O = G.getMedia();
4518					switch (typeof(N)) {
4519					case "number":
4520						O.volume(N);
4521						break;
4522					case "string":
4523						O.volume(parseInt(N, 10));
4524						break
4525					}
4526					return true
4527				} catch (M) {
4528					m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
4529				}
4530				return false
4531			}
4532			function q(N) {
4533				try {
4534					f(G.item);
4535					var O = G.getMedia();
4536					if (typeof N == "undefined") {
4537						O.mute(!G.mute)
4538					} else {
4539						if (N.toString().toLowerCase() == "true") {
4540							O.mute(true)
4541						} else {
4542							O.mute(false)
4543						}
4544					}
4545					return true
4546				} catch (M) {
4547					m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
4548				}
4549				return false
4550			}
4551			function l(N, M) {
4552				try {
4553					G.width = N;
4554					G.height = M;
4555					g.resize(N, M);
4556					m.sendEvent(b.api.events.JWPLAYER_RESIZE, {
4557						width: G.width,
4558						height: G.height
4559					});
4560					return true
4561				} catch (O) {
4562					m.sendEvent(b.api.events.JWPLAYER_ERROR, O)
4563				}
4564				return false
4565			}
4566			function B(N) {
4567				try {
4568					if (typeof N == "undefined") {
4569						G.fullscreen = !G.fullscreen;
4570						g.fullscreen(!G.fullscreen)
4571					} else {
4572						if (N.toString().toLowerCase() == "true") {
4573							G.fullscreen = true;
4574							g.fullscreen(true)
4575						} else {
4576							G.fullscreen = false;
4577							g.fullscreen(false)
4578						}
4579					}
4580					m.sendEvent(b.api.events.JWPLAYER_RESIZE, {
4581						width: G.width,
4582						height: G.height
4583					});
4584					m.sendEvent(b.api.events.JWPLAYER_FULLSCREEN, {
4585						fullscreen: N
4586					});
4587					return true
4588				} catch (M) {
4589					m.sendEvent(b.api.events.JWPLAYER_ERROR, M)
4590				}
4591				return false
4592			}
4593			function L(M) {
4594				try {
4595					n();
4596					G.loadPlaylist(M);
4597					f(G.item);
4598					return true
4599				} catch (N) {
4600					m.sendEvent(b.api.events.JWPLAYER_ERROR, N)
4601				}
4602				return false
4603			}
4604			b.html5.controller.repeatoptions = {
4605				LIST: "LIST",
4606				ALWAYS: "ALWAYS",
4607				SINGLE: "SINGLE",
4608				NONE: "NONE"
4609			};
4610
4611			function s() {
4612				switch (G.config.repeat.toUpperCase()) {
4613				case b.html5.controller.repeatoptions.SINGLE:
4614					u();
4615					break;
4616				case b.html5.controller.repeatoptions.ALWAYS:
4617					if (G.item == G.playlist.length - 1 && !G.config.shuffle) {
4618						t(0)
4619					} else {
4620						k()
4621					}
4622					break;
4623				case b.html5.controller.repeatoptions.LIST:
4624					if (G.item == G.playlist.length - 1 && !G.config.shuffle) {
4625						n();
4626						f(0)
4627					} else {
4628						k()
4629					}
4630					break;
4631				default:
4632					n();
4633					break
4634				}
4635			}
4636			var p = [];
4637
4638			function F(M) {
4639				return function() {
4640					if (d) {
4641						x(M, arguments)
4642					} else {
4643						p.push({
4644							method: M,
4645							arguments: arguments
4646						})
4647					}
4648				}
4649			}
4650			function x(O, N) {
4651				var M = [];
4652				for (i = 0; i < N.length; i++) {
4653					M.push(N[i])
4654				}
4655				O.apply(this, M)
4656			}
4657			this.play = F(u);
4658			this.pause = F(I);
4659			this.seek = F(D);
4660			this.stop = F(n);
4661			this.next = F(k);
4662			this.prev = F(j);
4663			this.item = F(t);
4664			this.setVolume = F(H);
4665			this.setMute = F(q);
4666			this.resize = F(l);
4667			this.setFullscreen = F(B);
4668			this.load = F(L);
4669			this.playerReady = K
4670		}
4671	})(jwplayer);
4672	(function(a) {
4673		a.html5.defaultSkin = function() {
4674			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+AOGFQ
4674RhTJhrEQkGcczfujhg4CQwECDADpTRWU/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/6
46745FF/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>';
4675			this.xml = null;
4676			if (window.DOMParser) {
4677				parser = new DOMParser();
4678				this.xml = parser.parseFromString(this.text, "text/xml")
4679			} else {
4680				this.xml = new ActiveXObject("Microsoft.XMLDOM");
4681				this.xml.async = "false";
4682				this.xml.loadXML(this.text)
4683			}
4684			return this
4685		}
4686	})(jwplayer);
4687	(function(a) {
4688		_utils = a.utils;
4689		_css = _utils.css;
4690		_hide = function(b) {
4691			_css(b, {
4692				display: "none"
4693			})
4694		};
4695		_show = function(b) {
4696			_css(b, {
4697				display: "block"
4698			})
4699		};
4700		a.html5.display = function(k, G) {
4701			var j = {
4702				icons: true,
4703				showmute: false
4704			};
4705			var Q = _utils.extend({}, j, G);
4706			var h = k;
4707			var P = {};
4708			var e;
4709			var u;
4710			var w;
4711			var N;
4712			var s;
4713			var I;
4714			var A;
4715			var J = !_utils.exists(h.skin.getComponentSettings("display").bufferrotation) ? 15 : parseInt(h.skin.getComponentSettings("display").bufferrotation, 10);
4716			var q = !_utils.exists(h.skin.getComponentSettings("display").bufferinterval) ? 100 : parseInt(h.skin.getComponentSettings("display").bufferinterval, 10);
4717			var z = -1;
4718			var t = "";
4719			var K = true;
4720			var d;
4721			var g = false;
4722			var n = false;
4723			var H = new a.html5.eventdispatcher();
4724			_utils.extend(this, H);
4725			var D = {
4726				display: {
4727					style: {
4728						cursor: "pointer",
4729						top: 0,
4730						left: 0,
4731						overflow: "hidden"
4732					},
4733					click: m
4734				},
4735				display_icon: {
4736					style: {
4737						cursor: "pointer",
4738						position: "absolute",
4739						top: ((h.skin.getSkinElement("display", "background").height - h.skin.getSkinElement("display", "playIcon").height) / 2),
4740						left: ((h.skin.getSkinElement("display", "background").width - h.skin.getSkinElement("display", "playIcon").width) / 2),
4741						border: 0,
4742						margin: 0,
4743						padding: 0,
4744						zIndex: 3,
4745						display: "none"
4746					}
4747				},
4748				display_iconBackground: {
4749					style: {
4750						cursor: "pointer",
4751						position: "absolute",
4752						top: ((u - h.skin.getSkinElement("display", "background").height) / 2),
4753						left: ((e - h.skin.getSkinElement("display", "background").width) / 2),
4754						border: 0,
4755						backgroundImage: (["url(", h.skin.getSkinElement("display", "background").src, ")"]).join(""),
4756						width: h.skin.getSkinElement("display", "background").width,
4757						height: h.skin.getSkinElement("display", "background").height,
4758						margin: 0,
4759						padding: 0,
4760						zIndex: 2,
4761						display: "none"
4762					}
4763				},
4764				display_image: {
4765					style: {
4766						display: "none",
4767						width: e,
4768						height: u,
4769						position: "absolute",
4770						cursor: "pointer",
4771						left: 0,
4772						top: 0,
4773						margin: 0,
4774						padding: 0,
4775						textDecoration: "none",
4776						zIndex: 1
4777					}
4778				},
4779				display_text: {
4780					style: {
4781						zIndex: 4,
4782						position: "relative",
4783						opacity: 0.8,
4784						backgroundColor: parseInt("000000", 16),
4785						color: parseInt("ffffff", 16),
4786						textAlign: "center",
4787						fontFamily: "Arial,sans-serif",
4788						padding: "0 5px",
4789						fontSize: 14
4790					}
4791				}
4792			};
4793			h.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, p);
4794			h.jwAddEventListener(a.api.events.JWPLAYER_MEDIA_MUTE, p);
4795			h.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_ITEM, p);
4796			h.jwAddEventListener(a.api.events.JWPLAYER_ERROR, o);
4797			L();
4798
4799			function L() {
4800				P.display = C("div", "display");
4801				P.display_text = C("div", "display_text");
4802				P.display.appendChild(P.display_text);
4803				P.display_image = C("img", "display_image");
4804				P.display_image.onerror = function(R) {
4805					_hide(P.display_image)
4806				};
4807				P.display_image.onload = y;
4808				P.display_icon = C("div", "display_icon");
4809				P.display_iconBackground = C("div", "display_iconBackground");
4810				P.display.appendChild(P.display_image);
4811				P.display_iconBackground.appendChild(P.display_icon);
4812				P.display.appendChild(P.display_iconBackground);
4813				f();
4814				setTimeout((function() {
4815					n = true;
4816					if (Q.icons.toString() == "true") {
4817						F()
4818					}
4819				}), 1)
4820			}
4821			this.getDisplayElement = function() {
4822				return P.display
4823			};
4824			this.resize = function(S, R) {
4825				_css(P.display, {
4826					width: S,
4827					height: R
4828				});
4829				_css(P.display_text, {
4830					width: (S - 10),
4831					top: ((R - P.display_text.getBoundingClientRect().height) / 2)
4832				});
4833				_css(P.display_iconBackground, {
4834					top: ((R - h.skin.getSkinElement("display", "background").height) / 2),
4835					left: ((S - h.skin.getSkinElement("display", "background").width) / 2)
4836				});
4837				if (e != S || u != R) {
4838					e = S;
4839					u = R;
4840					d = undefined;
4841					F()
4842				}
4843				c();
4844				p({})
4845			};
4846			this.show = function() {
4847				if (g) {
4848					g = false;
4849					r(h.jwGetState())
4850				}
4851			};
4852			this.hide = function() {
4853				if (!g) {
4854					B();
4855					g = true
4856				}
4857			};
4858
4859			function y(R) {
4860				w = P.display_image.naturalWidth;
4861				N = P.display_image.naturalHeight;
4862				c()
4863			}
4864			function c() {
4865				_utils.stretch(h.jwGetStretching(), P.display_image, e, u, w, N)
4866			}
4867			function C(R, T) {
4868				var S = document.createElement(R);
4869				S.id = h.id + "_jwplayer_" + T;
4870				_css(S, D[T].style);
4871				return S
4872			}
4873			function f() {
4874				for (var R in P) {
4875					if (_utils.exists(D[R].click)) {
4876						P[R].onclick = D[R].click
4877					}
4878				}
4879			}
4880			function m(R) {
4881				if (typeof R.preventDefault != "undefined") {
4882					R.preventDefault()
4883				} else {
4884					R.returnValue = false
4885				}
4886				if (h.jwGetState() != a.api.events.state.PLAYING) {
4887					h.jwPlay()
4888				} else {
4889					h.jwPause()
4890				}
4891			}
4892			function O(R) {
4893				if (A) {
4894					B();
4895					return
4896				}
4897				P.display_icon.style.backgroundImage = (["url(", h.skin.getSkinElement("display", R).src, ")"]).join("");
4898				_css(P.display_icon, {
4899					width: h.skin.getSkinElement("display", R).width,
4900					height: h.skin.getSkinElement("display", R).height,
4901					top: (h.skin.getSkinElement("display", "background").height - h.skin.getSkinElement("display", R).height) / 2,
4902					left: (h.skin.getSkinElement("display", "background").width - h.skin.getSkinElement("display", R).width) / 2
4903				});
4904				b();
4905				if (_utils.exists(h.skin.getSkinElement("display", R + "Over"))) {
4906					P.display_icon.onmouseover = function(S) {
4907						P.display_icon.style.backgroundImage = ["url(", h.skin.getSkinElement("display", R + "Over").src, ")"].join("")
4908					};
4909					P.display_icon.onmouseout = function(S) {
4910						P.display_icon.style.backgroundImage = ["url(", h.skin.getSkinElement("display", R).src, ")"].join("")
4911					}
4912				} else {
4913					P.display_icon.onmouseover = null;
4914					P.display_icon.onmouseout = null
4915				}
4916			}
4917			function B() {
4918				if (Q.icons.toString() == "true") {
4919					_hide(P.display_icon);
4920					_hide(P.display_iconBackground);
4921					M()
4922				}
4923			}
4924			function b() {
4925				if (!g && Q.icons.toString() == "true") {
4926					_show(P.display_icon);
4927					_show(P.display_iconBackground);
4928					F()
4929				}
4930			}
4931			function o(R) {
4932				A = true;
4933				B();
4934				P.display_text.innerHTML = R.error;
4935				_show(P.display_text);
4936				P.display_text.style.top = ((u - P.display_text.getBoundingClientRect().height) / 2) + "px"
4937			}
4938			function E() {
4939				P.display_image.style.display = "none"
4940			}
4941			function p(R) {
4942				if ((R.type == a.api.events.JWPLAYER_PLAYER_STATE || R.type == a.api.events.JWPLAYER_PLAYLIST_ITEM) && A) {
4943					A = false;
4944					_hide(P.display_text)
4945				}
4946				var S = h.jwGetState();
4947				if (S == t) {
4948					return
4949				}
4950				t = S;
4951				if (z >= 0) {
4952					clearTimeout(z)
4953				}
4954				if (K || h.jwGetState() == a.api.events.state.PLAYING || h.jwGetState() == a.api.events.state.PAUSED) {
4955					r(h.jwGetState())
4956				} else {
4957					z = setTimeout(l(h.jwGetState()), 500)
4958				}
4959			}
4960			function l(R) {
4961				return (function() {
4962					r(R)
4963				})
4964			}
4965			function r(R) {
4966				if (_utils.exists(I)) {
4967					clearInterval(I);
4968					I = null;
4969					_utils.animations.rotate(P.display_icon, 0)
4970				}
4971				switch (R) {
4972				case a.api.events.state.BUFFERING:
4973					if (_utils.isIOS()) {
4974						E();
4975						B()
4976					} else {
4977						if (h.jwGetPlaylist()[h.jwGetItem()].provider == "sound") {
4978							v()
4979						}
4980						s = 0;
4981						I = setInterval(function() {
4982							s += J;
4983							_utils.animations.rotate(P.display_icon, s % 360)
4984						}, q);
4985						O("bufferIcon");
4986						K = true
4987					}
4988					break;
4989				case a.api.events.state.PAUSED:
4990					if (!_utils.isIOS()) {
4991						if (h.jwGetPlaylist()[h.jwGetItem()].provider != "sound") {
4992							_css(P.display_image, {
4993								background: "transparent no-repeat center center"
4994							})
4995						}
4996						O("playIcon");
4997						K = true
4998					}
4999					break;
5000				case a.api.events.state.IDLE:
5001					if (h.jwGetPlaylist()[h.jwGetItem()] && h.jwGetPlaylist()[h.jwGetItem()].image) {
5002						v()
5003					} else {
5004						E()
5005					}
5006					O("playIcon");
5007					K = true;
5008					break;
5009				default:
5010					if (h.jwGetPlaylist()[h.jwGetItem()] && h.jwGetPlaylist()[h.jwGetItem()].provider == "sound") {
5011						if (_utils.isIOS()) {
5012							E();
5013							K = false
5014						} else {
5015							v()
5016						}
5017					} else {
5018						E();
5019						K = false
5020					}
5021					if (h.jwGetMute() && Q.showmute) {
5022						O("muteIcon")
5023					} else {
5024						B()
5025					}
5026					break
5027				}
5028				z = -1
5029			}
5030			function v() {
5031				if (h.jwGetPlaylist()[h.jwGetItem()] && h.jwGetPlaylist()[h.jwGetItem()].image) {
5032					_css(P.display_image, {
5033						display: "block"
5034					});
5035					P.display_image.src = _utils.getAbsolutePath(h.jwGetPlaylist()[h.jwGetItem()].image)
5036				}
5037			}
5038			function x(R) {
5039				return function() {
5040					if (!n) {
5041						return
5042					}
5043					if (!g && d != R) {
5044						d = R;
5045						H.sendEvent(R, {
5046							component: "display",
5047							boundingRect: _utils.getDimensions(P.display_iconBackground)
5048						})
5049					}
5050				}
5051			}
5052			var F = x(a.api.events.JWPLAYER_COMPONENT_SHOW);
5053			var M = x(a.api.events.JWPLAYER_COMPONENT_HIDE);
5054			return this
5055		}
5056	})(jwplayer);
5057	(function(a) {
5058		_css = a.utils.css;
5059		a.html5.dock = function(p, u) {
5060			function q() {
5061				return {
5062					align: a.html5.view.positions.RIGHT
5063				}
5064			}
5065			var k = a.utils.extend({}, q(), u);
5066			if (k.align == "FALSE") {
5067				return
5068			}
5069			var f = {};
5070			var s = [];
5071			var g;
5072			var v;
5073			var d = false;
5074			var t = false;
5075			var e = {
5076				x: 0,
5077				y: 0,
5078				width: 0,
5079				height: 0
5080			};
5081			var r;
5082			var j = new a.html5.eventdispatcher();
5083			_utils.extend(this, j);
5084			var m = document.createElement("div");
5085			m.id = p.id + "_jwplayer_dock";
5086			p.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, l);
5087			this.getDisplayElement = function() {
5088				return m
5089			};
5090			this.setButton = function(A, x, y, z) {
5091				if (!x && f[A]) {
5092					a.utils.arrays.remove(s, A);
5093					m.removeChild(f[A].div);
5094					delete f[A]
5095				} else {
5096					if (x) {
5097						if (!f[A]) {
5098							f[A] = {}
5099						}
5100						f[A].handler = x;
5101						f[A].outGraphic = y;
5102						f[A].overGraphic = z;
5103						if (!f[A].div) {
5104							s.push(A);
5105							f[A].div = document.createElement("div");
5106							f[A].div.style.position = "relative";
5107							m.appendChild(f[A].div);
5108							f[A].div.appendChild(document.createElement("img"));
5109							f[A].div.childNodes[0].style.position = "absolute";
5110							f[A].div.childNodes[0].style.left = 0;
5111							f[A].div.childNodes[0].style.top = 0;
5112							f[A].div.childNodes[0].style.zIndex = 10;
5113							f[A].div.childNodes[0].style.cursor = "pointer";
5114							f[A].div.appendChild(document.createElement("img"));
5115							f[A].div.childNodes[1].style.position = "absolute";
5116							f[A].div.childNodes[1].style.left = 0;
5117							f[A].div.childNodes[1].style.top = 0;
5118							if (p.skin.getSkinElement("dock", "button")) {
5119								f[A].div.childNodes[1].src = p.skin.getSkinElement("dock", "button").src
5120							}
5121							f[A].div.childNodes[1].style.zIndex = 9;
5122							f[A].div.childNodes[1].style.cursor = "pointer";
5123							f[A].div.onmouseover = function() {
5124								if (f[A].overGraphic) {
5125									f[A].div.childNodes[0].src = f[A].overGraphic
5126								}
5127								if (p.skin.getSkinElement("dock", "buttonOver")) {
5128									f[A].div.childNodes[1].src = p.skin.getSkinElement("dock", "buttonOver").src
5129								}
5130							};
5131							f[A].div.onmouseout = function() {
5132								if (f[A].outGraphic) {
5133									f[A].div.childNodes[0].src = f[A].outGraphic
5134								}
5135								if (p.skin.getSkinElement("dock", "button")) {
5136									f[A].div.childNodes[1].src = p.skin.getSkinElement("dock", "button").src
5137								}
5138							};
5139							if (f[A].overGraphic) {
5140								f[A].div.childNodes[0].src = f[A].overGraphic
5141							}
5142							if (f[A].outGraphic) {
5143								f[A].div.childNodes[0].src = f[A].outGraphic
5144							}
5145							if (p.skin.getSkinElement("dock", "button")) {
5146								f[A].div.childNodes[1].src = p.skin.getSkinElement("dock", "button").src
5147							}
5148						}
5149						if (x) {
5150							f[A].div.onclick = function(B) {
5151								B.preventDefault();
5152								a(p.id).callback(A);
5153								if (f[A].overGraphic) {
5154									f[A].div.childNodes[0].src = f[A].overGraphic
5155								}
5156								if (p.skin.getSkinElement("dock", "button")) {
5157									f[A].div.childNodes[1].src = p.skin.getSkinElement("dock", "button").src
5158								}
5159							}
5160						}
5161					}
5162				}
5163				h(g, v)
5164			};
5165
5166			function h(x, J) {
5167				if (s.length > 0) {
5168					var y = 10;
5169					var I = y;
5170					var F = -1;
5171					var G = p.skin.getSkinElement("dock", "button").height;
5172					var E = p.skin.getSkinElement("dock", "button").width;
5173					var C = x - E - y;
5174					var H, B;
5175					if (k.align == a.html5.view.positions.LEFT) {
5176						F = 1;
5177						C = y
5178					}
5179					for (var z = 0; z < s.length; z++) {
5180						var K = Math.floor(I / J);
5181						if ((I + G + y) > ((K + 1) * J)) {
5182							I = ((K + 1) * J) + y;
5183							K = Math.floor(I / J)
5184						}
5185						var A = f[s[z]].div;
5186						A.style.top = (I % J) + "px";
5187						A.style.left = (C + (p.skin.getSkinElement("dock", "button").width + y) * K * F) + "px";
5188						var D = {
5189							x: a.utils.parseDimension(A.style.left),
5190							y: a.utils.parseDimension(A.style.top),
5191							width: E,
5192							height: G
5193						};
5194						if (!H || (D.x <= H.x && D.y <= H.y)) {
5195							H = D
5196						}
5197						if (!B || (D.x >= B.x && D.y >
5197= B.y)) {
5198							B = D
5199						}
5200						I += p.skin.getSkinElement("dock", "button").height + y
5201					}
5202					e = {
5203						x: H.x,
5204						y: H.y,
5205						width: B.x - H.x + B.width,
5206						height: H.y - B.y + B.height
5207					}
5208				}
5209				if (t != p.jwGetFullscreen() || g != x || v != J) {
5210					g = x;
5211					v = J;
5212					t = p.jwGetFullscreen();
5213					r = undefined;
5214					setTimeout(n, 1)
5215				}
5216			}
5217			function b(x) {
5218				return function() {
5219					if (!d && r != x && s.length > 0) {
5220						r = x;
5221						j.sendEvent(x, {
5222							component: "dock",
5223							boundingRect: e
5224						})
5225					}
5226				}
5227			}
5228			function l(x) {
5229				if (a.utils.isIOS()) {
5230					switch (x.newstate) {
5231					case a.api.events.state.IDLE:
5232						o();
5233						break;
5234					default:
5235						c();
5236						break
5237					}
5238				}
5239			}
5240			var n = b(a.api.events.JWPLAYER_COMPONENT_SHOW);
5241			var w = b(a.api.events.JWPLAYER_COMPONENT_HIDE);
5242			this.resize = h;
5243			var o = function() {
5244					_css(m, {
5245						display: "block"
5246					});
5247					if (d) {
5248						d = false;
5249						n()
5250					}
5251				};
5252			var c = function() {
5253					_css(m, {
5254						display: "none"
5255					});
5256					if (!d) {
5257						w();
5258						d = true
5259					}
5260				};
5261			this.hide = c;
5262			this.show = o;
5263			return this
5264		}
5265	})(jwplayer);
5266	(function(a) {
5267		a.html5.eventdispatcher = function(d, b) {
5268			var c = new a.events.eventdispatcher(b);
5269			a.utils.extend(this, c);
5270			this.sendEvent = function(e, f) {
5271				if (!a.utils.exists(f)) {
5272					f = {}
5273				}
5274				a.utils.extend(f, {
5275					id: d,
5276					version: a.version,
5277					type: e
5278				});
5279				c.sendEvent(e, f)
5280			}
5281		}
5282	})(jwplayer);
5283	(function(a) {
5284		var b = {
5285			prefix: "http://l.longtailvideo.com/html5/",
5286			file: "logo.png",
5287			link: "http://www.longtailvideo.com/players/jw-flv-player/",
5288			margin: 8,
5289			out: 0.5,
5290			over: 1,
5291			timeout: 5,
5292			hide: true,
5293			position: "bottom-left"
5294		};
5295		_css = a.utils.css;
5296		a.html5.logo = function(n, r) {
5297			var q = n;
5298			var u;
5299			var d;
5300			var t;
5301			var h = false;
5302			g();
5303
5304			function g() {
5305				o();
5306				c();
5307				l()
5308			}
5309			function o() {
5310				if (b.prefix) {
5311					var v = n.version.split(/\W/).splice(0, 2).join("/");
5312					if (b.prefix.indexOf(v) < 0) {
5313						b.prefix += v + "/"
5314					}
5315				}
5316				if (r.position == a.html5.view.positions.OVER) {
5317					r.position = b.position
5318				}
5319				d = a.utils.extend({}, b)
5320			}
5321			function c() {
5322				t = document.createElement("img");
5323				t.id = q.id + "_jwplayer_logo";
5324				t.style.display = "none";
5325				t.onload = function(v) {
5326					_css(t, k());
5327					q.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, j);
5328					p()
5329				};
5330				if (!d.file) {
5331					return
5332				}
5333				if (d.file.indexOf("http://") === 0) {
5334					t.src = d.file
5335				} else {
5336					t.src = d.prefix + d.file
5337				}
5338			}
5339			if (!d.file) {
5340				return
5341			}
5342			this.resize = function(w, v) {};
5343			this.getDisplayElement = function() {
5344				return t
5345			};
5346
5347			function l() {
5348				if (d.link) {
5349					t.onmouseover = f;
5350					t.onmouseout = p;
5351					t.onclick = s
5352				} else {
5353					this.mouseEnabled = false
5354				}
5355			}
5356			function s(v) {
5357				if (typeof v != "undefined") {
5358					v.stopPropagation()
5359				}
5360				if (!h) {
5361					return
5362				}
5363				q.jwPause();
5364				q.jwSetFullscreen(false);
5365				if (d.link) {
5366					window.open(d.link, "_top")
5367				}
5368				return
5369			}
5370			function p(v) {
5371				if (d.link && h) {
5372					t.style.opacity = d.out
5373				}
5374				return
5375			}
5376			function f(v) {
5377				if (d.hide.toString() == "true" && h) {
5378					t.style.opacity = d.over
5379				}
5380				return
5381			}
5382			function k() {
5383				var x = {
5384					textDecoration: "none",
5385					position: "absolute",
5386					cursor: "pointer"
5387				};
5388				x.display = (d.hide.toString() == "true") ? "none" : "block";
5389				var w = d.position.toLowerCase().split("-");
5390				for (var v in w) {
5391					x[w[v]] = d.margin
5392				}
5393				return x
5394			}
5395			function m() {
5396				if (d.hide.toString() == "true") {
5397					t.style.display = "block";
5398					t.style.opacity = 0;
5399					a.utils.fadeTo(t, d.out, 0.1, parseFloat(t.style.opacity));
5400					u = setTimeout(function() {
5401						e()
5402					}, d.timeout * 1000)
5403				}
5404				h = true
5405			}
5406			function e() {
5407				h = false;
5408				if (d.hide.toString() == "true") {
5409					a.utils.fadeTo(t, 0, 0.1, parseFloat(t.style.opacity))
5410				}
5411			}
5412			function j(v) {
5413				if (v.newstate == a.api.events.state.BUFFERING) {
5414					clearTimeout(u);
5415					m()
5416				}
5417			}
5418			return this
5419		}
5420	})(jwplayer);
5421	(function(a) {
5422		var c = {
5423			ended: a.api.events.state.IDLE,
5424			playing: a.api.events.state.PLAYING,
5425			pause: a.api.events.state.PAUSED,
5426			buffering: a.api.events.state.BUFFERING
5427		};
5428		var e = a.utils;
5429		var b = e.css;
5430		var d = e.isIOS();
5431		a.html5.mediavideo = function(h, s) {
5432			var r = {
5433				abort: n,
5434				canplay: k,
5435				canplaythrough: k,
5436				durationchange: G,
5437				emptied: n,
5438				ended: k,
5439				error: u,
5440				loadeddata: G,
5441				loadedmetadata: G,
5442				loadstart: k,
5443				pause: k,
5444				play: n,
5445				playing: k,
5446				progress: v,
5447				ratechange: n,
5448				seeked: k,
5449				seeking: k,
5450				stalled: k,
5451				suspend: k,
5452				timeupdate: D,
5453				volumechange: n,
5454				waiting: k,
5455				canshowcurrentframe: n,
5456				dataunavailable: n,
5457				empty: n,
5458				load: z,
5459				loadedfirstframe: n
5460			};
5461			var j = new a.html5.eventdispatcher();
5462			e.extend(this, j);
5463			var y = h,
5464				l = s,
5465				m, B, A, x, f, H = false,
5466				C, p, q;
5467			o();
5468			this.load = function(J, K) {
5469				if (typeof K == "undefined") {
5470					K = true
5471				}
5472				x = J;
5473				e.empty(m);
5474				q = 0;
5475				if (J.levels && J.levels.length > 0) {
5476					if (J.levels.length == 1) {
5477						m.src = J.levels[0].file
5478					} else {
5479						if (m.src) {
5480							m.removeAttribute("src")
5481						}
5482						for (var I = 0; I < J.levels.length; I++) {
5483							var L = m.ownerDocument.createElement("source");
5484							L.src = J.levels[I].file;
5485							m.appendChild(L);
5486							q++
5487						}
5488					}
5489				} else {
5490					m.src = J.file
5491				}
5492				if (d) {
5493					if (J.image) {
5494						m.poster = J.image
5495					}
5496					m.controls = "controls";
5497					m.style.display = "block"
5498				}
5499				C = p = A = false;
5500				y.buffer = 0;
5501				if (!e.exists(J.start)) {
5502					J.start = 0
5503				}
5504				y.duration = J.duration;
5505				j.sendEvent(a.api.events.JWPLAYER_MEDIA_LOADED);
5506				if ((!d && J.levels.length == 1) || !H) {
5507					m.load()
5508				}
5509				H = false;
5510				if (K) {
5511					E(a.api.events.state.BUFFERING);
5512					j.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER, {
5513						bufferPercent: 0
5514					});
5515					this.play()
5516				}
5517			};
5518			this.play = function() {
5519				if (B != a.api.events.state.PLAYING) {
5520					t();
5521					if (p) {
5522						E(a.api.events.state.PLAYING)
5523					} else {
5524						E(a.api.events.state.BUFFERING)
5525					}
5526					m.play()
5527				}
5528			};
5529			this.pause = function() {
5530				m.pause();
5531				E(a.api.events.state.PAUSED)
5532			};
5533			this.seek = function(I) {
5534				if (!(y.duration <= 0 || isNaN(y.duration)) && !(y.position <= 0 || isNaN(y.position))) {
5535					m.currentTime = I;
5536					m.play()
5537				}
5538			};
5539			_stop = this.stop = function(I) {
5540				if (!e.exists(I)) {
5541					I = true
5542				}
5543				g();
5544				if (I) {
5545					m.style.display = "none";
5546					p = false;
5547					var J = navigator.userAgent;
5548					if (J.match(/chrome/i)) {
5549						m.src = undefined
5550					} else {
5551						if (J.match(/safari/i)) {
5552							m.removeAttribute("src")
5553						} else {
5554							m.src = ""
5555						}
5556					}
5557					m.removeAttribute("controls");
5558					m.removeAttribute("poster");
5559					e.empty(m);
5560					m.load();
5561					H = true;
5562					if (m.webkitSupportsFullscreen) {
5563						try {
5564							m.webkitExitFullscreen()
5565						} catch (K) {}
5566					}
5567				}
5568				E(a.api.events.state.IDLE)
5569			};
5570			this.fullscreen = function(I) {
5571				if (I === true) {
5572					this.resize("100%", "100%")
5573				} else {
5574					this.resize(y.config.width, y.config.height)
5575				}
5576			};
5577			this.resize = function(J, I) {
5578				if (false) {
5579					b(l, {
5580						width: J,
5581						height: I
5582					})
5583				}
5584				j.sendEvent(a.api.events.JWPLAYER_MEDIA_RESIZE, {
5585					fullscreen: y.fullscreen,
5586					width: J,
5587					hieght: I
5588				})
5589			};
5590			this.volume = function(I) {
5591				if (!d) {
5592					m.volume = I / 100;
5593					y.volume = I;
5594					j.sendEvent(a.api.events.JWPLAYER_MEDIA_VOLUME, {
5595						volume: Math.round(I)
5596					})
5597				}
5598			};
5599			this.mute = function(I) {
5600				if (!d) {
5601					m.muted = I;
5602					y.mute = I;
5603					j.sendEvent(a.api.events.JWPLAYER_MEDIA_MUTE, {
5604						mute: I
5605					})
5606				}
5607			};
5608			this.getDisplayElement = function() {
5609				return m
5610			};
5611			this.hasChrome = function() {
5612				return false
5613			};
5614
5615			function o() {
5616				m = document.createElement("video");
5617				B = a.api.events.state.IDLE;
5618				for (var I in r) {
5619					m.addEventListener(I, function(J) {
5620						if (e.exists(J.target.parentNode)) {
5621							r[J.type](J)
5622						}
5623					}, true)
5624				}
5625				m.setAttribute("x-webkit-airplay", "allow");
5626				if (l.parentNode) {
5627					l.parentNode.replaceChild(m, l)
5628				}
5629				if (!m.id) {
5630					m.id = l.id
5631				}
5632			}
5633			function E(I) {
5634				if (I == a.api.events.state.PAUSED && B == a.api.events.state.IDLE) {
5635					return
5636				}
5637				if (B != I) {
5638					var J = B;
5639					y.state = B = I;
5640					j.sendEvent(a.api.events.JWPLAYER_PLAYER_STATE, {
5641						oldstate: J,
5642						newstate: I
5643					})
5644				}
5645			}
5646			function n(I) {}
5647			function v(K) {
5648				var J;
5649				if (e.exists(K) && K.lengthComputable && K.total) {
5650					J = K.loaded / K.total * 100
5651				} else {
5652					if (e.exists(m.buffered) && (m.buffered.length > 0)) {
5653						var I = m.buffered.length - 1;
5654						if (I >= 0) {
5655							J = m.buffered.end(I) / m.duration * 100
5656						}
5657					}
5658				}
5659				if (p === false && B == a.api.events.state.BUFFERING) {
5660					j.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER_FULL);
5661					p = true
5662				}
5663				if (!C) {
5664					if (J == 100) {
5665						C = true
5666					}
5667					if (e.exists(J) && (J > y.buffer)) {
5668						y.buffer = Math.round(J);
5669						j.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER, {
5670							bufferPercent: Math.round(J)
5671						})
5672					}
5673				}
5674			}
5675			function D(J) {
5676				if (e.exists(J) && e.exists(J.target)) {
5677					if (!isNaN(J.target.duration) && (isNaN(y.duration) || y.duration < 1)) {
5678						if (J.target.duration == Infinity) {
5679							y.duration = 0
5680						} else {
5681							y.duration = Math.round(J.target.duration * 10) / 10
5682						}
5683					}
5684					if (!A && m.readyState > 0) {
5685						m.style.display = "block";
5686						E(a.api.events.state.PLAYING)
5687					}
5688					if (B == a.api.events.state.PLAYING) {
5689						if (!A && m.readyState > 0) {
5690							A = true;
5691							try {
5692								if (m.currentTime < x.start) {
5693									m.currentTime = x.start
5694								}
5695							} catch (I) {}
5696							m.volume = y.volume / 100;
5697							m.muted = y.mute
5698						}
5699						y.position = y.duration > 0 ? (Math.round(J.target.currentTime * 10) / 10) : 0;
5700						j.sendEvent(a.api.events.JWPLAYER_MEDIA_TIME, {
5701							position: y.position,
5702							duration: y.duration
5703						});
5704						if (y.position >= y.duration && (y.position > 0 || y.duration >
5704 0)) {
5705							w()
5706						}
5707					}
5708				}
5709				v(J)
5710			}
5711			function z(I) {}
5712			function k(I) {
5713				if (c[I.type]) {
5714					if (I.type == "ended") {
5715						w()
5716					} else {
5717						E(c[I.type])
5718					}
5719				}
5720			}
5721			function G(I) {
5722				var J = {
5723					height: I.target.videoHeight,
5724					width: I.target.videoWidth,
5725					duration: Math.round(I.target.duration * 10) / 10
5726				};
5727				if ((y.duration === 0 || isNaN(y.duration)) && I.target.duration != Infinity) {
5728					y.duration = Math.round(I.target.duration * 10) / 10
5729				}
5730				j.sendEvent(a.api.events.JWPLAYER_MEDIA_META, {
5731					metadata: J
5732				})
5733			}
5734			function u(K) {
5735				if (B == a.api.events.state.IDLE) {
5736					return
5737				}
5738				var J = "There was an error: ";
5739				if ((K.target.error && K.target.tagName.toLowerCase() == "video") || K.target.parentNode.error && K.target.parentNode.tagName.toLowerCase() == "video") {
5740					var I = !e.exists(K.target.error) ? K.target.parentNode.error : K.target.error;
5741					switch (I.code) {
5742					case I.MEDIA_ERR_ABORTED:
5743						J = "You aborted the video playback: ";
5744						break;
5745					case I.MEDIA_ERR_NETWORK:
5746						J = "A network error caused the video download to fail part-way: ";
5747						break;
5748					case I.MEDIA_ERR_DECODE:
5749						J = "The video playback was aborted due to a corruption problem or because the video used features your browser did not support: ";
5750						break;
5751					case I.MEDIA_ERR_SRC_NOT_SUPPORTED:
5752						J = "The video could not be loaded, either because the server or network failed or because the format is not supported: ";
5753						break;
5754					default:
5755						J = "An unknown error occurred: ";
5756						break
5757					}
5758				} else {
5759					if (K.target.tagName.toLowerCase() == "source") {
5760						q--;
5761						if (q > 0) {
5762							return
5763						}
5764						J = "The video could not be loaded, either because the server or network failed or because the format is not supported: "
5765					} else {
5766						e.log("An unknown error occurred.  Continuing...");
5767						return
5768					}
5769				}
5770				_stop(false);
5771				J += F();
5772				_error = true;
5773				j.sendEvent(a.api.events.JWPLAYER_ERROR, {
5774					error: J
5775				});
5776				return
5777			}
5778			function F() {
5779				var K = "";
5780				for (var J in x.levels) {
5781					var I = x.levels[J];
5782					var L = l.ownerDocument.createElement("source");
5783					K += a.utils.getAbsolutePath(I.file);
5784					if (J < (x.levels.length - 1)) {
5785						K += ", "
5786					}
5787				}
5788				return K
5789			}
5790			function t() {
5791				if (!e.exists(f)) {
5792					f = setInterval(function() {
5793						v()
5794					}, 100)
5795				}
5796			}
5797			function g() {
5798				clearInterval(f);
5799				f = null
5800			}
5801			function w() {
5802				if (B != a.api.events.state.IDLE) {
5803					_stop(false);
5804					j.sendEvent(a.api.events.JWPLAYER_MEDIA_COMPLETE)
5805				}
5806			}
5807		}
5808	})(jwplayer);
5809	(function(a) {
5810		var c = {
5811			ended: a.api.events.state.IDLE,
5812			playing: a.api.events.state.PLAYING,
5813			pause: a.api.events.state.PAUSED,
5814			buffering: a.api.events.state.BUFFERING
5815		};
5816		var b = a.utils.css;
5817		a.html5.mediayoutube = function(j, e) {
5818			var f = new a.html5.eventdispatcher();
5819			a.utils.extend(this, f);
5820			var l = j;
5821			var h = document.getElementById(e.id);
5822			var g = a.api.events.state.IDLE;
5823			var n, m;
5824
5825			function k(p) {
5826				if (g != p) {
5827					var q = g;
5828					l.state = p;
5829					g = p;
5830					f.sendEvent(a.api.events.JWPLAYER_PLAYER_STATE, {
5831						oldstate: q,
5832						newstate: p
5833					})
5834				}
5835			}
5836			this.getDisplayElement = function() {
5837				return h
5838			};
5839			this.play = function() {
5840				if (g == a.api.events.state.IDLE) {
5841					f.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER, {
5842						bufferPercent: 100
5843					});
5844					f.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER_FULL);
5845					k(a.api.events.state.PLAYING)
5846				} else {
5847					if (g == a.api.events.state.PAUSED) {
5848						k(a.api.events.state.PLAYING)
5849					}
5850				}
5851			};
5852			this.pause = function() {
5853				k(a.api.events.state.PAUSED)
5854			};
5855			this.seek = function(p) {};
5856			this.stop = function(p) {
5857				if (!_utils.exists(p)) {
5858					p = true
5859				}
5860				l.position = 0;
5861				k(a.api.events.state.IDLE);
5862				if (p) {
5863					b(h, {
5864						display: "none"
5865					})
5866				}
5867			};
5868			this.volume = function(p) {
5869				l.volume = p;
5870				f.sendEvent(a.api.events.JWPLAYER_MEDIA_VOLUME, {
5871					volume: Math.round(p)
5872				})
5873			};
5874			this.mute = function(p) {
5875				h.muted = p;
5876				l.mute = p;
5877				f.sendEvent(a.api.events.JWPLAYER_MEDIA_MUTE, {
5878					mute: p
5879				})
5880			};
5881			this.resize = function(q, p) {
5882				if (q * p > 0 && n) {
5883					n.width = m.width = q;
5884					n.height = m.height = p
5885				}
5886				f.sendEvent(a.api.events.JWPLAYER_MEDIA_RESIZE, {
5887					fullscreen: l.fullscreen,
5888					width: q,
5889					height: p
5890				})
5891			};
5892			this.fullscreen = function(p) {
5893				if (p === true) {
5894					this.resize("100%", "100%")
5895				} else {
5896					this.resize(l.config.width, l.config.height)
5897				}
5898			};
5899			this.load = function(p) {
5900				o(p);
5901				b(n, {
5902					display: "block"
5903				});
5904				k(a.api.events.state.BUFFERING);
5905				f.sendEvent(a.api.events.JWPLAYER_MEDIA_BUFFER, {
5906					bufferPercent: 0
5907				});
5908				f.sendEvent(a.api.events.JWPLAYER_MEDIA_LOADED);
5909				this.play()
5910			};
5911			this.hasChrome = function() {
5912				return (g != a.api.events.state.IDLE)
5913			};
5914
5915			function o(v) {
5916				var s = v.levels[0].file;
5917				s = ["http://www.youtube.com/v/", d(s), "&amp;hl=en_US&amp;
5917fs=1&autoplay=1"].join("");
5918				n = document.createElement("object");
5919				n.id = h.id;
5920				n.style.position = "absolute";
5921				var u = {
5922					movie: s,
5923					allowfullscreen: "true",
5924					allowscriptaccess: "always"
5925				};
5926				for (var p in u) {
5927					var t = document.createElement("param");
5928					t.name = p;
5929					t.value = u[p];
5930					n.appendChild(t)
5931				}
5932				m = document.createElement("embed");
5933				n.appendChild(m);
5934				var q = {
5935					src: s,
5936					type: "application/x-shockwave-flash",
5937					allowfullscreen: "true",
5938					allowscriptaccess: "always",
5939					width: n.width,
5940					height: n.height
5941				};
5942				for (var r in q) {
5943					m.setAttribute(r, q[r])
5944				}
5945				n.appendChild(m);
5946				n.style.zIndex = 2147483000;
5947				if (h != n && h.parentNode) {
5948					h.parentNode.replaceChild(n, h)
5949				}
5950				h = n
5951			}
5952			function d(q) {
5953				var p = q.split(/\?|\#\!/);
5954				var s = "";
5955				for (var r = 0; r < p.length; r++) {
5956					if (p[r].substr(0, 2) == "v=") {
5957						s = p[r].substr(2)
5958					}
5959				}
5960				if (s == "") {
5961					if (q.indexOf("/v/") >= 0) {
5962						s = q.substr(q.indexOf("/v/") + 3)
5963					} else {
5964						if (q.indexOf("youtu.be") >= 0) {
5965							s = q.substr(q.indexOf("youtu.be/") + 9)
5966						} else {
5967							s = q
5968						}
5969					}
5970				}
5971				if (s.indexOf("?") > -1) {
5972					s = s.substr(0, s.indexOf("?"))
5973				}
5974				if (s.indexOf("&") > -1) {
5975					s = s.substr(0, s.indexOf("&"))
5976				}
5977				return s
5978			}
5979			this.embed = m;
5980			return this
5981		}
5982	})(jwplayer);
5983	(function(jwplayer) {
5984		var _configurableStateVariables = ["width", "height", "start", "duration", "volume", "mute", "fullscreen", "item", "plugins", "stretching"];
5985		jwplayer.html5.model = function(api, container, options) {
5986			var _api = api;
5987			var _container = container;
5988			var _model = {
5989				id: _container.id,
5990				playlist: [],
5991				state: jwplayer.api.events.state.IDLE,
5992				position: 0,
5993				buffer: 0,
5994				config: {
5995					width: 480,
5996					height: 320,
5997					item: -1,
5998					skin: undefined,
5999					file: undefined,
6000					image: undefined,
6001					start: 0,
6002					duration: 0,
6003					bufferlength: 5,
6004					volume: 90,
6005					mute: false,
6006					fullscreen: false,
6007					repeat: "",
6008					stretching: jwplayer.utils.stretching.UNIFORM,
6009					autostart: false,
6010					debug: undefined,
6011					screencolor: undefined
6012				}
6013			};
6014			var _media;
6015			var _eventDispatcher = new jwplayer.html5.eventdispatcher();
6016			var _components = ["display", "logo", "controlbar", "playlist", "dock"];
6017			jwplayer.utils.extend(_model, _eventDispatcher);
6018			for (var option in options) {
6019				if (typeof options[option] == "string") {
6020					var type = /color$/.test(option) ? "color" : null;
6021					options[option] = jwplayer.utils.typechecker(options[option], type)
6022				}
6023				var config = _model.config;
6024				var path = option.split(".");
6025				for (var edge in path) {
6026					if (edge == path.length - 1) {
6027						config[path[edge]] = options[option]
6028					} else {
6029						if (!jwplayer.utils.exists(config[path[edge]])) {
6030							config[path[edge]] = {}
6031						}
6032						config = config[path[edge]]
6033					}
6034				}
6035			}
6036			for (var index in _configurableStateVariables) {
6037				var configurableStateVariable = _configurableStateVariables[index];
6038				_model[configurableStateVariable] = _model.config[configurableStateVariable]
6039			}
6040			var pluginorder = _components.concat([]);
6041			if (jwplayer.utils.exists(_model.plugins)) {
6042				if (typeof _model.plugins == "string") {
6043					var userplugins = _model.plugins.split(",");
6044					for (var userplugin in userplugins) {
6045						if (typeof userplugins[userplugin] == "string") {
6046							pluginorder.push(userplugins[userplugin].replace(/^\s+|\s+$/g, ""))
6047						}
6048					}
6049				}
6050			}
6051			if (jwplayer.utils.isIOS()) {
6052				pluginorder = ["display", "logo", "dock", "playlist"];
6053				if (!jwplayer.utils.exists(_model.config.repeat)) {
6054					_model.config.repeat = "list"
6055				}
6056			} else {
6057				if (_model.config.chromeless) {
6058					pluginorder = ["logo", "dock", "playlist"];
6059					if (!jwplayer.utils.exists(_model.config.repeat)) {
6060						_model.config.repeat = "list"
6061					}
6062				}
6063			}
6064			_model.plugins = {
6065				order: pluginorder,
6066				config: {},
6067				object: {}
6068			};
6069			if (typeof _model.config.components != "undefined") {
6070				for (var component in _model.config.components) {
6071					_model.plugins.config[component] = _model.config.components[component]
6072				}
6073			}
6074			for (var pluginIndex in _model.plugins.order) {
6075				var pluginName = _model.plugins.order[pluginIndex];
6076				var pluginConfig = !jwplayer.utils.exists(_model.plugins.config[pluginName]) ? {}
6076 : _model.plugins.config[pluginName];
6077				_model.plugins.config[pluginName] = !jwplayer.utils.exists(_model.plugins.config[pluginName]) ? pluginConfig : jwplayer.utils.extend(_model.plugins.config[pluginName], pluginConfig);
6078				if (!jwplayer.utils.exists(_model.plugins.config[pluginName].position)) {
6079					if (pluginName == "playlist") {
6080						_model.plugins.config[pluginName].position = jwplayer.html5.view.positions.NONE
6081					} else {
6082						_model.plugins.config[pluginName].position = jwplayer.html5.view.positions.OVER
6083					}
6084				} else {
6085					_model.plugins.config[pluginName].position = _model.plugins.config[pluginName].position.toString().toUpperCase()
6086				}
6087			}
6088			if (typeof _model.plugins.config.dock != "undefined") {
6089				if (typeof _model.plugins.config.dock != "object") {
6090					var position = _model.plugins.config.dock.toString().toUpperCase();
6091					_model.plugins.config.dock = {
6092						position: position
6093					}
6094				}
6095				if (typeof _model.plugins.config.dock.position != "undefined") {
6096					_model.plugins.config.dock.align = _model.plugins.config.dock.position;
6097					_model.plugins.config.dock.position = jwplayer.html5.view.positions.OVER
6098				}
6099			}
6100			function _loadExternal(playlistfile) {
6101				var loader = new jwplayer.html5.playlistloader();
6102				loader.addEventListener(jwplayer.api.events.JWPLAYER_PLAYLIST_LOADED, function(evt) {
6103					_model.playlist = new jwplayer.html5.playlist(evt);
6104					_loadComplete(true)
6105				});
6106				loader.addEventListener(jwplayer.api.events.JWPLAYER_ERROR, function(evt) {
6107					_model.playlist = new jwplayer.html5.playlist({
6108						playlist: []
6109					});
6110					_loadComplete(false)
6111				});
6112				loader.load(playlistfile)
6113			}
6114			function _loadComplete() {
6115				if (_model.config.shuffle) {
6116					_model.item = _getShuffleItem()
6117				} else {
6118					if (_model.config.item >= _model.playlist.length) {
6119						_model.config.item = _model.playlist.length - 1
6120					} else {
6121						if (_model.config.item < 0) {
6122							_model.config.item = 0
6123						}
6124					}
6125					_model.item = _model.config.item
6126				}
6127				_eventDispatcher.sendEvent(jwplayer.api.events.JWPLAYER_PLAYLIST_LOADED, {
6128					playlist: _model.playlist
6129				});
6130				_eventDispatcher.sendEvent(jwplayer.api.events.JWPLAYER_PLAYLIST_ITEM, {
6131					index: _model.item
6132				})
6133			}
6134			_model.loadPlaylist = function(arg) {
6135				var input;
6136				if (typeof arg == "string") {
6137					if (arg.indexOf("[") == 0 || arg.indexOf("{") == "0") {
6138						try {
6139							input = eval(arg)
6140						} catch (err) {
6141							input = arg
6142						}
6143					} else {
6144						input = arg
6145					}
6146				} else {
6147					input = arg
6148				}
6149				var config;
6150				switch (jwplayer.utils.typeOf(input)) {
6151				case "object":
6152					config = input;
6153					break;
6154				case "array":
6155					config = {
6156						playlist: input
6157					};
6158					break;
6159				default:
6160					_loadExternal(input);
6161					return;
6162					break
6163				}
6164				_model.playlist = new jwplayer.html5.playlist(config);
6165				if (jwplayer.utils.extension(_model.playlist[0].file) == "xml") {
6166					_loadExternal(_model.playlist[0].file)
6167				} else {
6168					_loadComplete()
6169				}
6170			};
6171
6172			function _getShuffleItem() {
6173				var result = null;
6174				if (_model.playlist.length > 1) {
6175					while (!jwplayer.utils.exists(result)) {
6176						result = Math.floor(Math.random() * _model.playlist.length);
6177						if (result == _model.item) {
6178							result = null
6179						}
6180					}
6181				} else {
6182					result = 0
6183				}
6184				return result
6185			}
6186			function forward(evt) {
6187				if (evt.type == jwplayer.api.events.JWPLAYER_MEDIA_LOADED) {
6188					_container = _media.getDisplayElement()
6189				}
6190				_eventDispatcher.sendEvent(evt.type, evt)
6191			}
6192			var _mediaProviders = {};
6193			_model.setActiveMediaProvider = function(playlistItem) {
6194				if (playlistItem.provider == "audio") {
6195					playlistItem.provider = "sound"
6196				}
6197				var provider = playlistItem.provider;
6198				var current = _media ? _media.getDisplayElement() : null;
6199				if (provider == "sound" || provider == "http" || provider == "") {
6200					provider = "video"
6201				}
6202				if (!jwplayer.utils.exists(_mediaProviders[provider])) {
6203					switch (provider) {
6204					case "video":
6205						_media = new jwplayer.html5.mediavideo(_model, current ? current : _container);
6206						break;
6207					case "youtube":
6208						_media = new jwplayer.html5.mediayoutube(_model, current ? current : _container);
6209						break
6210					}
6211					if (!jwplayer.utils.exists(_media)) {
6212						return false
6213					}
6214					_media.addGlobalListener(forward);
6215					_mediaProviders[provider] = _media
6216				} else {
6217					if (_media != _mediaProviders[provider]) {
6218						if (_media) {
6219							_media.stop()
6220						}
6221						_media = _mediaProviders[provider]
6222					}
6223				}
6224				return true
6225			};
6226			_model.getMedia = function() {
6227				return _media
6228			};
6229			_model.seek = function(pos) {
6230				_eventDispatcher.sendEvent(jwplayer.api.events.JWPLAYER_MEDIA_SEEK, {
6231					position: _model.position,
6232					offset: pos
6233				});
6234				return _media.seek(pos)
6235			};
6236			_model.setupPlugins = function() {
6237				if (!jwplayer.utils.exists(_model.plugins) || !jwplayer.utils.exists(_model.plugins.order) || _model.plugins.order.length == 0) {
6238					jwplayer.utils.log("No plugins to set up");
6239					return _model
6240				}
6241				for (var i = 0; i < _model.plugins.order.length; i++) {
6242					try {
6243						var pluginName = _model.plugins.order[i];
6244						if (jwplayer.utils.exists(jwplayer.html5[pluginName])) {
6245							if (pluginName == "playlist") {
6246								_model.plugins.object[pluginName] = new jwplayer.html5.playlistcomponent(_api, _model.plugins.config[pluginName])
6247							} else {
6248								_model.plugins.object[pluginName] = new jwplayer.html5[pluginName](_api, _model.plugins.config[pluginName])
6249							}
6250						} else {
6251							_model.plugins.order.splice(plugin, plugin + 1)
6252						}
6253						if (typeof _model.plugins.object[pluginName].addGlobalListener == "function") {
6254							_model.plugins.object[pluginName].addGlobalListener(forward)
6255						}
6256					} catch (err) {
6257						jwplayer.utils.log("Could not setup " + pluginName)
6258					}
6259				}
6260			};
6261			return _model
6262		}
6263	})(jwplayer);
6264	(function(a) {
6265		a.html5.playlist = function(b) {
6266			var d = [];
6267			if (b.playlist && b.playlist instanceof Array && b.playlist.length > 0) {
6268				for (var c in b.playlist) {
6269					if (!isNaN(parseInt(c))) {
6270						d.push(new a.html5.playlistitem(b.playlist[c]))
6271					}
6272				}
6273			} else {
6274				d.push(new a.html5.playlistitem(b))
6275			}
6276			return d
6277		}
6278	})(jwplayer);
6279	(function(a) {
6280		var c = {
6281			size: 180,
6282			position: a.html5.view.positions.NONE,
6283			itemheight: 60,
6284			thumbs: true,
6285			fontcolor: "#000000",
6286			overcolor: "",
6287			activecolor: "",
6288			backgroundcolor: "#f8f8f8",
6289			font: "_sans",
6290			fontsize: "",
6291			fontstyle: "",
6292			fontweight: ""
6293		};
6294		var b = {
6295			_sans: "Arial, Helvetica, sans-serif",
6296			_serif: "Times, Times New Roman, serif",
6297			_typewriter: "Courier New, Courier, monospace"
6298		};
6299		_utils = a.utils;
6300		_css = _utils.css;
6301		_hide = function(d) {
6302			_css(d, {
6303				display: "none"
6304			})
6305		};
6306		_show = function(d) {
6307			_css(d, {
6308				display: "block"
6309			})
6310		};
6311		a.html5.playlistcomponent = function(r, B) {
6312			var w = r;
6313			var e = a.utils.extend({}, c, w.skin.getComponentSettings("playlist"), B);
6314			if (e.position == a.html5.view.positions.NONE || typeof a.html5.view.positions[e.position] == "undefined") {
6315				return
6316			}
6317			var x;
6318			var l;
6319			var C;
6320			var d;
6321			var g;
6322			var f;
6323			var k = -1;
6324			var h = {
6325				background: undefined,
6326				item: undefined,
6327				itemOver: undefined,
6328				itemImage: undefined,
6329				itemActive: undefined
6330			};
6331			this.getDisplayElement = function() {
6332				return x
6333			};
6334			this.resize = function(F, D) {
6335				l = F;
6336				C = D;
6337				if (w.jwGetFullscreen()) {
6338					_hide(x)
6339				} else {
6340					var E = {
6341						display: "block",
6342						width: l,
6343						height: C
6344					};
6345					_css(x, E)
6346				}
6347			};
6348			this.show = function() {
6349				_show(x)
6350			};
6351			this.hide = function() {
6352				_hide(x)
6353			};
6354
6355			function j() {
6356				x = document.createElement("div");
6357				x.id = w.id + "_jwplayer_playlistcomponent";
6358				switch (e.position) {
6359				case a.html5.view.positions.RIGHT:
6360				case a.html5.view.positions.LEFT:
6361					x.style.width = e.size + "px";
6362					break;
6363				case a.html5.view.positions.TOP:
6364				case a.html5.view.positions.BOTTOM:
6365					x.style.height = e.size + "px";
6366					break
6367				}
6368				A();
6369				if (h.item) {
6370					e.itemheight = h.item.height
6371				}
6372				x.style.backgroundColor = "#C6C6C6";
6373				w.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_LOADED, s);
6374				w.jwAddEventListener(a.api.events.JWPLAYER_PLAYLIST_ITEM, u);
6375				w.jwAddEventListener(a.api.events.JWPLAYER_PLAYER_STATE, m)
6376			}
6377			function p() {
6378				var D = document.createElement("ul");
6379				_css(D, {
6380					width: x.style.width,
6381					minWidth: x.style.width,
6382					height: x.style.height,
6383					backgroundColor: e.backgroundcolor,
6384					backgroundImage: h.background ? "url(" + h.background.src + ")" : "",
6385					color: e.fontcolor,
6386					listStyle: "none",
6387					margin: 0,
6388					padding: 0,
6389					fontFamily: b[e.font] ? b[e.font] : b._sans,
6390					fontSize: (e.fontsize ? e.fontsize : 11) + "px",
6391					fontStyle: e.fontstyle,
6392					fontWeight: e.fontweight,
6393					overflowY: "auto"
6394				});
6395				return D
6396			}
6397			function y(D) {
6398				return function() {
6399					var E = f.getElementsByClassName("item")[D];
6400					var F = e.fontcolor;
6401					var G = h.item ? "url(" + h.item.src + ")" : "";
6402					if (D == w.jwGetPlaylistIndex()) {
6403						if (e.activecolor !== "") {
6404							F = e.activecolor
6405						}
6406						if (h.itemActive) {
6407							G = "url(" + h.itemActive.src + ")"
6408						}
6409					}
6410					_css(E, {
6411						color: e.overcolor !== "" ? e.overcolor : F,
6412						backgroundImage: h.itemOver ? "url(" + h.itemOver.src + ")" : G
6413					})
6414				}
6415			}
6416			function o(D) {
6417				return function() {
6418					var E = f.getElementsByClassName("item")[D];
6419					var F = e.fontcolor;
6420					var G = h.item ? "url(" + h.item.src + ")" : "";
6421					if (D == w.jwGetPlaylistIndex()) {
6422						if (e.activecolor !== "") {
6423							F = e.activecolor
6424						}
6425						if (h.itemActive) {
6426							G = "url(" + h.itemActive.src + ")"
6427						}
6428					}
6429					_css(E, {
6430						color: F,
6431						backgroundImage: G
6432					})
6433				}
6434			}
6435			function q(I) {
6436				var P = d[I];
6437				var O = document.createElement("li");
6438				O.className = "item";
6439				_css(O, {
6440					height: e.itemheight,
6441					display: "block",
6442					cursor: "pointer",
6443					backgroundImage: h.item ? "url(" + h.item.src + ")" : "",
6444					backgroundSize: "100% " + e.itemheight + "px"
6445				});
6446				O.onmouseover = y(I);
6447				O.onmouseout = o(I);
6448				var J = document.createElement("div");
6449				var F = new Image();
6450				var K = 0;
6451				var L = 0;
6452				var M = 0;
6453				if (v() && (P.image || P["playlist.image"] || h.itemImage)) {
6454					F.className = "image";
6455					if (h.itemImage) {
6456						K = (e.itemheight - h.itemImage.height) / 2;
6457						L = h.itemImage.width;
6458						M = h.itemImage.height
6459					} else {
6460						L = e.itemheight * 4 / 3;
6461						M = e.itemheight
6462					}
6463					_css(J, {
6464						height: M,
6465						width: L,
6466						"float": "left",
6467						styleFloat: "left",
6468						cssFloat: "left",
6469						margin: "0 5px 0 0",
6470						background: "black",
6471						overflow: "hidden",
6472						margin: K + "px",
6473						position: "relative"
6474					});
6475					_css(F, {
6476						position: "relative"
6477					});
6478					J.appendChild(F);
6479					F.onload = function() {
6480						a.utils.stretch(a.utils.stretching.FILL, F, L, M, this.naturalWi
6480dth, this.naturalHeight)
6481					};
6482					if (P["playlist.image"]) {
6483						F.src = P["playlist.image"]
6484					} else {
6485						if (P.image) {
6486							F.src = P.image
6487						} else {
6488							if (h.itemImage) {
6489								F.src = h.itemImage.src
6490							}
6491						}
6492					}
6493					O.appendChild(J)
6494				}
6495				var E = l - L - K * 2;
6496				if (C < e.itemheight * d.length) {
6497					E -= 15
6498				}
6499				var D = document.createElement("div");
6500				_css(D, {
6501					position: "relative",
6502					height: "100%",
6503					overflow: "hidden"
6504				});
6505				var G = document.createElement("span");
6506				if (P.duration > 0) {
6507					G.className = "duration";
6508					_css(G, {
6509						fontSize: (e.fontsize ? e.fontsize : 11) + "px",
6510						fontWeight: (e.fontweight ? e.fontweight : "bold"),
6511						width: "40px",
6512						height: e.fontsize ? e.fontsize + 10 : 20,
6513						lineHeight: 24,
6514						"float": "right",
6515						styleFloat: "right",
6516						cssFloat: "right"
6517					});
6518					G.innerHTML = _utils.timeFormat(P.duration);
6519					D.appendChild(G)
6520				}
6521				var N = document.createElement("span");
6522				N.className = "title";
6523				_css(N, {
6524					padding: "5px 5px 0 " + (K ? 0 : "5px"),
6525					height: e.fontsize ? e.fontsize + 10 : 20,
6526					lineHeight: e.fontsize ? e.fontsize + 10 : 20,
6527					overflow: "hidden",
6528					"float": "left",
6529					styleFloat: "left",
6530					cssFloat: "left",
6531					width: ((P.duration > 0) ? E - 50 : E) - 10 + "px",
6532					fontSize: (e.fontsize ? e.fontsize : 13) + "px",
6533					fontWeight: (e.fontweight ? e.fontweight : "bold")
6534				});
6535				N.innerHTML = P ? P.title : "";
6536				D.appendChild(N);
6537				if (P.description) {
6538					var H = document.createElement("span");
6539					H.className = "description";
6540					_css(H, {
6541						display: "block",
6542						"float": "left",
6543						styleFloat: "left",
6544						cssFloat: "left",
6545						margin: 0,
6546						paddingLeft: N.style.paddingLeft,
6547						paddingRight: N.style.paddingRight,
6548						lineHeight: (e.fontsize ? e.fontsize + 4 : 16) + "px",
6549						overflow: "hidden",
6550						position: "relative"
6551					});
6552					H.innerHTML = P.description;
6553					D.appendChild(H)
6554				}
6555				O.appendChild(D);
6556				return O
6557			}
6558			function s(E) {
6559				x.innerHTML = "";
6560				d = w.jwGetPlaylist();
6561				if (!d) {
6562					return
6563				}
6564				items = [];
6565				f = p();
6566				for (var F = 0; F < d.length; F++) {
6567					var D = q(F);
6568					D.onclick = z(F);
6569					f.appendChild(D);
6570					items.push(D)
6571				}
6572				k = w.jwGetPlaylistIndex();
6573				o(k)();
6574				x.appendChild(f);
6575				if (_utils.isIOS() && window.iScroll) {
6576					f.style.height = e.itemheight * d.length + "px";
6577					var G = new iScroll(x.id)
6578				}
6579			}
6580			function z(D) {
6581				return function() {
6582					w.jwPlaylistItem(D);
6583					w.jwPlay(true)
6584				}
6585			}
6586			function n() {
6587				f.scrollTop = w.jwGetPlaylistIndex() * e.itemheight
6588			}
6589			function v() {
6590				return e.thumbs.toString().toLowerCase() == "true"
6591			}
6592			function u(D) {
6593				if (k >= 0) {
6594					o(k)();
6595					k = D.index
6596				}
6597				o(D.index)();
6598				n()
6599			}
6600			function m() {
6601				if (e.position == a.html5.view.positions.OVER) {
6602					switch (w.jwGetState()) {
6603					case a.api.events.state.IDLE:
6604						_show(x);
6605						break;
6606					default:
6607						_hide(x);
6608						break
6609					}
6610				}
6611			}
6612			function A() {
6613				for (var D in h) {
6614					h[D] = t(D)
6615				}
6616			}
6617			function t(D) {
6618				return w.skin.getSkinElement("playlist", D)
6619			}
6620			j();
6621			return this
6622		}
6623	})(jwplayer);
6624	(function(b) {
6625		b.html5.playlistitem = function(d) {
6626			var e = {
6627				author: "",
6628				date: "",
6629				description: "",
6630				image: "",
6631				link: "",
6632				mediaid: "",
6633				tags: "",
6634				title: "",
6635				provider: "",
6636				file: "",
6637				streamer: "",
6638				duration: -1,
6639				start: 0,
6640				currentLevel: -1,
6641				levels: []
6642			};
6643			var c = b.utils.extend({}, e, d);
6644			if (c.type) {
6645				c.provider = c.type;
6646				delete c.type
6647			}
6648			if (c.levels.length === 0) {
6649				c.levels[0] = new b.html5.playlistitemlevel(c)
6650			}
6651			if (!c.provider) {
6652				c.provider = a(c.levels[0])
6653			} else {
6654				c.provider = c.provider.toLowerCase()
6655			}
6656			return c
6657		};
6658
6659		function a(e) {
6660			if (b.utils.isYouTube(e.file)) {
6661				return "youtube"
6662			} else {
6663				var f = b.utils.extension(e.file);
6664				var c;
6665				if (f && b.utils.extensionmap[f]) {
6666					if (f == "m3u8") {
6667						return "video"
6668					}
6669					c = b.utils.extensionmap[f].html5
6670				} else {
6671					if (e.type) {
6672						c = e.type
6673					}
6674				}
6675				if (c) {
6676					var d = c.split("/")[0];
6677					if (d == "audio") {
6678						return "sound"
6679					} else {
6680						if (d == "video") {
6681							return d
6682						}
6683					}
6684				}
6685			}
6686			return ""
6687		}
6688	})(jwplayer);
6689	(function(a) {
6690		a.html5.playlistitemlevel = function(b) {
6691			var d = {
6692				file: "",
6693				streamer: "",
6694				bitrate: 0,
6695				width: 0
6696			};
6697			for (var c in d) {
6698				if (a.utils.exists(b[c])) {
6699					d[c] = b[c]
6700				}
6701			}
6702			return d
6703		}
6704	})(jwplayer);
6705	(function(a) {
6706		a.html5.playlistloader = function() {
6707			var c = new a.html5.eventdispatcher();
6708			a.utils.extend(this, c);
6709			this.load = function(e) {
6710				a.utils.ajax(e, d, b)
6711			};
6712
6713			function d(g) {
6714				var f = [];
6715				try {
6716					var f = a.utils.parsers.rssparser.parse(g.responseXML.firstChild);
6717					c.sendEvent(a.api.events.JWPLAYER_PLAYLIST_LOADED, {
6718						playlist: new a.html5.playlist({
6719							playlist: f
6720						})
6721					})
6722				} catch (h) {
6723					b("Could not parse the playlist")
6724				}
6725			}
6726			function b(e) {
6727				c.sendEvent(a.api.events.JWPLAYER_ERROR, {
6728					error: e ? e : "could not load playlist for whatever reason.  too bad"
6729				})
6730			}
6731		}
6732	})(jwplayer);
6733	(function(a) {
6734		a.html5.skin = function() {
6735			var b = {};
6736			var c = false;
6737			this.load = function(d, e) {
6738				new a.html5.skinloader(d, function(f) {
6739					c = true;
6740					b = f;
6741					e()
6742				}, function() {
6743					new a.html5.skinloader("", function(f) {
6744						c = true;
6745						b = f;
6746						e()
6747					})
6748				})
6749			};
6750			this.getSkinElement = function(d, e) {
6751				if (c) {
6752					try {
6753						return b[d].elements[e]
6754					} catch (f) {
6755						a.utils.log("No such skin component / element: ", [d, e])
6756					}
6757				}
6758				return null
6759			};
6760			this.getComponentSettings = function(d) {
6761				if (c) {
6762					return b[d].settings
6763				}
6764				return null
6765			};
6766			this.getComponentLayout = function(d) {
6767				if (c) {
6768					return b[d].layout
6769				}
6770				return null
6771			}
6772		}
6773	})(jwplayer);
6774	(function(a) {
6775		a.html5.skinloader = function(f, p, k) {
6776			var o = {};
6777			var c = p;
6778			var l = k;
6779			var e = true;
6780			var j;
6781			var n = f;
6782			var s = false;
6783
6784			function m() {
6785				if (typeof n != "string" || n === "") {
6786					d(a.html5.defaultSkin().xml)
6787				} else {
6788					a.utils.ajax(a.utils.getAbsolutePath(n), function(t) {
6789						try {
6790							if (a.utils.exists(t.responseXML)) {
6791								d(t.responseXML);
6792								return
6793							}
6794						} catch (u) {
6795							h()
6796						}
6797						d(a.html5.defaultSkin().xml)
6798					}, function(t) {
6799						d(a.html5.defaultSkin().xml)
6800					})
6801				}
6802			}
6803			function d(y) {
6804				var E = y.getElementsByTagName("component");
6805				if (E.length === 0) {
6806					return
6807				}
6808				for (var H = 0; H < E.length; H++) {
6809					var C = E[H].getAttribute("name");
6810					var B = {
6811						settings: {},
6812						elements: {},
6813						layout: {}
6814					};
6815					o[C] = B;
6816					var G = E[H].getElementsByTagName("elements")[0].getElementsByTagName("element");
6817					for (var F = 0; F < G.length; F++) {
6818						b(G[F], C)
6819					}
6820					var z = E[H].getElementsByTagName("settings")[0];
6821					if (z && z.childNodes.length > 0) {
6822						var K = z.getElementsByTagName("setting");
6823						for (var P = 0; P < K.length; P++) {
6824							var Q = K[P].getAttribute("name");
6825							var I = K[P].getAttribute("value");
6826							var x = /color$/.test(Q) ? "color" : null;
6827							o[C].settings[Q] = a.utils.typechecker(I, x)
6828						}
6829					}
6830					var L = E[H].getElementsByTagName("layout")[0];
6831					if (L && L.childNodes.length > 0) {
6832						var M = L.getElementsByTagName("group");
6833						for (var w = 0; w < M.length; w++) {
6834							var A = M[w];
6835							o[C].layout[A.getAttribute("position")] = {
6836								elements: []
6837							};
6838							for (var O = 0; O < A.attributes.length; O++) {
6839								var D = A.attributes[O];
6840								o[C].layout[A.getAttribute("position")][D.name] = D.value
6841							}
6842							var N = A.getElementsByTagName("*");
6843							for (var v = 0; v < N.length; v++) {
6844								var t = N[v];
6845								o[C].layout[A.getAttribute("position")].elements.push({
6846									type: t.tagName
6847								});
6848								for (var u = 0; u < t.attributes.length; u++) {
6849									var J = t.attributes[u];
6850									o[C].layout[A.getAttribute("position")].elements[v][J.name] = J.value
6851								}
6852								if (!a.utils.exists(o[C].layout[A.getAttribute("position")].elements[v].name)) {
6853									o[C].layout[A.getAttribute("position")].elements[v].name = t.tagName
6854								}
6855							}
6856						}
6857					}
6858					e = false;
6859					r()
6860				}
6861			}
6862			function r() {
6863				clearInterval(j);
6864				if (!s) {
6865					j = setInterval(function() {
6866						q()
6867					}, 100)
6868				}
6869			}
6870			function b(y, x) {
6871				var w = new Image();
6872				var t = y.getAttribute("name");
6873				var v = y.getAttribute("src");
6874				var A;
6875				if (v.indexOf("data:image/png;base64,") === 0) {
6876					A = v
6877				} else {
6878					var u = a.utils.getAbsolutePath(n);
6879					var z = u.substr(0, u.lastIndexOf("/"));
6880					A = [z, x, v].join("/")
6881				}
6882				o[x].elements[t] = {
6883					height: 0,
6884					width: 0,
6885					src: "",
6886					ready: false,
6887					image: w
6888				};
6889				w.onload = function(B) {
6890					g(w, t, x)
6891				};
6892				w.onerror = function(B) {
6893					s = true;
6894					r();
6895					l()
6896				};
6897				w.src = A
6898			}
6899			function h() {
6900				for (var u in o) {
6901					var w = o[u];
6902					for (var t in w.elements) {
6903						var x = w.elements[t];
6904						var v = x.image;
6905						v.onload = null;
6906						v.onerror = null;
6907						delete x.image;
6908						delete w.elements[t]
6909					}
6910					delete o[u]
6911				}
6912			}
6913			function q() {
6914				for (var t in o) {
6915					if (t != "properties") {
6916						for (var u in o[t].elements) {
6917							if (!o[t].elements[u].ready) {
6918								return
6919							}
6920						}
6921					}
6922				}
6923				if (e === false) {
6924					clearInterval(j);
6925					c(o)
6926				}
6927			}
6928			function g(t, v, u) {
6929				if (o[u] && o[u].elements[v]) {
6930					o[u].elements[v].height = t.height;
6931					o[u].elements[v].width = t.width;
6932					o[u].elements[v].src = t.src;
6933					o[u].elements[v].ready = true;
6934					r()
6935				} else {
6936					a.utils.log("Loaded an image for a missing element: " + u + "." + v)
6937				}
6938			}
6939			m()
6940		}
6941	})(jwplayer);
6942	(function(a) {
6943		a.html5.api = function(c, n) {
6944			var m = {};
6945			var f = document.createElement("div");
6946			c.parentNode.replaceChild(f, c);
6947			f.id = c.id;
6948			m.version = a.version;
6949			m.id = f.id;
6950			var l = new a.html5.model(m, f, n);
6951			var j = new a.html5.view(m, f, l);
6952			var k = new a.html5.controller(m, f, l, j);
6953			m.skin = new a.html5.skin();
6954			m.jwPlay = function(o) {
6955				if (typeof o == "undefined") {
6956					e()
6957				} else {
6958					if (o.toString().toLowerCase() == "true") {
6959						k.play()
6960					} else {
6961						k.pause()
6962					}
6963				}
6964			};
6965			m.jwPause = function(o) {
6966				if (typeof o == "undefined") {
6967					e()
6968				} else {
6969					if (o.toString().toLowerCase() == "true") {
6970						k.pause()
6971					} else {
6972						k.play()
6973					}
6974				}
6975			};
6976
6977			function e() {
6978				if (l.state == a.api.events.state.PLAYING || l.state == a.api.events.state.BUFFERING) {
6979					k.pause()
6980				} else {
6981					k.play()
6982				}
6983			}
6984			m.jwStop = k.stop;
6985			m.jwSeek = k.seek;
6986			m.jwPlaylistItem = k.item;
6987			m.jwPlaylistNext = k.next;
6988			m.jwPlaylistPrev = k.prev;
6989			m.jwResize = k.resize;
6990			m.jwLoad = k.load;
6991
6992			function h(o) {
6993				return function() {
6994					return l[o]
6995				}
6996			}
6997			function d(o, q, p) {
6998				return function() {
6999					var r = l.plugins.object[o];
7000					if (r && r[q] && typeof r[q] == "function") {
7001						r[q].apply(r, p)
7002					}
7003				}
7004			}
7005			m.jwGetItem = h("item");
7006			m.jwGetPosition = h("position");
7007			m.jwGetDuration = h("duration");
7008			m.jwGetBuffer = h("buffer");
7009			m.jwGetWidth = h("width");
7010			m.jwGetHeight = h("height");
7011			m.jwGetFullscreen = h("fullscreen");
7012			m.jwSetFullscreen = k.setFullscreen;
7013			m.jwGetVolume = h("volume");
7014			m.jwSetVolume = k.setVolume;
7015			m.jwGetMute = h("mute");
7016			m.jwSetMute = k.setMute;
7017			m.jwGetStretching = h("stretching");
7018			m.jwGetState = h("state");
7019			m.jwGetVersion = function() {
7020				return m.version
7021			};
7022			m.jwGetPlaylist = function() {
7023				return l.playlist
7024			};
7025			m.jwGetPlaylistIndex = m.jwGetItem;
7026			m.jwAddEventListener = k.addEventListener;
7027			m.jwRemoveEventListener = k.removeEventListener;
7028			m.jwSendEvent = k.sendEvent;
7029			m.jwDockSetButton = function(r, o, p, q) {
7030				if (l.plugins.object.dock && l.plugins.object.dock.setButton) {
7031					l.plugins.object.dock.setButton(r, o, p, q)
7032				}
7033			};
7034			m.jwControlbarShow = d("controlbar", "show");
7035			m.jwControlbarHide = d("controlbar", "hide");
7036			m.jwDockShow = d("dock", "show");
7037			m.jwDockHide = d("dock", "hide");
7038			m.jwDisplayShow = d("display", "show");
7039			m.jwDisplayHide = d("display", "hide");
7040			m.jwGetLevel = function() {};
7041			m.jwGetBandwidth = function() {};
7042			m.jwGetLockState = function() {};
7043			m.jwLock = function() {};
7044			m.jwUnlock = function() {};
7045
7046			function b() {
7047				if (l.config.playlistfile) {
7048					l.addEventListener(a.api.events.JWPLAYER_PLAYLIST_LOADED, g);
7049					l.loadPlaylist(l.config.playlistfile)
7050				} else {
7051					if (typeof l.config.playlist == "string") {
7052						l.addEventListener(a.api.events.JWPLAYER_PLAYLIST_LOADED, g);
7053						l.loadPlaylist(l.config.playlist)
7054					} else {
7055						l.loadPlaylist(l.config);
7056						setTimeout(g, 25)
7057					}
7058				}
7059			}
7060			function g(o) {
7061				l.removeEventListener(a.api.events.JWPLAYER_PLAYLIST_LOADED, g);
7062				l.setupPlugins();
7063				j.setup();
7064				var o = {
7065					id: m.id,
7066					version: m.version
7067				};
7068				k.playerReady(o)
7069			}
7070			if (l.config.chromeless && !a.utils.isIOS()) {
7071				b()
7072			} else {
7073				m.skin.load(l.config.skin, b)
7074			}
7075			return m
7076		}
7077	})(jwplayer);
7078
7079};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.