/* 
 * flowplayer.js 3.2.3. The Flowplayer API
 * 
 * Copyright 2009 Flowplayer Oy
 * 
 * This file is part of Flowplayer.
 * 
 * Flowplayer is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * Flowplayer is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with Flowplayer.  If not, see <http://www.gnu.org/licenses/>.
 * 
 * Date: 2010-08-10 10:12:09 +0000 (Tue, 10 Aug 2010)
 * Revision: 539 
 */
(function() {
	function g(o) {
		console.log("$f.fireEvent", [].slice.call(o))
	}
	function k(q) {
		if (!q || typeof q != "object") {
			return q
		}
		var o = new q.constructor();
		for ( var p in q) {
			if (q.hasOwnProperty(p)) {
				o[p] = k(q[p])
			}
		}
		return o
	}
	function m(t, q) {
		if (!t) {
			return
		}
		var o, p = 0, r = t.length;
		if (r === undefined) {
			for (o in t) {
				if (q.call(t[o], o, t[o]) === false) {
					break
				}
			}
		} else {
			for ( var s = t[0]; p < r && q.call(s, p, s) !== false; s = t[++p]) {
			}
		}
		return t
	}
	function c(o) {
		return document.getElementById(o)
	}
	function i(q, p, o) {
		if (typeof p != "object") {
			return q
		}
		if (q && p) {
			m(p, function(r, s) {
				if (!o || typeof s != "function") {
					q[r] = s
				}
			})
		}
		return q
	}
	function n(s) {
		var q = s.indexOf(".");
		if (q != -1) {
			var p = s.slice(0, q) || "*";
			var o = s.slice(q + 1, s.length);
			var r = [];
			m(document.getElementsByTagName(p), function() {
				if (this.className && this.className.indexOf(o) != -1) {
					r.push(this)
				}
			});
			return r
		}
	}
	function f(o) {
		o = o || window.event;
		if (o.preventDefault) {
			o.stopPropagation();
			o.preventDefault()
		} else {
			o.returnValue = false;
			o.cancelBubble = true
		}
		return false
	}
	function j(q, o, p) {
		q[o] = q[o] || [];
		q[o].push(p)
	}
	function e() {
		return "_" + ("" + Math.random()).slice(2, 10)
	}
	var h = function(t, r, s) {
		var q = this, p = {}, u = {};
		q.index = r;
		if (typeof t == "string") {
			t = {
				url : t
			}
		}
		i(this, t, true);
		m(
				("Begin*,Start,Pause*,Resume*,Seek*,Stop*,Finish*,LastSecond,Update,BufferFull,BufferEmpty,BufferStop")
						.split(","), function() {
					var v = "on" + this;
					if (v.indexOf("*") != -1) {
						v = v.slice(0, v.length - 1);
						var w = "onBefore" + v.slice(2);
						q[w] = function(x) {
							j(u, w, x);
							return q
						}
					}
					q[v] = function(x) {
						j(u, v, x);
						return q
					};
					if (r == -1) {
						if (q[w]) {
							s[w] = q[w]
						}
						if (q[v]) {
							s[v] = q[v]
						}
					}
				});
		i(this, {
			onCuepoint : function(x, w) {
				if (arguments.length == 1) {
					p.embedded = [ null, x ];
					return q
				}
				if (typeof x == "number") {
					x = [ x ]
				}
				var v = e();
				p[v] = [ x, w ];
				if (s.isLoaded()) {
					s._api().fp_addCuepoints(x, r, v)
				}
				return q
			},
			update : function(w) {
				i(q, w);
				if (s.isLoaded()) {
					s._api().fp_updateClip(w, r)
				}
				var v = s.getConfig();
				var x = (r == -1) ? v.clip : v.playlist[r];
				i(x, w, true)
			},
			_fireEvent : function(v, y, w, A) {
				if (v == "onLoad") {
					m(p, function(B, C) {
						if (C[0]) {
							s._api().fp_addCuepoints(C[0], r, B)
						}
					});
					return false
				}
				A = A || q;
				if (v == "onCuepoint") {
					var z = p[y];
					if (z) {
						return z[1].call(s, A, w)
					}
				}
				if (y
						&& "onBeforeBegin,onMetaData,onStart,onUpdate,onResume"
								.indexOf(v) != -1) {
					i(A, y);
					if (y.metaData) {
						if (!A.duration) {
							A.duration = y.metaData.duration
						} else {
							A.fullDuration = y.metaData.duration
						}
					}
				}
				var x = true;
				m(u[v], function() {
					x = this.call(s, A, y, w)
				});
				return x
			}
		});
		if (t.onCuepoint) {
			var o = t.onCuepoint;
			q.onCuepoint.apply(q, typeof o == "function" ? [ o ] : o);
			delete t.onCuepoint
		}
		m(t, function(v, w) {
			if (typeof w == "function") {
				j(u, v, w);
				delete t[v]
			}
		});
		if (r == -1) {
			s.onCuepoint = this.onCuepoint
		}
	};
	var l = function(p, r, q, t) {
		var o = this, s = {}, u = false;
		if (t) {
			i(s, t)
		}
		m(r, function(v, w) {
			if (typeof w == "function") {
				s[v] = w;
				delete r[v]
			}
		});
		i(this, {
			animate : function(y, z, x) {
				if (!y) {
					return o
				}
				if (typeof z == "function") {
					x = z;
					z = 500
				}
				if (typeof y == "string") {
					var w = y;
					y = {};
					y[w] = z;
					z = 500
				}
				if (x) {
					var v = e();
					s[v] = x
				}
				if (z === undefined) {
					z = 500
				}
				r = q._api().fp_animate(p, y, z, v);
				return o
			},
			css : function(w, x) {
				if (x !== undefined) {
					var v = {};
					v[w] = x;
					w = v
				}
				r = q._api().fp_css(p, w);
				i(o, r);
				return o
			},
			show : function() {
				this.display = "block";
				q._api().fp_showPlugin(p);
				return o
			},
			hide : function() {
				this.display = "none";
				q._api().fp_hidePlugin(p);
				return o
			},
			toggle : function() {
				this.display = q._api().fp_togglePlugin(p);
				return o
			},
			fadeTo : function(y, x, w) {
				if (typeof x == "function") {
					w = x;
					x = 500
				}
				if (w) {
					var v = e();
					s[v] = w
				}
				this.display = q._api().fp_fadeTo(p, y, x, v);
				this.opacity = y;
				return o
			},
			fadeIn : function(w, v) {
				return o.fadeTo(1, w, v)
			},
			fadeOut : function(w, v) {
				return o.fadeTo(0, w, v)
			},
			getName : function() {
				return p
			},
			getPlayer : function() {
				return q
			},
			_fireEvent : function(w, v, x) {
				if (w == "onUpdate") {
					var z = q._api().fp_getPlugin(p);
					if (!z) {
						return
					}
					i(o, z);
					delete o.methods;
					if (!u) {
						m(z.methods, function() {
							var B = "" + this;
							o[B] = function() {
								var C = [].slice.call(arguments);
								var D = q._api().fp_invoke(p, B, C);
								return D === "undefined" || D === undefined ? o
										: D
							}
						});
						u = true
					}
				}
				var A = s[w];
				if (A) {
					var y = A.apply(o, v);
					if (w.slice(0, 1) == "_") {
						delete s[w]
					}
					return y
				}
				return o
			}
		})
	};
	function b(q, F, t) {
		var w = this, v = null, C = false, u, s, E = [], y = {}, x = {}, D, r, p, B, o, z;
		i(w,
				{
					id : function() {
						return D
					},
					isLoaded : function() {
						return (v !== null && v.fp_play !== undefined && !C)
					},
					getParent : function() {
						return q
					},
					hide : function(G) {
						if (G) {
							q.style.height = "0px"
						}
						if (w.isLoaded()) {
							v.style.height = "0px"
						}
						return w
					},
					show : function() {
						q.style.height = z + "px";
						if (w.isLoaded()) {
							v.style.height = o + "px"
						}
						return w
					},
					isHidden : function() {
						return w.isLoaded()
								&& parseInt(v.style.height, 10) === 0
					},
					load : function(I) {
						if (!w.isLoaded()
								&& w._fireEvent("onBeforeLoad") !== false) {
							var G = function() {
								u = q.innerHTML;
								if (u && !flashembed.isSupported(F.version)) {
									q.innerHTML = ""
								}
								flashembed(q, F, {
									config : t
								});
								if (I) {
									I.cached = true;
									j(x, "onLoad", I)
								}
							};
							var H = 0;
							m(a, function() {
								this.unload(function(J) {
									if (++H == a.length) {
										G()
									}
								})
							})
						}
						return w
					},
					unload : function(I) {
						if (this.isFullscreen()
								&& /WebKit/i.test(navigator.userAgent)) {
							if (I) {
								I(false)
							}
							return w
						}
						if (u.replace(/\s/g, "") !== "") {
							if (w._fireEvent("onBeforeUnload") === false) {
								if (I) {
									I(false)
								}
								return w
							}
							C = true;
							try {
								if (v) {
									v.fp_close();
									w._fireEvent("onUnload")
								}
							} catch (G) {
							}
							var H = function() {
								v = null;
								q.innerHTML = u;
								C = false;
								if (I) {
									I(true)
								}
							};
							setTimeout(H, 50)
						} else {
							if (I) {
								I(false)
							}
						}
						return w
					},
					getClip : function(G) {
						if (G === undefined) {
							G = B
						}
						return E[G]
					},
					getCommonClip : function() {
						return s
					},
					getPlaylist : function() {
						return E
					},
					getPlugin : function(G) {
						var I = y[G];
						if (!I && w.isLoaded()) {
							var H = w._api().fp_getPlugin(G);
							if (H) {
								I = new l(G, H, w);
								y[G] = I
							}
						}
						return I
					},
					getScreen : function() {
						return w.getPlugin("screen")
					},
					getControls : function() {
						return w.getPlugin("controls")._fireEvent("onUpdate")
					},
					getLogo : function() {
						try {
							return w.getPlugin("logo")._fireEvent("onUpdate")
						} catch (G) {
						}
					},
					getPlay : function() {
						return w.getPlugin("play")._fireEvent("onUpdate")
					},
					getConfig : function(G) {
						return G ? k(t) : t
					},
					getFlashParams : function() {
						return F
					},
					loadPlugin : function(J, I, L, K) {
						if (typeof L == "function") {
							K = L;
							L = {}
						}
						var H = K ? e() : "_";
						w._api().fp_loadPlugin(J, I, L, H);
						var G = {};
						G[H] = K;
						var M = new l(J, null, w, G);
						y[J] = M;
						return M
					},
					getState : function() {
						return w.isLoaded() ? v.fp_getState() : -1
					},
					play : function(H, G) {
						var I = function() {
							if (H !== undefined) {
								w._api().fp_play(H, G)
							} else {
								w._api().fp_play()
							}
						};
						if (w.isLoaded()) {
							I()
						} else {
							if (C) {
								setTimeout(function() {
									w.play(H, G)
								}, 50)
							} else {
								w.load(function() {
									I()
								})
							}
						}
						return w
					},
					getVersion : function() {
						var H = "flowplayer.js 3.2.3";
						if (w.isLoaded()) {
							var G = v.fp_getVersion();
							G.push(H);
							return G
						}
						return H
					},
					_api : function() {
						if (!w.isLoaded()) {
							throw "Flowplayer " + w.id()
									+ " not loaded when calling an API method"
						}
						return v
					},
					setClip : function(G) {
						w.setPlaylist( [ G ]);
						return w
					},
					getIndex : function() {
						return p
					}
				});
		m(
				("Click*,Load*,Unload*,Keypress*,Volume*,Mute*,Unmute*,PlaylistReplace,ClipAdd,Fullscreen*,FullscreenExit,Error,MouseOver,MouseOut")
						.split(","), function() {
					var G = "on" + this;
					if (G.indexOf("*") != -1) {
						G = G.slice(0, G.length - 1);
						var H = "onBefore" + G.slice(2);
						w[H] = function(I) {
							j(x, H, I);
							return w
						}
					}
					w[G] = function(I) {
						j(x, G, I);
						return w
					}
				});
		m(
				("pause,resume,mute,unmute,stop,toggle,seek,getStatus,getVolume,setVolume,getTime,isPaused,isPlaying,startBuffering,stopBuffering,isFullscreen,toggleFullscreen,reset,close,setPlaylist,addClip,playFeed,setKeyboardShortcutsEnabled,isKeyboardShortcutsEnabled")
						.split(","), function() {
					var G = this;
					w[G] = function(I, H) {
						if (!w.isLoaded()) {
							return w
						}
						var J = null;
						if (I !== undefined && H !== undefined) {
							J = v["fp_" + G](I, H)
						} else {
							J = (I === undefined) ? v["fp_" + G]() : v["fp_"
									+ G](I)
						}
						return J === "undefined" || J === undefined ? w : J
					}
				});
		w._fireEvent = function(P) {
			if (typeof P == "string") {
				P = [ P ]
			}
			var Q = P[0], N = P[1], L = P[2], K = P[3], J = 0;
			if (t.debug) {
				g(P)
			}
			if (!w.isLoaded() && Q == "onLoad" && N == "player") {
				v = v || c(r);
				o = v.clientHeight;
				m(E, function() {
					this._fireEvent("onLoad")
				});
				m(y, function(R, S) {
					S._fireEvent("onUpdate")
				});
				s._fireEvent("onLoad")
			}
			if (Q == "onLoad" && N != "player") {
				return
			}
			if (Q == "onError") {
				if (typeof N == "string"
						|| (typeof N == "number" && typeof L == "number")) {
					N = L;
					L = K
				}
			}
			if (Q == "onContextMenu") {
				m(t.contextMenu[N], function(R, S) {
					S.call(w)
				});
				return
			}
			if (Q == "onPluginEvent" || Q == "onBeforePluginEvent") {
				var G = N.name || N;
				var H = y[G];
				if (H) {
					H._fireEvent("onUpdate", N);
					return H._fireEvent(L, P.slice(3))
				}
				return
			}
			if (Q == "onPlaylistReplace") {
				E = [];
				var M = 0;
				m(N, function() {
					E.push(new h(this, M++, w))
				})
			}
			if (Q == "onClipAdd") {
				if (N.isInStream) {
					return
				}
				N = new h(N, L, w);
				E.splice(L, 0, N);
				for (J = L + 1; J < E.length; J++) {
					E[J].index++
				}
			}
			var O = true;
			if (typeof N == "number" && N < E.length) {
				B = N;
				var I = E[N];
				if (I) {
					O = I._fireEvent(Q, L, K)
				}
				if (!I || O !== false) {
					O = s._fireEvent(Q, L, K, I)
				}
			}
			m(x[Q], function() {
				O = this.call(w, N, L);
				if (this.cached) {
					x[Q].splice(J, 1)
				}
				if (O === false) {
					return false
				}
				J++
			});
			return O
		};
		function A() {
			if ($f(q)) {
				$f(q).getParent().innerHTML = "";
				p = $f(q).getIndex();
				a[p] = w
			} else {
				a.push(w);
				p = a.length - 1
			}
			z = parseInt(q.style.height, 10) || q.clientHeight;
			D = q.id || "fp" + e();
			r = F.id || D + "_api";
			F.id = r;
			t.playerId = D;
			if (typeof t == "string") {
				t = {
					clip : {
						url : t
					}
				}
			}
			if (typeof t.clip == "string") {
				t.clip = {
					url : t.clip
				}
			}
			t.clip = t.clip || {};
			if (q.getAttribute("href", 2) && !t.clip.url) {
				t.clip.url = q.getAttribute("href", 2)
			}
			s = new h(t.clip, -1, w);
			t.playlist = t.playlist || [ t.clip ];
			var H = 0;
			m(t.playlist, function() {
				var J = this;
				if (typeof J == "object" && J.length) {
					J = {
						url : "" + J
					}
				}
				m(t.clip, function(K, L) {
					if (L !== undefined && J[K] === undefined
							&& typeof L != "function") {
						J[K] = L
					}
				});
				t.playlist[H] = J;
				J = new h(J, H, w);
				E.push(J);
				H++
			});
			m(t, function(J, K) {
				if (typeof K == "function") {
					if (s[J]) {
						s[J](K)
					} else {
						j(x, J, K)
					}
					delete t[J]
				}
			});
			m(t.plugins, function(J, K) {
				if (K) {
					y[J] = new l(J, K, w)
				}
			});
			if (!t.plugins || t.plugins.controls === undefined) {
				y.controls = new l("controls", null, w)
			}
			y.canvas = new l("canvas", null, w);
			u = q.innerHTML;
			function I(J) {
				if (/iPad|iPhone/.test(navigator.userAgent)
						&& !/.flv$/i.test(E[0].url) && w.ipad === undefined) {
					return true
				}
				if (!w.isLoaded() && w._fireEvent("onBeforeClick") !== false) {
					w.load()
				}
				return f(J)
			}
			function G() {
				if (u.replace(/\s/g, "") !== "") {
					if (q.addEventListener) {
						q.addEventListener("click", I, false)
					} else {
						if (q.attachEvent) {
							q.attachEvent("onclick", I)
						}
					}
				} else {
					if (q.addEventListener) {
						q.addEventListener("click", f, false)
					}
					w.load()
				}
			}
			setTimeout(G, 0)
		}
		if (typeof q == "string") {
			flashembed.domReady(function() {
				var G = c(q);
				if (!G) {
					throw "Flowplayer cannot access element: " + q
				} else {
					q = G;
					A()
				}
			})
		} else {
			A()
		}
	}
	var a = [];
	function d(o) {
		this.length = o.length;
		this.each = function(p) {
			m(o, p)
		};
		this.size = function() {
			return o.length
		}
	}
	window.flowplayer = window.$f = function() {
		var p = null;
		var o = arguments[0];
		if (!arguments.length) {
			m(a, function() {
				if (this.isLoaded()) {
					p = this;
					return false
				}
			});
			return p || a[0]
		}
		if (arguments.length == 1) {
			if (typeof o == "number") {
				return a[o]
			} else {
				if (o == "*") {
					return new d(a)
				}
				m(a, function() {
					if (this.id() == o.id || this.id() == o
							|| this.getParent() == o) {
						p = this;
						return false
					}
				});
				return p
			}
		}
		if (arguments.length > 1) {
			var t = arguments[1], q = (arguments.length == 3) ? arguments[2]
					: {};
			if (typeof t == "string") {
				t = {
					src : t
				}
			}
			t = i(
					{
						bgcolor : "#000000",
						version : [ 9, 0 ],
						expressInstall : "http://static.flowplayer.org/swf/expressinstall.swf",
						cachebusting : true
					}, t);
			if (typeof o == "string") {
				if (o.indexOf(".") != -1) {
					var s = [];
					m(n(o), function() {
						s.push(new b(this, k(t), k(q)))
					});
					return new d(s)
				} else {
					var r = c(o);
					return new b(r !== null ? r : o, t, q)
				}
			} else {
				if (o) {
					return new b(o, t, q)
				}
			}
		}
		return null
	};
	i(window.$f, {
		fireEvent : function() {
			var o = [].slice.call(arguments);
			var q = $f(o[0]);
			return q ? q._fireEvent(o.slice(1)) : null
		},
		addPlugin : function(o, p) {
			b.prototype[o] = p;
			return $f
		},
		each : m,
		extend : i
	});
	if (typeof jQuery == "function") {
		jQuery.fn.flowplayer = function(q, p) {
			if (!arguments.length || typeof arguments[0] == "number") {
				var o = [];
				this.each(function() {
					var r = $f(this);
					if (r) {
						o.push(r)
					}
				});
				return arguments.length ? o[arguments[0]] : new d(o)
			}
			return this.each(function() {
				$f(this, k(q), p ? k(p) : {})
			})
		}
	}
})();
(function() {
	var h = document.all, j = "http://www.adobe.com/go/getflashplayer", c = typeof jQuery == "function", e = /(\d+)[^\d]+(\d+)[^\d]*(\d*)/, b = {
		width : "100%",
		height : "100%",
		id : "_" + ("" + Math.random()).slice(9),
		allowfullscreen : true,
		allowscriptaccess : "always",
		quality : "high",
		version : [ 3, 0 ],
		onFail : null,
		expressInstall : null,
		w3c : false,
		cachebusting : false
	};
	if (window.attachEvent) {
		window.attachEvent("onbeforeunload", function() {
			__flash_unloadHandler = function() {
			};
			__flash_savedUnloadHandler = function() {
			}
		})
	}
	function i(m, l) {
		if (l) {
			for ( var f in l) {
				if (l.hasOwnProperty(f)) {
					m[f] = l[f]
				}
			}
		}
		return m
	}
	function a(f, n) {
		var m = [];
		for ( var l in f) {
			if (f.hasOwnProperty(l)) {
				m[l] = n(f[l])
			}
		}
		return m
	}
	window.flashembed = function(f, m, l) {
		if (typeof f == "string") {
			f = document.getElementById(f.replace("#", ""))
		}
		if (!f) {
			return
		}
		if (typeof m == "string") {
			m = {
				src : m
			}
		}
		return new d(f, i(i( {}, b), m), l)
	};
	var g = i(
			window.flashembed,
			{
				conf : b,
				getVersion : function() {
					var f;
					try {
						f = navigator.plugins["Shockwave Flash"].description
								.slice(16)
					} catch (n) {
						try {
							var l = new ActiveXObject(
									"ShockwaveFlash.ShockwaveFlash.7");
							f = l && l.GetVariable("$version")
						} catch (m) {
						}
					}
					f = e.exec(f);
					return f ? [ f[1], f[3] ] : [ 0, 0 ]
				},
				asString : function(l) {
					if (l === null || l === undefined) {
						return null
					}
					var f = typeof l;
					if (f == "object" && l.push) {
						f = "array"
					}
					switch (f) {
					case "string":
						l = l.replace(new RegExp('(["\\\\])', "g"), "\\$1");
						l = l.replace(/^\s?(\d+\.?\d+)%/, "$1pct");
						return '"' + l + '"';
					case "array":
						return "[" + a(l, function(o) {
							return g.asString(o)
						}).join(",") + "]";
					case "function":
						return '"function()"';
					case "object":
						var m = [];
						for ( var n in l) {
							if (l.hasOwnProperty(n)) {
								m.push('"' + n + '":' + g.asString(l[n]))
							}
						}
						return "{" + m.join(",") + "}"
					}
					return String(l).replace(/\s/g, " ").replace(/\'/g, '"')
				},
				getHTML : function(o, l) {
					o = i( {}, o);
					var n = '<object width="' + o.width + '" height="'
							+ o.height + '" id="' + o.id + '" name="' + o.id
							+ '"';
					if (o.cachebusting) {
						o.src += ((o.src.indexOf("?") != -1 ? "&" : "?") + Math
								.random())
					}
					if (o.w3c || !h) {
						n += ' data="' + o.src + '" type="application/x-shockwave-flash"'
					} else {
						n += ' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
					}
					n += ">";
					if (o.w3c || h) {
						n += '<param name="movie" value="' + o.src + '" />'
					}
					o.width = o.height = o.id = o.w3c = o.src = null;
					o.onFail = o.version = o.expressInstall = null;
					for ( var m in o) {
						if (o[m]) {
							n += '<param name="' + m + '" value="' + o[m]
									+ '" />'
						}
					}
					var p = "";
					if (l) {
						for ( var f in l) {
							if (l[f]) {
								var q = l[f];
								p += f
										+ "="
										+ (/function|object/.test(typeof q) ? g
												.asString(q) : q) + "&"
							}
						}
						p = p.slice(0, -1);
						n += '<param name="flashvars" value=\'' + p + "' />"
					}
					n += '<param name="wmode" value="transparent"/>';
					n += "</object>";
					return n
				},
				isSupported : function(f) {
					return k[0] > f[0] || k[0] == f[0] && k[1] >= f[1]
				}
			});
	var k = g.getVersion();
	function d(f, n, m) {
		if (g.isSupported(n.version)) {
			f.innerHTML = g.getHTML(n, m)
		} else {
			if (n.expressInstall && g.isSupported( [ 6, 65 ])) {
				f.innerHTML = g.getHTML(i(n, {
					src : n.expressInstall
				}), {
					MMredirectURL : location.href,
					MMplayerType : "PlugIn",
					MMdoctitle : document.title
				})
			} else {
				if (!f.innerHTML.replace(/\s/g, "")) {
					f.innerHTML = "<h2>Flash version "
							+ n.version
							+ " or greater is required</h2><h3>"
							+ (k[0] > 0 ? "Your version is " + k
									: "You have no flash plugin installed")
							+ "</h3>"
							+ (f.tagName == "A" ? "<p>Click here to download latest version</p>"
									: "<p>Download latest version from <a href='"
											+ j + "'>here</a></p>");
					if (f.tagName == "A") {
						f.onclick = function() {
							location.href = j
						}
					}
				}
				if (n.onFail) {
					var l = n.onFail.call(this);
					if (typeof l == "string") {
						f.innerHTML = l
					}
				}
			}
		}
		if (h) {
			window[n.id] = document.getElementById(n.id)
		}
		i(this, {
			getRoot : function() {
				return f
			},
			getOptions : function() {
				return n
			},
			getConf : function() {
				return m
			},
			getApi : function() {
				return f.firstChild
			}
		})
	}
	if (c) {
		jQuery.tools = jQuery.tools || {
			version : "3.2.3"
		};
		jQuery.tools.flashembed = {
			conf : b
		};
		jQuery.fn.flashembed = function(l, f) {
			return this.each(function() {
				$(this).data("flashembed", flashembed(this, l, f))
			})
		}
	}
})();
