/*
* gzcms js¿â
* Date: 2010-09-25 17:01:11 
*/
(function (v, B) {
    var e = function (a, b) {
        return new e.fn.init(a, b)
    },
    l = v.document,
    ta = Array.prototype.push,
    ua = Array.prototype.slice,
    U = Object.prototype.toString,
    V = Object.prototype.hasOwnProperty,
    ba = false,
    P = [],
    M,
    va = /^#[\w-]+$/,
    wa = /^(\s|\u00A0)+|(\s|\u00A0)+$/g;
    e.fn = e.prototype = {
        init: function (a, b) {
            if (!a) return this;
            if (a.nodeType) {
                this[0] = a;
                this.length = 1;
                return this
            }
            var c,
            d;
            b = b || l;
            if (typeof a === "string") if (a.indexOf("<") === 0) {
                c = b.ownerDocument || b;
                if (d = xa.exec(a)) a = [c.createElement(d[1])];
                else {
                    d = ca([a], [c]);
                    a = (d.cacheable ? d.fragment.cloneNode(true) : d.fragment).childNodes
                }
            } else if (va.test(a) && b.nodeType === 9) {
                c = a.slice(1);
                if (d = b.getElementById(c)) {
                    if (d.id !== c) d = b.all[c];
                    this.length = 1;
                    this[0] = d
                }
                return this
            } else a = e.find(a, b);
            else if (W(a)) return ya.ready(a);
            return this.setArray(Q(a) ? a : N(a))
        },
        lhgren: "lex.lin",
        setArray: function (a) {
            this.length = 0;
            ta.apply(this, a);
            return this
        },
        each: function (a) {
            return e.each(this, a)
        },
        get: function (a) {
            return a === B ? ua.call(this) : this[a]
        },
        eq: function (a) {
            return this.setArray([this[a]])
        },
        bind: function (a, b) {
            for (var c = 0, d = this.length; c < d; c++) e.event.add(this[c], a, b);
            return this
        },
        unbind: function (a, b) {
            for (var c = 0, d = this.length; c < d; c++) e.event.remove(this[c], a, b);
            return this
        },
        hover: function (a, b) {
            return this.mouseover(a).mouseout(b)
        },
        html: function (a) {
            if (a === B) return this[0] ? this[0].innerHTML : null;
            else if (typeof a === "string" && !za.test(a)) for (var b = 0, c = this.length; b < c; b++) {
                if (this[b].nodeType === 1) {
                    S(this[b].getElementsByTagName("*"));
                    this[b].innerHTML = a
                }
            } else this.empty().append(a);
            return this
        },
        text: function (a) {
            if (a === B) return this[0] ? this[0].innerText ? this[0].innerText : this[0].textContent : null;
            else for (var b = 0, c = this.length; b < c; b++) this[b].innerText ? (this[b].innerText = a) : (this[b].textContent = a);
            return this
        },
        val: function (a) {
            if (a === B) {
                var b = this[0];
                if (b) {
                    if (I(b, "option")) return (b.attributes.value || {}).specified ? b.value : b.text;
                    if (I(b, "select")) {
                        a = b.selectedIndex;
                        var c = [],
                        d = b.options,
                        g = b.type == "select-one";
                        if (a < 0) return null;
                        b = g ? a : 0;
                        for (var h = g ? a + 1 : d.length; b < h; b++) if (d[b].selected) {
                            a = e(d[b]).val();
                            if (g) return a;
                            c.push(a)
                        }
                        return c
                    }
                    return (b.value || "").replace(/\r/g, "")
                }
                return B
            }
            if (typeof a === "number") a += "";
            b = 0;
            d = this.length;
            for (var i; b < d; b++) {
                i = this[b];
                if (I(i, "select")) {
                    c = N(a);
                    e("option", i).each(function () {
                        i.selected = X(i.value, c) >= 0 || X(i.text, c) >= 0
                    });
                    if (!c.length) i.selectedIndex = -1
                } else i.value = a
            }
            return this
        },
        css: function (a, b) {
            return da(this, a, b, "css")
        },
        attr: function (a, b) {
            return da(this, a, b, "attr")
        },
        /*does has Class */
        hasClass: function (a) {
            for (var b = 0, c = this.length, d, g = (a || "").split(ea); b < c; b++) {
                d = this[b];
                if (d.className.match(new RegExp('(\\s|^)' + a + '(\\s|$)'))) return true;
                else return false
            }
            return false;
        },

        addClass: function (a) {
            for (var b = 0, c = this.length, d, g = (a || "").split(ea); b < c; b++) {
                d = this[b];
                if (d.className) for (var h = " " + d.className + " ", i = 0, p = g.length; i < p; i++) {
                    if (h.indexOf(" " + g[i] + " ") < 0) d.className += " " + g[i]
                } else d.className = a
            }
            return this
        },
        removeClass: function (a) {
            for (var b = 0, c = this.length, d, g = (a || "").split(ea); b < c; b++) {
                d = this[b];
                if (a) {
                    for (var h = (" " + d.className + " ").replace(Aa, " "), i = 0, p = g.length; i < p; i++) h = h.replace(" " + g[i] + " ", " ");
                    d.className = h.substring(1, h.length - 1)
                } else d.className = ""
            }
            return this
        },
        removeAttr: function (a) {
            for (var b = 0, c = this.length; b < c; b++) {
                e.attr(this[b], a, "");
                this[b].nodeType === 1 && this[b].removeAttribute(a)
            }
            return this
        },
        remove: function () {
            for (var a = 0, b = this.length, c; a < b; a++) {
                c = this[a];
                if (c.nodeType === 1) {
                    S(c.getElementsByTagName("*"));
                    S([c])
                }
                c.parentNode && c.parentNode.removeChild(c)
            }
            return this
        },
        empty: function () {
            for (var a = 0, b = this.length, c; a < b; a++) {
                c = this[a];
                for (c.nodeType === 1 && S(c.getElementsByTagName("*")); c.firstChild; ) c.removeChild(c.firstChild)
            }
            return this
        },
        map: function (a) {
            return this.setArray(Y(this,
            function (b, c) {
                return a.call(b, c, b)
            }))
        },
        filter: function (a) {
            return this.setArray(Ba(this,
            function (b, c) {
                return a.call(b, c, b)
            }))
        },
        is: function (a) {
            if (!a) return false;
            a = e.find(a, this[0].ownerDocument || this[0]);
            for (var b = 0, c = this.length; b < c; b++) if (X(this[b], a) >= 0) return true;
            return false
        },
        append: function () {
            return this.insert(arguments, true,
            function (a) {
                this.nodeType === 1 && this.appendChild(a)
            })
        },
        prepend: function () {
            return this.insert(arguments, true,
            function (a) {
                this.nodeType === 1 && this.insertBefore(a, this.firstChild)
            })
        },
        before: function () {
            return this.insert(arguments, false,
            function (a) {
                this.parentNode.insertBefore(a, this)
            })
        },
        after: function () {
            return this.insert(arguments, false,
            function (a) {
                this.parentNode.insertBefore(a, this.nextSibling)
            })
        },
        insert: function (a, b, c) {
            var d;
            d = a[0];
            var g = [],
            h;
            if (this[0]) {
                a = (d = d && d.parentNode) && d.nodeType === 11 && d.childNodes.length === this.length ? {
                    fragment: d
                } : ca(a, this, g);
                h = a.fragment;
                if (d = h.childNodes.length === 1 ? (h = h.firstChild) : h.firstChild) {
                    b = b && I(d, "tr");
                    for (var i = 0, p = this.length; i < p; i++) c.call(b ? b && I(this[i], "table") && I(d, "tr") ? this[i].getElementsByTagName("tbody")[0] || this[i].appendChild(this[i].ownerDocument.createElement("tbody")) : this[i] : this[i], this.length > 1 || a.cacheable || i > 0 ? h.cloneNode(true) : h)
                }
                g.length > 0 && e.each(g, Ca)
            }
            return this
        },
        ready: function (a) {
            e.bindReady();
            if (e.isReady) a.call(l, e);
            else P && P.push(a);
            return this
        }
    };
    e.fn.init.prototype = e.fn;
    e.isPlainObject = function (a) {
        if (!a || U.call(a) !== "[object Object]" || a.nodeType || a.setInterval) return false;
        if (a.constructor && !V.call(a, "constructor") && !V.call(a.constructor.prototype, "isPrototypeOf")) return false;
        var b;
        for (b in a);
        return b === B || V.call(a, b)
    };
    e.extend = e.fn.extend = function () {
        var a = arguments[0] || {},
        b = 1,
        c;
        if (arguments.length === b) {
            a = this; --b
        }
        b = arguments[b];
        for (var d in b) {
            c = b[d];
            if (a !== c) a[d] = e.isPlainObject(c) && !Q(c) ? arguments.callee(a[d] || {},
            c) : c
        }
        return a
    };
    e.extend({
        isFunction: function (a) {
            return U.call(a) === "[object Function]"
        },
        isArray: function (a) {
            return U.call(a) === "[object Array]"
        },
        trim: function (a) {
            return (a || "").replace(wa, "")
        },
        globalEval: function (a) {
            if (a && /\S/.test(a)) {
                var b = l.getElementsByTagName("head")[0] || l.documentElement,
                c = l.createElement("script");
                c.type = "text/javascript";
                if (L.ie) c.text = a;
                else c.appendChild(l.createTextNode(a));
                b.insertBefore(c, b.firstChild);
                b.removeChild(c)
            }
        },
        now: function () {
            return (new Date).getTime()
        },
        nodeName: function (a, b) {
            return a.nodeName && a.nodeName.toUpperCase() == b.toUpperCase()
        },
        root: function (a) {
            a = a || l;
            return a.compatMode === "CSS1Compat" ? a.documentElement : a.body
        },
        each: function (a, b) {
            var c,
            d = 0,
            g = a.length;
            if (g === B) for (c in a) {
                if (b.call(a[c], c, a[c]) === false) break
            } else for (c = a[0]; d < g && b.call(c, d, c) !== false; c = a[++d]);
            return a
        },
        isReady: false,
        ready: function () {
            if (!e.isReady) {
                if (!l.body) return setTimeout(e.ready, 13);
                e.isReady = true;
                if (P) {
                    for (var a, b = 0; a = P[b++]; ) a.call(l, e);
                    P = null
                }
            }
        },
        bindReady: function () {
            if (!ba) {
                ba = true;
                if (l.readyState === "complete") return e.ready();
                if (l.addEventListener) {
                    l.addEventListener("DOMContentLoaded", M, false);
                    v.addEventListener("load", e.ready, false)
                } else if (l.attachEvent) {
                    l.attachEvent("onreadystatechange", M);
                    v.attachEvent("onload", e.ready);
                    var a = false;
                    try {
                        a = v.frameElement == null
                    } catch (b) { }
                    l.documentElement.doScroll && a && fa()
                }
            }
        }
    });
    e.extend({
        toArray: function (a) {
            var b = [];
            if (a != null) {
                var c = a.length;
                if (c == null || typeof a === "string" || W(a) || a.setInterval) b[0] = a;
                else for (; c; ) b[--c] = a[c]
            }
            return b
        },
        inArray: function (a, b) {
            if (b.indexOf) return b.indexOf(a);
            else {
                for (var c = 0, d = b.length; c < d; c++) if (b[c] === a) return c;
                return -1
            }
        },
        grep: function (a, b, c) {
            for (var d = [], g = 0, h = a.length; g < h; g++) !c != !b(a[g], g) && d.push(a[g]);
            return d
        },
        map: function (a, b) {
            for (var c = [], d = 0, g = a.length; d < g; d++) {
                var h = b(a[d], d);
                if (h != null) c[c.length] = h
            }
            return c.concat.apply([], c)
        }
    }); (function () {
        var a = !!v.ActiveXObject;
        e.browser = {
            ie: a,
            i6: a && !v.XMLHttpRequest,
            i7: a && !!v.XMLHttpRequest,
            i8: a && !!l.querySelectorAll,
            op: !!v.opera,
            ff: !!v.Components,
            sa: !!v.openDatabase
        }
    })();
    var W = e.isFunction,
    Q = e.isArray,
    I = e.nodeName,
    Y = e.map,
    X = e.inArray,
    N = e.toArray,
    L = e.browser,
    Ba = e.grep,
    ya = e(l),
    fa = function () {
        if (!e.isReady) {
            try {
                l.documentElement.doScroll("left")
            } catch (a) {
                setTimeout(fa, 1);
                return
            }
            e.ready()
        }
    };
    if (l.addEventListener) M = function () {
        l.removeEventListener("DOMContentLoaded", M, false);
        e.ready()
    };
    else if (l.attachEvent) M = function () {
        if (l.readyState === "complete") {
            l.detachEvent("onreadystatechange", M);
            e.ready()
        }
    };
    e.extend({
        cache: {
            guid: 1,
            fuid: 1,
            func: function (a) {
                return function () {
                    e.event.handle.apply(e.cache[a].elem, arguments)
                }
            }
        },
        event: {
            add: function (a, b, c) {
                var d = a.lhguid || (a.lhguid = e.cache.guid++);
                e.cache[d] || (e.cache[d] = {
                    elem: a,
                    listener: e.cache.func(d),
                    events: {}
                });
                if (b && !e.cache[d].events[b]) {
                    e.cache[d].events[b] = {};
                    if (a.addEventListener) a.addEventListener(b, e.cache[d].listener, false);
                    else a.attachEvent && a.attachEvent("on" + b, e.cache[d].listener)
                }
                if (c) {
                    if (!c.fuid) c.fuid = e.cache.fuid++;
                    e.cache[d].events[b][c.fuid] = c
                }
            },
            remove: function (a, b, c) {
                try {
                    var d = e.cache ? e.cache[a.lhguid] : B,
                    g,
                    h
                } catch (i) {
                    return
                }
                if (d) {
                    g = d.events;
                    if (b === B) for (b in g) e.event.remove(a, b);
                    else {
                        if (g[b]) {
                            if (c) delete g[b][c.fuid];
                            else for (var p in g[b]) delete g[b][p];
                            for (h in g[b]) break;
                            if (!h) {
                                ga(a, b, d.listener);
                                h = null;
                                delete g[b]
                            }
                        }
                        for (h in g) break;
                        if (!h) {
                            delete e.cache[a.lhguid];
                            Z(a, ["lhguid"])
                        }
                    }
                }
            },
            handle: function (a) {
                a = a = e.event.fix(a || v.event);
                if (!a.currentTarget) a.currentTarget = this;
                var b = e.cache[this.lhguid].events[a.type];
                for (var c in b) {
                    this.func = b[c];
                    if (this.func(a) === false) {
                        a.preventDefault();
                        a.stopPropagation()
                    }
                }
            },
            fix: function (a) {
                if (!a.preventDefault) a.preventDefault = Da;
                if (!a.stopPropagation) a.stopPropagation = Ea;
                if (!a.target) a.target = a.srcElement || l;
                if (a.pageX == null && a.clientX != null) {
                    var b = l.documentElement,
                    c = l.body;
                    a.pageX = a.clientX + (b && b.scrollLeft || c && c.scrollLeft || 0) - (b.clientLeft || 0);
                    a.pageY = a.clientY + (b && b.scrollTop || c && c.scrollTop || 0) - (b.clientTop || 0)
                }
                return a
            }
        }
    });
    var Da = function () {
        this.returnValue = false
    },
    Ea = function () {
        this.cancelBubble = true
    },
    Z = function (a, b) {
        for (var c = 0, d = b.length; c < d; c++) try {
            delete a[b[c]]
        } catch (g) {
            a.removeAttribute && a.removeAttribute(b[c])
        }
    },
    ga = l.removeEventListener ?
    function (a, b, c) {
        a.removeEventListener(b, c, false)
    } : function (a, b, c) {
        a.detachEvent("on" + b, c)
    },
    S = function (a) {
        for (var b, c, d = e.cache, g = 0, h; (h = a[g]) != null; g++) if (b = h.lhguid) {
            c = d[b];
            if (c.events) for (var i in c.events) ga(h, i, c.listener);
            Z(h, ["lhguid"]);
            delete d[b]
        }
    };
    e.each("blur,focus,load,resize,scroll,unload,click,dblclick,contextmenu,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error".split(","),
    function (a, b) {
        e.fn[b] = function (c) {
            for (var d = 0, g = this.length; d < g; d++) {
                e.event.remove(this[d], b);
                this[d]["on" + b] = null;
                e.event.add(this[d], b, c)
            }
            return this
        }
    });
    v.ActiveXObject && v.attachEvent("onunload",
    function () {
        for (var a in e.cache) e.event.remove(e.cache[a].elem)
    }); (function () {
        var a = !!l.getElementsByClassName,
        b = !!l.querySelectorAll,
        c = /^[\w:.][\w-]*$/,
        d = / *, */,
        g = /([^[:.#]+)?(?:#([^[:.#]+))?(?:\.([^[:.]+))?(?:\[([^!&^*|$[:=]+)([!$^*|&]?=)?([^:\]]+)?\])?(?:\:([^(]+)(?:\(([^)]+)\))?)?/,
        h = /(-?)(\d*)n((?:\+|-)?\d*)/,
        i = /(~|>|\+)/,
        p = /(\([^)]*)\+/,
        q = /(\[[^\]]+)~/,
        K = / +/,
        j = /\]\[/g,
        t = {
            "": function (f, k) {
                return !!f.getAttribute(k)
            },
            "=": function (f, k, m) {
                return (k = f.getAttribute(k)) && k === m
            },
            "^=": function (f, k, m) {
                return (k = f.getAttribute(k) + "") && !k.indexOf(m)
            },
            "$=": function (f, k, m) {
                return (k = f.getAttribute(k) + "") && k.indexOf(m) == k.length - m.length
            },
            "*=": function (f, k, m) {
                return (k = f.getAttribute(k) + "") && k.indexOf(m) !== -1
            },
            "!=": function (f, k, m) {
                return !(k = f.getAttribute(k)) || !(new RegExp("(^| +)" + m + "($| +)")).test(k)
            }
        },
        w = {
            "first-child": function (f) {
                return f.parentNode.getElementsByTagName("*")[0] === f
            },
            "last-child": function (f) {
                for (f = f; (f = f.nextSibling) && f.nodeType === 1; );
                return !!f
            },
            "nth-child": function (f, k) {
                var m = k[1] + (k[2] || 1) - 0,
                u = k[3] - 0,
                s = f.parentNode;
                if (s && !s.nodeIndex) {
                    var z = 0,
                    A = f;
                    for (A = s.firstChild; A; A = A.nextSibling) if (A.nodeType === 1) A.nodeIndex = ++z
                }
                u = f.nodeIndex - u;
                return m === 0 ? u === 0 : u % m === 0 && u / m >= 0
            },
            empty: function (f) {
                return !f.firstChild
            },
            parent: function (f) {
                return f.firstChild
            },
            checked: function (f) {
                return f.checked
            },
            enabled: function (f) {
                return !f.disabled && f.type !== "hidden"
            },
            disabled: function (f) {
                return f.disabled
            },
            hidden: function (f) {
                return f.type === "hidden" || f.style.display === "none"
            },
            visible: function (f) {
                return f.type !== "hidden" && f.style.display !== "none"
            },
            selected: function (f) {
                return f.selected
            },
            radio: function (f) {
                return f.type === "radio"
            },
            checkbox: function (f) {
                return f.type === "checkbox"
            },
            text: function (f) {
                return f.type === "text"
            },
            button: function (f) {
                return f.type === "button" || f.nodeName.toLowerCase() === "button"
            }
        };
        e.find = function (f, k) {
            k = k || l;
            var m = [];
            if (c.test(f) && k.nodeType) {
                var u = 0;
                switch (f.charAt(0)) {
                    case ".":
                        var s = f.slice(1);
                        if (a) m = k.getElementsByClassName(s);
                        else {
                            s = " " + s + " ";
                            for (var z = k.getElementsByTagName("*"), A = 0, D; D = z[A++]; ) if ((" " + D.className + " ").indexOf(s) !== -1) m[u++] = D;
                            m = u ? m : []
                        }
                        break;
                    case ":":
                        z = k.getElementsByTagName("*");
                        A = 0;
                        for (s = f.slice(1); D = z[A++]; ) if (w[s] && w[s](D)) m[u++] = D;
                        m = u ? m : [];
                        break;
                    default:
                        m = k.getElementsByTagName(f);
                        break
                }
            } else {
                if (b) try {
                    return k.querySelectorAll(f)
                } catch (Ra) { }
                D = f.split(d);
                for (var ha = D.length - 1, Fa = !!ha, ia, ja, n, $, E, F, G, x, y, R, C, ka, r, O, T, o, L; u = D[ha--]; ) {
                    ja = (ia = u.replace(j, "] % [").replace(p, "$1%").replace(q, "$1&").replace(i, " $1 ").split(K)).length;
                    A = 0;
                    $ = " ";
                    for (z = k.nodeType ? [k] : N(k); n = ia[A++]; ) if (n !== "%" && n !== " " && n !== ">" && n !== "~" && n !== "+" && z) {
                        n = n.match(g);
                        E = n[1] || "*";
                        F = n[2];
                        G = n[3] ? " " + n[3] + " " : "";
                        x = n[4];
                        y = n[5] || "";
                        s = n[7];
                        R = s === "nth-child" ? h.exec(n[8] === "even" && "2n" || n[8] === "odd" && "2n+1" || !/\D/.test(n[8]) && "0n+" + n[8] || n[8]) : n[8];
                        C = [];
                        u = ka = 0;
                        for (O = A == ja; r = z[ka++]; ) switch ($) {
                            case " ":
                                T = r.getElementsByTagName(E);
                                for (L = 0; o = T[L++]; ) if ((!F || o.id === F) && (!G || (" " + o.className + " ").indexOf(G) !== -1) && (!x || t[y] && (t[y](o, x, n[6]) || x === "class" && t[y](o, "className", n[6]))) && !o.yeasss && (w[s] ? w[s](o, R) : !s)) {
                                    if (O) o.yeasss = 1;
                                    C[u++] = o
                                }
                                break;
                            case "~":
                                for (E = E.toLowerCase(); (r = r.nextSibling) && !r.yeasss; ) if (r.nodeType === 1 && (E === "*" || r.nodeName.toLowerCase() === E) && (!F || r.id === F) && (!G || (" " + r.className + " ").indexOf(G) !== -1) && (!x || t[y] && (t[y](o, x, n[6]) || x === "class" && t[y](o, "className", n[6]))) && !r.yeasss && (w[s] ? w[s](r, R) : !s)) {
                                    if (O) r.yeasss = 1;
                                    C[u++] = r
                                }
                                break;
                            case "+":
                                for (; (r = r.nextSibling) && r.nodeType !== 1; );
                                if (r && (r.nodeName.toLowerCase() === E.toLowerCase() || E === "*") && (!F || r.id === F) && (!G || (" " + o.className + " ").indexOf(G) !== -1) && (!x || t[y] && (t[y](o, x, n[6]) || x === "class" && t[y](o, "className", n[6]))) && !r.yeasss && (w[s] ? w[s](r, R) : !s)) {
                                    if (O) r.yeasss = 1;
                                    C[u++] = r
                                }
                                break;
                            case ">":
                                T = r.getElementsByTagName(E);
                                for (L = 0; o = T[L++]; ) if (o.parentNode === r && (!F || o.id === F) && (!G || (" " + o.className + " ").indexOf(G) !== -1) && (!x || t[y] && (t[y](o, x, n[6]) || x === "class" && t[y](o, "className", n[6]))) && !o.yeasss && (w[s] ? w[s](o, R) : !s)) {
                                    if (O) o.yeasss = 1;
                                    C[u++] = o
                                }
                                break;
                            case "%":
                                o = r;
                                if ((!x || t[y] && (t[y](o, x, n[6]) || x === "class" && t[y](o, "className", n[6]))) && !o.yeasss) {
                                    if (O) o.yeasss = 1;
                                    C[u++] = o
                                }
                                break
                        }
                        z = C
                    } else $ = n;
                    if (Fa) {
                        if (!z.concat) {
                            C = [];
                            for (L = 0; o = z[L]; ) C[L++] = o;
                            z = C
                        }
                        m = z.concat(m.length == 1 ? m[0] : m)
                    } else m = z
                }
                for (u = m.length; u--; ) Z(m[u], ["yeasss", "nodeIndex"])
            }
            return m
        }
    })();
    var la = l.defaultView || {},
    ma = /href|src|style/,
    ea = /\s+/,
    Aa = /[\n\t]/g,
    na = /float/i,
    oa = /-([a-z])/ig,
    Ga = /([A-Z])/g,
    pa = {
        "class": "className",
        "for": "htmlFor"
    },
    Ha = {
        "float": L.ie ? "styleFloat" : "cssFloat"
    },
    qa = function (a, b) {
        return b.toUpperCase()
    },
    da = function (a, b, c, d) {
        var g = b,
        h = 0,
        i = a.length;
        if (typeof b === "string") if (c === B) return i ? e[d === "css" ? "getCSS" : "getAttr"](a[0], b) : null;
        else {
            g = {};
            g[b] = c

        }
        for (; h < i; h++) for (b in g) e[d](a[h], b, g[b]);
        return a
    };
    e.extend({
        attr: function (a, b, c) {
            b = pa[b] || b;
            if (ma.test(b)) if (b == "style" && L.ie) a.style.cssText = c;
            else a.setAttribute(b, "" + c);
            else a[b] = c
        },
        getAttr: function (a, b) {
            b = pa[b] || b;
            var c = ma.test(b);
            if (c) {
                c = L.ie && c ? a.getAttribute(b, 2) : a.getAttribute(b);
                return c === null ? B : c
            } else {
                if (I(a, "form") && a.getAttributeNode(b)) return a.getAttributeNode(b).nodeValue;
                return a[b]
            }
        },
        css: function (a, b, c) {
            a = a.style;
            b = Ha[b] || b;
            if (L.ie && b == "opacity") a.filter = (a.filter || "").replace(/alpha\([^)]*\)/, "") + (parseInt(c) + "" == "NaN" ? "" : "alpha(opacity=" + c * 100 + ")");
            else {
                b = b.replace(oa, qa);
                a[b] = c
            }
        },
        getCSS: function (a, b) {
            var c,
            d = a.style;
            if (b == "opacity") return L.ie ? d.filter && d.filter.indexOf("opacity=") >= 0 ? parseFloat(d.filter.match(/opacity=([^)]*)/)[1]) / 100 : 1 : d.opacity ? parseFloat(d.opacity) : 1;
            if (na.test(b)) b = e.props["float"];
            if (d && d[b]) c = d[b];
            else if (la.getComputedStyle) {
                if (na.test(b)) b = "float";
                b = b.replace(Ga, "-$1").toLowerCase();
                if (d = la.getComputedStyle(a, null)) c = d.getPropertyValue(b)
            } else if (a.currentStyle) {
                c = b.replace(oa, qa);
                c = a.currentStyle[b] || a.currentStyle[c]
            }
            return c
        }
    });
    var xa = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
    Ia = /(<([\w:]+)[^>]*?)\/>/g,
    Ja = /<|&\w+;/,
    Ka = /<([\w:]+)/,
    za = /<script|<object|<embed|<option|<style/i,
    La = /^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,
    Ma = function (a, b, c) {
        return La.test(c) ? a : b + "></" + c + ">"
    },
    H = {
        option: [1, '<select multiple="multiple">', "</select>"],
        legend: [1, "<fieldset>", "</fieldset>"],
        thead: [1, "<table>", "</table>"],
        tr: [2, "<table><tbody>", "</tbody></table>"],
        td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
        rdefault: [0, "", ""]
    };
    H.tbody = H.caption = H.thead;
    H.th = H.td;
    if (L.ie) H.link = H.script = [1, "div<div>", "</div>"];
    var ca = function (a, b, c) {
        var d,
        g,
        h;
        b = b[0].ownerDocument || b[0];
        if (a.length === 1 && typeof a[0] === "string" && b === l) {
            g = true;
            if (h = e.fragments[a[0]]) if (h !== 1) d = h
        }
        if (!d) {
            d = b.createDocumentFragment();
            a:
            {
                b = b;
                var i = d;
                b = b || l;
                if (typeof b.createElement === "undefined") b = b.ownerDocument || b[0] && b[0].ownerDocument || l;
                for (var p = [], q = 0, K = a.length, j; q < K; q++) {
                    j = a[q];
                    if (!j) break a;
                    if (typeof j === "string" && !Ja.test(j)) j = b.createTextNode(j);
                    else if (typeof j === "string") {
                        j = j.replace(Ia, Ma);
                        var t = (Ka.exec(j) || ["", ""])[1].toLowerCase();
                        t = H[t] || H.rdefault;
                        var w = t[0],
                        f = b.createElement("div");
                        for (f.innerHTML = t[1] + j + t[2]; w--; ) f = f.lastChild;
                        L.ie && /^\s+/.test(j) && f.insertBefore(b.createTextNode(/^\s+/.exec(j)[0]), f.firstChild);
                        j = N(f.childNodes)

                    }
                    if (j.nodeType) p.push(j);
                    else p = p.concat(j)
                }
                if (i) for (q = 0; p[q]; q++) if (c && I(p[q], "script") && (!p[q].type || p[q].type.toLowerCase() === "text/javascript")) c.push(p[q].parentNode ? p[q].parentNode.removeChild(p[q]) : p[q]);
                else {
                    p[q].nodeType === 1 && p.splice.apply(p, [q + 1, 0].concat(N(p[q].getElementsByTagName("script"))));
                    i.appendChild(p[q])
                }
            }
        }
        if (g) e.fragments[a[0]] = h ? d : 1;
        return {
            fragment: d,
            cacheable: g
        }
    };
    e.fragments = {};
    e.each({
        appendTo: "append",
        prependTo: "prepend",
        insertBefore: "before",
        insertAfter: "after"
    },
    function (a, b) {
        e.fn[a] = function (c) {
            c = e(c, this[0].ownerDocument || this[0]);
            for (var d = 0, g = this.length; d < g; d++) c[b](this[d]);
            return this
        }
    });
    var Ca = function (a, b) {
        b.src ? e.ajax({
            url: b.src,
            async: false,
            dataType: "script"
        }) : e.globalEval(b.text || b.textContent || b.innerHTML || "");
        b.parentNode && b.parentNode.removeChild(b)
    },
    aa = function (a, b) {
        for (var c = [], d = a[b]; d && d != l; ) {
            d.nodeType === 1 && c.push(d);
            d = d[b]
        }
        return c
    },
    ra = function (a, b, c) {
        for (var d = 0; a; a = a[c]) if (a.nodeType == 1 && ++d == (b || 1)) break;
        return a
    },
    sa = function (a, b) {
        for (var c = []; a; a = a.nextSibling) a.nodeType == 1 && a != b && c.push(a);
        return c
    };
    e.each({
        parent: function (a) {
            return a.parentNode
        },
        parents: function (a) {
            return aa(a, "parentNode")
        },
        next: function (a) {
            return ra(a, 2, "nextSibling")
        },
        prev: function (a) {
            return ra(a, 2, "previousSibling")
        },
        nextAll: function (a) {
            return aa(a, "nextSibling")
        },
        prevAll: function (a) {
            return aa(a, "previousSibling")
        },
        siblings: function (a) {
            return sa(a.parentNode.firstChild, a)
        },
        children: function (a) {
            return sa(a.firstChild)
        }
    },
    function (a, b) {
        e.fn[a] = function (c) {
            var d = Y(this, b),
            g = [];
            if (c && typeof c === "string") {
                for (var h = 0, i = d.length; h < i; h++) e(d[h]).is(c) && g.push(d[h]);
                d = g
            }
            return this.setArray(d)
        }
    });
    var Na = /select|textarea/i,
    Oa = /text|hidden|password|search/i,
    Pa = /(\?|&)_=.*?(&|$)/,
    Qa = /%20/g;
    e.fn.extend({
        serialize: function () {
            return e.param(this.serializeArray())
        },
        serializeArray: function () {
            return this.map(function () {
                return this.elements ? N(this.elements) : this
            }).filter(function () {
                return this.name && !this.disabled && (this.checked || Na.test(this.nodeName) || Oa.test(this.type))
            }).map(function () {
                var a = e(this).val();
                return a == null ? null : Q(a) ? Y(a,
                function (b) {
                    return {
                        name: elem.name,
                        value: b
                    }
                }) : {
                    name: elem.name,
                    value: a
                }
            }).get()
        }
    });
    e.extend({
        ajaxSet: {
            url: location.href,
            type: "GET",
            contentType: "application/x-www-form-urlencoded",
            async: true,
            xhr: function () {
                return v.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest
            },
            accepts: {
                xml: "application/xml, text/xml",
                html: "text/html",
                script: "text/javascript, application/javascript",
                json: "application/json, text/javascript",
                text: "text/plain",
                rdefault: "*/*"
            }
        },
        ajax: function (a) {
            a = e.extend(e.ajaxSet, a);
            var b,
            c,
            d = a.type.toUpperCase();
            if (a.data && typeof a.data !== "string") a.data = e.param(a.data);
            if (a.dataType == "script" && a.cache == null) a.cache = false;
            if (a.cache === false && d == "GET") {
                var g = e.now(),
                h = a.url.replace(Pa, "$1_=" + g + "$2");
                a.url = h + (h == a.url ? (a.url.match(/\?/) ? "&" : "?") + "_=" + g : "")
            }
            if (a.data && d == "GET") {
                a.url += (a.url.match(/\?/) ? "&" : "?") + a.data;
                a.data = null
            }
            g = /^(\w+:)?\/\/([^\/?#]+)/.exec(a.url);
            if (a.dataType == "script" && d == "GET" && g && (g[1] && g[1] != location.protocol || g[2] != location.host)) {
                var i = false,
                p = l.getElementsByTagName("head")[0],
                q = l.createElement("script");
                q.onload = q.onreadystatechange = function () {
                    if (!i && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
                        i = true;
                        a.success && a.success(c, b);
                        a.complete && a.complete(j, b);
                        q.onload = q.onreadystatechange = null;
                        p.removeChild(q)
                    }
                };
                p.appendChild(q);
                return B
            }
            var K = false,
            j = a.xhr();
            a.username ? j.open(d, a.url, a.async, a.username, a.password) : j.open(d, a.url, a.async);
            try {
                a.data && j.setRequestHeader("Content-Type", a.contentType);
                j.setRequestHeader("X-Requested-With", "XMLHttpRequest");
                j.setRequestHeader("Accept", a.dataType && a.accepts[a.dataType] ? a.accepts[a.dataType] + ", */*" : a.accepts.rdefault)
            } catch (t) { }
            if (a.beforeSend && a.beforeSend(j, a) === false) {
                j.abort();
                return false
            }
            var w = function (m) {
                if (j.readyState == 0) {
                    if (f) {
                        clearInterval(f);
                        f = null
                    }
                } else if (!K && j && (j.readyState == 4 || m == "timeout")) {
                    K = true;
                    if (f) {
                        clearInterval(f);
                        f = null
                    }
                    b = m == "timeout" ? "timeout" : !e.httpSuccess(j) ? "error" : "success";
                    if (b == "success") try {
                        c = e.httpData(j, a.dataType, a)
                    } catch (u) {
                        b = "parsererror"
                    }
                    if (b == "success") a.success && a.success(c, b);
                    else e.handleError(a, j, b);
                    a.complete && a.complete(j, b);
                    m && j.abort();
                    if (a.async) j = null
                }
            };
            if (a.async) {
                var f = setInterval(w, 13);
                a.timeout > 0 && setTimeout(function () {
                    j && !K && w("timeout")
                },
                a.timeout)
            }
            try {
                j.send(a.data)
            } catch (k) {
                e.handleError(a, j, null, k)
            }
            a.async || w();

            return j
        },
        handleError: function (a, b, c, d) {
            a.error && a.error(b, c, d)
        },
        httpSuccess: function (a) {
            try {
                return !a.status && location.protocol == "file:" || a.status >= 200 && a.status < 300 || a.status == 304 || a.status == 1223
            } catch (b) { }
            return false
        },
        httpData: function (a, b) {
            var c = a.getResponseHeader("content-type");
            var d = (c = b == "xml" || !b && c && c.indexOf("xml") >= 0) ? a.responseXML : a.responseText;
            if (c && d.documentElement.tagName == "parsererror") throw "parsererror";
            if (typeof d === "string") {
                b == "script" && e.globalEval(d);
                if (b == "json") d = v.eval("(" + d + ")")
            }
            return d
        },
        param: function (a) {
            function b(i, p) {
                c[c.length] = encodeURIComponent(i) + "=" + encodeURIComponent(p)
            }
            var c = [];
            if (Q(a) || a.lhgren) for (var d = 0, g = a.length; d < g; d++) b(this[d].name, this[d].value);
            else for (var h in a) if (Q(a[h])) {
                d = 0;
                for (g = a[h].length; d < g; d++) b(h, a[h][d])
            } else b(h, W(a[h]) ? a[h]() : a[h]);
            return c.join("&").replace(Qa, "+")
        }
    });
    v.gzcms = v.L = e
})(window);
