/* 
 * 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") {
            document.observe('dom:loaded',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 += "</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))
            })
        }
    }
})();
