/*      sIFR 2.0.2
        Copyright 2004 - 2006 Mike Davidson, Shaun Inman, Tomas Jogin and Mark Wubben

        This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
*/
var hasFlash = function () {
        var a = 6;
        if ((navigator.appVersion.indexOf("MSIE") != -1) && (navigator.appVersion.indexOf("Windows") > -1)) {
            document.write('<script language="VBScript"\> \non error resume next \nhasFlash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & ' + a + '))) \n</script\> \n');
            if (window.hasFlash != null) return window.hasFlash
        }
        if (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"] && navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) {
            var b = (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description;
            return parseInt(b.charAt(b.indexOf(".") - 1)) >= a
        }
        return false
    }();
String.prototype.normalize = function () {
    return this.replace(/\s+/g, " ")
};
if (Array.prototype.push == null) {
    Array.prototype.push = function () {
        var i = 0,
            a = this.length,
            b = arguments.length;
        while (i < b) {
            this[a++] = arguments[i++]
        }
        return this.length
    }
}
if (!Function.prototype.apply) {
    Function.prototype.apply = function (a, b) {
        var c = [];
        var d, e;
        if (!a) a = window;
        if (!b) b = [];
        for (var i = 0; i < b.length; i++) {
            c[i] = "b[" + i + "]"
        }
        e = "a.__applyTemp__(" + c.join(",") + ");";
        a.__applyTemp__ = this;
        d = eval(e);
        a.__applyTemp__ = null;
        return d
    }
}
function named(a) {
    return new named.Arguments(a)
}
named.Arguments = function (a) {
    this.oArgs = a
};
named.Arguments.prototype.constructor = named.Arguments;
named.extract = function (a, b) {
    var c, d;
    var i = a.length;
    while (i--) {
        d = a[i];
        if (d != null && d.constructor != null && d.constructor == named.Arguments) {
            c = a[i].oArgs;
            break
        }
    }
    if (c == null) return;
    for (e in c) if (b[e] != null) b[e](c[e]);
    return
};
var parseSelector = function () {
        var a = /^([^#.>`]*)(#|\.|\>|\`)(.+)$/;

        function r(s, t) {
            var u = s.split(/\s*\,\s*/);
            var v = [];
            for (var i = 0; i < u.length; i++) v = v.concat(b(u[i], t));
            return v
        }
        function b(c, d, e) {
            c = c.normalize().replace(" ", "`");
            var f = c.match(a);
            var g, h, i, j, k, n;
            var l = [];
            if (f == null) f = [c, c];
            if (f[1] == "") f[1] = "*";
            if (e == null) e = "`";
            if (d == null) d = document;
            switch (f[2]) {
            case "#":
                k = f[3].match(a);
                if (k == null) k = [null, f[3]];
                g = document.getElementById(k[1]);
                if (g == null || (f[1] != "*" && !o(g, f[1]))) return l;
                if (k.length == 2) {
                    l.push(g);
                    return l
                }
                return b(k[3], g, k[2]);
            case ".":
                if (e != ">") h = m(d, f[1]);
                else h = d.childNodes;
                for (i = 0, n = h.length; i < n; i++) {
                    g = h[i];
                    if (g.nodeType != 1) continue;
                    k = f[3].match(a);
                    if (k != null) {
                        if (g.className == null || g.className.match("(\\s|^)" + k[1] + "(\\s|$)") == null) continue;
                        j = b(k[3], g, k[2]);
                        l = l.concat(j)
                    } else if (g.className != null && g.className.match("(\\s|^)" + f[3] + "(\\s|$)") != null) l.push(g)
                }
                return l;
            case ">":
                if (e != ">") h = m(d, f[1]);
                else h = d.childNodes;
                for (i = 0, n = h.length; i < n; i++) {
                    g = h[i];
                    if (g.nodeType != 1) continue;
                    if (!o(g, f[1])) continue;
                    j = b(f[3], g, ">");
                    l = l.concat(j)
                }
                return l;
            case "`":
                h = m(d, f[1]);
                for (i = 0, n = h.length; i < n; i++) {
                    g = h[i];
                    j = b(f[3], g, "`");
                    l = l.concat(j)
                }
                return l;
            default:
                if (e != ">") h = m(d, f[1]);
                else h = d.childNodes;
                for (i = 0, n = h.length; i < n; i++) {
                    g = h[i];
                    if (g.nodeType != 1) continue;
                    if (!o(g, f[1])) continue;
                    l.push(g)
                }
                return l
            }
        }
        function m(d, o) {
            if (o == "*" && d.all != null) return d.all;
            return d.getElementsByTagName(o)
        }
        function o(p, q) {
            return q == "*" ? true : p.nodeName.toLowerCase().replace("html:", "") == q.toLowerCase()
        }
        return r
    }();
var sIFR = function () {
        var a = "http://www.w3.org/1999/xhtml";
        var b = false;
        var c = false;
        var d;
        var ah = [];
        var al = document;
        var ak = al.documentElement;
        var am = window;
        var au = al.addEventListener;
        var av = am.addEventListener;
        var f = function () {
                var g = navigator.userAgent.toLowerCase();
                var f = {
                    a: g.indexOf("applewebkit") > -1,
                    b: g.indexOf("safari") > -1,
                    c: navigator.product != null && navigator.product.toLowerCase().indexOf("konqueror") > -1,
                    d: g.indexOf("opera") > -1,
                    e: al.contentType != null && al.contentType.indexOf("xml") > -1,
                    f: true,
                    g: true,
                    h: null,
                    i: null,
                    j: null,
                    k: null
                };
                f.l = f.a || f.c;
                f.m = !f.a && navigator.product != null && navigator.product.toLowerCase() == "gecko";
                if (f.m && g.match(/.*gecko\/(\d{8}).*/)) f.j = new Number(g.match(/.*gecko\/(\d{8}).*/)[1]);
                f.n = g.indexOf("msie") > -1 && !f.d && !f.l && !f.m;
                f.o = f.n && g.match(/.*mac.*/) != null;
                if (f.d && g.match(/.*opera(\s|\/)(\d+\.\d+)/)) f.i = new Number(g.match(/.*opera(\s|\/)(\d+\.\d+)/)[2]);
                if (f.n || (f.d && f.i < 7.6)) f.g = false;
                if (f.a && g.match(/.*applewebkit\/(\d+).*/)) f.k = new Number(g.match(/.*applewebkit\/(\d+).*/)[1]);
                if (am.hasFlash && (!f.n || f.o)) {
                    var aj = (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description;
                    f.h = parseInt(aj.charAt(aj.indexOf(".") - 1))
                }
                if (g.match(/.*(windows|mac).*/) == null || f.o || f.c || (f.d && (g.match(/.*mac.*/) != null || f.i < 7.6)) || (f.b && f.h < 7) || (!f.b && f.a && f.k < 312) || (f.m && f.j < 20020523)) f.f = false;
                if (!f.o && !f.m && al.createElementNS) try {
                    al.createElementNS(a, "i").innerHTML = ""
                } catch (e) {
                    f.e = true
                }
                f.p = f.c || (f.a && f.k < 312);
                return f
            }();

        function at() {
            return {
                bIsWebKit: f.a,
                bIsSafari: f.b,
                bIsKonq: f.c,
                bIsOpera: f.d,
                bIsXML: f.e,
                bHasTransparencySupport: f.f,
                bUseDOM: f.g,
                nFlashVersion: f.h,
                nOperaVersion: f.i,
                nGeckoBuildDate: f.j,
                nWebKitVersion: f.k,
                bIsKHTML: f.l,
                bIsGecko: f.m,
                bIsIE: f.n,
                bIsIEMac: f.o,
                bUseInnerHTMLHack: f.p
            }
        }
        if (am.hasFlash == false || !al.getElementsByTagName || !al.getElementById || (f.e && (f.p || f.n))) return {
            UA: at()
        };

        function af(e) {
            if ((!k.bAutoInit && (am.event || e) != null) || !l(e)) return;
            b = true;
            for (var i = 0, h = ah.length; i < h; i++) j.apply(null, ah[i]);
            ah = []
        }
        var k = af;

        function l(e) {
            if (c == false || k.bIsDisabled == true || ((f.e && f.m || f.l) && e == null && b == false) || (al.body == null || al.getElementsByTagName("body").length == 0)) return false;
            return true
        }
        function m(n) {
            if (f.n) return n.replace(new RegExp("%\d{0}", "g"), "%25");
            return n.replace(new RegExp("%(?!\d)", "g"), "%25")
        }
        function as(p, q) {
            return q == "*" ? true : p.nodeName.toLowerCase().replace("html:", "") == q.toLowerCase()
        }
        function o(p, q, r, s, t) {
            var u = "";
            var v = p.firstChild;
            var w, x, y, z;
            if (s == null) s = 0;
            if (t == null) t = "";
            while (v) {
                if (v.nodeType == 3) {
                    z = v.nodeValue.replace("<", "&lt;");
                    switch (r) {
                    case "lower":
                        u += z.toLowerCase();
                        break;
                    case "upper":
                        u += z.toUpperCase();
                        break;
                    default:
                        u += z
                    }
                } else if (v.nodeType == 1) {
                    if (as(v, "a") && !v.getAttribute("href") == false) {
                        if (v.getAttribute("target")) t += "&sifr_url_" + s + "_target=" + v.getAttribute("target");
                        t += "&sifr_url_" + s + "=" + m(v.getAttribute("href")).replace(/&/g, "%26");
                        u += '<a href="asfunction:_root.launchURL,' + s + '">';
                        s++
                    } else if (as(v, "br")) u += "<br/>";
                    if (v.hasChildNodes()) {
                        y = o(v, null, r, s, t);
                        u += y.u;
                        s = y.s;
                        t = y.t
                    }
                    if (as(v, "a")) u += "</a>"
                }
                w = v;
                v = v.nextSibling;
                if (q != null) {
                    x = w.parentNode.removeChild(w);
                    q.appendChild(x)
                }
            }
            return {
                "u": u,
                "s": s,
                "t": t
            }
        }
        function A(B) {
            if (al.createElementNS && f.g) return al.createElementNS(a, B);
            return al.createElement(B)
        }
        function C(D, E, z) {
            var p = A("param");
            p.setAttribute("name", E);
            p.setAttribute("value", z);
            D.appendChild(p)
        }
        function F(p, G) {
            var H = p.className;
            if (H == null) H = G;
            else H = H.normalize() + (H == "" ? "" : " ") + G;
            p.className = H
        }
        function aq(ar) {
            var a = ak;
            if (k.bHideBrowserText == false) a = al.getElementsByTagName("body")[0];
            if ((k.bHideBrowserText == false || ar) && a) if (a.className == null || a.className.match(/\bsIFR\-hasFlash\b/) == null) F(a, "sIFR-hasFlash")
        }
        function j(I, J, K, L, M, N, O, P, Q, R, S, r, T) {
            if (!l()) return ah.push(arguments);
            aq();
            named.extract(arguments, {
                sSelector: function (ap) {
                    I = ap
                },
                sFlashSrc: function (ap) {
                    J = ap
                },
                sColor: function (ap) {
                    K = ap
                },
                sLinkColor: function (ap) {
                    L = ap
                },
                sHoverColor: function (ap) {
                    M = ap
                },
                sBgColor: function (ap) {
                    N = ap
                },
                nPaddingTop: function (ap) {
                    O = ap
                },
                nPaddingRight: function (ap) {
                    P = ap
                },
                nPaddingBottom: function (ap) {
                    Q = ap
                },
                nPaddingLeft: function (ap) {
                    R = ap
                },
                sFlashVars: function (ap) {
                    S = ap
                },
                sCase: function (ap) {
                    r = ap
                },
                sWmode: function (ap) {
                    T = ap
                }
            });
            var U = parseSelector(I);
            if (U.length == 0) return false;
            if (S != null) S = "&" + S.normalize();
            else S = "";
            if (K != null) S += "&textcolor=" + K;
            if (M != null) S += "&hovercolor=" + M;
            if (M != null || L != null) S += "&linkcolor=" + (L || K);
            if (O == null) O = 0;
            if (P == null) P = 0;
            if (Q == null) Q = 0;
            if (R == null) R = 0;
            if (N == null) N = "#FFFFFF";
            if (T == "transparent") if (!f.f) T = "opaque";
            else N = "transparent";
            if (T == null) T = "";
            var p, V, W, X, Y, Z, aa, ab, ac;
            var ad = null;
            for (var i = 0, h = U.length; i < h; i++) {
                p = U[i];
                if (p.className != null && p.className.match(/\bsIFR\-replaced\b/) != null) continue;
                V = p.offsetWidth - R - P;
                W = p.offsetHeight - O - Q;
                aa = A("span");
                aa.className = "sIFR-alternate";
                ac = o(p, aa, r);
                Z = "txt=" + m(ac.u).replace(/\+/g, "%2B").replace(/&/g, "%26").replace(/\"/g, "%22").normalize() + S + "&w=" + V + "&h=" + W + ac.t;
                F(p, "sIFR-replaced");
                if (ad == null || !f.g) {
                    if (!f.g) {
                        if (!f.n) p.innerHTML = ['<embed class="sIFR-flash" type="application/x-shockwave-flash" src="', J, '" quality="best" wmode="', T, '" bgcolor="', N, '" flashvars="', Z, '" width="', V, '" height="', W, '" sifr="true"></embed>'].join("");
                        else p.innerHTML = ['<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" sifr="true" width="', V, '" height="', W, '" class="sIFR-flash"><param name="movie" value="', J, "?", Z, '"></param><param name="quality" value="best"></param><param name="wmode" value="', T, '"></param><param name="bgcolor" value="', N, '"></param> </object>'].join('')
                    } else {
                        if (f.d) {
                            ab = A("object");
                            ab.setAttribute("data", J);
                            C(ab, "quality", "best");
                            C(ab, "wmode", T);
                            C(ab, "bgcolor", N)
                        } else {
                            ab = A("embed");
                            ab.setAttribute("src", J);
                            ab.setAttribute("quality", "best");
                            ab.setAttribute("flashvars", Z);
                            ab.setAttribute("wmode", T);
                            ab.setAttribute("bgcolor", N)
                        }
                        ab.setAttribute("sifr", "true");
                        ab.setAttribute("type", "application/x-shockwave-flash");
                        ab.className = "sIFR-flash";
                        if (!f.l || !f.e) ad = ab.cloneNode(true)
                    }
                } else ab = ad.cloneNode(true);
                if (f.g) {
                    if (f.d) C(ab, "flashvars", Z);
                    else ab.setAttribute("flashvars", Z);
                    ab.setAttribute("width", V);
                    ab.setAttribute("height", W);
                    ab.style.width = V + "px";
                    ab.style.height = W + "px";
                    p.appendChild(ab)
                }
                p.appendChild(aa);
                if (f.p) p.innerHTML += ""
            }
            if (f.n && k.bFixFragIdBug) setTimeout(function () {
                al.title = d
            }, 0)
        }
        function ai() {
            d = al.title
        }
        function ae() {
            if (k.bIsDisabled == true) return;
            c = true;
            if (k.bHideBrowserText) aq(true);
            if (am.attachEvent) am.attachEvent("onload", af);
            else if (!f.c && (al.addEventListener || am.addEventListener)) {
                if (f.a && f.k >= 132 && am.addEventListener) am.addEventListener("load", function () {
                    setTimeout("sIFR({})", 1)
                }, false);
                else {
                    if (al.addEventListener) al.addEventListener("load", af, false);
                    if (am.addEventListener) am.addEventListener("load", af, false)
                }
            } else if (typeof am.onload == "function") {
                var ag = am.onload;
                am.onload = function () {
                    ag();
                    af()
                }
            } else am.onload = af;
            if (!f.n || am.location.hash == "") k.bFixFragIdBug = false;
            else ai()
        }
        k.UA = at();
        k.bAutoInit = true;
        k.bFixFragIdBug = true;
        k.replaceElement = j;
        k.updateDocumentTitle = ai;
        k.appendToClassName = F;
        k.setup = ae;
        k.debug = function () {
            aq(true)
        };
        k.debug.replaceNow = function () {
            ae();
            k()
        };
        k.bIsDisabled = false;
        k.bHideBrowserText = true;
        return k
    }();
