PageSourceSearch

https://www.wheels-pro.com.ua/cache/js/2_main.min.js

js wheels-pro.com.ua collected 2026-10-08 02:54:56 UTC 298,022 bytes, 6,265 lines download raw bytes

vendor: 96,034 bytes, lines 1-2038
1/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ ! function(a, b) {
2    "object" == typeof module && "object" == typeof module.exports ? module.exports = a.document ? b(a, !0) : function(a) {
3        if (!a.document) throw new Error("jQuery requires a window with a document");
4        return b(a)
5    } : b(a)
6}("undefined" != typeof window ? window : this, function(a, b) {
7    var c = [],
8        d = c.slice,
9        e = c.concat,
10        f = c.push,
11        g = c.indexOf,
12        h = {},
13        i = h.toString,
14        j = h.hasOwnProperty,
15        k = {},
16        l = "1.11.2",
17        m = function(a, b) {
18            return new m.fn.init(a, b)
19        },
20        n = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
21        o = /^-ms-/,
22        p = /-([\da-z])/gi,
23        q = function(a, b) {
24            return b.toUpperCase()
25        };
26    m.fn = m.prototype = {
27        jquery: l,
28        constructor: m,
29        selector: "",
30        length: 0,
31        toArray: function() {
32            return d.call(this)
33        },
34        get: function(a) {
35            return null != a ? 0 > a ? this[a + this.length] : this[a] : d.call(this)
36        },
37        pushStack: function(a) {
38            var b = m.merge(this.constructor(), a);
39            return b.prevObject = this, b.context = this.context, b
40        },
41        each: function(a, b) {
42            return m.each(this, a, b)
43        },
44        map: function(a) {
45            return this.pushStack(m.map(this, function(b, c) {
46                return a.call(b, c, b)
47            }))
48        },
49        slice: function() {
50            return this.pushStack(d.apply(this, arguments))
51        },
52        first: function() {
53            return this.eq(0)
54        },
55        last: function() {
56            return this.eq(-1)
57        },
58        eq: function(a) {
59            var b = this.length,
60                c = +a + (0 > a ? b : 0);
61            return this.pushStack(c >= 0 && b > c ? [this[c]] : [])
62        },
63        end: function() {
64            return this.prevObject || this.constructor(null)
65        },
66        push: f,
67        sort: c.sort,
68        splice: c.splice
69    }, m.extend = m.fn.extend = function() {
70        var a, b, c, d, e, f, g = arguments[0] || {},
71            h = 1,
72            i = arguments.length,
73            j = !1;
74        for ("boolean" == typeof g && (j = g, g = arguments[h] || {}, h++), "object" == typeof g || m.isFunction(g) || (g = {}), h === i && (g = this, h--); i > h; h++)
75            if (null != (e = arguments[h]))
76                for (d in e) a = g[d], c = e[d], g !== c && (j && c && (m.isPlainObject(c) || (b = m.isArray(c))) ? (b ? (b = !1, f = a && m.isArray(a) ? a : []) : f = a && m.isPlainObject(a) ? a : {}, g[d] = m.extend(j, f, c)) : void 0 !== c && (g[d] = c));
77        return g
78    }, m.extend({
79        expando: "jQuery" + (l + Math.random()).replace(/\D/g, ""),
80        isReady: !0,
81        error: function(a) {
82            throw new Error(a)
83        },
84        noop: function() {},
85        isFunction: function(a) {
86            return "function" === m.type(a)
87        },
88        isArray: Array.isArray || function(a) {
89            return "array" === m.type(a)
90        },
91        isWindow: function(a) {
92            return null != a && a == a.window
93        },
94        isNumeric: function(a) {
95            return !m.isArray(a) && a - parseFloat(a) + 1 >= 0
96        },
97        isEmptyObject: function(a) {
98            var b;
99            for (b in a) return !1;
100            return !0
101        },
102        isPlainObject: function(a) {
103            var b;
104            if (!a || "object" !== m.type(a) || a.nodeType || m.isWindow(a)) return !1;
105            try {
106                if (a.constructor && !j.call(a, "constructor") && !j.call(a.constructor.prototype, "isPrototypeOf")) return !1
107            } catch (c) {
108                return !1
109            }
110            if (k.ownLast)
111                for (b in a) return j.call(a, b);
112            for (b in a);
113            return void 0 === b || j.call(a, b)
114        },
115        type: function(a) {
116            return null == a ? a + "" : "object" == typeof a || "function" == typeof a ? h[i.call(a)] || "object" : typeof a
117        },
118        globalEval: function(b) {
119            b && m.trim(b) && (a.execScript || function(b) {
120                a.eval.call(a, b)
121            })(b)
122        },
123        camelCase: function(a) {
124            return a.replace(o, "ms-").replace(p, q)
125        },
126        nodeName: function(a, b) {
127            return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase()
128        },
129        each: function(a, b, c) {
130            var d, e = 0,
131                f = a.length,
132                g = r(a);
133            if (c) {
134                if (g) {
135                    for (; f > e; e++)
136                        if (d = b.apply(a[e], c), d === !1) break
137                } else
138                    for (e in a)
139                        if (d = b.apply(a[e], c), d === !1) break
140            } else if (g) {
141                for (; f > e; e++)
142                    if (d = b.call(a[e], e, a[e]), d === !1) break
143            } else
144                for (e in a)
145                    if (d = b.call(a[e], e, a[e]), d === !1) break; return a
146        },
147        trim: function(a) {
148            return null == a ? "" : (a + "").replace(n, "")
149        },
150        makeArray: function(a, b) {
151            var c = b || [];
152            return null != a && (r(Object(a)) ? m.merge(c, "string" == typeof a ? [a] : a) : f.call(c, a)), c
153        },
154        inArray: function(a, b, c) {
155            var d;
156            if (b) {
157                if (g) return g.call(b, a, c);
158                for (d = b.length, c = c ? 0 > c ? Math.max(0, d + c) : c : 0; d > c; c++)
159                    if (c in b && b[c] === a) return c
160            }
161            return -1
162        },
163        merge: function(a, b) {
164            var c = +b.length,
165                d = 0,
166                e = a.length;
167            while (c > d) a[e++] = b[d++];
168            if (c !== c)
169                while (void 0 !== b[d]) a[e++] = b[d++];
170            return a.length = e, a
171        },
172        grep: function(a, b, c) {
173            for (var d, e = [], f = 0, g = a.length, h = !c; g > f; f++) d = !b(a[f], f), d !== h && e.push(a[f]);
174            return e
175        },
176        map: function(a, b, c) {
177            var d, f = 0,
178                g = a.length,
179                h = r(a),
180                i = [];
181            if (h)
182                for (; g > f; f++) d = b(a[f], f, c), null != d && i.push(d);
183            else
184                for (f in a) d = b(a[f], f, c), null != d && i.push(d);
185            return e.apply([], i)
186        },
187        guid: 1,
188        proxy: function(a, b) {
189            var c, e, f;
190            return "string" == typeof b && (f = a[b], b = a, a = f), m.isFunction(a) ? (c = d.call(arguments, 2), e = function() {
191                return a.apply(b || this, c.concat(d.call(arguments)))
192            }, e.guid = a.guid = a.guid || m.guid++, e) : void 0
193        },
194        now: function() {
195            return +new Date
196        },
197        support: k
198    }), m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(a, b) {
199        h["[object " + b + "]"] = b.toLowerCase()
200    });
201
202    function r(a) {
203        var b = a.length,
204            c = m.type(a);
205        return "function" === c || m.isWindow(a) ? !1 : 1 === a.nodeType && b ? !0 : "array" === c || 0 === b || "number" == typeof b && b > 0 && b - 1 in a
206    }
207    var s = function(a) {
208        var b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u = "sizzle" + 1 * new Date,
209            v = a.document,
210            w = 0,
211            x = 0,
212            y = hb(),
213            z = hb(),
214            A = hb(),
215            B = function(a, b) {
216                return a === b && (l = !0), 0
217            },
218            C = 1 << 31,
219            D = {}.hasOwnProperty,
220            E = [],
221            F = E.pop,
222            G = E.push,
223            H = E.push,
224            I = E.slice,
225            J = function(a, b) {
226                for (var c = 0, d = a.length; d > c; c++)
227                    if (a[c] === b) return c;
228                return -1
229            },
230            K = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
231            L = "[\\x20\\t\\r\\n\\f]",
232            M = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
233            N = M.replace("w", "w#"),
234            O = "\\[" + L + "*(" + M + ")(?:" + L + "*([*^$|!~]?=)" + L + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + N + "))|)" + L + "*\\]",
235            P = ":(" + M + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + O + ")*)|.*)\\)|)",
236            Q = new RegExp(L + "+", "g"),
237            R = new RegExp("^" + L + "+|((?:^|[^\\\\])(?:\\\\.)*)" + L + "+$", "g"),
238            S = new RegExp("^" + L + "*," + L + "*"),
239            T = new RegExp("^" + L + "*([>+~]|" + L + ")" + L + "*"),
240            U = new RegExp("=" + L + "*([^\\]'\"]*?)" + L + "*\\]", "g"),
241            V = new RegExp(P),
242            W = new RegExp("^" + N + "$"),
243            X = {
244                ID: new RegExp("^#(" + M + ")"),
245                CLASS: new RegExp("^\\.(" + M + ")"),
246                TAG: new RegExp("^(" + M.replace("w", "w*") + ")"),
247                ATTR: new RegExp("^" + O),
248                PSEUDO: new RegExp("^" + P),
249                CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + L + "*(even|odd|(([+-]|)(\\d*)n|)" + L + "*(?:([+-]|)" + L + "*(\\d+)|))" + L + "*\\)|)", "i"),
250                bool: new RegExp("^(?:" + K + ")$", "i"),
251                needsContext: new RegExp("^" + L + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + L + "*((?:-\\d)?\\d*)" + L + "*\\)|)(?=[^-]|$)", "i")
252            },
253            Y = /^(?:input|select|textarea|button)$/i,
254            Z = /^h\d$/i,
255            $ = /^[^{]+\{\s*\[native \w/,
256            _ = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
257            ab = /[+~]/,
258            bb = /'|\\/g,
259            cb = new RegExp("\\\\([\\da-f]{1,6}" + L + "?|(" + L + ")|.)", "ig"),
260            db = function(a, b, c) {
261                var d = "0x" + b - 65536;
262                return d !== d || c ? b : 0 > d ? String.fromCharCode(d + 65536) : String.fromCharCode(d >> 10 | 55296, 1023 & d | 56320)
263            },
264            eb = function() {
265                m()
266            };
267        try {
268            H.apply(E = I.call(v.childNodes), v.childNodes), E[v.childNodes.length].nodeType
269        } catch (fb) {
270            H = {
271                apply: E.length ? function(a, b) {
272                    G.apply(a, I.call(b))
273                } : function(a, b) {
274                    var c = a.length,
275                        d = 0;
276                    while (a[c++] = b[d++]);
277                    a.length = c - 1
278                }
279            }
280        }
281
282        function gb(a, b, d, e) {
283            var f, h, j, k, l, o, r, s, w, x;
284            if ((b ? b.ownerDocument || b : v) !== n && m(b), b = b || n, d = d || [], k = b.nodeType, "string" != typeof a || !a || 1 !== k && 9 !== k && 11 !== k) return d;
285            if (!e && p) {
286                if (11 !== k && (f = _.exec(a)))
287                    if (j = f[1]) {
288                        if (9 === k) {
289                            if (h = b.getElementById(j), !h || !h.parentNode) return d;
290                            if (h.id === j) return d.push(h), d
291                        } else if (b.ownerDocument && (h = b.ownerDocument.getElementById(j)) && t(b, h) && h.id === j) return d.push(h), d
292                    } else {
293                        if (f[2]) return H.apply(d, b.getElementsByTagName(a)), d;
294                        if ((j = f[3]) && c.getElementsByClassName) return H.apply(d, b.getElementsByClassName(j)), d
295                    }
296                if (c.qsa && (!q || !q.test(a))) {
297                    if (s = r = u, w = b, x = 1 !== k && a, 1 === k && "object" !== b.nodeName.toLowerCase()) {
298                        o = g(a), (r = b.getAttribute("id")) ? s = r.replace(bb, "\\$&") : b.setAttribute("id", s), s = "[id='" + s + "'] ", l = o.length;
299                        while (l--) o[l] = s + rb(o[l]);
300                        w = ab.test(a) && pb(b.parentNode) || b, x = o.join(",")
301                    }
302                    if (x) try {
303                        return H.apply(d, w.querySelectorAll(x)), d
304                    } catch (y) {} finally {
305                        r || b.removeAttribute("id")
306                    }
307                }
308            }
309            return i(a.replace(R, "$1"), b, d, e)
310        }
311
312        function hb() {
313            var a = [];
314
315            function b(c, e) {
316                return a.push(c + " ") > d.cacheLength && delete b[a.shift()], b[c + " "] = e
317            }
318            return b
319        }
320
321        function ib(a) {
322            return a[u] = !0, a
323        }
324
325        function jb(a) {
326            var b = n.createElement("div");
327            try {
328                return !!a(b)
329            } catch (c) {
330                return !1
331            } finally {
332                b.parentNode && b.parentNode.removeChild(b), b = null
333            }
334        }
335
336        function kb(a, b) {
337            var c = a.split("|"),
338                e = a.length;
339            while (e--) d.attrHandle[c[e]] = b
340        }
341
342        function lb(a, b) {
343            var c = b && a,
344                d = c && 1 === a.nodeType && 1 === b.nodeType && (~b.sourceIndex || C) - (~a.sourceIndex || C);
345            if (d) return d;
346            if (c)
347                while (c = c.nextSibling)
348                    if (c === b) return -1;
349            return a ? 1 : -1
350        }
351
352        function mb(a) {
353            return function(b) {
354                var c = b.nodeName.toLowerCase();
355                return "input" === c && b.type === a
356            }
357        }
358
359        function nb(a) {
360            return function(b) {
361                var c = b.nodeName.toLowerCase();
362                return ("input" === c || "button" === c) && b.type === a
363            }
364        }
365
366        function ob(a) {
367            return ib(function(b) {
368                return b = +b, ib(function(c, d) {
369                    var e, f = a([], c.length, b),
370                        g = f.length;
371                    while (g--) c[e = f[g]] && (c[e] = !(d[e] = c[e]))
372                })
373            })
374        }
375
376        function pb(a) {
377            return a && "undefined" != typeof a.getElementsByTagName && a
378        }
379        c = gb.support = {}, f = gb.isXML = function(a) {
380            var b = a && (a.ownerDocument || a).documentElement;
381            return b ? "HTML" !== b.nodeName : !1
382        }, m = gb.setDocument = function(a) {
383            var b, e, g = a ? a.ownerDocument || a : v;
384            return g !== n && 9 === g.nodeType && g.documentElement ? (n = g, o = g.documentElement, e = g.defaultView, e && e !== e.top && (e.addEventListener ? e.addEventListener("unload", eb, !1) : e.attachEvent && e.attachEvent("onunload", eb)), p = !f(g), c.attributes = jb(function(a) {
385                return a.className = "i", !a.getAttribute("className")
386            }), c.getElementsByTagName = jb(function(a) {
387                return a.appendChild(g.createComment("")), !a.getElementsByTagName("*").length
388            }), c.getElementsByClassName = $.test(g.getElementsByClassName), c.getById = jb(function(a) {
389                return o.appendChild(a).id = u, !g.getElementsByName || !g.getElementsByName(u).length
390            }), c.getById ? (d.find.ID = function(a, b) {
391                if ("undefined" != typeof b.getElementById && p) {
392                    var c = b.getElementById(a);
393                    return c && c.parentNode ? [c] : []
394                }
395            }, d.filter.ID = function(a) {
396                var b = a.replace(cb, db);
397                return function(a) {
398                    return a.getAttribute("id") === b
399                }
400            }) : (delete d.find.ID, d.filter.ID = function(a) {
401                var b = a.replace(cb, db);
402                return function(a) {
403                    var c = "undefined" != typeof a.getAttributeNode && a.getAttributeNode("id");
404                    return c && c.value === b
405                }
406            }), d.find.TAG = c.getElementsByTagName ? function(a, b) {
407                return "undefined" != typeof b.getElementsByTagName ? b.getElementsByTagName(a) : c.qsa ? b.querySelectorAll(a) : void 0
408            } : function(a, b) {
409                var c, d = [],
410                    e = 0,
411                    f = b.getElementsByTagName(a);
412                if ("*" === a) {
413                    while (c = f[e++]) 1 === c.nodeType && d.push(c);
414                    return d
415                }
416                return f
417            }, d.find.CLASS = c.getElementsByClassName && function(a, b) {
418                return p ? b.getElementsByClassName(a) : void 0
419            }, r = [], q = [], (c.qsa = $.test(g.querySelectorAll)) && (jb(function(a) {
420                o.appendChild(a).innerHTML = "<a id='" + u + "'></a><select id='" + u + "-\f]' msallowcapture=''><option selected=''></option></select>", a.querySelectorAll("[msallowcapture^='']").length && q.push("[*^$]=" + L + "*(?:''|\"\")"), a.querySelectorAll("[selected]").length || q.push("\\[" + L + "*(?:value|" + K + ")"), a.querySelectorAll("[id~=" + u + "-]").length || q.push("~="), a.querySelectorAll(":checked").length || q.push(":checked"), a.querySelectorAll("a#" + u + "+*").length || q.push(".#.+[+~]")
421            }), jb(function(a) {
422                var b = g.createElement("input");
423                b.setAttribute("type", "hidden"), a.appendChild(b).setAttribute("name", "D"), a.querySelectorAll("[name=d]").length && q.push("name" + L + "*[*^$|!~]?="), a.querySelectorAll(":enabled").length || q.push(":enabled", ":disabled"), a.querySelectorAll("*,:x"), q.push(",.*:")
424            })), (c.matchesSelector = $.test(s = o.matches || o.webkitMatchesSelector || o.mozMatchesSelector || o.oMatchesSelector || o.msMatchesSelector)) && jb(function(a) {
425                c.disconnectedMatch = s.call(a, "div"), s.call(a, "[s!='']:x"), r.push("!=", P)
426            }), q = q.length && new RegExp(q.join("|")), r = r.length && new RegExp(r.join("|")), b = $.test(o.compareDocumentPosition), t = b || $.test(o.contains) ? function(a, b) {
427                var c = 9 === a.nodeType ? a.documentElement : a,
428                    d = b && b.parentNode;
429                return a === d || !(!d || 1 !== d.nodeType || !(c.contains ? c.contains(d) : a.compareDocumentPosition && 16 & a.compareDocumentPosition(d)))
430            } : function(a, b) {
431                if (b)
432                    while (b = b.parentNode)
433                        if (b === a) return !0;
434                return !1
435            }, B = b ? function(a, b) {
436                if (a === b) return l = !0, 0;
437                var d = !a.compareDocumentPosition - !b.compareDocumentPosition;
438                return d ? d : (d = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1, 1 & d || !c.sortDetached && b.compareDocumentPosition(a) === d ? a === g || a.ownerDocument === v && t(v, a) ? -1 : b === g || b.ownerDocument === v && t(v, b) ? 1 : k ? J(k, a) - J(k, b) : 0 : 4 & d ? -1 : 1)
439            } : function(a, b) {
440                if (a === b) return l = !0, 0;
441                var c, d = 0,
442                    e = a.parentNode,
443                    f = b.parentNode,
444                    h = [a],
445                    i = [b];
446                if (!e || !f) return a === g ? -1 : b === g ? 1 : e ? -1 : f ? 1 : k ? J(k, a) - J(k, b) : 0;
447                if (e === f) return lb(a, b);
448                c = a;
449                while (c = c.parentNode) h.unshift(c);
450                c = b;
451                while (c = c.parentNode) i.unshift(c);
452                while (h[d] === i[d]) d++;
453                return d ? lb(h[d], i[d]) : h[d] === v ? -1 : i[d] === v ? 1 : 0
454            }, g) : n
455        }, gb.matches = function(a, b) {
456            return gb(a, null, null, b)
457        }, gb.matchesSelector = function(a, b) {
458            if ((a.ownerDocument || a) !== n && m(a), b = b.replace(U, "='$1']"), !(!c.matchesSelector || !p || r && r.test(b) || q && q.test(b))) try {
459                var d = s.call(a, b);
460                if (d || c.disconnectedMatch || a.document && 11 !== a.document.nodeType) return d
461            } catch (e) {}
462            return gb(b, n, null, [a]).length > 0
463        }, gb.contains = function(a, b) {
464            return (a.ownerDocument || a) !== n && m(a), t(a, b)
465        }, gb.attr = function(a, b) {
466            (a.ownerDocument || a) !== n && m(a);
467            var e = d.attrHandle[b.toLowerCase()],
468                f = e && D.call(d.attrHandle, b.toLowerCase()) ? e(a, b, !p) : void 0;
469            return void 0 !== f ? f : c.attributes || !p ? a.getAttribute(b) : (f = a.getAttributeNode(b)) && f.specified ? f.value : null
470        }, gb.error = function(a) {
471            throw new Error("Syntax error, unrecognized expression: " + a)
472        }, gb.uniqueSort = function(a) {
473            var b, d = [],
474                e = 0,
475                f = 0;
476            if (l = !c.detectDuplicates, k = !c.sortStable && a.slice(0), a.sort(B), l) {
477                while (b = a[f++]) b === a[f] && (e = d.push(f));
478                while (e--) a.splice(d[e], 1)
479            }
480            return k = null, a
481        }, e = gb.getText = function(a) {
482            var b, c = "",
483                d = 0,
484                f = a.nodeType;
485            if (f) {
486                if (1 === f || 9 === f || 11 === f) {
487                    if ("string" == typeof a.textContent) return a.textContent;
488                    for (a = a.firstChild; a; a = a.nextSibling) c += e(a)
489                } else if (3 === f || 4 === f) return a.nodeValue
490            } else
491                while (b = a[d++]) c += e(b);
492            return c
493        }, d = gb.selectors = {
494            cacheLength: 50,
495            createPseudo: ib,
496            match: X,
497            attrHandle: {},
498            find: {},
499            relative: {
500                ">": {
501                    dir: "parentNode",
502                    first: !0
503                },
504                " ": {
505                    dir: "parentNode"
506                },
507                "+": {
508                    dir: "previousSibling",
509                    first: !0
510                },
511                "~": {
512                    dir: "previousSibling"
513                }
514            },
515            preFilter: {
516                ATTR: function(a) {
517                    return a[1] = a[1].replace(cb, db), a[3] = (a[3] || a[4] || a[5] || "").replace(cb, db), "~=" === a[2] && (a[3] = " " + a[3] + " "), a.slice(0, 4)
518                },
519                CHILD: function(a) {
520                    return a[1] = a[1].toLowerCase(), "nth" === a[1].slice(0, 3) ? (a[3] || gb.error(a[0]), a[4] = +(a[4] ? a[5] + (a[6] || 1) : 2 * ("even" === a[3] || "odd" === a[3])), a[5] = +(a[7] + a[8] || "odd" === a[3])) : a[3] && gb.error(a[0]), a
521                },
522                PSEUDO: function(a) {
523                    var b, c = !a[6] && a[2];
524                    return X.CHILD.test(a[0]) ? null : (a[3] ? a[2] = a[4] || a[5] || "" : c && V.test(c) && (b = g(c, !0)) && (b = c.indexOf(")", c.length - b) - c.length) && (a[0] = a[0].slice(0, b), a[2] = c.slice(0, b)), a.slice(0, 3))
525                }
526            },
527            filter: {
528                TAG: function(a) {
529                    var b = a.replace(cb, db).toLowerCase();
530                    return "*" === a ? function() {
531                        return !0
532                    } : function(a) {
533                        return a.nodeName && a.nodeName.toLowerCase() === b
534                    }
535                },
536                CLASS: function(a) {
537                    var b = y[a + " "];
538                    return b || (b = new RegExp("(^|" + L + ")" + a + "(" + L + "|$)")) && y(a, function(a) {
539                        return b.test("string" == typeof a.className && a.className || "undefined" != typeof a.getAttribute && a.getAttribute("class") || "")
540                    })
541                },
542                ATTR: function(a, b, c) {
543                    return function(d) {
544                        var e = gb.attr(d, a);
545                        return null == e ? "!=" === b : b ? (e += "", "=" === b ? e === c : "!=" === b ? e !== c : "^=" === b ? c && 0 === e.indexOf(c) : "*=" === b ? c && e.indexOf(c) > -1 : "$=" === b ? c && e.slice(-c.length) === c : "~=" === b ? (" " + e.replace(Q, " ") + " ").indexOf(c) > -1 : "|=" === b ? e === c || e.slice(0, c.length + 1) === c + "-" : !1) : !0
546                    }
547                },
548                CHILD: function(a, b, c, d, e) {
549                    var f = "nth" !== a.slice(0, 3),
550                        g = "last" !== a.slice(-4),
551                        h = "of-type" === b;
552                    return 1 === d && 0 === e ? function(a) {
553                        return !!a.parentNode
554                    } : function(b, c, i) {
555                        var j, k, l, m, n, o, p = f !== g ? "nextSibling" : "previousSibling",
556                            q = b.parentNode,
557                            r = h && b.nodeName.toLowerCase(),
558                            s = !i && !h;
559                        if (q) {
560                            if (f) {
561                                while (p) {
562                                    l = b;
563                                    while (l = l[p])
564                                        if (h ? l.nodeName.toLowerCase() === r : 1 === l.nodeType) return !1;
565                                    o = p = "only" === a && !o && "nextSibling"
566                                }
567                                return !0
568                            }
569                            if (o = [g ? q.firstChild : q.lastChild], g && s) {
570                                k = q[u] || (q[u] = {}), j = k[a] || [], n = j[0] === w && j[1], m = j[0] === w && j[2], l = n && q.childNodes[n];
571                                while (l = ++n && l && l[p] || (m = n = 0) || o.pop())
572                                    if (1 === l.nodeType && ++m && l === b) {
573                                        k[a] = [w, n, m];
574                                        break
575                                    }
576                            } else if (s && (j = (b[u] || (b[u] = {}))[a]) && j[0] === w) m = j[1];
577                            else
578                                while (l = ++n && l && l[p] || (m = n = 0) || o.pop())
579                                    if ((h ? l.nodeName.toLowerCase() === r : 1 === l.nodeType) && ++m && (s && ((l[u] || (l[u] = {}))[a] = [w, m]), l === b)) break; return m -= e, m === d || m % d === 0 && m / d >= 0
580                        }
581                    }
582                },
583                PSEUDO: function(a, b) {
584                    var c, e = d.pseudos[a] || d.setFilters[a.toLowerCase()] || gb.error("unsupported pseudo: " + a);
585                    return e[u] ? e(b) : e.length > 1 ? (c = [a, a, "", b], d.setFilters.hasOwnProperty(a.toLowerCase()) ? ib(function(a, c) {
586                        var d, f = e(a, b),
587                            g = f.length;
588                        while (g--) d = J(a, f[g]), a[d] = !(c[d] = f[g])
589                    }) : function(a) {
590                        return e(a, 0, c)
591                    }) : e
592                }
593            },
594            pseudos: {
595                not: ib(function(a) {
596                    var b = [],
597                        c = [],
598                        d = h(a.replace(R, "$1"));
599                    return d[u] ? ib(function(a, b, c, e) {
600                        var f, g = d(a, null, e, []),
601                            h = a.length;
602                        while (h--)(f = g[h]) && (a[h] = !(b[h] = f))
603                    }) : function(a, e, f) {
604                        return b[0] = a, d(b, null, f, c), b[0] = null, !c.pop()
605                    }
606                }),
607                has: ib(function(a) {
608                    return function(b) {
609                        return gb(a, b).length > 0
610                    }
611                }),
612                contains: ib(function(a) {
613                    return a = a.replace(cb, db),
614                        function(b) {
615                            return (b.textContent || b.innerText || e(b)).indexOf(a) > -1
616                        }
617                }),
618                lang: ib(function(a) {
619                    return W.test(a || "") || gb.error("unsupported lang: " + a), a = a.replace(cb, db).toLowerCase(),
620                        function(b) {
621                            var c;
622                            do
623                                if (c = p ? b.lang : b.getAttribute("xml:lang") || b.getAttribute("lang")) return c = c.toLowerCase(), c === a || 0 === c.indexOf(a + "-");
624                            while ((b = b.parentNode) && 1 === b.nodeType);
625                            return !1
626                        }
627                }),
628                target: function(b) {
629                    var c = a.location && a.location.hash;
630                    return c && c.slice(1) === b.id
631                },
632                root: function(a) {
633                    return a === o
634                },
635                focus: function(a) {
636                    return a === n.activeElement && (!n.hasFocus || n.hasFocus()) && !!(a.type || a.href || ~a.tabIndex)
637                },
638                enabled: function(a) {
639                    return a.disabled === !1
640                },
641                disabled: function(a) {
642                    return a.disabled === !0
643                },
644                checked: function(a) {
645                    var b = a.nodeName.toLowerCase();
646                    return "input" === b && !!a.checked || "option" === b && !!a.selected
647                },
648                selected: function(a) {
649                    return a.parentNode && a.parentNode.selectedIndex, a.selected === !0
650                },
651                empty: function(a) {
652                    for (a = a.firstChild; a; a = a.nextSibling)
653                        if (a.nodeType < 6) return !1;
654                    return !0
655                },
656                parent: function(a) {
657                    return !d.pseudos.empty(a)
658                },
659                header: function(a) {
660                    return Z.test(a.nodeName)
661                },
662                input: function(a) {
663                    return Y.test(a.nodeName)
664                },
665                button: function(a) {
666                    var b = a.nodeName.toLowerCase();
667                    return "input" === b && "button" === a.type || "button" === b
668                },
669                text: function(a) {
670                    var b;
671                    return "input" === a.nodeName.toLowerCase() && "text" === a.type && (null == (b = a.getAttribute("type")) || "text" === b.toLowerCase())
672                },
673                first: ob(function() {
674                    return [0]
675                }),
676                last: ob(function(a, b) {
677                    return [b - 1]
678                }),
679                eq: ob(function(a, b, c) {
680                    return [0 > c ? c + b : c]
681                }),
682                even: ob(function(a, b) {
683                    for (var c = 0; b > c; c += 2) a.push(c);
684                    return a
685                }),
686                odd: ob(function(a, b) {
687                    for (var c = 1; b > c; c += 2) a.push(c);
688                    return a
689                }),
690                lt: ob(function(a, b, c) {
691                    for (var d = 0 > c ? c + b : c; --d >= 0;) a.push(d);
692                    return a
693                }),
694                gt: ob(function(a, b, c) {
695                    for (var d = 0 > c ? c + b : c; ++d < b;) a.push(d);
696                    return a
697                })
698            }
699        }, d.pseudos.nth = d.pseudos.eq;
700        for (b in {
701                radio: !0,
702                checkbox: !0,
703                file: !0,
704                password: !0,
705                image: !0
706            }) d.pseudos[b] = mb(b);
707        for (b in {
708                submit: !0,
709                reset: !0
710            }) d.pseudos[b] = nb(b);
711
712        function qb() {}
713        qb.prototype = d.filters = d.pseudos, d.setFilters = new qb, g = gb.tokenize = function(a, b) {
714            var c, e, f, g, h, i, j, k = z[a + " "];
715            if (k) return b ? 0 : k.slice(0);
716            h = a, i = [], j = d.preFilter;
717            while (h) {
718                (!c || (e = S.exec(h))) && (e && (h = h.slice(e[0].length) || h), i.push(f = [])), c = !1, (e = T.exec(h)) && (c = e.shift(), f.push({
719                    value: c,
720                    type: e[0].replace(R, " ")
721                }), h = h.slice(c.length));
722                for (g in d.filter) !(e = X[g].exec(h)) || j[g] && !(e = j[g](e)) || (c = e.shift(), f.push({
723                    value: c,
724                    type: g,
725                    matches: e
726                }), h = h.slice(c.length));
727                if (!c) break
728            }
729            return b ? h.length : h ? gb.error(a) : z(a, i).slice(0)
730        };
731
732        function rb(a) {
733            for (var b = 0, c = a.length, d = ""; c > b; b++) d += a[b].value;
734            return d
735        }
736
737        function sb(a, b, c) {
738            var d = b.dir,
739                e = c && "parentNode" === d,
740                f = x++;
741            return b.first ? function(b, c, f) {
742                while (b = b[d])
743                    if (1 === b.nodeType || e) return a(b, c, f)
744            } : function(b, c, g) {
745                var h, i, j = [w, f];
746                if (g) {
747                    while (b = b[d])
748                        if ((1 === b.nodeType || e) && a(b, c, g)) return !0
749                } else
750                    while (b = b[d])
751                        if (1 === b.nodeType || e) {
752                            if (i = b[u] || (b[u] = {}), (h = i[d]) && h[0] === w && h[1] === f) return j[2] = h[2];
753                            if (i[d] = j, j[2] = a(b, c, g)) return !0
754                        }
755            }
756        }
757
758        function tb(a) {
759            return a.length > 1 ? function(b, c, d) {
760                var e = a.length;
761                while (e--)
762                    if (!a[e](b, c, d)) return !1;
763                return !0
764            } : a[0]
765        }
766
767        function ub(a, b, c) {
768            for (var d = 0, e = b.length; e > d; d++) gb(a, b[d], c);
769            return c
770        }
771
772        function vb(a, b, c, d, e) {
773            for (var f, g = [], h = 0, i = a.length, j = null != b; i > h; h++)(f = a[h]) && (!c || c(f, d, e)) && (g.push(f), j && b.push(h));
774            return g
775        }
776
777        function wb(a, b, c, d, e, f) {
778            return d && !d[u] && (d = wb(d)), e && !e[u] && (e = wb(e, f)), ib(function(f, g, h, i) {
779                var j, k, l, m = [],
780                    n = [],
781                    o = g.length,
782                    p = f || ub(b || "*", h.nodeType ? [h] : h, []),
783                    q = !a || !f && b ? p : vb(p, m, a, h, i),
784                    r = c ? e || (f ? a : o || d) ? [] : g : q;
785                if (c && c(q, r, h, i), d) {
786                    j = vb(r, n), d(j, [], h, i), k = j.length;
787                    while (k--)(l = j[k]) && (r[n[k]] = !(q[n[k]] = l))
788                }
789                if (f) {
790                    if (e || a) {
791                        if (e) {
792                            j = [], k = r.length;
793                            while (k--)(l = r[k]) && j.push(q[k] = l);
794                            e(null, r = [], j, i)
795                        }
796                        k = r.length;
797                        while (k--)(l = r[k]) && (j = e ? J(f, l) : m[k]) > -1 && (f[j] = !(g[j] = l))
798                    }
799                } else r = vb(r === g ? r.splice(o, r.length) : r), e ? e(null, g, r, i) : H.apply(g, r)
800            })
801        }
802
803        function xb(a) {
804            for (var b, c, e, f = a.length, g = d.relative[a[0].type], h = g || d.relative[" "], i = g ? 1 : 0, k = sb(function(a) {
805                    return a === b
806                }, h, !0), l = sb(function(a) {
807                    return J(b, a) > -1
808                }, h, !0), m = [function(a, c, d) {
809                    var e = !g && (d || c !== j) || ((b = c).nodeType ? k(a, c, d) : l(a, c, d));
810                    return b = null, e
811                }]; f > i; i++)
812                if (c = d.relative[a[i].type]) m = [sb(tb(m), c)];
813                else {
814                    if (c = d.filter[a[i].type].apply(null, a[i].matches), c[u]) {
815                        for (e = ++i; f > e; e++)
816                            if (d.relative[a[e].type]) break;
817                        return wb(i > 1 && tb(m), i > 1 && rb(a.slice(0, i - 1).concat({
818                            value: " " === a[i - 2].type ? "*" : ""
819                        })).replace(R, "$1"), c, e > i && xb(a.slice(i, e)), f > e && xb(a = a.slice(e)), f > e && rb(a))
820                    }
821                    m.push(c)
822                }
823            return tb(m)
824        }
825
826        function yb(a, b) {
827            var c = b.length > 0,
828                e = a.length > 0,
829                f = function(f, g, h, i, k) {
830                    var l, m, o, p = 0,
831                        q = "0",
832                        r = f && [],
833                        s = [],
834                        t = j,
835                        u = f || e && d.find.TAG("*", k),
836                        v = w += null == t ? 1 : Math.random() || .1,
837                        x = u.length;
838                    for (k && (j = g !== n && g); q !== x && null != (l = u[q]); q++) {
839                        if (e && l) {
840                            m = 0;
841                            while (o = a[m++])
842                                if (o(l, g, h)) {
843                                    i.push(l);
844                                    break
845                                }
846                            k && (w = v)
847                        }
848                        c && ((l = !o && l) && p--, f && r.push(l))
849                    }
850                    if (p += q, c && q !== p) {
851                        m = 0;
852                        while (o = b[m++]) o(r, s, g, h);
853                        if (f) {
854                            if (p > 0)
855                                while (q--) r[q] || s[q] || (s[q] = F.call(i));
856                            s = vb(s)
857                        }
858                        H.apply(i, s), k && !f && s.length > 0 && p + b.length > 1 && gb.uniqueSort(i)
859                    }
860                    return k && (w = v, j = t), r
861                };
862            return c ? ib(f) : f
863        }
864        return h = gb.compile = function(a, b) {
865            var c, d = [],
866                e = [],
867                f = A[a + " "];
868            if (!f) {
869                b || (b = g(a)), c = b.length;
870                while (c--) f = xb(b[c]), f[u] ? d.push(f) : e.push(f);
871                f = A(a, yb(e, d)), f.selector = a
872            }
873            return f
874        }, i = gb.select = function(a, b, e, f) {
875            var i, j, k, l, m, n = "function" == typeof a && a,
876                o = !f && g(a = n.selector || a);
877            if (e = e || [], 1 === o.length) {
878                if (j = o[0] = o[0].slice(0), j.length > 2 && "ID" === (k = j[0]).type && c.getById && 9 === b.nodeType && p && d.relative[j[1].type]) {
879                    if (b = (d.find.ID(k.matches[0].replace(cb, db), b) || [])[0], !b) return e;
880                    n && (b = b.parentNode), a = a.slice(j.shift().value.length)
881                }
882                i = X.needsContext.test(a) ? 0 : j.length;
883                while (i--) {
884                    if (k = j[i], d.relative[l = k.type]) break;
885                    if ((m = d.find[l]) && (f = m(k.matches[0].replace(cb, db), ab.test(j[0].type) && pb(b.parentNode) || b))) {
886                        if (j.splice(i, 1), a = f.length && rb(j), !a) return H.apply(e, f), e;
887                        break
888                    }
889                }
890            }
891            return (n || h(a, o))(f, b, !p, e, ab.test(a) && pb(b.parentNode) || b), e
892        }, c.sortStable = u.split("").sort(B).join("") === u, c.detectDuplicates = !!l, m(), c.sortDetached = jb(function(a) {
893            return 1 & a.compareDocumentPosition(n.createElement("div"))
894        }), jb(function(a) {
895            return a.innerHTML = "<a href='#'></a>", "#" === a.firstChild.getAttribute("href")
896        }) || kb("type|href|height|width", function(a, b, c) {
897            return c ? void 0 : a.getAttribute(b, "type" === b.toLowerCase() ? 1 : 2)
898        }), c.attributes && jb(function(a) {
899            return a.innerHTML = "<input/>", a.firstChild.setAttribute("value", ""), "" === a.firstChild.getAttribute("value")
900        }) || kb("value", function(a, b, c) {
901            return c || "input" !== a.nodeName.toLowerCase() ? void 0 : a.defaultValue
902        }), jb(function(a) {
903            return null == a.getAttribute("disabled")
904        }) || kb(K, function(a, b, c) {
905            var d;
906            return c ? void 0 : a[b] === !0 ? b.toLowerCase() : (d = a.getAttributeNode(b)) && d.specified ? d.value : null
907        }), gb
908    }(a);
909    m.find = s, m.expr = s.selectors, m.expr[":"] = m.expr.pseudos, m.unique = s.uniqueSort, m.text = s.getText, m.isXMLDoc = s.isXML, m.contains = s.contains;
910    var t = m.expr.match.needsContext,
911        u = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
912        v = /^.[^:#\[\.,]*$/;
913
914    function w(a, b, c) {
915        if (m.isFunction(b)) return m.grep(a, function(a, d) {
916            return !!b.call(a, d, a) !== c
917        });
918        if (b.nodeType) return m.grep(a, function(a) {
919            return a === b !== c
920        });
921        if ("string" == typeof b) {
922            if (v.test(b)) return m.filter(b, a, c);
923            b = m.filter(b, a)
924        }
925        return m.grep(a, function(a) {
926            return m.inArray(a, b) >= 0 !== c
927        })
928    }
929    m.filter = function(a, b, c) {
930        var d = b[0];
931        return c && (a = ":not(" + a + ")"), 1 === b.length && 1 === d.nodeType ? m.find.matchesSelector(d, a) ? [d] : [] : m.find.matches(a, m.grep(b, function(a) {
932            return 1 === a.nodeType
933        }))
934    }, m.fn.extend({
935        find: function(a) {
936            var b, c = [],
937                d = this,
938                e = d.length;
939            if ("string" != typeof a) return this.pushStack(m(a).filter(function() {
940                for (b = 0; e > b; b++)
941                    if (m.contains(d[b], this)) return !0
942            }));
943            for (b = 0; e > b; b++) m.find(a, d[b], c);
944            return c = this.pushStack(e > 1 ? m.unique(c) : c), c.selector = this.selector ? this.selector + " " + a : a, c
945        },
946        filter: function(a) {
947            return this.pushStack(w(this, a || [], !1))
948        },
949        not: function(a) {
950            return this.pushStack(w(this, a || [], !0))
951        },
952        is: function(a) {
953            return !!w(this, "string" == typeof a && t.test(a) ? m(a) : a || [], !1).length
954        }
955    });
956    var x, y = a.document,
957        z = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
958        A = m.fn.init = function(a, b) {
959            var c, d;
960            if (!a) return this;
961            if ("string" == typeof a) {
962                if (c = "<" === a.charAt(0) && ">" === a.charAt(a.length - 1) && a.length >= 3 ? [null, a, null] : z.exec(a), !c || !c[1] && b) return !b || b.jquery ? (b || x).find(a) : this.constructor(b).find(a);
963                if (c[1]) {
964                    if (b = b instanceof m ? b[0] : b, m.merge(this, m.parseHTML(c[1], b && b.nodeType ? b.ownerDocument || b : y, !0)), u.test(c[1]) && m.isPlainObject(b))
965                        for (c in b) m.isFunction(this[c]) ? this[c](b[c]) : this.attr(c, b[c]);
966                    return this
967                }
968                if (d = y.getElementById(c[2]), d && d.parentNode) {
969                    if (d.id !== c[2]) return x.find(a);
970                    this.length = 1, this[0] = d
971                }
972                return this.context = y, this.selector = a, this
973            }
974            return a.nodeType ? (this.context = this[0] = a, this.length = 1, this) : m.isFunction(a) ? "undefined" != typeof x.ready ? x.ready(a) : a(m) : (void 0 !== a.selector && (this.selector = a.selector, this.context = a.context), m.makeArray(a, this))
975        };
976    A.prototype = m.fn, x = m(y);
977    var B = /^(?:parents|prev(?:Until|All))/,
978        C = {
979            children: !0,
980            contents: !0,
981            next: !0,
982            prev: !0
983        };
984    m.extend({
985        dir: function(a, b, c) {
986            var d = [],
987                e = a[b];
988            while (e && 9 !== e.nodeType && (void 0 === c || 1 !== e.nodeType || !m(e).is(c))) 1 === e.nodeType && d.push(e), e = e[b];
989            return d
990        },
991        sibling: function(a, b) {
992            for (var c = []; a; a = a.nextSibling) 1 === a.nodeType && a !== b && c.push(a);
993            return c
994        }
995    }), m.fn.extend({
996        has: function(a) {
997            var b, c = m(a, this),
998                d = c.length;
999            return this.filter(function() {
1000                for (b = 0; d > b; b++)
1001                    if (m.contains(this, c[b])) return !0
1002            })
1003        },
1004        closest: function(a, b) {
1005            for (var c, d = 0, e = this.length, f = [], g = t.test(a) || "string" != typeof a ? m(a, b || this.context) : 0; e > d; d++)
1006                for (c = this[d]; c && c !== b; c = c.parentNode)
1007                    if (c.nodeType < 11 && (g ? g.index(c) > -1 : 1 === c.nodeType && m.find.matchesSelector(c, a))) {
1008                        f.push(c);
1009                        break
1010                    }
1011            return this.pushStack(f.length > 1 ? m.unique(f) : f)
1012        },
1013        index: function(a) {
1014            return a ? "string" == typeof a ? m.inArray(this[0], m(a)) : m.inArray(a.jquery ? a[0] : a, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
1015        },
1016        add: function(a, b) {
1017            return this.pushStack(m.unique(m.merge(this.get(), m(a, b))))
1018        },
1019        addBack: function(a) {
1020            return this.add(null == a ? this.prevObject : this.prevObject.filter(a))
1021        }
1022    });
1023
1024    function D(a, b) {
1025        do a = a[b]; while (a && 1 !== a.nodeType);
1026        return a
1027    }
1028    m.each({
1029        parent: function(a) {
1030            var b = a.parentNode;
1031            return b && 11 !== b.nodeType ? b : null
1032        },
1033        parents: function(a) {
1034            return m.dir(a, "parentNode")
1035        },
1036        parentsUntil: function(a, b, c) {
1037            return m.dir(a, "parentNode", c)
1038        },
1039        next: function(a) {
1040            return D(a, "nextSibling")
1041        },
1042        prev: function(a) {
1043            return D(a, "previousSibling")
1044        },
1045        nextAll: function(a) {
1046            return m.dir(a, "nextSibling")
1047        },
1048        prevAll: function(a) {
1049            return m.dir(a, "previousSibling")
1050        },
1051        nextUntil: function(a, b, c) {
1052            return m.dir(a, "nextSibling", c)
1053        },
1054        prevUntil: function(a, b, c) {
1055            return m.dir(a, "previousSibling", c)
1056        },
1057        siblings: function(a) {
1058            return m.sibling((a.parentNode || {}).firstChild, a)
1059        },
1060        children: function(a) {
1061            return m.sibling(a.firstChild)
1062        },
1063        contents: function(a) {
1064            return m.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : m.merge([], a.childNodes)
1065        }
1066    }, function(a, b) {
1067        m.fn[a] = function(c, d) {
1068            var e = m.map(this, b, c);
1069            return "Until" !== a.slice(-5) && (d = c), d && "string" == typeof d && (e = m.filter(d, e)), this.length > 1 && (C[a] || (e = m.unique(e)), B.test(a) && (e = e.reverse())), this.pushStack(e)
1070        }
1071    });
1072    var E = /\S+/g,
1073        F = {};
1074
1075    function G(a) {
1076        var b = F[a] = {};
1077        return m.each(a.match(E) || [], function(a, c) {
1078            b[c] = !0
1079        }), b
1080    }
1081    m.Callbacks = function(a) {
1082        a = "string" == typeof a ? F[a] || G(a) : m.extend({}, a);
1083        var b, c, d, e, f, g, h = [],
1084            i = !a.once && [],
1085            j = function(l) {
1086                for (c = a.memory && l, d = !0, f = g || 0, g = 0, e = h.length, b = !0; h && e > f; f++)
1087                    if (h[f].apply(l[0], l[1]) === !1 && a.stopOnFalse) {
1088                        c = !1;
1089                        break
1090                    }
1091                b = !1, h && (i ? i.length && j(i.shift()) : c ? h = [] : k.disable())
1092            },
1093            k = {
1094                add: function() {
1095                    if (h) {
1096                        var d = h.length;
1097                        ! function f(b) {
1098                            m.each(b, function(b, c) {
1099                                var d = m.type(c);
1100                                "function" === d ? a.unique && k.has(c) || h.push(c) : c && c.length && "string" !== d && f(c)
1101                            })
1102                        }(arguments), b ? e = h.length : c && (g = d, j(c))
1103                    }
1104                    return this
1105                },
1106                remove: function() {
1107                    return h && m.each(arguments, function(a, c) {
1108                        var d;
1109                        while ((d = m.inArray(c, h, d)) > -1) h.splice(d, 1), b && (e >= d && e--, f >= d && f--)
1110                    }), this
1111                },
1112                has: function(a) {
1113                    return a ? m.inArray(a, h) > -1 : !(!h || !h.length)
1114                },
1115                empty: function() {
1116                    return h = [], e = 0, this
1117                },
1118                disable: function() {
1119                    return h = i = c = void 0, this
1120                },
1121                disabled: function() {
1122                    return !h
1123                },
1124                lock: function() {
1125                    return i = void 0, c || k.disable(), this
1126                },
1127                locked: function() {
1128                    return !i
1129                },
1130                fireWith: function(a, c) {
1131                    return !h || d && !i || (c = c || [], c = [a, c.slice ? c.slice() : c], b ? i.push(c) : j(c)), this
1132                },
1133                fire: function() {
1134                    return k.fireWith(this, arguments), this
1135                },
1136                fired: function() {
1137                    return !!d
1138                }
1139            };
1140        return k
1141    }, m.extend({
1142        Deferred: function(a) {
1143            var b = [
1144                    ["resolve", "done", m.Callbacks("once memory"), "resolved"],
1145                    ["reject", "fail", m.Callbacks("once memory"), "rejected"],
1146                    ["notify", "progress", m.Callbacks("memory")]
1147                ],
1148                c = "pending",
1149                d = {
1150                    state: function() {
1151                        return c
1152                    },
1153                    always: function() {
1154                        return e.done(arguments).fail(arguments), this
1155                    },
1156                    then: function() {
1157                        var a = arguments;
1158                        return m.Deferred(function(c) {
1159                            m.each(b, function(b, f) {
1160                                var g = m.isFunction(a[b]) && a[b];
1161                                e[f[1]](function() {
1162                                    var a = g && g.apply(this, arguments);
1163                                    a && m.isFunction(a.promise) ? a.promise().done(c.resolve).fail(c.reject).progress(c.notify) : c[f[0] + "With"](this === d ? c.promise() : this, g ? [a] : arguments)
1164                                })
1165                            }), a = null
1166                        }).promise()
1167                    },
1168                    promise: function(a) {
1169                        return null != a ? m.extend(a, d) : d
1170                    }
1171                },
1172                e = {};
1173            return d.pipe = d.then, m.each(b, function(a, f) {
1174                var g = f[2],
1175                    h = f[3];
1176                d[f[1]] = g.add, h && g.add(function() {
1177                    c = h
1178                }, b[1 ^ a][2].disable, b[2][2].lock), e[f[0]] = function() {
1179                    return e[f[0] + "With"](this === e ? d : this, arguments), this
1180                }, e[f[0] + "With"] = g.fireWith
1181            }), d.promise(e), a && a.call(e, e), e
1182        },
1183        when: function(a) {
1184            var b = 0,
1185                c = d.call(arguments),
1186                e = c.length,
1187                f = 1 !== e || a && m.isFunction(a.promise) ? e : 0,
1188                g = 1 === f ? a : m.Deferred(),
1189                h = function(a, b, c) {
1190                    return function(e) {
1191                        b[a] = this, c[a] = arguments.length > 1 ? d.call(arguments) : e, c === i ? g.notifyWith(b, c) : --f || g.resolveWith(b, c)
1192                    }
1193                },
1194                i, j, k;
1195            if (e > 1)
1196                for (i = new Array(e), j = new Array(e), k = new Array(e); e > b; b++) c[b] && m.isFunction(c[b].promise) ? c[b].promise().done(h(b, k, c)).fail(g.reject).progress(h(b, j, i)) : --f;
1197            return f || g.resolveWith(k, c), g.promise()
1198        }
1199    });
1200    var H;
1201    m.fn.ready = function(a) {
1202        return m.ready.promise().done(a), this
1203    }, m.extend({
1204        isReady: !1,
1205        readyWait: 1,
1206        holdReady: function(a) {
1207            a ? m.readyWait++ : m.ready(!0)
1208        },
1209        ready: function(a) {
1210            if (a === !0 ? !--m.readyWait : !m.isReady) {
1211                if (!y.body) return setTimeout(m.ready);
1212                m.isReady = !0, a !== !0 && --m.readyWait > 0 || (H.resolveWith(y, [m]), m.fn.triggerHandler && (m(y).triggerHandler("ready"), m(y).off("ready")))
1213            }
1214        }
1215    });
1216
1217    function I() {
1218        y.addEventListener ? (y.removeEventListener("DOMContentLoaded", J, !1), a.removeEventListener("load", J, !1)) : (y.detachEvent("onreadystatechange", J), a.detachEvent("onload", J))
1219    }
1220
1221    function J() {
1222        (y.addEventListener || "load" === event.type || "complete" === y.readyState) && (I(), m.ready())
1223    }
1224    m.ready.promise = function(b) {
1225        if (!H)
1226            if (H = m.Deferred(), "complete" === y.readyState) setTimeout(m.ready);
1227            else if (y.addEventListener) y.addEventListener("DOMContentLoaded", J, !1), a.addEventListener("load", J, !1);
1228        else {
1229            y.attachEvent("onreadystatechange", J), a.attachEvent("onload", J);
1230            var c = !1;
1231            try {
1232                c = null == a.frameElement && y.documentElement
1233            } catch (d) {}
1234            c && c.doScroll && ! function e() {
1235                if (!m.isReady) {
1236                    try {
1237                        c.doScroll("left")
1238                    } catch (a) {
1239                        return setTimeout(e, 50)
1240                    }
1241                    I(), m.ready()
1242                }
1243            }()
1244        }
1245        return H.promise(b)
1246    };
1247    var K = "undefined",
1248        L;
1249    for (L in m(k)) break;
1250    k.ownLast = "0" !== L, k.inlineBlockNeedsLayout = !1, m(function() {
1251            var a, b, c, d;
1252            c = y.getElementsByTagName("body")[0], c && c.style && (b = y.createElement("div"), d = y.createElement("div"), d.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", c.appendChild(d).appendChild(b), typeof b.style.zoom !== K && (b.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1", k.inlineBlockNeedsLayout = a = 3 === b.offsetWidth, a && (c.style.zoom = 1)), c.removeChild(d))
1253        }),
1254        function() {
1255            var a = y.createElement("div");
1256            if (null == k.deleteExpando) {
1257                k.deleteExpando = !0;
1258                try {
1259                    delete a.test
1260                } catch (b) {
1261                    k.deleteExpando = !1
1262                }
1263            }
1264            a = null
1265        }(), m.acceptData = function(a) {
1266            var b = m.noData[(a.nodeName + " ").toLowerCase()],
1267                c = +a.nodeType || 1;
1268            return 1 !== c && 9 !== c ? !1 : !b || b !== !0 && a.getAttribute("classid") === b
1269        };
1270    var M = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
1271        N = /([A-Z])/g;
1272
1273    function O(a, b, c) {
1274        if (void 0 === c && 1 === a.nodeType) {
1275            var d = "data-" + b.replace(N, "-$1").toLowerCase();
1276            if (c = a.getAttribute(d), "string" == typeof c) {
1277                try {
1278                    c = "true" === c ? !0 : "false" === c ? !1 : "null" === c ? null : +c + "" === c ? +c : M.test(c) ? m.parseJSON(c) : c
1279                } catch (e) {}
1280                m.data(a, b, c)
1281            } else c = void 0
1282        }
1283        return c
1284    }
1285
1286    function P(a) {
1287        var b;
1288        for (b in a)
1289            if (("data" !== b || !m.isEmptyObject(a[b])) && "toJSON" !== b) return !1;
1290        return !0
1291    }
1292
1293    function Q(a, b, d, e) {
1294        if (m.acceptData(a)) {
1295            var f, g, h = m.expando,
1296                i = a.nodeType,
1297                j = i ? m.cache : a,
1298                k = i ? a[h] : a[h] && h;
1299            if (k && j[k] && (e || j[k].data) || void 0 !== d || "string" != typeof b) return k || (k = i ? a[h] = c.pop() || m.guid++ : h), j[k] || (j[k] = i ? {} : {
1300                toJSON: m.noop
1301            }), ("object" == typeof b || "function" == typeof b) && (e ? j[k] = m.extend(j[k], b) : j[k].data = m.extend(j[k].data, b)), g = j[k], e || (g.data || (g.data = {}), g = g.data), void 0 !== d && (g[m.camelCase(b)] = d), "string" == typeof b ? (f = g[b], null == f && (f = g[m.camelCase(b)])) : f = g, f
1302        }
1303    }
1304
1305    function R(a, b, c) {
1306        if (m.acceptData(a)) {
1307            var d, e, f = a.nodeType,
1308                g = f ? m.cache : a,
1309                h = f ? a[m.expando] : m.expando;
1310            if (g[h]) {
1311                if (b && (d = c ? g[h] : g[h].data)) {
1312                    m.isArray(b) ? b = b.concat(m.map(b, m.camelCase)) : b in d ? b = [b] : (b = m.camelCase(b), b = b in d ? [b] : b.split(" ")), e = b.length;
1313                    while (e--) delete d[b[e]];
1314                    if (c ? !P(d) : !m.isEmptyObject(d)) return
1315                }(c || (delete g[h].data, P(g[h]))) && (f ? m.cleanData([a], !0) : k.deleteExpando || g != g.window ? delete g[h] : g[h] = null)
1316            }
1317        }
1318    }
1319    m.extend({
1320        cache: {},
1321        noData: {
1322            "applet ": !0,
1323            "embed ": !0,
1324            "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
1325        },
1326        hasData: function(a) {
1327            return a = a.nodeType ? m.cache[a[m.expando]] : a[m.expando], !!a && !P(a)
1328        },
1329        data: function(a, b, c) {
1330            return Q(a, b, c)
1331        },
1332        removeData: function(a, b) {
1333            return R(a, b)
1334        },
1335        _data: function(a, b, c) {
1336            return Q(a, b, c, !0)
1337        },
1338        _removeData: function(a, b) {
1339            return R(a, b, !0)
1340        }
1341    }), m.fn.extend({
1342        data: function(a, b) {
1343            var c, d, e, f = this[0],
1344                g = f && f.attributes;
1345            if (void 0 === a) {
1346                if (this.length && (e = m.data(f), 1 === f.nodeType && !m._data(f, "parsedAttrs"))) {
1347                    c = g.length;
1348                    while (c--) g[c] && (d = g[c].name, 0 === d.indexOf("data-") && (d = m.camelCase(d.slice(5)), O(f, d, e[d])));
1349                    m._data(f, "parsedAttrs", !0)
1350                }
1351                return e
1352            }
1353            return "object" == typeof a ? this.each(function() {
1354                m.data(this, a)
1355            }) : arguments.length > 1 ? this.each(function() {
1356                m.data(this, a, b)
1357            }) : f ? O(f, a, m.data(f, a)) : void 0
1358        },
1359        removeData: function(a) {
1360            return this.each(function() {
1361                m.removeData(this, a)
1362            })
1363        }
1364    }), m.extend({
1365        queue: function(a, b, c) {
1366            var d;
1367            return a ? (b = (b || "fx") + "queue", d = m._data(a, b), c && (!d || m.isArray(c) ? d = m._data(a, b, m.makeArray(c)) : d.push(c)), d || []) : void 0
1368        },
1369        dequeue: function(a, b) {
1370            b = b || "fx";
1371            var c = m.queue(a, b),
1372                d = c.length,
1373                e = c.shift(),
1374                f = m._queueHooks(a, b),
1375                g = function() {
1376                    m.dequeue(a, b)
1377                };
1378            "inprogress" === e && (e = c.shift(), d--), e && ("fx" === b && c.unshift("inprogress"), delete f.stop, e.call(a, g, f)), !d && f && f.empty.fire()
1379        },
1380        _queueHooks: function(a, b) {
1381            var c = b + "queueHooks";
1382            return m._data(a, c) || m._data(a, c, {
1383                empty: m.Callbacks("once memory").add(function() {
1384                    m._removeData(a, b + "queue"), m._removeData(a, c)
1385                })
1386            })
1387        }
1388    }), m.fn.extend({
1389        queue: function(a, b) {
1390            var c = 2;
1391            return "string" != typeof a && (b = a, a = "fx", c--), arguments.length < c ? m.queue(this[0], a) : void 0 === b ? this : this.each(function() {
1392                var c = m.queue(this, a, b);
1393                m._queueHooks(this, a), "fx" === a && "inprogress" !== c[0] && m.dequeue(this, a)
1394            })
1395        },
1396        dequeue: function(a) {
1397            return this.each(function() {
1398                m.dequeue(this, a)
1399            })
1400        },
1401        clearQueue: function(a) {
1402            return this.queue(a || "fx", [])
1403        },
1404        promise: function(a, b) {
1405            var c, d = 1,
1406                e = m.Deferred(),
1407                f = this,
1408                g = this.length,
1409                h = function() {
1410                    --d || e.resolveWith(f, [f])
1411                };
1412            "string" != typeof a && (b = a, a = void 0), a = a || "fx";
1413            while (g--) c = m._data(f[g], a + "queueHooks"), c && c.empty && (d++, c.empty.add(h));
1414            return h(), e.promise(b)
1415        }
1416    });
1417    var S = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
1418        T = ["Top", "Right", "Bottom", "Left"],
1419        U = function(a, b) {
1420            return a = b || a, "none" === m.css(a, "display") || !m.contains(a.ownerDocument, a)
1421        },
1422        V = m.access = function(a, b, c, d, e, f, g) {
1423            var h = 0,
1424                i = a.length,
1425                j = null == c;
1426            if ("object" === m.type(c)) {
1427                e = !0;
1428                for (h in c) m.access(a, b, h, c[h], !0, f, g)
1429            } else if (void 0 !== d && (e = !0, m.isFunction(d) || (g = !0), j && (g ? (b.call(a, d), b = null) : (j = b, b = function(a, b, c) {
1430                    return j.call(m(a), c)
1431                })), b))
1432                for (; i > h; h++) b(a[h], c, g ? d : d.call(a[h], h, b(a[h], c)));
1433            return e ? a : j ? b.call(a) : i ? b(a[0], c) : f
1434        },
1435        W = /^(?:checkbox|radio)$/i;
1436    ! function() {
1437        var a = y.createElement("input"),
1438            b = y.createElement("div"),
1439            c = y.createDocumentFragment();
1440        if (b.innerHTML = "  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", k.leadingWhitespace = 3 === b.firstChild.nodeType, k.tbody = !b.getElementsByTagName("tbody").length, k.htmlSerialize = !!b.getElementsByTagName("link").length, k.html5Clone = "<:nav></:nav>" !== y.createElement("nav").cloneNode(!0).outerHTML, a.type = "checkbox", a.checked = !0, c.appendChild(a), k.appendChecked = a.checked, b.innerHTML = "<textarea>x</textarea>", k.noCloneChecked = !!b.cloneNode(!0).lastChild.defaultValue, c.appendChild(b), b.innerHTML = "<input type='radio' checked='checked' name='t'/>", k.checkClone = b.cloneNode(!0).cloneNode(!0).lastChild.checked, k.noCloneEvent = !0, b.attachEvent && (b.attachEvent("onclick", function() {
1441                k.noCloneEvent = !1
1442            }), b.cloneNode(!0).click()), null == k.deleteExpando) {
1443            k.deleteExpando = !0;
1444            try {
1445                delete b.test
1446            } catch (d) {
1447                k.deleteExpando = !1
1448            }
1449        }
1450    }(),
1451    function() {
1452        var b, c, d = y.createElement("div");
1453        for (b in {
1454                submit: !0,
1455                change: !0,
1456                focusin: !0
1457            }) c = "on" + b, (k[b + "Bubbles"] = c in a) || (d.setAttribute(c, "t"), k[b + "Bubbles"] = d.attributes[c].expando === !1);
1458        d = null
1459    }();
1460    var X = /^(?:input|select|textarea)$/i,
1461        Y = /^key/,
1462        Z = /^(?:mouse|pointer|contextmenu)|click/,
1463        $ = /^(?:focusinfocus|focusoutblur)$/,
1464        _ = /^([^.]*)(?:\.(.+)|)$/;
1465
1466    function ab() {
1467        return !0
1468    }
1469
1470    function bb() {
1471        return !1
1472    }
1473
1474    function cb() {
1475        try {
1476            return y.activeElement
1477        } catch (a) {}
1478    }
1479    m.event = {
1480        global: {},
1481        add: function(a, b, c, d, e) {
1482            var f, g, h, i, j, k, l, n, o, p, q, r = m._data(a);
1483            if (r) {
1484                c.handler && (i = c, c = i.handler, e = i.selector), c.guid || (c.guid = m.guid++), (g = r.events) || (g = r.events = {}), (k = r.handle) || (k = r.handle = function(a) {
1485                    return typeof m === K || a && m.event.triggered === a.type ? void 0 : m.event.dispatch.apply(k.elem, arguments)
1486                }, k.elem = a), b = (b || "").match(E) || [""], h = b.length;
1487                while (h--) f = _.exec(b[h]) || [], o = q = f[1], p = (f[2] || "").split(".").sort(), o && (j = m.event.special[o] || {}, o = (e ? j.delegateType : j.bindType) || o, j = m.event.special[o] || {}, l = m.extend({
1488                    type: o,
1489                    origType: q,
1490                    data: d,
1491                    handler: c,
1492                    guid: c.guid,
1493                    selector: e,
1494                    needsContext: e && m.expr.match.needsContext.test(e),
1495                    namespace: p.join(".")
1496                }, i), (n = g[o]) || (n = g[o] = [], n.delegateCount = 0, j.setup && j.setup.call(a, d, p, k) !== !1 || (a.addEventListener ? a.addEventListener(o, k, !1) : a.attachEvent && a.attachEvent("on" + o, k))), j.add && (j.add.call(a, l), l.handler.guid || (l.handler.guid = c.guid)), e ? n.splice(n.delegateCount++, 0, l) : n.push(l), m.event.global[o] = !0);
1497                a = null
1498            }
1499        },
1500        remove: function(a, b, c, d, e) {
1501            var f, g, h, i, j, k, l, n, o, p, q, r = m.hasData(a) && m._data(a);
1502            if (r && (k = r.events)) {
1503                b = (b || "").match(E) || [""], j = b.length;
1504                while (j--)
1505                    if (h = _.exec(b[j]) || [], o = q = h[1], p = (h[2] || "").split(".").sort(), o) {
1506                        l = m.event.special[o] || {}, o = (d ? l.delegateType : l.bindType) || o, n = k[o] || [], h = h[2] && new RegExp("(^|\\.)" + p.join("\\.(?:.*\\.|)") + "(\\.|$)"), i = f = n.length;
1507                        while (f--) g = n[f], !e && q !== g.origType || c && c.guid !== g.guid || h && !h.test(g.namespace) || d && d !== g.selector && ("**" !== d || !g.selector) || (n.splice(f, 1), g.selector && n.delegateCount--, l.remove && l.remove.call(a, g));
1508                        i && !n.length && (l.teardown && l.teardown.call(a, p, r.handle) !== !1 || m.removeEvent(a, o, r.handle), delete k[o])
1509                    } else
1510                        for (o in k) m.event.remove(a, o + b[j], c, d, !0);
1511                m.isEmptyObject(k) && (delete r.handle, m._removeData(a, "events"))
1512            }
1513        },
1514        trigger: function(b, c, d, e) {
1515            var f, g, h, i, k, l, n, o = [d || y],
1516                p = j.call(b, "type") ? b.type : b,
1517                q = j.call(b, "namespace") ? b.namespace.split(".") : [];
1518            if (h = l = d = d || y, 3 !== d.nodeType && 8 !== d.nodeType && !$.test(p + m.event.triggered) && (p.indexOf(".") >= 0 && (q = p.split("."), p = q.shift(), q.sort()), g = p.indexOf(":") < 0 && "on" + p, b = b[m.expando] ? b : new m.Event(p, "object" == typeof b && b), b.isTrigger = e ? 2 : 3, b.namespace = q.join("."), b.namespace_re = b.namespace ? new RegExp("(^|\\.)" + q.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, b.result = void 0, b.target || (b.target = d), c = null == c ? [b] : m.makeArray(c, [b]), k = m.event.special[p] || {}, e || !k.trigger || k.trigger.apply(d, c) !== !1)) {
1519                if (!e && !k.noBubble && !m.isWindow(d)) {
1520                    for (i = k.delegateType || p, $.test(i + p) || (h = h.parentNode); h; h = h.parentNode) o.push(h), l = h;
1521                    l === (d.ownerDocument || y) && o.push(l.defaultView || l.parentWindow || a)
1522                }
1523                n = 0;
1524                while ((h = o[n++]) && !b.isPropagationStopped()) b.type = n > 1 ? i : k.bindType || p, f = (m._data(h, "events") || {})[b.type] && m._data(h, "handle"), f && f.apply(h, c), f = g && h[g], f && f.apply && m.acceptData(h) && (b.result = f.apply(h, c), b.result === !1 && b.preventDefault());
1525                if (b.type = p, !e && !b.isDefaultPrevented() && (!k._default || k._default.apply(o.pop(), c) === !1) && m.acceptData(d) && g && d[p] && !m.isWindow(d)) {
1526                    l = d[g], l && (d[g] = null), m.event.triggered = p;
1527                    try {
1528                        d[p]()
1529                    } catch (r) {}
1530                    m.event.triggered = void 0, l && (d[g] = l)
1531                }
1532                return b.result
1533            }
1534        },
1535        dispatch: function(a) {
1536            a = m.event.fix(a);
1537            var b, c, e, f, g, h = [],
1538                i = d.call(arguments),
1539                j = (m._data(this, "events") || {})[a.type] || [],
1540                k = m.event.special[a.type] || {};
1541            if (i[0] = a, a.delegateTarget = this, !k.preDispatch || k.preDispatch.call(this, a) !== !1) {
1542                h = m.event.handlers.call(this, a, j), b = 0;
1543                while ((f = h[b++]) && !a.isPropagationStopped()) {
1544                    a.currentTarget = f.elem, g = 0;
1545                    while ((e = f.handlers[g++]) && !a.isImmediatePropagationStopped())(!a.namespace_re || a.namespace_re.test(e.namespace)) && (a.handleObj = e, a.data = e.data, c = ((m.event.special[e.origType] || {}).handle || e.handler).apply(f.elem, i), void 0 !== c && (a.result = c) === !1 && (a.preventDefault(), a.stopPropagation()))
1546                }
1547                return k.postDispatch && k.postDispatch.call(this, a), a.result
1548            }
1549        },
1550        handlers: function(a, b) {
1551            var c, d, e, f, g = [],
1552                h = b.delegateCount,
1553                i = a.target;
1554            if (h && i.nodeType && (!a.button || "click" !== a.type))
1555                for (; i != this; i = i.parentNode || this)
1556                    if (1 === i.nodeType && (i.disabled !== !0 || "click" !== a.type)) {
1557                        for (e = [], f = 0; h > f; f++) d = b[f], c = d.selector + " ", void 0 === e[c] && (e[c] = d.needsContext ? m(c, this).index(i) >= 0 : m.find(c, this, null, [i]).length), e[c] && e.push(d);
1558                        e.length && g.push({
1559                            elem: i,
1560                            handlers: e
1561                        })
1562                    }
1563            return h < b.length && g.push({
1564                elem: this,
1565                handlers: b.slice(h)
1566            }), g
1567        },
1568        fix: function(a) {
1569            if (a[m.expando]) return a;
1570            var b, c, d, e = a.type,
1571                f = a,
1572                g = this.fixHooks[e];
1573            g || (this.fixHooks[e] = g = Z.test(e) ? this.mouseHooks : Y.test(e) ? this.keyHooks : {}), d = g.props ? this.props.concat(g.props) : this.props, a = new m.Event(f), b = d.length;
1574            while (b--) c = d[b], a[c] = f[c];
1575            return a.target || (a.target = f.srcElement || y), 3 === a.target.nodeType && (a.target = a.target.parentNode), a.metaKey = !!a.metaKey, g.filter ? g.filter(a, f) : a
1576        },
1577        props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
1578        fixHooks: {},
1579        keyHooks: {
1580            props: "char charCode key keyCode".split(" "),
1581            filter: function(a, b) {
1582                return null == a.which && (a.which = null != b.charCode ? b.charCode : b.keyCode), a
1583            }
1584        },
1585        mouseHooks: {
1586            props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
1587            filter: function(a, b) {
1588                var c, d, e, f = b.button,
1589                    g = b.fromElement;
1590                return null == a.pageX && null != b.clientX && (d = a.target.ownerDocument || y, e = d.documentElement, c = d.body, a.pageX = b.clientX + (e && e.scrollLeft || c && c.scrollLeft || 0) - (e && e.clientLeft || c && c.clientLeft || 0), a.pageY = b.clientY + (e && e.scrollTop || c && c.scrollTop || 0) - (e && e.clientTop || c && c.clientTop || 0)), !a.relatedTarget && g && (a.relatedTarget = g === a.target ? b.toElement : g), a.which || void 0 === f || (a.which = 1 & f ? 1 : 2 & f ? 3 : 4 & f ? 2 : 0), a
1591            }
1592        },
1593        special: {
1594            load: {
1595                noBubble: !0
1596            },
1597            focus: {
1598                trigger: function() {
1599                    if (this !== cb() && this.focus) try {
1600                        return this.focus(), !1
1601                    } catch (a) {}
1602                },
1603                delegateType: "focusin"
1604            },
1605            blur: {
1606                trigger: function() {
1607                    return this === cb() && this.blur ? (this.blur(), !1) : void 0
1608                },
1609                delegateType: "focusout"
1610            },
1611            click: {
1612                trigger: function() {
1613                    return m.nodeName(this, "input") && "checkbox" === this.type && this.click ? (this.click(), !1) : void 0
1614                },
1615                _default: function(a) {
1616                    return m.nodeName(a.target, "a")
1617                }
1618            },
1619            beforeunload: {
1620                postDispatch: function(a) {
1621                    void 0 !== a.result && a.originalEvent && (a.originalEvent.returnValue = a.result)
1622                }
1623            }
1624        },
1625        simulate: function(a, b, c, d) {
1626            var e = m.extend(new m.Event, c, {
1627                type: a,
1628                isSimulated: !0,
1629                originalEvent: {}
1630            });
1631            d ? m.event.trigger(e, null, b) : m.event.dispatch.call(b, e), e.isDefaultPrevented() && c.preventDefault()
1632        }
1633    }, m.removeEvent = y.removeEventListener ? function(a, b, c) {
1634        a.removeEventListener && a.removeEventListener(b, c, !1)
1635    } : function(a, b, c) {
1636        var d = "on" + b;
1637        a.detachEvent && (typeof a[d] === K && (a[d] = null), a.detachEvent(d, c))
1638    }, m.Event = function(a, b) {
1639        return this instanceof m.Event ? (a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || void 0 === a.defaultPrevented && a.returnValue === !1 ? ab : bb) : this.type = a, b && m.extend(this, b), this.timeStamp = a && a.timeStamp || m.now(), void(this[m.expando] = !0)) : new m.Event(a, b)
1640    }, m.Event.prototype = {
1641        isDefaultPrevented: bb,
1642        isPropagationStopped: bb,
1643        isImmediatePropagationStopped: bb,
1644        preventDefault: function() {
1645            var a = this.originalEvent;
1646            this.isDefaultPrevented = ab, a && (a.preventDefault ? a.preventDefault() : a.returnValue = !1)
1647        },
1648        stopPropagation: function() {
1649            var a = this.originalEvent;
1650            this.isPropagationStopped = ab, a && (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0)
1651        },
1652        stopImmediatePropagation: function() {
1653            var a = this.originalEvent;
1654            this.isImmediatePropagationStopped = ab, a && a.stopImmediatePropagation && a.stopImmediatePropagation(), this.stopPropagation()
1655        }
1656    }, m.each({
1657        mouseenter: "mouseover",
1658        mouseleave: "mouseout",
1659        pointerenter: "pointerover",
1660        pointerleave: "pointerout"
1661    }, function(a, b) {
1662        m.event.special[a] = {
1663            delegateType: b,
1664            bindType: b,
1665            handle: function(a) {
1666                var c, d = this,
1667                    e = a.relatedTarget,
1668                    f = a.handleObj;
1669                return (!e || e !== d && !m.contains(d, e)) && (a.type = f.origType, c = f.handler.apply(this, arguments), a.type = b), c
1670            }
1671        }
1672    }), k.submitBubbles || (m.event.special.submit = {
1673        setup: function() {
1674            return m.nodeName(this, "form") ? !1 : void m.event.add(this, "click._submit keypress._submit", function(a) {
1675                var b = a.target,
1676                    c = m.nodeName(b, "input") || m.nodeName(b, "button") ? b.form : void 0;
1677                c && !m._data(c, "submitBubbles") && (m.event.add(c, "submit._submit", function(a) {
1678                    a._submit_bubble = !0
1679                }), m._data(c, "submitBubbles", !0))
1680            })
1681        },
1682        postDispatch: function(a) {
1683            a._submit_bubble && (delete a._submit_bubble, this.parentNode && !a.isTrigger && m.event.simulate("submit", this.parentNode, a, !0))
1684        },
1685        teardown: function() {
1686            return m.nodeName(this, "form") ? !1 : void m.event.remove(this, "._submit")
1687        }
1688    }), k.changeBubbles || (m.event.special.change = {
1689        setup: function() {
1690            return X.test(this.nodeName) ? (("checkbox" === this.type || "radio" === this.type) && (m.event.add(this, "propertychange._change", function(a) {
1691                "checked" === a.originalEvent.propertyName && (this._just_changed = !0)
1692            }), m.event.add(this, "click._change", function(a) {
1693                this._just_changed && !a.isTrigger && (this._just_changed = !1), m.event.simulate("change", this, a, !0)
1694            })), !1) : void m.event.add(this, "beforeactivate._change", function(a) {
1695                var b = a.target;
1696                X.test(b.nodeName) && !m._data(b, "changeBubbles") && (m.event.add(b, "change._change", function(a) {
1697                    !this.parentNode || a.isSimulated || a.isTrigger || m.event.simulate("change", this.parentNode, a, !0)
1698                }), m._data(b, "changeBubbles", !0))
1699            })
1700        },
1701        handle: function(a) {
1702            var b = a.target;
1703            return this !== b || a.isSimulated || a.isTrigger || "radio" !== b.type && "checkbox" !== b.type ? a.handleObj.handler.apply(this, arguments) : void 0
1704        },
1705        teardown: function() {
1706            return m.event.remove(this, "._change"), !X.test(this.nodeName)
1707        }
1708    }), k.focusinBubbles || m.each({
1709        focus: "focusin",
1710        blur: "focusout"
1711    }, function(a, b) {
1712        var c = function(a) {
1713            m.event.simulate(b, a.target, m.event.fix(a), !0)
1714        };
1715        m.event.special[b] = {
1716            setup: function() {
1717                var d = this.ownerDocument || this,
1718                    e = m._data(d, b);
1719                e || d.addEventListener(a, c, !0), m._data(d, b, (e || 0) + 1)
1720            },
1721            teardown: function() {
1722                var d = this.ownerDocument || this,
1723                    e = m._data(d, b) - 1;
1724                e ? m._data(d, b, e) : (d.removeEventListener(a, c, !0), m._removeData(d, b))
1725            }
1726        }
1727    }), m.fn.extend({
1728        on: function(a, b, c, d, e) {
1729            var f, g;
1730            if ("object" == typeof a) {
1731                "string" != typeof b && (c = c || b, b = void 0);
1732                for (f in a) this.on(f, b, c, a[f], e);
1733                return this
1734            }
1735            if (null == c && null == d ? (d = b, c = b = void 0) : null == d && ("string" == typeof b ? (d = c, c = void 0) : (d = c, c = b, b = void 0)), d === !1) d = bb;
1736            else if (!d) return this;
1737            return 1 === e && (g = d, d = function(a) {
1738                return m().off(a), g.apply(this, arguments)
1739            }, d.guid = g.guid || (g.guid = m.guid++)), this.each(function() {
1740                m.event.add(this, a, d, c, b)
1741            })
1742        },
1743        one: function(a, b, c, d) {
1744            return this.on(a, b, c, d, 1)
1745        },
1746        off: function(a, b, c) {
1747            var d, e;
1748            if (a && a.preventDefault && a.handleObj) return d = a.handleObj, m(a.delegateTarget).off(d.namespace ? d.origType + "." + d.namespace : d.origType, d.selector, d.handler), this;
1749            if ("object" == typeof a) {
1750                for (e in a) this.off(e, b, a[e]);
1751                return this
1752            }
1753            return (b === !1 || "function" == typeof b) && (c = b, b = void 0), c === !1 && (c = bb), this.each(function() {
1754                m.event.remove(this, a, c, b)
1755            })
1756        },
1757        trigger: function(a, b) {
1758            return this.each(function() {
1759                m.event.trigger(a, b, this)
1760            })
1761        },
1762        triggerHandler: function(a, b) {
1763            var c = this[0];
1764            return c ? m.event.trigger(a, b, c, !0) : void 0
1765        }
1766    });
1767
1768    function db(a) {
1769        var b = eb.split("|"),
1770            c = a.createDocumentFragment();
1771        if (c.createElement)
1772            while (b.length) c.createElement(b.pop());
1773        return c
1774    }
1775    var eb = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
1776        fb = / jQuery\d+="(?:null|\d+)"/g,
1777        gb = new RegExp("<(?:" + eb + ")[\\s/>]", "i"),
1778        hb = /^\s+/,
1779        ib = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
1780        jb = /<([\w:]+)/,
1781        kb = /<tbody/i,
1782        lb = /<|&#?\w+;/,
1783        mb = /<(?:script|style|link)/i,
1784        nb = /checked\s*(?:[^=]|=\s*.checked.)/i,
1785        ob = /^$|\/(?:java|ecma)script/i,
1786        pb = /^true\/(.*)/,
1787        qb = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
1788        rb = {
1789            option: [1, "<select multiple='multiple'>", "</select>"],
1790            legend: [1, "<fieldset>", "</fieldset>"],
1791            area: [1, "<map>", "</map>"],
1792            param: [1, "<object>", "</object>"],
1793            thead: [1, "<table>", "</table>"],
1794            tr: [2, "<table><tbody>", "</tbody></table>"],
1795            col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
1796            td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
1797            _default: k.htmlSerialize ? [0, "", ""] : [1, "X<div>", "</div>"]
1798        },
1799        sb = db(y),
1800        tb = sb.appendChild(y.createElement("div"));
1801    rb.optgroup = rb.option, rb.tbody = rb.tfoot = rb.colgroup = rb.caption = rb.thead, rb.th = rb.td;
1802
1803    function ub(a, b) {
1804        var c, d, e = 0,
1805            f = typeof a.getElementsByTagName !== K ? a.getElementsByTagName(b || "*") : typeof a.querySelectorAll !== K ? a.querySelectorAll(b || "*") : void 0;
1806        if (!f)
1807            for (f = [], c = a.childNodes || a; null != (d = c[e]); e++) !b || m.nodeName(d, b) ? f.push(d) : m.merge(f, ub(d, b));
1808        return void 0 === b || b && m.nodeName(a, b) ? m.merge([a], f) : f
1809    }
1810
1811    function vb(a) {
1812        W.test(a.type) && (a.defaultChecked = a.checked)
1813    }
1814
1815    function wb(a, b) {
1816        return m.nodeName(a, "table") && m.nodeName(11 !== b.nodeType ? b : b.firstChild, "tr") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a
1817    }
1818
1819    function xb(a) {
1820        return a.type = (null !== m.find.attr(a, "type")) + "/" + a.type, a
1821    }
1822
1823    function yb(a) {
1824        var b = pb.exec(a.type);
1825        return b ? a.type = b[1] : a.removeAttribute("type"), a
1826    }
1827
1828    function zb(a, b) {
1829        for (var c, d = 0; null != (c = a[d]); d++) m._data(c, "globalEval", !b || m._data(b[d], "globalEval"))
1830    }
1831
1832    function Ab(a, b) {
1833        if (1 === b.nodeType && m.hasData(a)) {
1834            var c, d, e, f = m._data(a),
1835                g = m._data(b, f),
1836                h = f.events;
1837            if (h) {
1838                delete g.handle, g.events = {};
1839                for (c in h)
1840                    for (d = 0, e = h[c].length; e > d; d++) m.event.add(b, c, h[c][d])
1841            }
1842            g.data && (g.data = m.extend({}, g.data))
1843        }
1844    }
1845
1846    function Bb(a, b) {
1847        var c, d, e;
1848        if (1 === b.nodeType) {
1849            if (c = b.nodeName.toLowerCase(), !k.noCloneEvent && b[m.expando]) {
1850                e = m._data(b);
1851                for (d in e.events) m.removeEvent(b, d, e.handle);
1852                b.removeAttribute(m.expando)
1853            }
1854            "script" === c && b.text !== a.text ? (xb(b).text = a.text, yb(b)) : "object" === c ? (b.parentNode && (b.outerHTML = a.outerHTML), k.html5Clone && a.innerHTML && !m.trim(b.innerHTML) && (b.innerHTML = a.innerHTML)) : "input" === c && W.test(a.type) ? (b.defaultChecked = b.checked = a.checked, b.value !== a.value && (b.value = a.value)) : "option" === c ? b.defaultSelected = b.selected = a.defaultSelected : ("input" === c || "textarea" === c) && (b.defaultValue = a.defaultValue)
1855        }
1856    }
1857    m.extend({
1858        clone: function(a, b, c) {
1859            var d, e, f, g, h, i = m.contains(a.ownerDocument, a);
1860            if (k.html5Clone || m.isXMLDoc(a) || !gb.test("<" + a.nodeName + ">") ? f = a.cloneNode(!0) : (tb.innerHTML = a.outerHTML, tb.removeChild(f = tb.firstChild)), !(k.noCloneEvent && k.noCloneChecked || 1 !== a.nodeType && 11 !== a.nodeType || m.isXMLDoc(a)))
1861                for (d = ub(f), h = ub(a), g = 0; null != (e = h[g]); ++g) d[g] && Bb(e, d[g]);
1862            if (b)
1863                if (c)
1864                    for (h = h || ub(a), d = d || ub(f), g = 0; null != (e = h[g]); g++) Ab(e, d[g]);
1865                else Ab(a, f);
1866            return d = ub(f, "script"), d.length > 0 && zb(d, !i && ub(a, "script")), d = h = e = null, f
1867        },
1868        buildFragment: function(a, b, c, d) {
1869            for (var e, f, g, h, i, j, l, n = a.length, o = db(b), p = [], q = 0; n > q; q++)
1870                if (f = a[q], f || 0 === f)
1871                    if ("object" === m.type(f)) m.merge(p, f.nodeType ? [f] : f);
1872                    else if (lb.test(f)) {
1873                h = h || o.appendChild(b.createElement("div")), i = (jb.exec(f) || ["", ""])[1].toLowerCase(), l = rb[i] || rb._default, h.innerHTML = l[1] + f.replace(ib, "<$1></$2>") + l[2], e = l[0];
1874                while (e--) h = h.lastChild;
1875                if (!k.leadingWhitespace && hb.test(f) && p.push(b.createTextNode(hb.exec(f)[0])), !k.tbody) {
1876                    f = "table" !== i || kb.test(f) ? "<table>" !== l[1] || kb.test(f) ? 0 : h : h.firstChild, e = f && f.childNodes.length;
1877                    while (e--) m.nodeName(j = f.childNodes[e], "tbody") && !j.childNodes.length && f.removeChild(j)
1878                }
1879                m.merge(p, h.childNodes), h.textContent = "";
1880                while (h.firstChild) h.removeChild(h.firstChild);
1881                h = o.lastChild
1882            } else p.push(b.createTextNode(f));
1883            h && o.removeChild(h), k.appendChecked || m.grep(ub(p, "input"), vb), q = 0;
1884            while (f = p[q++])
1885                if ((!d || -1 === m.inArray(f, d)) && (g = m.contains(f.ownerDocument, f), h = ub(o.appendChild(f), "script"), g && zb(h), c)) {
1886                    e = 0;
1887                    while (f = h[e++]) ob.test(f.type || "") && c.push(f)
1888                }
1889            return h = null, o
1890        },
1891        cleanData: function(a, b) {
1892            for (var d, e, f, g, h = 0, i = m.expando, j = m.cache, l = k.deleteExpando, n = m.event.special; null != (d = a[h]); h++)
1893                if ((b || m.acceptData(d)) && (f = d[i], g = f && j[f])) {
1894                    if (g.events)
1895                        for (e in g.events) n[e] ? m.event.remove(d, e) : m.removeEvent(d, e, g.handle);
1896                    j[f] && (delete j[f], l ? delete d[i] : typeof d.removeAttribute !== K ? d.removeAttribute(i) : d[i] = null, c.push(f))
1897                }
1898        }
1899    }), m.fn.extend({
1900        text: function(a) {
1901            return V(this, function(a) {
1902                return void 0 === a ? m.text(this) : this.empty().append((this[0] && this[0].ownerDocument || y).createTextNode(a))
1903            }, null, a, arguments.length)
1904        },
1905        append: function() {
1906            return this.domManip(arguments, function(a) {
1907                if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
1908                    var b = wb(this, a);
1909                    b.appendChild(a)
1910                }
1911            })
1912        },
1913        prepend: function() {
1914            return this.domManip(arguments, function(a) {
1915                if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
1916                    var b = wb(this, a);
1917                    b.insertBefore(a, b.firstChild)
1918                }
1919            })
1920        },
1921        before: function() {
1922            return this.domManip(arguments, function(a) {
1923                this.parentNode && this.parentNode.insertBefore(a, this)
1924            })
1925        },
1926        after: function() {
1927            return this.domManip(arguments, function(a) {
1928                this.parentNode && this.parentNode.insertBefore(a, this.nextSibling)
1929            })
1930        },
1931        remove: function(a, b) {
1932            for (var c, d = a ? m.filter(a, this) : this, e = 0; null != (c = d[e]); e++) b || 1 !== c.nodeType || m.cleanData(ub(c)), c.parentNode && (b && m.contains(c.ownerDocument, c) && zb(ub(c, "script")), c.parentNode.removeChild(c));
1933            return this
1934        },
1935        empty: function() {
1936            for (var a, b = 0; null != (a = this[b]); b++) {
1937                1 === a.nodeType && m.cleanData(ub(a, !1));
1938                while (a.firstChild) a.removeChild(a.firstChild);
1939                a.options && m.nodeName(a, "select") && (a.options.length = 0)
1940            }
1941            return this
1942        },
1943        clone: function(a, b) {
1944            return a = null == a ? !1 : a, b = null == b ? a : b, this.map(function() {
1945                return m.clone(this, a, b)
1946            })
1947        },
1948        html: function(a) {
1949            return V(this, function(a) {
1950                var b = this[0] || {},
1951                    c = 0,
1952                    d = this.length;
1953                if (void 0 === a) return 1 === b.nodeType ? b.innerHTML.replace(fb, "") : void 0;
1954                if (!("string" != typeof a || mb.test(a) || !k.htmlSerialize && gb.test(a) || !k.leadingWhitespace && hb.test(a) || rb[(jb.exec(a) || ["", ""])[1].toLowerCase()])) {
1955                    a = a.replace(ib, "<$1></$2>");
1956                    try {
1957                        for (; d > c; c++) b = this[c] || {}, 1 === b.nodeType && (m.cleanData(ub(b, !1)), b.innerHTML = a);
1958                        b = 0
1959                    } catch (e) {}
1960                }
1961                b && this.empty().append(a)
1962            }, null, a, arguments.length)
1963        },
1964        replaceWith: function() {
1965            var a = arguments[0];
1966            return this.domManip(arguments, function(b) {
1967                a = this.parentNode, m.cleanData(ub(this)), a && a.replaceChild(b, this)
1968            }), a && (a.length || a.nodeType) ? this : this.remove()
1969        },
1970        detach: function(a) {
1971            return this.remove(a, !0)
1972        },
1973        domManip: function(a, b) {
1974            a = e.apply([], a);
1975            var c, d, f, g, h, i, j = 0,
1976                l = this.length,
1977                n = this,
1978                o = l - 1,
1979                p = a[0],
1980                q = m.isFunction(p);
1981            if (q || l > 1 && "string" == typeof p && !k.checkClone && nb.test(p)) return this.each(function(c) {
1982                var d = n.eq(c);
1983                q && (a[0] = p.call(this, c, d.html())), d.domManip(a, b)
1984            });
1985            if (l && (i = m.buildFragment(a, this[0].ownerDocument, !1, this), c = i.firstChild, 1 === i.childNodes.length && (i = c), c)) {
1986                for (g = m.map(ub(i, "script"), xb), f = g.length; l > j; j++) d = i, j !== o && (d = m.clone(d, !0, !0), f && m.merge(g, ub(d, "script"))), b.call(this[j], d, j);
1987                if (f)
1988                    for (h = g[g.length - 1].ownerDocument, m.map(g, yb), j = 0; f > j; j++) d = g[j], ob.test(d.type || "") && !m._data(d, "globalEval") && m.contains(h, d) && (d.src ? m._evalUrl && m._evalUrl(d.src) : m.globalEval((d.text || d.textContent || d.innerHTML || "").replace(qb, "")));
1989                i = c = null
1990            }
1991            return this
1992        }
1993    }), m.each({
1994        appendTo: "append",
1995        prependTo: "prepend",
1996        insertBefore: "before",
1997        insertAfter: "after",
1998        replaceAll: "replaceWith"
1999    }, function(a, b) {
2000        m.fn[a] = function(a) {
2001            for (var c, d = 0, e = [], g = m(a), h = g.length - 1; h >= d; d++) c = d === h ? this : this.clone(!0), m(g[d])[b](c), f.apply(e, c.get());
2002            return this.pushStack(e)
2003        }
2004    });
2005    var Cb, Db = {};
2006
2007    function Eb(b, c) {
2008        var d, e = m(c.createElement(b)).appendTo(c.body),
2009            f = a.getDefaultComputedStyle && (d = a.getDefaultComputedStyle(e[0])) ? d.display : m.css(e[0], "display");
2010        return e.detach(), f
2011    }
2012
2013    function Fb(a) {
2014        var b = y,
2015            c = Db[a];
2016        return c || (c = Eb(a, b), "none" !== c && c || (Cb = (Cb || m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement), b = (Cb[0].contentWindow || Cb[0].contentDocument).document, b.write(), b.close(), c = Eb(a, b), Cb.detach()), Db[a] = c), c
2017    }! function() {
2018        var a;
2019        k.shrinkWrapBlocks = function() {
2020            if (null != a) return a;
2021            a = !1;
2022            var b, c, d;
2023            return c = y.getElementsByTagName("body")[0], c && c.style ? (b = y.createElement("div"), d = y.createElement("div"), d.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", c.appendChild(d).appendChild(b), typeof b.style.zoom !== K && (b.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1", b.appendChild(y.createElement("div")).style.width = "5px", a = 3 !== b.offsetWidth), c.removeChild(d), a) : void 0
2024        }
2025    }();
2026    var Gb = /^margin/,
2027        Hb = new RegExp("^(" + S + ")(?!px)[a-z%]+$", "i"),
2028        Ib, Jb, Kb = /^(top|right|bottom|left)$/;
2029    a.getComputedStyle ? (Ib = function(b) {
2030        return b.ownerDocument.defaultView.opener ? b.ownerDocument.defaultView.getComputedStyle(b, null) : a.getComputedStyle(b, null)
2031    }, Jb = function(a, b, c) {
2032        var d, e, f, g, h = a.style;
2033        return c = c || Ib(a), g = c ? c.getPropertyValue(b) || c[b] : void 0, c && ("" !== g || m.contains(a.ownerDocument, a) || (g = m.style(a, b)), Hb.test(g) && Gb.test(b) && (d = h.width, e = h.minWidth, f = h.maxWidth, h.minWidth = h.maxWidth = h.width = g, g = c.width, h.width = d, h.minWidth = e, h.maxWidth = f)), void 0 === g ? g : g + ""
2034    }) : y.documentElement.currentStyle && (Ib = function(a) {
2035        return a.currentStyle
2036    }, Jb = function(a, b, c) {
2037        var d, e, f, g, h = a.style;
2038        return c = c || Ib(a), g = c ? c[b] : void 0, null == g && h && h[b] && (g = h[b]), Hb.test(g) && !Kb.test(b) && (d = h.left, e = a.runtimeStyle, f = e && e.left, f && (e.left = a.
vendor: 10,844 bytes, lines 2038-2252
2038currentStyle.left), h.left = "fontSize" === b ? "1em" : g, g = h.pixelLeft + "px", h.left = d, f && (e.left = f)), void 0 === g ? g : g + "" || "auto"
2039    });
2040
2041    function Lb(a, b) {
2042        return {
2043            get: function() {
2044                var c = a();
2045                if (null != c) return c ? void delete this.get : (this.get = b).apply(this, arguments)
2046            }
2047        }
2048    }! function() {
2049        var b, c, d, e, f, g, h;
2050        if (b = y.createElement("div"), b.innerHTML = "  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", d = b.getElementsByTagName("a")[0], c = d && d.style) {
2051            c.cssText = "float:left;opacity:.5", k.opacity = "0.5" === c.opacity, k.cssFloat = !!c.cssFloat, b.style.backgroundClip = "content-box", b.cloneNode(!0).style.backgroundClip = "", k.clearCloneStyle = "content-box" === b.style.backgroundClip, k.boxSizing = "" === c.boxSizing || "" === c.MozBoxSizing || "" === c.WebkitBoxSizing, m.extend(k, {
2052                reliableHiddenOffsets: function() {
2053                    return null == g && i(), g
2054                },
2055                boxSizingReliable: function() {
2056                    return null == f && i(), f
2057                },
2058                pixelPosition: function() {
2059                    return null == e && i(), e
2060                },
2061                reliableMarginRight: function() {
2062                    return null == h && i(), h
2063                }
2064            });
2065
2066            function i() {
2067                var b, c, d, i;
2068                c = y.getElementsByTagName("body")[0], c && c.style && (b = y.createElement("div"), d = y.createElement("div"), d.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", c.appendChild(d).appendChild(b), b.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute", e = f = !1, h = !0, a.getComputedStyle && (e = "1%" !== (a.getComputedStyle(b, null) || {}).top, f = "4px" === (a.getComputedStyle(b, null) || {
2069                    width: "4px"
2070                }).width, i = b.appendChild(y.createElement("div")), i.style.cssText = b.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", i.style.marginRight = i.style.width = "0", b.style.width = "1px", h = !parseFloat((a.getComputedStyle(i, null) || {}).marginRight), b.removeChild(i)), b.innerHTML = "<table><tr><td></td><td>t</td></tr></table>", i = b.getElementsByTagName("td"), i[0].style.cssText = "margin:0;border:0;padding:0;display:none", g = 0 === i[0].offsetHeight, g && (i[0].style.display = "", i[1].style.display = "none", g = 0 === i[0].offsetHeight), c.removeChild(d))
2071            }
2072        }
2073    }(), m.swap = function(a, b, c, d) {
2074        var e, f, g = {};
2075        for (f in b) g[f] = a.style[f], a.style[f] = b[f];
2076        e = c.apply(a, d || []);
2077        for (f in b) a.style[f] = g[f];
2078        return e
2079    };
2080    var Mb = /alpha\([^)]*\)/i,
2081        Nb = /opacity\s*=\s*([^)]*)/,
2082        Ob = /^(none|table(?!-c[ea]).+)/,
2083        Pb = new RegExp("^(" + S + ")(.*)$", "i"),
2084        Qb = new RegExp("^([+-])=(" + S + ")", "i"),
2085        Rb = {
2086            position: "absolute",
2087            visibility: "hidden",
2088            display: "block"
2089        },
2090        Sb = {
2091            letterSpacing: "0",
2092            fontWeight: "400"
2093        },
2094        Tb = ["Webkit", "O", "Moz", "ms"];
2095
2096    function Ub(a, b) {
2097        if (b in a) return b;
2098        var c = b.charAt(0).toUpperCase() + b.slice(1),
2099            d = b,
2100            e = Tb.length;
2101        while (e--)
2102            if (b = Tb[e] + c, b in a) return b;
2103        return d
2104    }
2105
2106    function Vb(a, b) {
2107        for (var c, d, e, f = [], g = 0, h = a.length; h > g; g++) d = a[g], d.style && (f[g] = m._data(d, "olddisplay"), c = d.style.display, b ? (f[g] || "none" !== c || (d.style.display = ""), "" === d.style.display && U(d) && (f[g] = m._data(d, "olddisplay", Fb(d.nodeName)))) : (e = U(d), (c && "none" !== c || !e) && m._data(d, "olddisplay", e ? c : m.css(d, "display"))));
2108        for (g = 0; h > g; g++) d = a[g], d.style && (b && "none" !== d.style.display && "" !== d.style.display || (d.style.display = b ? f[g] || "" : "none"));
2109        return a
2110    }
2111
2112    function Wb(a, b, c) {
2113        var d = Pb.exec(b);
2114        return d ? Math.max(0, d[1] - (c || 0)) + (d[2] || "px") : b
2115    }
2116
2117    function Xb(a, b, c, d, e) {
2118        for (var f = c === (d ? "border" : "content") ? 4 : "width" === b ? 1 : 0, g = 0; 4 > f; f += 2) "margin" === c && (g += m.css(a, c + T[f], !0, e)), d ? ("content" === c && (g -= m.css(a, "padding" + T[f], !0, e)), "margin" !== c && (g -= m.css(a, "border" + T[f] + "Width", !0, e))) : (g += m.css(a, "padding" + T[f], !0, e), "padding" !== c && (g += m.css(a, "border" + T[f] + "Width", !0, e)));
2119        return g
2120    }
2121
2122    function Yb(a, b, c) {
2123        var d = !0,
2124            e = "width" === b ? a.offsetWidth : a.offsetHeight,
2125            f = Ib(a),
2126            g = k.boxSizing && "border-box" === m.css(a, "boxSizing", !1, f);
2127        if (0 >= e || null == e) {
2128            if (e = Jb(a, b, f), (0 > e || null == e) && (e = a.style[b]), Hb.test(e)) return e;
2129            d = g && (k.boxSizingReliable() || e === a.style[b]), e = parseFloat(e) || 0
2130        }
2131        return e + Xb(a, b, c || (g ? "border" : "content"), d, f) + "px"
2132    }
2133    m.extend({
2134        cssHooks: {
2135            opacity: {
2136                get: function(a, b) {
2137                    if (b) {
2138                        var c = Jb(a, "opacity");
2139                        return "" === c ? "1" : c
2140                    }
2141                }
2142            }
2143        },
2144        cssNumber: {
2145            columnCount: !0,
2146            fillOpacity: !0,
2147            flexGrow: !0,
2148            flexShrink: !0,
2149            fontWeight: !0,
2150            lineHeight: !0,
2151            opacity: !0,
2152            order: !0,
2153            orphans: !0,
2154            widows: !0,
2155            zIndex: !0,
2156            zoom: !0
2157        },
2158        cssProps: {
2159            "float": k.cssFloat ? "cssFloat" : "styleFloat"
2160        },
2161        style: function(a, b, c, d) {
2162            if (a && 3 !== a.nodeType && 8 !== a.nodeType && a.style) {
2163                var e, f, g, h = m.camelCase(b),
2164                    i = a.style;
2165                if (b = m.cssProps[h] || (m.cssProps[h] = Ub(i, h)), g = m.cssHooks[b] || m.cssHooks[h], void 0 === c) return g && "get" in g && void 0 !== (e = g.get(a, !1, d)) ? e : i[b];
2166                if (f = typeof c, "string" === f && (e = Qb.exec(c)) && (c = (e[1] + 1) * e[2] + parseFloat(m.css(a, b)), f = "number"), null != c && c === c && ("number" !== f || m.cssNumber[h] || (c += "px"), k.clearCloneStyle || "" !== c || 0 !== b.indexOf("background") || (i[b] = "inherit"), !(g && "set" in g && void 0 === (c = g.set(a, c, d))))) try {
2167                    i[b] = c
2168                } catch (j) {}
2169            }
2170        },
2171        css: function(a, b, c, d) {
2172            var e, f, g, h = m.camelCase(b);
2173            return b = m.cssProps[h] || (m.cssProps[h] = Ub(a.style, h)), g = m.cssHooks[b] || m.cssHooks[h], g && "get" in g && (f = g.get(a, !0, c)), void 0 === f && (f = Jb(a, b, d)), "normal" === f && b in Sb && (f = Sb[b]), "" === c || c ? (e = parseFloat(f), c === !0 || m.isNumeric(e) ? e || 0 : f) : f
2174        }
2175    }), m.each(["height", "width"], function(a, b) {
2176        m.cssHooks[b] = {
2177            get: function(a, c, d) {
2178                return c ? Ob.test(m.css(a, "display")) && 0 === a.offsetWidth ? m.swap(a, Rb, function() {
2179                    return Yb(a, b, d)
2180                }) : Yb(a, b, d) : void 0
2181            },
2182            set: function(a, c, d) {
2183                var e = d && Ib(a);
2184                return Wb(a, c, d ? Xb(a, b, d, k.boxSizing && "border-box" === m.css(a, "boxSizing", !1, e), e) : 0)
2185            }
2186        }
2187    }), k.opacity || (m.cssHooks.opacity = {
2188        get: function(a, b) {
2189            return Nb.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : b ? "1" : ""
2190        },
2191        set: function(a, b) {
2192            var c = a.style,
2193                d = a.currentStyle,
2194                e = m.isNumeric(b) ? "alpha(opacity=" + 100 * b + ")" : "",
2195                f = d && d.filter || c.filter || "";
2196            c.zoom = 1, (b >= 1 || "" === b) && "" === m.trim(f.replace(Mb, "")) && c.removeAttribute && (c.removeAttribute("filter"), "" === b || d && !d.filter) || (c.filter = Mb.test(f) ? f.replace(Mb, e) : f + " " + e)
2197        }
2198    }), m.cssHooks.marginRight = Lb(k.reliableMarginRight, function(a, b) {
2199        return b ? m.swap(a, {
2200            display: "inline-block"
2201        }, Jb, [a, "marginRight"]) : void 0
2202    }), m.each({
2203        margin: "",
2204        padding: "",
2205        border: "Width"
2206    }, function(a, b) {
2207        m.cssHooks[a + b] = {
2208            expand: function(c) {
2209                for (var d = 0, e = {}, f = "string" == typeof c ? c.split(" ") : [c]; 4 > d; d++) e[a + T[d] + b] = f[d] || f[d - 2] || f[0];
2210                return e
2211            }
2212        }, Gb.test(a) || (m.cssHooks[a + b].set = Wb)
2213    }), m.fn.extend({
2214        css: function(a, b) {
2215            return V(this, function(a, b, c) {
2216                var d, e, f = {},
2217                    g = 0;
2218                if (m.isArray(b)) {
2219                    for (d = Ib(a), e = b.length; e > g; g++) f[b[g]] = m.css(a, b[g], !1, d);
2220                    return f
2221                }
2222                return void 0 !== c ? m.style(a, b, c) : m.css(a, b)
2223            }, a, b, arguments.length > 1)
2224        },
2225        show: function() {
2226            return Vb(this, !0)
2227        },
2228        hide: function() {
2229            return Vb(this)
2230        },
2231        toggle: function(a) {
2232            return "boolean" == typeof a ? a ? this.show() : this.hide() : this.each(function() {
2233                U(this) ? m(this).show() : m(this).hide()
2234            })
2235        }
2236    });
2237
2238    function Zb(a, b, c, d, e) {
2239        return new Zb.prototype.init(a, b, c, d, e)
2240    }
2241    m.Tween = Zb, Zb.prototype = {
2242        constructor: Zb,
2243        init: function(a, b, c, d, e, f) {
2244            this.elem = a, this.prop = c, this.easing = e || "swing", this.options = b, this.start = this.now = this.cur(), this.end = d, this.unit = f || (m.cssNumber[c] ? "" : "px")
2245        },
2246        cur: function() {
2247            var a = Zb.propHooks[this.prop];
2248            return a && a.get ? a.get(this) : Zb.propHooks._default.get(this)
2249        },
2250        run: function(a) {
2251            var b, c = Zb.propHooks[this.prop];
2252            return this.pos = b = this.options.duration ? m.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : a, this.now = (this.end 
vendor: 28,037 bytes, lines 2252-2857
2252- this.start) * b + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), c && c.set ? c.set(this) : Zb.propHooks._default.set(this), this
2253        }
2254    }, Zb.prototype.init.prototype = Zb.prototype, Zb.propHooks = {
2255        _default: {
2256            get: function(a) {
2257                var b;
2258                return null == a.elem[a.prop] || a.elem.style && null != a.elem.style[a.prop] ? (b = m.css(a.elem, a.prop, ""), b && "auto" !== b ? b : 0) : a.elem[a.prop]
2259            },
2260            set: function(a) {
2261                m.fx.step[a.prop] ? m.fx.step[a.prop](a) : a.elem.style && (null != a.elem.style[m.cssProps[a.prop]] || m.cssHooks[a.prop]) ? m.style(a.elem, a.prop, a.now + a.unit) : a.elem[a.prop] = a.now
2262            }
2263        }
2264    }, Zb.propHooks.scrollTop = Zb.propHooks.scrollLeft = {
2265        set: function(a) {
2266            a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now)
2267        }
2268    }, m.easing = {
2269        linear: function(a) {
2270            return a
2271        },
2272        swing: function(a) {
2273            return .5 - Math.cos(a * Math.PI) / 2
2274        }
2275    }, m.fx = Zb.prototype.init, m.fx.step = {};
2276    var $b, _b, ac = /^(?:toggle|show|hide)$/,
2277        bc = new RegExp("^(?:([+-])=|)(" + S + ")([a-z%]*)$", "i"),
2278        cc = /queueHooks$/,
2279        dc = [ic],
2280        ec = {
2281            "*": [function(a, b) {
2282                var c = this.createTween(a, b),
2283                    d = c.cur(),
2284                    e = bc.exec(b),
2285                    f = e && e[3] || (m.cssNumber[a] ? "" : "px"),
2286                    g = (m.cssNumber[a] || "px" !== f && +d) && bc.exec(m.css(c.elem, a)),
2287                    h = 1,
2288                    i = 20;
2289                if (g && g[3] !== f) {
2290                    f = f || g[3], e = e || [], g = +d || 1;
2291                    do h = h || ".5", g /= h, m.style(c.elem, a, g + f); while (h !== (h = c.cur() / d) && 1 !== h && --i)
2292                }
2293                return e && (g = c.start = +g || +d || 0, c.unit = f, c.end = e[1] ? g + (e[1] + 1) * e[2] : +e[2]), c
2294            }]
2295        };
2296
2297    function fc() {
2298        return setTimeout(function() {
2299            $b = void 0
2300        }), $b = m.now()
2301    }
2302
2303    function gc(a, b) {
2304        var c, d = {
2305                height: a
2306            },
2307            e = 0;
2308        for (b = b ? 1 : 0; 4 > e; e += 2 - b) c = T[e], d["margin" + c] = d["padding" + c] = a;
2309        return b && (d.opacity = d.width = a), d
2310    }
2311
2312    function hc(a, b, c) {
2313        for (var d, e = (ec[b] || []).concat(ec["*"]), f = 0, g = e.length; g > f; f++)
2314            if (d = e[f].call(c, b, a)) return d
2315    }
2316
2317    function ic(a, b, c) {
2318        var d, e, f, g, h, i, j, l, n = this,
2319            o = {},
2320            p = a.style,
2321            q = a.nodeType && U(a),
2322            r = m._data(a, "fxshow");
2323        c.queue || (h = m._queueHooks(a, "fx"), null == h.unqueued && (h.unqueued = 0, i = h.empty.fire, h.empty.fire = function() {
2324            h.unqueued || i()
2325        }), h.unqueued++, n.always(function() {
2326            n.always(function() {
2327                h.unqueued--, m.queue(a, "fx").length || h.empty.fire()
2328            })
2329        })), 1 === a.nodeType && ("height" in b || "width" in b) && (c.overflow = [p.overflow, p.overflowX, p.overflowY], j = m.css(a, "display"), l = "none" === j ? m._data(a, "olddisplay") || Fb(a.nodeName) : j, "inline" === l && "none" === m.css(a, "float") && (k.inlineBlockNeedsLayout && "inline" !== Fb(a.nodeName) ? p.zoom = 1 : p.display = "inline-block")), c.overflow && (p.overflow = "hidden", k.shrinkWrapBlocks() || n.always(function() {
2330            p.overflow = c.overflow[0], p.overflowX = c.overflow[1], p.overflowY = c.overflow[2]
2331        }));
2332        for (d in b)
2333            if (e = b[d], ac.exec(e)) {
2334                if (delete b[d], f = f || "toggle" === e, e === (q ? "hide" : "show")) {
2335                    if ("show" !== e || !r || void 0 === r[d]) continue;
2336                    q = !0
2337                }
2338                o[d] = r && r[d] || m.style(a, d)
2339            } else j = void 0;
2340        if (m.isEmptyObject(o)) "inline" === ("none" === j ? Fb(a.nodeName) : j) && (p.display = j);
2341        else {
2342            r ? "hidden" in r && (q = r.hidden) : r = m._data(a, "fxshow", {}), f && (r.hidden = !q), q ? m(a).show() : n.done(function() {
2343                m(a).hide()
2344            }), n.done(function() {
2345                var b;
2346                m._removeData(a, "fxshow");
2347                for (b in o) m.style(a, b, o[b])
2348            });
2349            for (d in o) g = hc(q ? r[d] : 0, d, n), d in r || (r[d] = g.start, q && (g.end = g.start, g.start = "width" === d || "height" === d ? 1 : 0))
2350        }
2351    }
2352
2353    function jc(a, b) {
2354        var c, d, e, f, g;
2355        for (c in a)
2356            if (d = m.camelCase(c), e = b[d], f = a[c], m.isArray(f) && (e = f[1], f = a[c] = f[0]), c !== d && (a[d] = f, delete a[c]), g = m.cssHooks[d], g && "expand" in g) {
2357                f = g.expand(f), delete a[d];
2358                for (c in f) c in a || (a[c] = f[c], b[c] = e)
2359            } else b[d] = e
2360    }
2361
2362    function kc(a, b, c) {
2363        var d, e, f = 0,
2364            g = dc.length,
2365            h = m.Deferred().always(function() {
2366                delete i.elem
2367            }),
2368            i = function() {
2369                if (e) return !1;
2370                for (var b = $b || fc(), c = Math.max(0, j.startTime + j.duration - b), d = c / j.duration || 0, f = 1 - d, g = 0, i = j.tweens.length; i > g; g++) j.tweens[g].run(f);
2371                return h.notifyWith(a, [j, f, c]), 1 > f && i ? c : (h.resolveWith(a, [j]), !1)
2372            },
2373            j = h.promise({
2374                elem: a,
2375                props: m.extend({}, b),
2376                opts: m.extend(!0, {
2377                    specialEasing: {}
2378                }, c),
2379                originalProperties: b,
2380                originalOptions: c,
2381                startTime: $b || fc(),
2382                duration: c.duration,
2383                tweens: [],
2384                createTween: function(b, c) {
2385                    var d = m.Tween(a, j.opts, b, c, j.opts.specialEasing[b] || j.opts.easing);
2386                    return j.tweens.push(d), d
2387                },
2388                stop: function(b) {
2389                    var c = 0,
2390                        d = b ? j.tweens.length : 0;
2391                    if (e) return this;
2392                    for (e = !0; d > c; c++) j.tweens[c].run(1);
2393                    return b ? h.resolveWith(a, [j, b]) : h.rejectWith(a, [j, b]), this
2394                }
2395            }),
2396            k = j.props;
2397        for (jc(k, j.opts.specialEasing); g > f; f++)
2398            if (d = dc[f].call(j, a, k, j.opts)) return d;
2399        return m.map(k, hc, j), m.isFunction(j.opts.start) && j.opts.start.call(a, j), m.fx.timer(m.extend(i, {
2400            elem: a,
2401            anim: j,
2402            queue: j.opts.queue
2403        })), j.progress(j.opts.progress).done(j.opts.done, j.opts.complete).fail(j.opts.fail).always(j.opts.always)
2404    }
2405    m.Animation = m.extend(kc, {
2406            tweener: function(a, b) {
2407                m.isFunction(a) ? (b = a, a = ["*"]) : a = a.split(" ");
2408                for (var c, d = 0, e = a.length; e > d; d++) c = a[d], ec[c] = ec[c] || [], ec[c].unshift(b)
2409            },
2410            prefilter: function(a, b) {
2411                b ? dc.unshift(a) : dc.push(a)
2412            }
2413        }), m.speed = function(a, b, c) {
2414            var d = a && "object" == typeof a ? m.extend({}, a) : {
2415                complete: c || !c && b || m.isFunction(a) && a,
2416                duration: a,
2417                easing: c && b || b && !m.isFunction(b) && b
2418            };
2419            return d.duration = m.fx.off ? 0 : "number" == typeof d.duration ? d.duration : d.duration in m.fx.speeds ? m.fx.speeds[d.duration] : m.fx.speeds._default, (null == d.queue || d.queue === !0) && (d.queue = "fx"), d.old = d.complete, d.complete = function() {
2420                m.isFunction(d.old) && d.old.call(this), d.queue && m.dequeue(this, d.queue)
2421            }, d
2422        }, m.fn.extend({
2423            fadeTo: function(a, b, c, d) {
2424                return this.filter(U).css("opacity", 0).show().end().animate({
2425                    opacity: b
2426                }, a, c, d)
2427            },
2428            animate: function(a, b, c, d) {
2429                var e = m.isEmptyObject(a),
2430                    f = m.speed(b, c, d),
2431                    g = function() {
2432                        var b = kc(this, m.extend({}, a), f);
2433                        (e || m._data(this, "finish")) && b.stop(!0)
2434                    };
2435                return g.finish = g, e || f.queue === !1 ? this.each(g) : this.queue(f.queue, g)
2436            },
2437            stop: function(a, b, c) {
2438                var d = function(a) {
2439                    var b = a.stop;
2440                    delete a.stop, b(c)
2441                };
2442                return "string" != typeof a && (c = b, b = a, a = void 0), b && a !== !1 && this.queue(a || "fx", []), this.each(function() {
2443                    var b = !0,
2444                        e = null != a && a + "queueHooks",
2445                        f = m.timers,
2446                        g = m._data(this);
2447                    if (e) g[e] && g[e].stop && d(g[e]);
2448                    else
2449                        for (e in g) g[e] && g[e].stop && cc.test(e) && d(g[e]);
2450                    for (e = f.length; e--;) f[e].elem !== this || null != a && f[e].queue !== a || (f[e].anim.stop(c), b = !1, f.splice(e, 1));
2451                    (b || !c) && m.dequeue(this, a)
2452                })
2453            },
2454            finish: function(a) {
2455                return a !== !1 && (a = a || "fx"), this.each(function() {
2456                    var b, c = m._data(this),
2457                        d = c[a + "queue"],
2458                        e = c[a + "queueHooks"],
2459                        f = m.timers,
2460                        g = d ? d.length : 0;
2461                    for (c.finish = !0, m.queue(this, a, []), e && e.stop && e.stop.call(this, !0), b = f.length; b--;) f[b].elem === this && f[b].queue === a && (f[b].anim.stop(!0), f.splice(b, 1));
2462                    for (b = 0; g > b; b++) d[b] && d[b].finish && d[b].finish.call(this);
2463                    delete c.finish
2464                })
2465            }
2466        }), m.each(["toggle", "show", "hide"], function(a, b) {
2467            var c = m.fn[b];
2468            m.fn[b] = function(a, d, e) {
2469                return null == a || "boolean" == typeof a ? c.apply(this, arguments) : this.animate(gc(b, !0), a, d, e)
2470            }
2471        }), m.each({
2472            slideDown: gc("show"),
2473            slideUp: gc("hide"),
2474            slideToggle: gc("toggle"),
2475            fadeIn: {
2476                opacity: "show"
2477            },
2478            fadeOut: {
2479                opacity: "hide"
2480            },
2481            fadeToggle: {
2482                opacity: "toggle"
2483            }
2484        }, function(a, b) {
2485            m.fn[a] = function(a, c, d) {
2486                return this.animate(b, a, c, d)
2487            }
2488        }), m.timers = [], m.fx.tick = function() {
2489            var a, b = m.timers,
2490                c = 0;
2491            for ($b = m.now(); c < b.length; c++) a = b[c], a() || b[c] !== a || b.splice(c--, 1);
2492            b.length || m.fx.stop(), $b = void 0
2493        }, m.fx.timer = function(a) {
2494            m.timers.push(a), a() ? m.fx.start() : m.timers.pop()
2495        }, m.fx.interval = 13, m.fx.start = function() {
2496            _b || (_b = setInterval(m.fx.tick, m.fx.interval))
2497        }, m.fx.stop = function() {
2498            clearInterval(_b), _b = null
2499        }, m.fx.speeds = {
2500            slow: 600,
2501            fast: 200,
2502            _default: 400
2503        }, m.fn.delay = function(a, b) {
2504            return a = m.fx ? m.fx.speeds[a] || a : a, b = b || "fx", this.queue(b, function(b, c) {
2505                var d = setTimeout(b, a);
2506                c.stop = function() {
2507                    clearTimeout(d)
2508                }
2509            })
2510        },
2511        function() {
2512            var a, b, c, d, e;
2513            b = y.createElement("div"), b.setAttribute("className", "t"), b.innerHTML = "  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>", d = b.getElementsByTagName("a")[0], c = y.createElement("select"), e = c.appendChild(y.createElement("option")), a = b.getElementsByTagName("input")[0], d.style.cssText = "top:1px", k.getSetAttribute = "t" !== b.className, k.style = /top/.test(d.getAttribute("style")), k.hrefNormalized = "/a" === d.getAttribute("href"), k.checkOn = !!a.value, k.optSelected = e.selected, k.enctype = !!y.createElement("form").enctype, c.disabled = !0, k.optDisabled = !e.disabled, a = y.createElement("input"), a.setAttribute("value", ""), k.input = "" === a.getAttribute("value"), a.value = "t", a.setAttribute("type", "radio"), k.radioValue = "t" === a.value
2514        }();
2515    var lc = /\r/g;
2516    m.fn.extend({
2517        val: function(a) {
2518            var b, c, d, e = this[0]; {
2519                if (arguments.length) return d = m.isFunction(a), this.each(function(c) {
2520                    var e;
2521                    1 === this.nodeType && (e = d ? a.call(this, c, m(this).val()) : a, null == e ? e = "" : "number" == typeof e ? e += "" : m.isArray(e) && (e = m.map(e, function(a) {
2522                        return null == a ? "" : a + ""
2523                    })), b = m.valHooks[this.type] || m.valHooks[this.nodeName.toLowerCase()], b && "set" in b && void 0 !== b.set(this, e, "value") || (this.value = e))
2524                });
2525                if (e) return b = m.valHooks[e.type] || m.valHooks[e.nodeName.toLowerCase()], b && "get" in b && void 0 !== (c = b.get(e, "value")) ? c : (c = e.value, "string" == typeof c ? c.replace(lc, "") : null == c ? "" : c)
2526            }
2527        }
2528    }), m.extend({
2529        valHooks: {
2530            option: {
2531                get: function(a) {
2532                    var b = m.find.attr(a, "value");
2533                    return null != b ? b : m.trim(m.text(a))
2534                }
2535            },
2536            select: {
2537                get: function(a) {
2538                    for (var b, c, d = a.options, e = a.selectedIndex, f = "select-one" === a.type || 0 > e, g = f ? null : [], h = f ? e + 1 : d.length, i = 0 > e ? h : f ? e : 0; h > i; i++)
2539                        if (c = d[i], !(!c.selected && i !== e || (k.optDisabled ? c.disabled : null !== c.getAttribute("disabled")) || c.parentNode.disabled && m.nodeName(c.parentNode, "optgroup"))) {
2540                            if (b = m(c).val(), f) return b;
2541                            g.push(b)
2542                        }
2543                    return g
2544                },
2545                set: function(a, b) {
2546                    var c, d, e = a.options,
2547                        f = m.makeArray(b),
2548                        g = e.length;
2549                    while (g--)
2550                        if (d = e[g], m.inArray(m.valHooks.option.get(d), f) >= 0) try {
2551                            d.selected = c = !0
2552                        } catch (h) {
2553                            d.scrollHeight
2554                        } else d.selected = !1;
2555                    return c || (a.selectedIndex = -1), e
2556                }
2557            }
2558        }
2559    }), m.each(["radio", "checkbox"], function() {
2560        m.valHooks[this] = {
2561            set: function(a, b) {
2562                return m.isArray(b) ? a.checked = m.inArray(m(a).val(), b) >= 0 : void 0
2563            }
2564        }, k.checkOn || (m.valHooks[this].get = function(a) {
2565            return null === a.getAttribute("value") ? "on" : a.value
2566        })
2567    });
2568    var mc, nc, oc = m.expr.attrHandle,
2569        pc = /^(?:checked|selected)$/i,
2570        qc = k.getSetAttribute,
2571        rc = k.input;
2572    m.fn.extend({
2573        attr: function(a, b) {
2574            return V(this, m.attr, a, b, arguments.length > 1)
2575        },
2576        removeAttr: function(a) {
2577            return this.each(function() {
2578                m.removeAttr(this, a)
2579            })
2580        }
2581    }), m.extend({
2582        attr: function(a, b, c) {
2583            var d, e, f = a.nodeType;
2584            if (a && 3 !== f && 8 !== f && 2 !== f) return typeof a.getAttribute === K ? m.prop(a, b, c) : (1 === f && m.isXMLDoc(a) || (b = b.toLowerCase(), d = m.attrHooks[b] || (m.expr.match.bool.test(b) ? nc : mc)), void 0 === c ? d && "get" in d && null !== (e = d.get(a, b)) ? e : (e = m.find.attr(a, b), null == e ? void 0 : e) : null !== c ? d && "set" in d && void 0 !== (e = d.set(a, c, b)) ? e : (a.setAttribute(b, c + ""), c) : void m.removeAttr(a, b))
2585        },
2586        removeAttr: function(a, b) {
2587            var c, d, e = 0,
2588                f = b && b.match(E);
2589            if (f && 1 === a.nodeType)
2590                while (c = f[e++]) d = m.propFix[c] || c, m.expr.match.bool.test(c) ? rc && qc || !pc.test(c) ? a[d] = !1 : a[m.camelCase("default-" + c)] = a[d] = !1 : m.attr(a, c, ""), a.removeAttribute(qc ? c : d)
2591        },
2592        attrHooks: {
2593            type: {
2594                set: function(a, b) {
2595                    if (!k.radioValue && "radio" === b && m.nodeName(a, "input")) {
2596                        var c = a.value;
2597                        return a.setAttribute("type", b), c && (a.value = c), b
2598                    }
2599                }
2600            }
2601        }
2602    }), nc = {
2603        set: function(a, b, c) {
2604            return b === !1 ? m.removeAttr(a, c) : rc && qc || !pc.test(c) ? a.setAttribute(!qc && m.propFix[c] || c, c) : a[m.camelCase("default-" + c)] = a[c] = !0, c
2605        }
2606    }, m.each(m.expr.match.bool.source.match(/\w+/g), function(a, b) {
2607        var c = oc[b] || m.find.attr;
2608        oc[b] = rc && qc || !pc.test(b) ? function(a, b, d) {
2609            var e, f;
2610            return d || (f = oc[b], oc[b] = e, e = null != c(a, b, d) ? b.toLowerCase() : null, oc[b] = f), e
2611        } : function(a, b, c) {
2612            return c ? void 0 : a[m.camelCase("default-" + b)] ? b.toLowerCase() : null
2613        }
2614    }), rc && qc || (m.attrHooks.value = {
2615        set: function(a, b, c) {
2616            return m.nodeName(a, "input") ? void(a.defaultValue = b) : mc && mc.set(a, b, c)
2617        }
2618    }), qc || (mc = {
2619        set: function(a, b, c) {
2620            var d = a.getAttributeNode(c);
2621            return d || a.setAttributeNode(d = a.ownerDocument.createAttribute(c)), d.value = b += "", "value" === c || b === a.getAttribute(c) ? b : void 0
2622        }
2623    }, oc.id = oc.name = oc.coords = function(a, b, c) {
2624        var d;
2625        return c ? void 0 : (d = a.getAttributeNode(b)) && "" !== d.value ? d.value : null
2626    }, m.valHooks.button = {
2627        get: function(a, b) {
2628            var c = a.getAttributeNode(b);
2629            return c && c.specified ? c.value : void 0
2630        },
2631        set: mc.set
2632    }, m.attrHooks.contenteditable = {
2633        set: function(a, b, c) {
2634            mc.set(a, "" === b ? !1 : b, c)
2635        }
2636    }, m.each(["width", "height"], function(a, b) {
2637        m.attrHooks[b] = {
2638            set: function(a, c) {
2639                return "" === c ? (a.setAttribute(b, "auto"), c) : void 0
2640            }
2641        }
2642    })), k.style || (m.attrHooks.style = {
2643        get: function(a) {
2644            return a.style.cssText || void 0
2645        },
2646        set: function(a, b) {
2647            return a.style.cssText = b + ""
2648        }
2649    });
2650    var sc = /^(?:input|select|textarea|button|object)$/i,
2651        tc = /^(?:a|area)$/i;
2652    m.fn.extend({
2653        prop: function(a, b) {
2654            return V(this, m.prop, a, b, arguments.length > 1)
2655        },
2656        removeProp: function(a) {
2657            return a = m.propFix[a] || a, this.each(function() {
2658                try {
2659                    this[a] = void 0, delete this[a]
2660                } catch (b) {}
2661            })
2662        }
2663    }), m.extend({
2664        propFix: {
2665            "for": "htmlFor",
2666            "class": "className"
2667        },
2668        prop: function(a, b, c) {
2669            var d, e, f, g = a.nodeType;
2670            if (a && 3 !== g && 8 !== g && 2 !== g) return f = 1 !== g || !m.isXMLDoc(a), f && (b = m.propFix[b] || b, e = m.propHooks[b]), void 0 !== c ? e && "set" in e && void 0 !== (d = e.set(a, c, b)) ? d : a[b] = c : e && "get" in e && null !== (d = e.get(a, b)) ? d : a[b]
2671        },
2672        propHooks: {
2673            tabIndex: {
2674                get: function(a) {
2675                    var b = m.find.attr(a, "tabindex");
2676                    return b ? parseInt(b, 10) : sc.test(a.nodeName) || tc.test(a.nodeName) && a.href ? 0 : -1
2677                }
2678            }
2679        }
2680    }), k.hrefNormalized || m.each(["href", "src"], function(a, b) {
2681        m.propHooks[b] = {
2682            get: function(a) {
2683                return a.getAttribute(b, 4)
2684            }
2685        }
2686    }), k.optSelected || (m.propHooks.selected = {
2687        get: function(a) {
2688            var b = a.parentNode;
2689            return b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex), null
2690        }
2691    }), m.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() {
2692        m.propFix[this.toLowerCase()] = this
2693    }), k.enctype || (m.propFix.enctype = "encoding");
2694    var uc = /[\t\r\n\f]/g;
2695    m.fn.extend({
2696        addClass: function(a) {
2697            var b, c, d, e, f, g, h = 0,
2698                i = this.length,
2699                j = "string" == typeof a && a;
2700            if (m.isFunction(a)) return this.each(function(b) {
2701                m(this).addClass(a.call(this, b, this.className))
2702            });
2703            if (j)
2704                for (b = (a || "").match(E) || []; i > h; h++)
2705                    if (c = this[h], d = 1 === c.nodeType && (c.className ? (" " + c.className + " ").replace(uc, " ") : " ")) {
2706                        f = 0;
2707                        while (e = b[f++]) d.indexOf(" " + e + " ") < 0 && (d += e + " ");
2708                        g = m.trim(d), c.className !== g && (c.className = g)
2709                    }
2710            return this
2711        },
2712        removeClass: function(a) {
2713            var b, c, d, e, f, g, h = 0,
2714                i = this.length,
2715                j = 0 === arguments.length || "string" == typeof a && a;
2716            if (m.isFunction(a)) return this.each(function(b) {
2717                m(this).removeClass(a.call(this, b, this.className))
2718            });
2719            if (j)
2720                for (b = (a || "").match(E) || []; i > h; h++)
2721                    if (c = this[h], d = 1 === c.nodeType && (c.className ? (" " + c.className + " ").replace(uc, " ") : "")) {
2722                        f = 0;
2723                        while (e = b[f++])
2724                            while (d.indexOf(" " + e + " ") >= 0) d = d.replace(" " + e + " ", " ");
2725                        g = a ? m.trim(d) : "", c.className !== g && (c.className = g)
2726                    }
2727            return this
2728        },
2729        toggleClass: function(a, b) {
2730            var c = typeof a;
2731            return "boolean" == typeof b && "string" === c ? b ? this.addClass(a) : this.removeClass(a) : this.each(m.isFunction(a) ? function(c) {
2732                m(this).toggleClass(a.call(this, c, this.className, b), b)
2733            } : function() {
2734                if ("string" === c) {
2735                    var b, d = 0,
2736                        e = m(this),
2737                        f = a.match(E) || [];
2738                    while (b = f[d++]) e.hasClass(b) ? e.removeClass(b) : e.addClass(b)
2739                } else(c === K || "boolean" === c) && (this.className && m._data(this, "__className__", this.className), this.className = this.className || a === !1 ? "" : m._data(this, "__className__") || "")
2740            })
2741        },
2742        hasClass: function(a) {
2743            for (var b = " " + a + " ", c = 0, d = this.length; d > c; c++)
2744                if (1 === this[c].nodeType && (" " + this[c].className + " ").replace(uc, " ").indexOf(b) >= 0) return !0;
2745            return !1
2746        }
2747    }), m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(a, b) {
2748        m.fn[b] = function(a, c) {
2749            return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b)
2750        }
2751    }), m.fn.extend({
2752        hover: function(a, b) {
2753            return this.mouseenter(a).mouseleave(b || a)
2754        },
2755        bind: function(a, b, c) {
2756            return this.on(a, null, b, c)
2757        },
2758        unbind: function(a, b) {
2759            return this.off(a, null, b)
2760        },
2761        delegate: function(a, b, c, d) {
2762            return this.on(b, a, c, d)
2763        },
2764        undelegate: function(a, b, c) {
2765            return 1 === arguments.length ? this.off(a, "**") : this.off(b, a || "**", c)
2766        }
2767    });
2768    var vc = m.now(),
2769        wc = /\?/,
2770        xc = /(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;
2771    m.parseJSON = function(b) {
2772        if (a.JSON && a.JSON.parse) return a.JSON.parse(b + "");
2773        var c, d = null,
2774            e = m.trim(b + "");
2775        return e && !m.trim(e.replace(xc, function(a, b, e, f) {
2776            return c && b && (d = 0), 0 === d ? a : (c = e || b, d += !f - !e, "")
2777        })) ? Function("return " + e)() : m.error("Invalid JSON: " + b)
2778    }, m.parseXML = function(b) {
2779        var c, d;
2780        if (!b || "string" != typeof b) return null;
2781        try {
2782            a.DOMParser ? (d = new DOMParser, c = d.parseFromString(b, "text/xml")) : (c = new ActiveXObject("Microsoft.XMLDOM"), c.async = "false", c.loadXML(b))
2783        } catch (e) {
2784            c = void 0
2785        }
2786        return c && c.documentElement && !c.getElementsByTagName("parsererror").length || m.error("Invalid XML: " + b), c
2787    };
2788    var yc, zc, Ac = /#.*$/,
2789        Bc = /([?&])_=[^&]*/,
2790        Cc = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm,
2791        Dc = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
2792        Ec = /^(?:GET|HEAD)$/,
2793        Fc = /^\/\//,
2794        Gc = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,
2795        Hc = {},
2796        Ic = {},
2797        Jc = "*/".concat("*");
2798    try {
2799        zc = location.href
2800    } catch (Kc) {
2801        zc = y.createElement("a"), zc.href = "", zc = zc.href
2802    }
2803    yc = Gc.exec(zc.toLowerCase()) || [];
2804
2805    function Lc(a) {
2806        return function(b, c) {
2807            "string" != typeof b && (c = b, b = "*");
2808            var d, e = 0,
2809                f = b.toLowerCase().match(E) || [];
2810            if (m.isFunction(c))
2811                while (d = f[e++]) "+" === d.charAt(0) ? (d = d.slice(1) || "*", (a[d] = a[d] || []).unshift(c)) : (a[d] = a[d] || []).push(c)
2812        }
2813    }
2814
2815    function Mc(a, b, c, d) {
2816        var e = {},
2817            f = a === Ic;
2818
2819        function g(h) {
2820            var i;
2821            return e[h] = !0, m.each(a[h] || [], function(a, h) {
2822                var j = h(b, c, d);
2823                return "string" != typeof j || f || e[j] ? f ? !(i = j) : void 0 : (b.dataTypes.unshift(j), g(j), !1)
2824            }), i
2825        }
2826        return g(b.dataTypes[0]) || !e["*"] && g("*")
2827    }
2828
2829    function Nc(a, b) {
2830        var c, d, e = m.ajaxSettings.flatOptions || {};
2831        for (d in b) void 0 !== b[d] && ((e[d] ? a : c || (c = {}))[d] = b[d]);
2832        return c && m.extend(!0, a, c), a
2833    }
2834
2835    function Oc(a, b, c) {
2836        var d, e, f, g, h = a.contents,
2837            i = a.dataTypes;
2838        while ("*" === i[0]) i.shift(), void 0 === e && (e = a.mimeType || b.getResponseHeader("Content-Type"));
2839        if (e)
2840            for (g in h)
2841                if (h[g] && h[g].test(e)) {
2842                    i.unshift(g);
2843                    break
2844                }
2845        if (i[0] in c) f = i[0];
2846        else {
2847            for (g in c) {
2848                if (!i[0] || a.converters[g + " " + i[0]]) {
2849                    f = g;
2850                    break
2851                }
2852                d || (d = g)
2853            }
2854            f = f || d
2855        }
2856        return f ? (f !== i[0] && i.unshift(f), c[f]) : void 0
2857    }
vendor: 4,964 bytes, lines 2858-2984
2858
2859    function Pc(a, b, c, d) {
2860        var e, f, g, h, i, j = {},
2861            k = a.dataTypes.slice();
2862        if (k[1])
2863            for (g in a.converters) j[g.toLowerCase()] = a.converters[g];
2864        f = k.shift();
2865        while (f)
2866            if (a.responseFields[f] && (c[a.responseFields[f]] = b), !i && d && a.dataFilter && (b = a.dataFilter(b, a.dataType)), i = f, f = k.shift())
2867                if ("*" === f) f = i;
2868                else if ("*" !== i && i !== f) {
2869            if (g = j[i + " " + f] || j["* " + f], !g)
2870                for (e in j)
2871                    if (h = e.split(" "), h[1] === f && (g = j[i + " " + h[0]] || j["* " + h[0]])) {
2872                        g === !0 ? g = j[e] : j[e] !== !0 && (f = h[0], k.unshift(h[1]));
2873                        break
2874                    }
2875            if (g !== !0)
2876                if (g && a["throws"]) b = g(b);
2877                else try {
2878                    b = g(b)
2879                } catch (l) {
2880                    return {
2881                        state: "parsererror",
2882                        error: g ? l : "No conversion from " + i + " to " + f
2883                    }
2884                }
2885        }
2886        return {
2887            state: "success",
2888            data: b
2889        }
2890    }
2891    m.extend({
2892        active: 0,
2893        lastModified: {},
2894        etag: {},
2895        ajaxSettings: {
2896            url: zc,
2897            type: "GET",
2898            isLocal: Dc.test(yc[1]),
2899            global: !0,
2900            processData: !0,
2901            async: !0,
2902            contentType: "application/x-www-form-urlencoded; charset=UTF-8",
2903            accepts: {
2904                "*": Jc,
2905                text: "text/plain",
2906                html: "text/html",
2907                xml: "application/xml, text/xml",
2908                json: "application/json, text/javascript"
2909            },
2910            contents: {
2911                xml: /xml/,
2912                html: /html/,
2913                json: /json/
2914            },
2915            responseFields: {
2916                xml: "responseXML",
2917                text: "responseText",
2918                json: "responseJSON"
2919            },
2920            converters: {
2921                "* text": String,
2922                "text html": !0,
2923                "text json": m.parseJSON,
2924                "text xml": m.parseXML
2925            },
2926            flatOptions: {
2927                url: !0,
2928                context: !0
2929            }
2930        },
2931        ajaxSetup: function(a, b) {
2932            return b ? Nc(Nc(a, m.ajaxSettings), b) : Nc(m.ajaxSettings, a)
2933        },
2934        ajaxPrefilter: Lc(Hc),
2935        ajaxTransport: Lc(Ic),
2936        ajax: function(a, b) {
2937            "object" == typeof a && (b = a, a = void 0), b = b || {};
2938            var c, d, e, f, g, h, i, j, k = m.ajaxSetup({}, b),
2939                l = k.context || k,
2940                n = k.context && (l.nodeType || l.jquery) ? m(l) : m.event,
2941                o = m.Deferred(),
2942                p = m.Callbacks("once memory"),
2943                q = k.statusCode || {},
2944                r = {},
2945                s = {},
2946                t = 0,
2947                u = "canceled",
2948                v = {
2949                    readyState: 0,
2950                    getResponseHeader: function(a) {
2951                        var b;
2952                        if (2 === t) {
2953                            if (!j) {
2954                                j = {};
2955                                while (b = Cc.exec(f)) j[b[1].toLowerCase()] = b[2]
2956                            }
2957                            b = j[a.toLowerCase()]
2958                        }
2959                        return null == b ? null : b
2960                    },
2961                    getAllResponseHeaders: function() {
2962                        return 2 === t ? f : null
2963                    },
2964                    setRequestHeader: function(a, b) {
2965                        var c = a.toLowerCase();
2966                        return t || (a = s[c] = s[c] || a, r[a] = b), this
2967                    },
2968                    overrideMimeType: function(a) {
2969                        return t || (k.mimeType = a), this
2970                    },
2971                    statusCode: function(a) {
2972                        var b;
2973                        if (a)
2974                            if (2 > t)
2975                                for (b in a) q[b] = [q[b], a[b]];
2976                            else v.always(a[v.status]);
2977                        return this
2978                    },
2979                    abort: function(a) {
2980                        var b = a || u;
2981                        return i && i.abort(b), x(0, b), this
2982                    }
2983                };
2984            if (o.promise(v).complete = p.add, v.success = v.done, v.error = v.fail, k.url = ((a || k.url || zc) + "").replace(Ac, "").replace(Fc, yc[1] + "//"), k.type = b.method || b.type || k.method || k.type, k.dataTypes = m.trim(k.dataType || "*").toLowerCase().match(E) || [""], null == k.crossDomain && (c = Gc.exec(k.url.toLowerCase()), k.crossDomain = !(!c || c[
vendor: 18,465 bytes, lines 2984-3366
29841] === yc[1] && c[2] === yc[2] && (c[3] || ("http:" === c[1] ? "80" : "443")) === (yc[3] || ("http:" === yc[1] ? "80" : "443")))), k.data && k.processData && "string" != typeof k.data && (k.data = m.param(k.data, k.traditional)), Mc(Hc, k, b, v), 2 === t) return v;
2985            h = m.event && k.global, h && 0 === m.active++ && m.event.trigger("ajaxStart"), k.type = k.type.toUpperCase(), k.hasContent = !Ec.test(k.type), e = k.url, k.hasContent || (k.data && (e = k.url += (wc.test(e) ? "&" : "?") + k.data, delete k.data), k.cache === !1 && (k.url = Bc.test(e) ? e.replace(Bc, "$1_=" + vc++) : e + (wc.test(e) ? "&" : "?") + "_=" + vc++)), k.ifModified && (m.lastModified[e] && v.setRequestHeader("If-Modified-Since", m.lastModified[e]), m.etag[e] && v.setRequestHeader("If-None-Match", m.etag[e])), (k.data && k.hasContent && k.contentType !== !1 || b.contentType) && v.setRequestHeader("Content-Type", k.contentType), v.setRequestHeader("Accept", k.dataTypes[0] && k.accepts[k.dataTypes[0]] ? k.accepts[k.dataTypes[0]] + ("*" !== k.dataTypes[0] ? ", " + Jc + "; q=0.01" : "") : k.accepts["*"]);
2986            for (d in k.headers) v.setRequestHeader(d, k.headers[d]);
2987            if (k.beforeSend && (k.beforeSend.call(l, v, k) === !1 || 2 === t)) return v.abort();
2988            u = "abort";
2989            for (d in {
2990                    success: 1,
2991                    error: 1,
2992                    complete: 1
2993                }) v[d](k[d]);
2994            if (i = Mc(Ic, k, b, v)) {
2995                v.readyState = 1, h && n.trigger("ajaxSend", [v, k]), k.async && k.timeout > 0 && (g = setTimeout(function() {
2996                    v.abort("timeout")
2997                }, k.timeout));
2998                try {
2999                    t = 1, i.send(r, x)
3000                } catch (w) {
3001                    if (!(2 > t)) throw w;
3002                    x(-1, w)
3003                }
3004            } else x(-1, "No Transport");
3005
3006            function x(a, b, c, d) {
3007                var j, r, s, u, w, x = b;
3008                2 !== t && (t = 2, g && clearTimeout(g), i = void 0, f = d || "", v.readyState = a > 0 ? 4 : 0, j = a >= 200 && 300 > a || 304 === a, c && (u = Oc(k, v, c)), u = Pc(k, u, v, j), j ? (k.ifModified && (w = v.getResponseHeader("Last-Modified"), w && (m.lastModified[e] = w), w = v.getResponseHeader("etag"), w && (m.etag[e] = w)), 204 === a || "HEAD" === k.type ? x = "nocontent" : 304 === a ? x = "notmodified" : (x = u.state, r = u.data, s = u.error, j = !s)) : (s = x, (a || !x) && (x = "error", 0 > a && (a = 0))), v.status = a, v.statusText = (b || x) + "", j ? o.resolveWith(l, [r, x, v]) : o.rejectWith(l, [v, x, s]), v.statusCode(q), q = void 0, h && n.trigger(j ? "ajaxSuccess" : "ajaxError", [v, k, j ? r : s]), p.fireWith(l, [v, x]), h && (n.trigger("ajaxComplete", [v, k]), --m.active || m.event.trigger("ajaxStop")))
3009            }
3010            return v
3011        },
3012        getJSON: function(a, b, c) {
3013            return m.get(a, b, c, "json")
3014        },
3015        getScript: function(a, b) {
3016            return m.get(a, void 0, b, "script")
3017        }
3018    }), m.each(["get", "post"], function(a, b) {
3019        m[b] = function(a, c, d, e) {
3020            return m.isFunction(c) && (e = e || d, d = c, c = void 0), m.ajax({
3021                url: a,
3022                type: b,
3023                dataType: e,
3024                data: c,
3025                success: d
3026            })
3027        }
3028    }), m._evalUrl = function(a) {
3029        return m.ajax({
3030            url: a,
3031            type: "GET",
3032            dataType: "script",
3033            async: !1,
3034            global: !1,
3035            "throws": !0
3036        })
3037    }, m.fn.extend({
3038        wrapAll: function(a) {
3039            if (m.isFunction(a)) return this.each(function(b) {
3040                m(this).wrapAll(a.call(this, b))
3041            });
3042            if (this[0]) {
3043                var b = m(a, this[0].ownerDocument).eq(0).clone(!0);
3044                this[0].parentNode && b.insertBefore(this[0]), b.map(function() {
3045                    var a = this;
3046                    while (a.firstChild && 1 === a.firstChild.nodeType) a = a.firstChild;
3047                    return a
3048                }).append(this)
3049            }
3050            return this
3051        },
3052        wrapInner: function(a) {
3053            return this.each(m.isFunction(a) ? function(b) {
3054                m(this).wrapInner(a.call(this, b))
3055            } : function() {
3056                var b = m(this),
3057                    c = b.contents();
3058                c.length ? c.wrapAll(a) : b.append(a)
3059            })
3060        },
3061        wrap: function(a) {
3062            var b = m.isFunction(a);
3063            return this.each(function(c) {
3064                m(this).wrapAll(b ? a.call(this, c) : a)
3065            })
3066        },
3067        unwrap: function() {
3068            return this.parent().each(function() {
3069                m.nodeName(this, "body") || m(this).replaceWith(this.childNodes)
3070            }).end()
3071        }
3072    }), m.expr.filters.hidden = function(a) {
3073        return a.offsetWidth <= 0 && a.offsetHeight <= 0 || !k.reliableHiddenOffsets() && "none" === (a.style && a.style.display || m.css(a, "display"))
3074    }, m.expr.filters.visible = function(a) {
3075        return !m.expr.filters.hidden(a)
3076    };
3077    var Qc = /%20/g,
3078        Rc = /\[\]$/,
3079        Sc = /\r?\n/g,
3080        Tc = /^(?:submit|button|image|reset|file)$/i,
3081        Uc = /^(?:input|select|textarea|keygen)/i;
3082
3083    function Vc(a, b, c, d) {
3084        var e;
3085        if (m.isArray(b)) m.each(b, function(b, e) {
3086            c || Rc.test(a) ? d(a, e) : Vc(a + "[" + ("object" == typeof e ? b : "") + "]", e, c, d)
3087        });
3088        else if (c || "object" !== m.type(b)) d(a, b);
3089        else
3090            for (e in b) Vc(a + "[" + e + "]", b[e], c, d)
3091    }
3092    m.param = function(a, b) {
3093        var c, d = [],
3094            e = function(a, b) {
3095                b = m.isFunction(b) ? b() : null == b ? "" : b, d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b)
3096            };
3097        if (void 0 === b && (b = m.ajaxSettings && m.ajaxSettings.traditional), m.isArray(a) || a.jquery && !m.isPlainObject(a)) m.each(a, function() {
3098            e(this.name, this.value)
3099        });
3100        else
3101            for (c in a) Vc(c, a[c], b, e);
3102        return d.join("&").replace(Qc, "+")
3103    }, m.fn.extend({
3104        serialize: function() {
3105            return m.param(this.serializeArray())
3106        },
3107        serializeArray: function() {
3108            return this.map(function() {
3109                var a = m.prop(this, "elements");
3110                return a ? m.makeArray(a) : this
3111            }).filter(function() {
3112                var a = this.type;
3113                return this.name && !m(this).is(":disabled") && Uc.test(this.nodeName) && !Tc.test(a) && (this.checked || !W.test(a))
3114            }).map(function(a, b) {
3115                var c = m(this).val();
3116                return null == c ? null : m.isArray(c) ? m.map(c, function(a) {
3117                    return {
3118                        name: b.name,
3119                        value: a.replace(Sc, "\r\n")
3120                    }
3121                }) : {
3122                    name: b.name,
3123                    value: c.replace(Sc, "\r\n")
3124                }
3125            }).get()
3126        }
3127    }), m.ajaxSettings.xhr = void 0 !== a.ActiveXObject ? function() {
3128        return !this.isLocal && /^(get|post|head|put|delete|options)$/i.test(this.type) && Zc() || $c()
3129    } : Zc;
3130    var Wc = 0,
3131        Xc = {},
3132        Yc = m.ajaxSettings.xhr();
3133    a.attachEvent && a.attachEvent("onunload", function() {
3134        for (var a in Xc) Xc[a](void 0, !0)
3135    }), k.cors = !!Yc && "withCredentials" in Yc, Yc = k.ajax = !!Yc, Yc && m.ajaxTransport(function(a) {
3136        if (!a.crossDomain || k.cors) {
3137            var b;
3138            return {
3139                send: function(c, d) {
3140                    var e, f = a.xhr(),
3141                        g = ++Wc;
3142                    if (f.open(a.type, a.url, a.async, a.username, a.password), a.xhrFields)
3143                        for (e in a.xhrFields) f[e] = a.xhrFields[e];
3144                    a.mimeType && f.overrideMimeType && f.overrideMimeType(a.mimeType), a.crossDomain || c["X-Requested-With"] || (c["X-Requested-With"] = "XMLHttpRequest");
3145                    for (e in c) void 0 !== c[e] && f.setRequestHeader(e, c[e] + "");
3146                    f.send(a.hasContent && a.data || null), b = function(c, e) {
3147                        var h, i, j;
3148                        if (b && (e || 4 === f.readyState))
3149                            if (delete Xc[g], b = void 0, f.onreadystatechange = m.noop, e) 4 !== f.readyState && f.abort();
3150                            else {
3151                                j = {}, h = f.status, "string" == typeof f.responseText && (j.text = f.responseText);
3152                                try {
3153                                    i = f.statusText
3154                                } catch (k) {
3155                                    i = ""
3156                                }
3157                                h || !a.isLocal || a.crossDomain ? 1223 === h && (h = 204) : h = j.text ? 200 : 404
3158                            }
3159                        j && d(h, i, j, f.getAllResponseHeaders())
3160                    }, a.async ? 4 === f.readyState ? setTimeout(b) : f.onreadystatechange = Xc[g] = b : b()
3161                },
3162                abort: function() {
3163                    b && b(void 0, !0)
3164                }
3165            }
3166        }
3167    });
3168
3169    function Zc() {
3170        try {
3171            return new a.XMLHttpRequest
3172        } catch (b) {}
3173    }
3174
3175    function $c() {
3176        try {
3177            return new a.ActiveXObject("Microsoft.XMLHTTP")
3178        } catch (b) {}
3179    }
3180    m.ajaxSetup({
3181        accepts: {
3182            script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
3183        },
3184        contents: {
3185            script: /(?:java|ecma)script/
3186        },
3187        converters: {
3188            "text script": function(a) {
3189                return m.globalEval(a), a
3190            }
3191        }
3192    }), m.ajaxPrefilter("script", function(a) {
3193        void 0 === a.cache && (a.cache = !1), a.crossDomain && (a.type = "GET", a.global = !1)
3194    }), m.ajaxTransport("script", function(a) {
3195        if (a.crossDomain) {
3196            var b, c = y.head || m("head")[0] || y.documentElement;
3197            return {
3198                send: function(d, e) {
3199                    b = y.createElement("script"), b.async = !0, a.scriptCharset && (b.charset = a.scriptCharset), b.src = a.url, b.onload = b.onreadystatechange = function(a, c) {
3200                        (c || !b.readyState || /loaded|complete/.test(b.readyState)) && (b.onload = b.onreadystatechange = null, b.parentNode && b.parentNode.removeChild(b), b = null, c || e(200, "success"))
3201                    }, c.insertBefore(b, c.firstChild)
3202                },
3203                abort: function() {
3204                    b && b.onload(void 0, !0)
3205                }
3206            }
3207        }
3208    });
3209    var _c = [],
3210        ad = /(=)\?(?=&|$)|\?\?/;
3211    m.ajaxSetup({
3212        jsonp: "callback",
3213        jsonpCallback: function() {
3214            var a = _c.pop() || m.expando + "_" + vc++;
3215            return this[a] = !0, a
3216        }
3217    }), m.ajaxPrefilter("json jsonp", function(b, c, d) {
3218        var e, f, g, h = b.jsonp !== !1 && (ad.test(b.url) ? "url" : "string" == typeof b.data && !(b.contentType || "").indexOf("application/x-www-form-urlencoded") && ad.test(b.data) && "data");
3219        return h || "jsonp" === b.dataTypes[0] ? (e = b.jsonpCallback = m.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback, h ? b[h] = b[h].replace(ad, "$1" + e) : b.jsonp !== !1 && (b.url += (wc.test(b.url) ? "&" : "?") + b.jsonp + "=" + e), b.converters["script json"] = function() {
3220            return g || m.error(e + " was not called"), g[0]
3221        }, b.dataTypes[0] = "json", f = a[e], a[e] = function() {
3222            g = arguments
3223        }, d.always(function() {
3224            a[e] = f, b[e] && (b.jsonpCallback = c.jsonpCallback, _c.push(e)), g && m.isFunction(f) && f(g[0]), g = f = void 0
3225        }), "script") : void 0
3226    }), m.parseHTML = function(a, b, c) {
3227        if (!a || "string" != typeof a) return null;
3228        "boolean" == typeof b && (c = b, b = !1), b = b || y;
3229        var d = u.exec(a),
3230            e = !c && [];
3231        return d ? [b.createElement(d[1])] : (d = m.buildFragment([a], b, e), e && e.length && m(e).remove(), m.merge([], d.childNodes))
3232    };
3233    var bd = m.fn.load;
3234    m.fn.load = function(a, b, c) {
3235        if ("string" != typeof a && bd) return bd.apply(this, arguments);
3236        var d, e, f, g = this,
3237            h = a.indexOf(" ");
3238        return h >= 0 && (d = m.trim(a.slice(h, a.length)), a = a.slice(0, h)), m.isFunction(b) ? (c = b, b = void 0) : b && "object" == typeof b && (f = "POST"), g.length > 0 && m.ajax({
3239            url: a,
3240            type: f,
3241            dataType: "html",
3242            data: b
3243        }).done(function(a) {
3244            e = arguments, g.html(d ? m("<div>").append(m.parseHTML(a)).find(d) : a)
3245        }).complete(c && function(a, b) {
3246            g.each(c, e || [a.responseText, b, a])
3247        }), this
3248    }, m.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(a, b) {
3249        m.fn[b] = function(a) {
3250            return this.on(b, a)
3251        }
3252    }), m.expr.filters.animated = function(a) {
3253        return m.grep(m.timers, function(b) {
3254            return a === b.elem
3255        }).length
3256    };
3257    var cd = a.document.documentElement;
3258
3259    function dd(a) {
3260        return m.isWindow(a) ? a : 9 === a.nodeType ? a.defaultView || a.parentWindow : !1
3261    }
3262    m.offset = {
3263        setOffset: function(a, b, c) {
3264            var d, e, f, g, h, i, j, k = m.css(a, "position"),
3265                l = m(a),
3266                n = {};
3267            "static" === k && (a.style.position = "relative"), h = l.offset(), f = m.css(a, "top"), i = m.css(a, "left"), j = ("absolute" === k || "fixed" === k) && m.inArray("auto", [f, i]) > -1, j ? (d = l.position(), g = d.top, e = d.left) : (g = parseFloat(f) || 0, e = parseFloat(i) || 0), m.isFunction(b) && (b = b.call(a, c, h)), null != b.top && (n.top = b.top - h.top + g), null != b.left && (n.left = b.left - h.left + e), "using" in b ? b.using.call(a, n) : l.css(n)
3268        }
3269    }, m.fn.extend({
3270        offset: function(a) {
3271            if (arguments.length) return void 0 === a ? this : this.each(function(b) {
3272                m.offset.setOffset(this, a, b)
3273            });
3274            var b, c, d = {
3275                    top: 0,
3276                    left: 0
3277                },
3278                e = this[0],
3279                f = e && e.ownerDocument;
3280            if (f) return b = f.documentElement, m.contains(b, e) ? (typeof e.getBoundingClientRect !== K && (d = e.getBoundingClientRect()), c = dd(f), {
3281                top: d.top + (c.pageYOffset || b.scrollTop) - (b.clientTop || 0),
3282                left: d.left + (c.pageXOffset || b.scrollLeft) - (b.clientLeft || 0)
3283            }) : d
3284        },
3285        position: function() {
3286            if (this[0]) {
3287                var a, b, c = {
3288                        top: 0,
3289                        left: 0
3290                    },
3291                    d = this[0];
3292                return "fixed" === m.css(d, "position") ? b = d.getBoundingClientRect() : (a = this.offsetParent(), b = this.offset(), m.nodeName(a[0], "html") || (c = a.offset()), c.top += m.css(a[0], "borderTopWidth", !0), c.left += m.css(a[0], "borderLeftWidth", !0)), {
3293                    top: b.top - c.top - m.css(d, "marginTop", !0),
3294                    left: b.left - c.left - m.css(d, "marginLeft", !0)
3295                }
3296            }
3297        },
3298        offsetParent: function() {
3299            return this.map(function() {
3300                var a = this.offsetParent || cd;
3301                while (a && !m.nodeName(a, "html") && "static" === m.css(a, "position")) a = a.offsetParent;
3302                return a || cd
3303            })
3304        }
3305    }), m.each({
3306        scrollLeft: "pageXOffset",
3307        scrollTop: "pageYOffset"
3308    }, function(a, b) {
3309        var c = /Y/.test(b);
3310        m.fn[a] = function(d) {
3311            return V(this, function(a, d, e) {
3312                var f = dd(a);
3313                return void 0 === e ? f ? b in f ? f[b] : f.document.documentElement[d] : a[d] : void(f ? f.scrollTo(c ? m(f).scrollLeft() : e, c ? e : m(f).scrollTop()) : a[d] = e)
3314            }, a, d, arguments.length, null)
3315        }
3316    }), m.each(["top", "left"], function(a, b) {
3317        m.cssHooks[b] = Lb(k.pixelPosition, function(a, c) {
3318            return c ? (c = Jb(a, b), Hb.test(c) ? m(a).position()[b] + "px" : c) : void 0
3319        })
3320    }), m.each({
3321        Height: "height",
3322        Width: "width"
3323    }, function(a, b) {
3324        m.each({
3325            padding: "inner" + a,
3326            content: b,
3327            "": "outer" + a
3328        }, function(c, d) {
3329            m.fn[d] = function(d, e) {
3330                var f = arguments.length && (c || "boolean" != typeof d),
3331                    g = c || (d === !0 || e === !0 ? "margin" : "border");
3332                return V(this, function(b, c, d) {
3333                    var e;
3334                    return m.isWindow(b) ? b.document.documentElement["client" + a] : 9 === b.nodeType ? (e = b.documentElement, Math.max(b.body["scroll" + a], e["scroll" + a], b.body["offset" + a], e["offset" + a], e["client" + a])) : void 0 === d ? m.css(b, c, g) : m.style(b, c, d, g)
3335                }, b, f ? d : void 0, f, null)
3336            }
3337        })
3338    }), m.fn.size = function() {
3339        return this.length
3340    }, m.fn.andSelf = m.fn.addBack, "function" == typeof define && define.amd && define("jquery", [], function() {
3341        return m
3342    });
3343    var ed = a.jQuery,
3344        fd = a.$;
3345    return m.noConflict = function(b) {
3346        return a.$ === m && (a.$ = fd), b && a.jQuery === m && (a.jQuery = ed), m
3347    }, typeof b === K && (a.jQuery = a.$ = m), m
3348});
3349
3350function jwplayerCleanup(a) {
3351    if ("undefined" != typeof jwplayer && a) {
3352        var b = jwplayer(a);
3353        if (b.renderingMode) try {
3354            b.remove()
3355        } catch (c) {}
3356    }
3357}
3358
3359function newTab(a) {
3360    return window.open(a), !1
3361}
3362
3363function newWindow(a, b, c, d, e) {
3364    var f = parseInt((screen.availWidth - c) / 2),
3365        g = parseInt((screen.availHeight - d) / 2),
3366        h = window.open(a, b, "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=" + e + ",resizable=yes,navigation=no,width=" 
3366+ c + ",height=" + d + ",top=" + g + ",screenY=" + g + ",left=" + f + ",screenX=" + f);
3367    return h.focus && h.focus(), !1
3368}
3369
3370function blocked() {
3371    return alert("Зміст захищений авторським правом"), !1
3372}
3373
3374function livechat() {
3375    return newWindow("https://server.iad.liveperson.net/", "lc", 475, 400, "yes")
3376}
3377
3378function getCookie(a) {
3379    var b = document.cookie.match(new RegExp("(?:^|; )" + a.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, "\\$1") + "=([^;]*)"));
3380    return b ? decodeURIComponent(b[1]) : void 0
3381}
3382
3383function setCookie(a, b, c) {
3384    c = c || {};
3385    var d = c.expires;
3386    if ("number" == typeof d && d) {
3387        var e = new Date;
3388        e.setTime(e.getTime() + 1e3 * d), d = c.expires = e
3389    }
3390    d && d.toUTCString && (c.expires = d.toUTCString()), b = encodeURIComponent(b);
3391    var f = a + "=" + b;
3392    for (var g in c) {
3393        f += "; " + g;
3394        var h = c[g];
3395        h !== !0 && (f += "=" + h)
3396    }
3397    document.cookie = f
3398}
3399
3400function openMediaOrTab(a, b) {
3401    if (a)
3402        if (/\.(flv|mp4|mp3)$/i.test(a)) {
3403            var c, d = a,
3404                e = b ? b : "",
3405                f = 854,
3406                g = 480,
3407                h = $(window).width(),
3408                i = "",
3409                j = "",
3410                k = "omotMedia",
3411                l = "html5";
3412            /_(\d+)p\.mp4$/.test(d) ? (/(\d+)x(\d+)$/.test(e) || /(msie|trident)/i.test(navigator.userAgent)) && (l = "flash") : (f = 600, g = 400, l = "flash"), e = e.replace(/(\d+)x(\d+)$/, ""), isMobile.any && /\.(mp4|mp3)$/i.test(d) ? (/\.mp3$/i.test(d) ? (g = 50, j = '<audio id="' + k + '" src="' + d + '" width="100%" height="100%" controls></audio>') : (f > h && (g /= 2, f = "100%"), j = '<video id="' + k + '" src="' + d + '" width="100%" height="100%" controls></video>'), $.colorbox({
3413                html: j,
3414                title: e,
3415                innerHeight: g,
3416                innerWidth: f,
3417                maxHeight: "95%",
3418                maxWidth: "95%",
3419                scrolling: !1
3420            }), c = document.getElementById(k), c.addEventListener("click", function() {
3421                c.play()
3422            }, !1)) : (/\.mp3$/i.test(d) ? (g = 170, i = "/css/images/popups/sound.jpg") : g = f > h ? .95 * h * g / f : g, f = f > h ? .95 * h : f, $.colorbox({
3423                html: '<div id="' + k + '"></div>',
3424                title: e,
3425                innerHeight: g,
3426                innerWidth: f,
3427                scrolling: !1,
3428                onComplete: function() {
3429                    jwplayer(k).setup({
3430                        primary: l,
3431                        file: d,
3432                        height: g,
3433                        width: f,
3434                        skin: "/js/jwplayer/bekle.xml",
3435                        image: i,
3436                        autostart: !0,
3437                        abouttext: "wheels-pro.com.ua",
3438                        aboutlink: "http://www.wheels-pro.com.ua/"
3439                    })
3440                },
3441                onCleanup: function() {
3442                    jwplayerCleanup(k), $("#cboxLoadedContent").html("")
3443                }
3444            }))
3445        } else newTab(a);
3446    return !1
3447}
3448var isMobile = function() {
3449    var a = navigator.userAgent,
3450        b = {
3451            android: /android/i.test(a),
3452            blackberry: /blackberry/i.test(a),
3453            iphone: /iphone|ipod/i.test(a),
3454            ipad: /ipad/i.test(a),
3455            opera: /opera mini/i.test(a),
3456            windows: /iemobile/i.test(a)
3457        };
3458    return b.ios = b.iphone || b.ipad, b.any = b.android || b.blackberry || b.ios || b.opera || b.windows, b
3459}();
3460CRD.ready(function() {
3461    $(document).on("click", ".js-new-tab", function() {
3462        var a = $(this).attr("href");
3463        return a && newTab(a), !1
3464    }).on("contextmenu", ".js-blocked", function() {
3465        return blocked()
3466    }).on("click", ".js-livechat", function() {
3467        return livechat()
3468    }).on("click", ".js-new-window", function() {
3469        var a = $(this).attr("href"),
3470            b = $(this).data("new-window"),
3471            c = [600, 400, "yes"];
3472        return b = b && b.length && 3 === b.split("x").length ? b.split("x") : c, a ? (b = [a, "new"].concat(b), newWindow.apply(this, b)) : !1
3473    })
3474});
3475/*! Colorbox 1.5.14 | license: MIT | http://www.jacklmoore.com/colorbox */
3476(function(t, e, i) {
3477    function n(i, n, o) {
3478        var r = e.createElement(i);
3479        return n && (r.id = Z + n), o && (r.style.cssText = o), t(r)
3480    }
3481
3482    function o() {
3483        return i.innerHeight ? i.innerHeight : t(i).height()
3484    }
3485
3486    function r(e, i) {
3487        i !== Object(i) && (i = {}), this.cache = {}, this.el = e, this.value = function(e) {
3488            var n;
3489            return void 0 === this.cache[e] && (n = t(this.el).attr("data-cbox-" + e), void 0 !== n ? this.cache[e] = n : void 0 !== i[e] ? this.cache[e] = i[e] : void 0 !== X[e] && (this.cache[e] = X[e])), this.cache[e]
3490        }, this.get = function(e) {
3491            var i = this.value(e);
3492            return t.isFunction(i) ? i.call(this.el, this) : i
3493        }
3494    }
3495
3496    function h(t) {
3497        var e = W.length,
3498            i = (z + t) % e;
3499        return 0 > i ? e + i : i
3500    }
3501
3502    function a(t, e) {
3503        return Math.round((/%/.test(t) ? ("x" === e ? E.width() : o()) / 100 : 1) * parseInt(t, 10))
3504    }
3505
3506    function s(t, e) {
3507        return t.get("photo") || t.get("photoRegex").test(e)
3508    }
3509
3510    function l(t, e) {
3511        return t.get("retinaUrl") && i.devicePixelRatio > 1 ? e.replace(t.get("photoRegex"), t.get("retinaSuffix")) : e
3512    }
3513
3514    function d(t) {
3515        "contains" in y[0] && !y[0].contains(t.target) && t.target !== v[0] && (t.stopPropagation(), y.focus())
3516    }
3517
3518    function c(t) {
3519        c.str !== t && (y.add(v).removeClass(c.str).addClass(t), c.str = t)
3520    }
3521
3522    function g(e) {
3523        z = 0, e && e !== !1 && "nofollow" !== e ? (W = t("." + te).filter(function() {
3524            var i = t.data(this, Y),
3525                n = new r(this, i);
3526            return n.get("rel") === e
3527        }), z = W.index(_.el), -1 === z && (W = W.add(_.el), z = W.length - 1)) : W = t(_.el)
3528    }
3529
3530    function u(i) {
3531        t(e).trigger(i), ae.triggerHandler(i)
3532    }
3533
3534    function f(i) {
3535        var o;
3536        if (!G) {
3537            if (o = t(i).data(Y), _ = new r(i, o), g(_.get("rel")), !$) {
vendor: 12,137 bytes, lines 3538-3789
3538                $ = q = !0, c(_.get("className")), y.css({
3539                    visibility: "hidden",
3540                    display: "block",
3541                    opacity: ""
3542                }), L = n(se, "LoadedContent", "width:0; height:0; overflow:hidden; visibility:hidden"), b.css({
3543                    width: "",
3544                    height: ""
3545                }).append(L), D = T.height() + k.height() + b.outerHeight(!0) - b.height(), j = C.width() + H.width() + b.outerWidth(!0) - b.width(), A = L.outerHeight(!0), N = L.outerWidth(!0);
3546                var h = a(_.get("initialWidth"), "x"),
3547                    s = a(_.get("initialHeight"), "y"),
3548                    l = _.get("maxWidth"),
3549                    f = _.get("maxHeight");
3550                _.w = (l !== !1 ? Math.min(h, a(l, "x")) : h) - N - j, _.h = (f !== !1 ? Math.min(s, a(f, "y")) : s) - A - D, L.css({
3551                    width: "",
3552                    height: _.h
3553                }), J.position(), u(ee), _.get("onOpen"), O.add(F).hide(), y.focus(), _.get("trapFocus") && e.addEventListener && (e.addEventListener("focus", d, !0), ae.one(re, function() {
3554                    e.removeEventListener("focus", d, !0)
3555                })), _.get("returnFocus") && ae.one(re, function() {
3556                    t(_.el).focus()
3557                })
3558            }
3559            var p = parseFloat(_.get("opacity"));
3560            v.css({
3561                opacity: p === p ? p : "",
3562                cursor: _.get("overlayClose") ? "pointer" : "",
3563                visibility: "visible"
3564            }).show(), _.get("closeButton") ? B.html(_.get("close")).appendTo(b) : B.appendTo("<div/>"), w()
3565        }
3566    }
3567
3568    function p() {
3569        y || (V = !1, E = t(i), y = n(se).attr({
3570            id: Y,
3571            "class": t.support.opacity === !1 ? Z + "IE" : "",
3572            role: "dialog",
3573            tabindex: "-1"
3574        }).hide(), v = n(se, "Overlay").hide(), S = t([n(se, "LoadingOverlay")[0], n(se, "LoadingGraphic")[0]]), x = n(se, "Wrapper"), b = n(se, "Content").append(F = n(se, "Title"), I = n(se, "Current"), P = t('<button type="button"/>').attr({
3575            id: Z + "Previous"
3576        }), K = t('<button type="button"/>').attr({
3577            id: Z + "Next"
3578        }), R = n("button", "Slideshow"), S), B = t('<button type="button"/>').attr({
3579            id: Z + "Close"
3580        }), x.append(n(se).append(n(se, "TopLeft"), T = n(se, "TopCenter"), n(se, "TopRight")), n(se, !1, "clear:left").append(C = n(se, "MiddleLeft"), b, H = n(se, "MiddleRight")), n(se, !1, "clear:left").append(n(se, "BottomLeft"), k = n(se, "BottomCenter"), n(se, "BottomRight"))).find("div div").css({
3581            "float": "left"
3582        }), M = n(se, !1, "position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;"), O = K.add(P).add(I).add(R)), e.body && !y.parent().length && t(e.body).append(v, y.append(x, M))
3583    }
3584
3585    function m() {
3586        function i(t) {
3587            t.which > 1 || t.shiftKey || t.altKey || t.metaKey || t.ctrlKey || (t.preventDefault(), f(this))
3588        }
3589        return y ? (V || (V = !0, K.click(function() {
3590            J.next()
3591        }), P.click(function() {
3592            J.prev()
3593        }), B.click(function() {
3594            J.close()
3595        }), v.click(function() {
3596            _.get("overlayClose") && J.close()
3597        }), t(e).bind("keydown." + Z, function(t) {
3598            var e = t.keyCode;
3599            $ && _.get("escKey") && 27 === e && (t.preventDefault(), J.close()), $ && _.get("arrowKey") && W[1] && !t.altKey && (37 === e ? (t.preventDefault(), P.click()) : 39 === e && (t.preventDefault(), K.click()))
3600        }), t.isFunction(t.fn.on) ? t(e).on("click." + Z, "." + te, i) : t("." + te).live("click." + Z, i)), !0) : !1
3601    }
3602
3603    function w() {
3604        var e, o, r, h = J.prep,
3605            d = ++le;
3606        if (q = !0, U = !1, u(he), u(ie), _.get("onLoad"), _.h = _.get("height") ? a(_.get("height"), "y") - A - D : _.get("innerHeight") && a(_.get("innerHeight"), "y"), _.w = _.get("width") ? a(_.get("width"), "x") - N - j : _.get("innerWidth") && a(_.get("innerWidth"), "x"), _.mw = _.w, _.mh = _.h, _.get("maxWidth") && (_.mw = a(_.get("maxWidth"), "x") - N - j, _.mw = _.w && _.w < _.mw ? _.w : _.mw), _.get("maxHeight") && (_.mh = a(_.get("maxHeight"), "y") - A - D, _.mh = _.h && _.h < _.mh ? _.h : _.mh), e = _.get("href"), Q = setTimeout(function() {
3607                S.show()
3608            }, 100), _.get("inline")) {
3609            var c = t(e);
3610            r = t("<div>").hide().insertBefore(c), ae.one(he, function() {
3611                r.replaceWith(c)
3612            }), h(c)
3613        } else _.get("iframe") ? h(" ") : _.get("html") ? h(_.get("html")) : s(_, e) ? (e = l(_, e), U = new Image, t(U).addClass(Z + "Photo").bind("error", function() {
3614            h(n(se, "Error").html(_.get("imgError")))
3615        }).one("load", function() {
3616            d === le && setTimeout(function() {
3617                var e;
3618                t.each(["alt", "longdesc", "aria-describedby"], function(e, i) {
3619                    var n = t(_.el).attr(i) || t(_.el).attr("data-" + i);
3620                    n && U.setAttribute(i, n)
3621                }), _.get("retinaImage") && i.devicePixelRatio > 1 && (U.height = U.height / i.devicePixelRatio, U.width = U.width / i.devicePixelRatio), _.get("scalePhotos") && (o = function() {
3622                    U.height -= U.height * e, U.width -= U.width * e
3623                }, _.mw && U.width > _.mw && (e = (U.width - _.mw) / U.width, o()), _.mh && U.height > _.mh && (e = (U.height - _.mh) / U.height, o())), _.h && (U.style.marginTop = Math.max(_.mh - U.height, 0) / 2 + "px"), W[1] && (_.get("loop") || W[z + 1]) && (U.style.cursor = "pointer", U.onclick = function() {
3624                    J.next()
3625                }), U.style.width = U.width + "px", U.style.height = U.height + "px", h(U)
3626            }, 1)
3627        }), U.src = e) : e && M.load(e, _.get("data"), function(e, i) {
3628            d === le && h("error" === i ? n(se, "Error").html(_.get("xhrError")) : t(this).contents())
3629        })
3630    }
3631    var v, y, x, b, T, C, H, k, W, E, L, M, S, F, I, R, K, P, B, O, _, D, j, A, N, z, U, $, q, G, Q, J, V, X = {
3632            html: !1,
3633            photo: !1,
3634            iframe: !1,
3635            inline: !1,
3636            transition: "elastic",
3637            speed: 300,
3638            fadeOut: 300,
3639            width: !1,
3640            initialWidth: "600",
3641            innerWidth: !1,
3642            maxWidth: !1,
3643            height: !1,
3644            initialHeight: "450",
3645            innerHeight: !1,
3646            maxHeight: !1,
3647            scalePhotos: !0,
3648            scrolling: !0,
3649            opacity: .9,
3650            preloading: !0,
3651            className: !1,
3652            overlayClose: !0,
3653            escKey: !0,
3654            arrowKey: !0,
3655            top: !1,
3656            bottom: !1,
3657            left: !1,
3658            right: !1,
3659            fixed: !1,
3660            data: void 0,
3661            closeButton: !0,
3662            fastIframe: !0,
3663            open: !1,
3664            reposition: !0,
3665            loop: !0,
3666            slideshow: !1,
3667            slideshowAuto: !0,
3668            slideshowSpeed: 2500,
3669            slideshowStart: "start slideshow",
3670            slideshowStop: "stop slideshow",
3671            photoRegex: /\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,
3672            retinaImage: !1,
3673            retinaUrl: !1,
3674            retinaSuffix: "@2x.$1",
3675            current: "image {current} of {total}",
3676            previous: "previous",
3677            next: "next",
3678            close: "close",
3679            xhrError: "This content failed to load.",
3680            imgError: "This image failed to load.",
3681            returnFocus: !0,
3682            trapFocus: !0,
3683            onOpen: !1,
3684            onLoad: !1,
3685            onComplete: !1,
3686            onCleanup: !1,
3687            onClosed: !1,
3688            rel: function() {
3689                return this.rel
3690            },
3691            href: function() {
3692                return t(this).attr("href")
3693            },
3694            title: function() {
3695                return this.title
3696            }
3697        },
3698        Y = "colorbox",
3699        Z = "cbox",
3700        te = Z + "Element",
3701        ee = Z + "_open",
3702        ie = Z + "_load",
3703        ne = Z + "_complete",
3704        oe = Z + "_cleanup",
3705        re = Z + "_closed",
3706        he = Z + "_purge",
3707        ae = t("<a/>"),
3708        se = "div",
3709        le = 0,
3710        de = {},
3711        ce = function() {
3712            function t() {
3713                clearTimeout(h)
3714            }
3715
3716            function e() {
3717                (_.get("loop") || W[z + 1]) && (t(), h = setTimeout(J.next, _.get("slideshowSpeed")))
3718            }
3719
3720            function i() {
3721                R.html(_.get("slideshowStop")).unbind(s).one(s, n), ae.bind(ne, e).bind(ie, t), y.removeClass(a + "off").addClass(a + "on")
3722            }
3723
3724            function n() {
3725                t(), ae.unbind(ne, e).unbind(ie, t), R.html(_.get("slideshowStart")).unbind(s).one(s, function() {
3726                    J.next(), i()
3727                }), y.removeClass(a + "on").addClass(a + "off")
3728            }
3729
3730            function o() {
3731                r = !1, R.hide(), t(), ae.unbind(ne, e).unbind(ie, t), y.removeClass(a + "off " + a + "on")
3732            }
3733            var r, h, a = Z + "Slideshow_",
3734                s = "click." + Z;
3735            return function() {
3736                r ? _.get("slideshow") || (ae.unbind(oe, o), o()) : _.get("slideshow") && W[1] && (r = !0, ae.one(oe, o), _.get("slideshowAuto") ? i() : n(), R.show())
3737            }
3738        }();
3739    t[Y] || (t(p), J = t.fn[Y] = t[Y] = function(e, i) {
3740        var n, o = this;
3741        if (e = e || {}, t.isFunction(o)) o = t("<a/>"), e.open = !0;
3742        else if (!o[0]) return o;
3743        return o[0] ? (p(), m() && (i && (e.onComplete = i), o.each(function() {
3744            var i = t.data(this, Y) || {};
3745            t.data(this, Y, t.extend(i, e))
3746        }).addClass(te), n = new r(o[0], e), n.get("open") && f(o[0])), o) : o
3747    }, J.position = function(e, i) {
3748        function n() {
3749            T[0].style.width = k[0].style.width = b[0].style.width = parseInt(y[0].style.width, 10) - j + "px", b[0].style.height = C[0].style.height = H[0].style.height = parseInt(y[0].style.height, 10) - D + "px"
3750        }
3751        var r, h, s, l = 0,
3752            d = 0,
3753            c = y.offset();
3754        if (E.unbind("resize." + Z), y.css({
3755                top: -9e4,
3756                left: -9e4
3757            }), h = E.scrollTop(), s = E.scrollLeft(), _.get("fixed") ? (c.top -= h, c.left -= s, y.css({
3758                position: "fixed"
3759            })) : (l = h, d = s, y.css({
3760                position: "absolute"
3761            })), d += _.get("right") !== !1 ? Math.max(E.width() - _.w - N - j - a(_.get("right"), "x"), 0) : _.get("left") !== !1 ? a(_.get("left"), "x") : Math.round(Math.max(E.width() - _.w - N - j, 0) / 2), l += _.get("bottom") !== !1 ? Math.max(o() - _.h - A - D - a(_.get("bottom"), "y"), 0) : _.get("top") !== !1 ? a(_.get("top"), "y") : Math.round(Math.max(o() - _.h - A - D, 0) / 2), y.css({
3762                top: c.top,
3763                left: c.left,
3764                visibility: "visible"
3765            }), x[0].style.width = x[0].style.height = "9999px", r = {
3766                width: _.w + N + j,
3767                height: _.h + A + D,
3768                top: l,
3769                left: d
3770            }, e) {
3771            var g = 0;
3772            t.each(r, function(t) {
3773                return r[t] !== de[t] ? (g = e, void 0) : void 0
3774            }), e = g
3775        }
3776        de = r, e || y.css(r), y.dequeue().animate(r, {
3777            duration: e || 0,
3778            complete: function() {
3779                n(), q = !1, x[0].style.width = _.w + N + j + "px", x[0].style.height = _.h + A + D + "px", _.get("reposition") && setTimeout(function() {
3780                    E.bind("resize." + Z, J.position)
3781                }, 1), t.isFunction(i) && i()
3782            },
3783            step: n
3784        })
3785    }, J.resize = function(t) {
3786        var e;
3787        $ && (t = t || {}, t.width && (_.w = a(t.width, "x") - N - j), t.innerWidth && (_.w = a(t.innerWidth, "x")), L.css({
3788            width: _.w
3789        }
3789), t.height && (_.h = a(t.height, "y") - A - D), t.innerHeight && (_.h = a(t.innerHeight, "y")), t.innerHeight || t.height || (e = L.scrollTop(), L.css({
3790            height: "auto"
3791        }), _.h = L.height()), L.css({
3792            height: _.h
3793        }), e && L.scrollTop(e), J.position("none" === _.get("transition") ? 0 : _.get("speed")))
3794    }, J.prep = function(i) {
3795        function o() {
3796            return _.w = _.w || L.width(), _.w = _.mw && _.mw < _.w ? _.mw : _.w, _.w
3797        }
3798
3799        function a() {
3800            return _.h = _.h || L.height(), _.h = _.mh && _.mh < _.h ? _.mh : _.h, _.h
3801        }
3802        if ($) {
3803            var d, g = "none" === _.get("transition") ? 0 : _.get("speed");
3804            L.remove(), L = n(se, "LoadedContent").append(i), L.hide().appendTo(M.show()).css({
3805                width: o(),
3806                overflow: _.get("scrolling") ? "auto" : "hidden"
3807            }).css({
3808                height: a()
3809            }).prependTo(b), M.hide(), t(U).css({
3810                "float": "none"
3811            }), c(_.get("className")), d = function() {
3812                function i() {
3813                    t.support.opacity === !1 && y[0].style.removeAttribute("filter")
3814                }
3815                var n, o, a = W.length;
3816                $ && (o = function() {
3817                    clearTimeout(Q), S.hide(), u(ne), _.get("onComplete")
3818                }, F.html(_.get("title")).show(), L.show(), a > 1 ? ("string" == typeof _.get("current") && I.html(_.get("current").replace("{current}", z + 1).replace("{total}", a)).show(), K[_.get("loop") || a - 1 > z ? "show" : "hide"]().html(_.get("next")), P[_.get("loop") || z ? "show" : "hide"]().html(_.get("previous")), ce(), _.get("preloading") && t.each([h(-1), h(1)], function() {
3819                    var i, n = W[this],
3820                        o = new r(n, t.data(n, Y)),
3821                        h = o.get("href");
3822                    h && s(o, h) && (h = l(o, h), i = e.createElement("img"), i.src = h)
3823                })) : O.hide(), _.get("iframe") ? (n = e.createElement("iframe"), "frameBorder" in n && (n.frameBorder = 0), "allowTransparency" in n && (n.allowTransparency = "true"), _.get("scrolling") || (n.scrolling = "no"), t(n).attr({
3824                    src: _.get("href"),
3825                    name: (new Date).getTime(),
3826                    "class": Z + "Iframe",
3827                    allowFullScreen: !0
3828                }).one("load", o).appendTo(L), ae.one(he, function() {
3829                    n.src = "//about:blank"
3830                }), _.get("fastIframe") && t(n).trigger("load")) : o(), "fade" === _.get("transition") ? y.fadeTo(g, 1, i) : i())
3831            }, "fade" === _.get("transition") ? y.fadeTo(g, 0, function() {
3832                J.position(0, d)
3833            }) : J.position(g, d)
3834        }
3835    }, J.next = function() {
3836        !q && W[1] && (_.get("loop") || W[z + 1]) && (z = h(1), f(W[z]))
3837    }, J.prev = function() {
3838        !q && W[1] && (_.get("loop") || z) && (z = h(-1), f(W[z]))
3839    }, J.close = function() {
3840        $ && !G && (G = !0, $ = !1, u(oe), _.get("onCleanup"), E.unbind("." + Z), v.fadeTo(_.get("fadeOut") || 0, 0), y.stop().fadeTo(_.get("fadeOut") || 0, 0, function() {
3841            y.hide(), v.hide(), u(he), L.remove(), setTimeout(function() {
3842                G = !1, u(re), _.get("onClosed")
3843            }, 1)
3844        }))
3845    }, J.remove = function() {
3846        y && (y.stop(), t[Y].close(), y.stop(!1, !0).remove(), v.remove(), G = !1, y = null, t("." + te).removeData(Y).removeClass(te), t(e).unbind("click." + Z).unbind("keydown." + Z))
3847    }, J.element = function() {
3848        return t(_.el)
3849    }, J.settings = X)
3850})(jQuery, document, window);
3851jQuery.easing.jswing = jQuery.easing.swing;
3852jQuery.extend(jQuery.easing, {
3853    def: "easeOutQuad",
3854    swing: function(e, f, a, h, g) {
3855        return jQuery.easing[jQuery.easing.def](e, f, a, h, g)
3856    },
3857    easeInQuad: function(e, f, a, h, g) {
3858        return h * (f /= g) * f + a
3859    },
3860    easeOutQuad: function(e, f, a, h, g) {
3861        return -h * (f /= g) * (f - 2) + a
3862    },
3863    easeInOutQuad: function(e, f, a, h, g) {
3864        if ((f /= g / 2) < 1) {
3865            return h / 2 * f * f + a
3866        }
3867        return -h / 2 * ((--f) * (f - 2) - 1) + a
3868    },
3869    easeInOutExpo: function(e, f, a, h, g) {
3870        if (f == 0) {
3871            return a
3872        }
3873        if (f == g) {
3874            return a + h
3875        }
3876        if ((f /= g / 2) < 1) {
3877            return h / 2 * Math.pow(2, 10 * (f - 1)) + a
3878        }
3879        return h / 2 * (-Math.pow(2, -10 * --f) + 2) + a
3880    },
3881    easeOutBack: function(x, t, b, c, d, s) {
3882        if (s == undefined) s = 1.70158;
3883        return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;
3884    }
3885});
3886! function(a) {
3887    function b() {
3888        !k && document.body && (h = a(window), i = a("html"), j = a("body"), k = a('<div class="gbox"/>'), l = a('<div class="gbox_overlay"/>'), m = a('<div class="gbox_wrap"/>'), n = a('<div class="gbox_content_wrap"/>'), o = a('<div class="gbox_spacer"/>'), p = a('<div class="gbox_content"/>'), q = a('<div class="gbox_close"/>'), r = a('<div class="gbox_loader"/>'), s = navigator.userAgent.match(/(msie)\s(\d+)/i), t = isMobile.any ? !1 : e(), n.append(p, q), m.append(n, o), k.append(m), j.prepend(l, k, r), s && s[2] < 9 && m.css({
3889            "min-width": a(".wrap").width() + "px"
3890        }), s && s[2] < 8 || k.on({
3891            click: function(b) {
3892                A && (a(b.target).hasClass("gbox") || a(b.target).hasClass("gbox_wrap")) && a.gbox.close()
3893            },
3894            scroll: function() {
3895                j.trigger("scroll")
3896            }
3897        }), isMobile.ios && k.css("-webkit-overflow-scrolling", "auto"), q.on("click", function() {
3898            a.gbox.close()
3899        }), a(document).on("keydown", function(b) {
3900            if (y) {
3901                var c = b.keyCode ? b.keyCode : b.which;
3902                c >= 33 && 36 >= c || 38 === c || 40 === c ? b.preventDefault() : 27 === c && (b.preventDefault(), a.gbox.close())
3903            }
3904        }))
3905    }
3906
3907    function c(b) {
3908        if (s && s[2] < 8 && n.css("height", "auto"), "" !== a.trim(b.html)) return d(b.width, b.height), a.trim(b.html);
3909        if (b.iframe) {
3910            var c = b.href,
3911                e = 0,
3912                f = b.height ? b.height : "100%";
3913            if ("object" == typeof c && (c = c.href), c = a.trim(c), "" !== c) return -1 !== f.indexOf("%") && s && s[2] < 9 ? (e = s[2] < 8 ? parseInt(n.css("margin-top")) + parseInt(n.css("margin-bottom")) : parseInt(m.css("padding-top")) + parseInt(m.css("padding-bottom")), h.on("resize.iframe", function() {
3914                f = h.height() - e, d(b.width, f)
3915            })) : d(b.width, f), a('<iframe class="gbox_frame" src="' + c + '"' + (b.iframeBackgroundColor ? ' style="background-color:' + b.iframeBackgroundColor + '"' : "") + ' scrolling="' + b.iframeScrolling + '" frameborder="no"></iframe>')
3916        } else {
3917            var c = b.href;
3918            if ("string" == typeof c && (c = a(c)), c.length > 0) return w = c.parent(), d(b.width, b.height), c
3919        }
3920        return !1
3921    }
3922
3923    function d(a, b) {
3924        a && n.css({
3925            width: a
3926        }), b && n.css({
3927            height: b
3928        })
3929    }
3930
3931    function e() {
3932        var b = a("<div>").css({
3933                height: "200px",
3934                width: "100%"
3935            }),
3936            c = a("<div>").css({
3937                height: "100px",
3938                left: "0",
3939                overflow: "scroll",
3940                position: "absolute",
3941                top: "0",
3942                visibility: "hidden",
3943                width: "200px"
3944            });
3945        c.append(b), j.prepend(c);
3946        var d = c.width(),
3947            e = b.width();
3948        return d === e && (d = c.get(0).clientWidth, e = b.get(0).clientWidth), c.remove(), Math.abs(d - e)
3949    }
3950
3951    function f() {
3952        i.addClass("gbox_opened"), isMobile.any ? (k.show(), j.scrollTop(0)) : (k.fadeIn(300), l.fadeIn(200))
3953    }
3954
3955    function g(b, c) {
3956        a(document).trigger(b), a.isFunction(c) && c()
3957    }
3958    if (!a.gbox) {
3959        var h, i, j, k, l, m, n, o, p, q, r, s, t, u = {
3960                href: "",
3961                html: "",
3962                iframe: !1,
3963                height: !1,
3964                maxWidth: !1,
3965                width: !1,
3966                onComplete: !1,
3967                onClosed: !1,
3968                overlayClose: !0,
3969                verticalScrolling: !1,
3970                iframeScrolling: "auto",
3971                iframeBackgroundColor: ""
3972            },
3973            v = {},
3974            w = !1,
3975            x = !1,
3976            y = !1,
3977            z = !1,
3978            A = !0,
3979            B = "gbox_complete",
3980            C = "gbox_closed";
3981        a(b), a.gbox = a.fn.gbox = function(b) {
3982            if (v = a.extend({}, u, b), x = c(v)) {
3983                if (v.verticalScrolling && k.addClass("ov_y_scroll"), v.overlayClose || (A = !1), v.maxWidth)
3984                    if (v.iframe) {
3985                        var d = v.maxWidth;
3986                        "no" !== v.iframeScrolling && !v.width && String(v.maxWidth).indexOf("%") < 0 && (d = parseInt(v.maxWidth) + t + "px"), n.css({
3987                            "max-width": d
3988                        })
3989                    } else n.css({
3990                        "max-width": v.maxWidth
3991                    });
3992                v.width && String(v.width).indexOf("%") < 0 && m.addClass("gbox_fixed_width"), y ? (p.html(x), r.hide()) : (isMobile.any && (z = h.scrollTop()), p.append(x), v.iframe ? (f(), r.show(), x.on("load", function() {
3993                    r.hide()
3994                })) : (f(), r.hide()), g(B, v.onComplete), y = !0), a(document).trigger("checkFieldsWithPlaceholder")
3995            } else a.gbox.close()
3996        }, a.gbox.close = function() {
3997            y && (k.hide().removeClass("ov_y_scroll"), w && w.append(x), p.empty(), w = x 
3997= !1, m.removeClass("gbox_fixed_width"), n.css({
3998                height: "",
3999                "max-width": "",
4000                width: ""
4001            }), r.hide(), isMobile.any && j.stop(!0, !0).animate({
4002                scrollTop: z
4003            }, 10), i.removeClass("gbox_opened gbox_mobile"), l.fadeOut(300, function() {
4004                v.onClosed && g(C, v.onClosed), v = {}
4005            }), y = !1, A = !0, h.off("resize.iframe"))
4006        }, a.gbox.showLoader = function() {
4007            l.stop(!0, !0).show(), r.show()
4008        }, a.gbox.hideLoader = function() {
4009            l.stop(!0, !0).hide(), r.hide()
4010        }, a.gbox.scrollbarWidth = t
4011    }
4012}(jQuery);
4013! function(a) {
4014    a.fn.swipeX = function(b) {
4015        var c = {
4016            move: function() {},
4017            end: function() {},
4018            left: function() {},
4019            right: function() {},
4020            click: function() {}
4021        };
4022        a.isPlainObject(b) ? b = a.extend({}, c, b) : a.isFunction(b) ? (b = {
4023            end: b
4024        }, b = a.extend({}, c, b)) : b = c, window.requestAnimFrame = function() {
4025            return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(a) {
4026                setTimeout(a, 1e3 / 60)
4027            }
4028        }(), this.each(function() {
4029            var c, d, e, f, g, h = a(this),
4030                i = {
4031                    delta: 0,
4032                    direction: "",
4033                    speed: 0,
4034                    isSwipe: !1,
4035                    isEnd: !1,
4036                    isTouch: !1,
4037                    timeStamp: 0
4038                },
4039                j = {
4040                    startTime: 0,
4041                    currentTime: 0,
4042                    currentSpeed: 0,
4043                    currentDelta: 0
4044                },
4045                k = function() {
4046                    j.currentTime = +new Date, j.currentSpeed = Math.abs((i.delta - j.currentDelta) / (j.currentTime - j.startTime)), j.currentDelta = i.delta, i.speed = isNaN(j.currentSpeed) ? 0 : j.currentSpeed, i.isEnd || setTimeout(k, 50)
4047                },
4048                l = function() {
4049                    i.timeStamp = +new Date, 0 !== i.delta && (i.direction = i.delta > 0 ? "right" : "left"), i.speed > .3 && Math.abs(i.delta) > 30 && (i.isSwipe = !0), i.isEnd ? i.isSwipe && (b.end.call(h, i), "right" === i.direction ? b.right.call(h, i) : "left" === i.direction && b.left.call(h, i)) : requestAnimFrame(l), (i.isEnd || Math.abs(i.delta) > 10) && b.move.call(h, i)
4050                };
4051            h.on("touchstart.swipeTouchStart mousedown.swipeMouseDown", function(b) {
4052                var m = +new Date,
4053                    n = ".swipeMove";
4054                i = {
4055                    delta: 0,
4056                    direction: "",
4057                    speed: 0,
4058                    isSwipe: !1,
4059                    isEnd: !1,
4060                    isTouch: "touchstart" === b.type,
4061                    timeStamp: m
4062                }, j = {
4063                    startTime: m,
4064                    currentTime: m,
4065                    currentSpeed: 0,
4066                    currentDelta: 0
4067                }, c = i.isTouch ? b.originalEvent.touches[0].clientX : b.clientX, d = i.isTouch ? b.originalEvent.touches[0].clientY : b.clientY, e = 0, f = (i.isTouch ? "touchmove" : "mousemove") + n, g = i.isTouch ? "touchend" + n + " touchcancel" + n : "mouseup" + n, h.off(i.isTouch ? "mousedown.swipeMouseDown" : "touchstart.swipeTouchStart"), h.on("dragstart.SwipeDrag", function(a) {
4068                    a.preventDefault()
4069                }), a(document).on(f, function(a) {
4070                    var b = i.isTouch ? a.originalEvent.touches[0].clientX : a.clientX,
4071                        f = i.isTouch ? a.originalEvent.touches[0].clientY : a.clientY;
4072                    i.delta = b - c, e = f - d, Math.abs(i.delta) > 10 && a.preventDefault()
4073                }).on(g, function() {
4074                    a(this).off(f).off(g), i.isEnd = !0
4075                }), k(), l()
4076            }), h.on("click", function() {
4077                function a() {
4078                    i.isEnd ? b.click.call(h, i) : setTimeout(function() {
4079                        a()
4080                    }, 50)
4081                }
4082                Math.abs(i.delta) <= 10 && Math.abs(e) <= 10 && a()
4083            })
4084        })
4085    }
4086}(jQuery);
4087
4088function keyCodeToCharacter(a) {
4089    a = parseInt(a, 10);
4090    var b = "",
4091        c = 48;
4092    return 106 === a ? b = "*" : 107 === a ? b = "+" : 109 === a ? b = "-" : 110 === a ? b = "." : 111 === a ? b = "/" : (a >= 96 && 105 >= a && (a -= c), b = String.fromCharCode(a)), b
4093}
4094
4095function serialize(a) {
4096    var b, c = function(a) {
4097            var b = 0,
4098                c = 0,
4099                d = a.length,
4100                e = "";
4101            for (c = 0; d > c; c++) e = a.charCodeAt(c), b += 128 > e ? 1 : 2048 > e ? 2 : 3;
4102            return b
4103        },
4104        d = function(a) {
4105            var b, c, d = typeof a;
4106            if ("object" === d && !a) return "null";
4107            if ("object" === d) {
4108                if (!a.constructor) return "object";
4109                var e = a.constructor.toString();
4110                b = e.match(/(\w+)\(/), b && (e = b[1].toLowerCase());
4111                var f = ["boolean", "number", "string", "array"];
4112                for (c in f)
4113                    if (e == f[c]) {
4114                        d = f[c];
4115                        break
4116                    }
4117            }
4118            return d
4119        },
4120        e = d(a),
4121        f = "";
4122    switch (e) {
4123        case "function":
4124            b = "";
4125            break;
4126        case "boolean":
4127            b = "b:" + (a ? "1" : "0");
4128            break;
4129        case "number":
4130            b = (Math.round(a) == a ? "i" : "d") + ":" + a;
4131            break;
4132        case "string":
4133            b = "s:" + c(a) + ':"' + a + '"';
4134            break;
4135        case "array":
4136        case "object":
4137            b = "a";
4138            var g, h, i = 0,
4139                j = "";
4140            for (h in a)
4141                if (a.hasOwnProperty(h)) {
4142                    if (f = d(a[h]), "function" === f) continue;
4143                    g = h.match(/^[0-9]+$/) ? parseInt(h, 10) : h, j += this.serialize(g) + this.serialize(a[h]), i++
4144                }
4145            b += ":" + i + ":{" + j + "}";
4146            break;
4147        case "undefined":
4148        default:
4149            b = "N"
4150    }
4151    return "object" !== e && "array" !== e && (b += ";"), b
4152}
4153
4154function optSelect() {
4155    return {
4156        show: function(a, b) {
4157            a.stopPropagation ? a.stopPropagation() : a.cancelBubble = !0, $(".aside_slct_opts").hide(), $(".aside_slct.active").removeClass("active"), $(b).find(".aside_slct_opts").slideDown(99), CRD.device.media["mobile-small"] && ($("html, body").animate({
4158                scrollTop: $(b).offset().top - (CRD.header.isFixed ? CRD.header.height : 0)
4159            }, 300), $(b).addClass("active").parent().parent().find(".mobile-select-overlay").show())
4160        },
4161        pattern: "",
4162        clear_pattern: null,
4163        keydown: function(a, b) {
4164            var c = parseInt(a.keyCode ? a.keyCode : a.which, 10),
4165                d = keyCodeToCharacter(c);
4166            if (40 === c) {
4167                var e = $(b).find(".active"),
4168                    f = e.next();
4169                if (f.is("li")) {
4170                    var g = f.text(),
4171                        h = f.data("value") ? $.trim(f.data("value")) : 0;
4172                    $(b).find("span:first").html(g).parent().find("input:first").val(h), e.removeClass("active"), f.addClass("active"), f.parent().scrollTop(f.outerHeight(!0) * f.index())
4173                }
4174            } else if (38 === c) {
4175                var e = $(b).find(".active"),
4176                    i = e.prev();
4177                if (i.is("li")) {
4178                    var g = i.text(),
4179                        h = i.data("value") ? $.trim(i.data("value")) : 0;
4180                    $(b).find("span:first").html(g).parent().find("input:first").val(h), e.removeClass("active"), i.addClass("active"), i.parent().scrollTop(i.outerHeight(!0) * i.index())
4181                }
4182            } else if (13 === c) {
4183                if (0 === parseInt($(b).find("input:first").val(), 10)) return !1;
4184                $(".aside_slct_load").show();
4185                var j = $(b).find(".active > a");
4186                j.length && (location.href = j.attr("href")), $(b).find(".aside_slct_opts").hide().end().find("input:first").trigger("change").end().addClass("checked")
4187            } else if (/\w/.test(d)) {
4188                var k = this,
4189                    l = 0;
4190                clearTimeout(k.clear_pattern), k.pattern += d.toLowerCase(), l = k.pattern.length, $(b).find("li").each(function(a) {
4191                    var c = $(this),
4192                        d = c.text().toLowerCase();
4193                    if (a > 0 && d.substr(0, l) === k.pattern) {
4194                        var e = c.text(),
4195                            f = c.data("value") ? $.trim(c.data("value")) : 0;
4196                        return c.parent().scrollTop(c.outerHeight(!0) * a), $(b).find(".active").removeClass("active"), c.addClass("active"), $(b).find("span:first").html(e).parent().find("input:first").val(f), !1
4197                    }
4198                }), k.clear_pattern = setTimeout(function() {
4199                    k.pattern = ""
4200                }, 500)
4201            }
4202            return !1
4203        },
4204        opt: function(a, b) {
4205            a.stopPropagation ? a.stopPropagation() : a.cancelBubble = !0;
4206            var c = $(b).text(),
4207                d = $(b).data("value") ? $.trim($(b).data("value")) : 0;
4208            0 !== d && ($(".aside_slct_load").show(), $(b).siblings().removeClass("active").end().addClass("active").parent().hide().parent().find(".aside_slct_value").html(c).parent().find("input:first").val(d).trigger("change").parent().addClass("checked").removeClass("active"), $(".mobile-select-overlay").hide())
4209        }
4210    }
4211}
4212
4213function mmypOptions(a) {
4214    return {
4215        selects_order: a ? a : "ymm",
4216        ajaxListener: "/ajax.php",
4217        entity_arrays: {
4218            make_arr: {},
4219            model_arr: {},
4220            year_arr: {},
4221            
4222            size_arr: {},
4223            rim_arr: {}
4224        },
4225        make: "",
4226        def_make: "",
4227        model: "",
4228        def_model: "",
4229        year: "",
4230        def_year: "",
4231        ptype: "",
4232        ptype_group: "",
4233        ptype_id: "",
4234        ptype_group_id: "",
4235        defaultOpt: function(a) {
4236            return '<li data-value="0" class="active">Виберіть ' + a + "</li>"
4237        },
4238        createOpts: function(a, b) {
4239            var c, d = this,
4240                e = "";
4241            d.entity_arrays[b + "_arr"] = a;
4242            for (c in a) e += '<li data-value="' + a[c].id + '"' + (0 == c ? ' class="active"' : "") + ">" + (0 == c ? "Виберіть " : "") + a[c].name + "</li>";
4243            return e
4244        },
4245        resetOpts: function(a, b) {
4246            var c = this;
4247            $("#aside_slct_opts_" + a).html(c.defaultOpt(b)), $("#aside_slct_" + a).removeClass("checked").find("input:first").val(0).parent().find("span:first").html("Виберіть " + b)
4248        },
4249        href_vs_html: function(a) {
4250            var b = this;
4251            if (a.response) {
4252                var c = $("#aside_slct_opts_" + a.id);
4253                c.html(b.createOpts(a.response, a.array_name)), c = c.parent(), c.triggerHandler("click"), c.focus(), $(".aside_slct_load").hide()
4254            }
4255        },
4256        load_make_select: function(a) {
4257            if (0 != a) {
4258                var b = this;
4259                b.year = b.entity_arrays.year_arr[a].name, b.resetOpts("make", "Марку"), b.make = "", b.resetOpts("model", "Модель"), b.model = "", $.ajax({
4260                    type: "POST",
4261                    url: b.ajaxListener,
4262                    data: "q=" + encodeURIComponent(serialize({
4263                        aafunction: "get_mmyp_selects",
4264                        action: "get_makes_for_ymm",
4265                        year: b.year,
4266                        ptype: b.ptype,
4267                        ptype_group: b.ptype_group,
4268                        ptype_id: b.ptype_id,
4269                        ptype_group_id: b.ptype_group_id
4270                    })),
4271                    dataType: "json",
4272                    success: function(a) {
4273                        b.href_vs_html({
4274                            response: a,
4275                            id: "make",
4276                            array_name: "make"
4277                        })
4278                    }
4279                })
4280            }
4281        },
4282        load_model_select: function(a) {
4283            if (0 != a) {
4284                var b = this;
4285                "ymm" === b.selects_order ? (b.make = b.entity_arrays.make_arr[a].name, b.resetOpts("model", "Модель"), b.model = "", $.ajax({
4286                    type: "POST",
4287                    url: b.ajaxListener,
4288                    data: "q=" + encodeURIComponent(serialize({
4289                        aafunction: "get_mmyp_selects",
4290                        action: "get_models_for_ymm",
4291                        year: b.year,
4292                        make: b.make,
4293                        ptype: b.ptype,
4294                        ptype_group: b.ptype_group,
4295                        ptype_id: b.ptype_id,
4296                        ptype_group_id: b.ptype_group_id
4297                    })),
4298                    dataType: "json",
4299                    success: function(a) {
4300                        b.href_vs_html({
4301                            response: a,
4302                            id: "model",
4303                            array_name: "model"
4304                        })
4305                    }
4306                })) : (b.make = b.entity_arrays.make_arr[a].name, b.resetOpts("model", "Модель"), b.model = "", b.resetOpts("year", "Рік"), b.year = "", $.ajax({
4307                    type: "POST",
4308                    url: b.ajaxListener,
4309                    data: "q=" + encodeURIComponent(serialize({
4310                        aafunction: "get_mmyp_selects",
4311                        action: "get_model_select",
4312                        make: b.make,
4313                        ptype: b.ptype,
4314                        ptype_group: b.ptype_group,
4315                        ptype_id: b.ptype_id,
4316                        ptype_group_id: b.ptype_group_id
4317                    })),
4318                    dataType: "json",
4319                    success: function(a) {
4320                        b.href_vs_html({
4321                            response: a,
4322                            id: "model",
4323                            array_name: "model"
4324                        })
4325                    }
4326                }))
4327            }
4328        },
4329        load_year_select: function(a) {
4330            if (0 != a) {
4331                var b = this;
4332                b.model = b.entity_arrays.model_arr[a].name, b.resetOpts("year", "Рік"), b.year = "", $.ajax({
4333                    type: "POST",
4334                    url: b.ajaxListener,
4335                    data: "q=" + encodeURIComponent(serialize({
4336                        aafunction: "get_mmyp_selects",
4337                        action: "get_year_select",
4338                        make: b.make,
4339                        model: b.model,
4340                        ptype: b.ptype,
4341                        ptype_group: b.ptype_group,
4342                        ptype_id: b.ptype_id,
4343                        ptype_group_id: b.ptype_group_id
4344                    })),
4345                    dataType: "json",
4346                    success: function(a) {
4347                        b.href_vs_html({
4348                            response: a,
4349                            id: "year",
4350                            array_name: "year"
4351                        })
4352                    }
4353                })
4354            }
4355        },
4356        load_ptype_arr: function(a) {
4357            $(".aside_dd").data("requested", !1).find(".aside_dd_cont").remove(), $(".aside_slct_load").show();
4358            var b = this;
4359            0 != a && ("ymm" === b.selects_order ? b.model = b.entity_arrays.model_arr[a].name : b.year = b.entity_arrays.year_arr[a].name), $.ajax({
4360                type: "POST",
4361                url: b.ajaxListener,
4362                data: "q=" + encodeURIComponent(serialize({
4363                    aafunction: "get_mmyp_selects",
4364                    action: "get_ptype_arr",
4365                    make: b.make,
4366                    model: b.model,
4367                    year: b.year,
4368                    ptype: b.ptype,
4369                    ptype_group: b.ptype_group,
4370                    ptype_id: b.ptype_id,
4371                    ptype_group_id: b.ptype_group_id
4372                })),
4373                dataType: "json",
4374                success: function(a) {
4375                    if ($(".aside_slct_load").hide(), a) {
4376                        var c, d, e = !0,
4377                            f = "/";
4378                        for (c in a)
4379                            for (d in a[c].ptypes)
4380                                if (a[c].ptypes[d].ptype_group_id == b.ptype_group_id) {
4381                                    f = a[c].ptypes[d].url, e = !1;
4382                                    break
4383                                }
4384                        e && (f = a[0].ptypes[0].url), $(".aside_slct_load").show(), location.href = f
4385                    }
4386                }
4387            })
4388        },
4389        get_ptype_select: function(a, b) {
4390            a.stopPropagation ? a.stopPropagation() : a.cancelBubble = !0;
4391            var c = "auto",
4392                d = "show";
4393            (CRD.device.media["mobile-small"] || CRD.device.media["mobile-medium"]) && (c = "show", d = "auto");
4394            var e, f, g, h = this,
4395                i = function() {
4396                    CRD.device.media["mobile-small"] || CRD.device.media["mobile-medium"] ? ($(b).addClass("active").find(".aside_dd_cont").stop(!0, !0).show(), $("html, body").animate({
4397                        scrollTop: $(b).offset().top - (CRD.header.isFixed ? CRD.header.height : 0)
4398                    }, 300)) : ($(b).find(".aside_dd_cont").stop(!0, !0).css("top", function() {
4399                        var a = $(this).find(".aside_dd_group_li");
4400                        return f = a.outerHeight(!0) * a.length, -f / 2
4401                    }).stop(!0, !0).animate({
4402                        width: d,
4403                        height: c
4404                    }, 100), g = $(".aside_dd_cont").height()), $(b).parent().parent().siblings(".mobile-select-overlay").show()
4405                };
4406            $(b).data("requested") ? (e = $(b).find(".aside_dd_cont"), e.is(":hidden") ? i() : (CRD.device.media["mobile-small"] || CRD.device.media["mobile-medium"] ? e.stop(!0, !0).hide() : e.stop(!0, !0).animate({
4407                width: "hide"
4408            }, 500), $(b).removeClass("active").parent().parent().siblings(".mobile-select-overlay").hide())) : ($(".aside_slct_load").show(), $.ajax({
4409                type: "POST",
4410                url: h.ajaxListener,
4411                data: "q=" + encodeURIComponent(serialize({
4412                    aafunction: "get_mmyp_selects",
4413                    action: "get_ptype_select",
4414                    make: h.def_make,
4415                    model: h.def_model,
4416                    year: h.def_year,
4417                    ptype: h.ptype,
4418                    ptype_group: h.ptype_group,
4419                    ptype_id: h.ptype_id,
4420                    ptype_group_id: h.ptype_group_id,
4421                    base64: navigator.userAgent.indexOf("MSIE 7") < 0
4422                })),
4423                dataType: "html",
4424                success: function(a) {
4425                    $(".aside_slct_load").hide(), a && $(b).data("requested", !0).append(a).find(".aside_dd_cont_h").on("click", function(a) {
4426                        a.stopPropagation ? a.stopPropagation() : a.cancelBubble = !0
4427                    }).find(".aside_dd_group_li").click(function() {
4428                        if (CRD.device.media["mobile-small"] || CRD.device.media["mobile-medium"]) $(this).toggleClass("active").siblings().removeClass("active"), $(this).hasClass("active") && $("html, body").animate({
4429                            scrollTop: $(this).offset().top - (CRD.header.isFixed ? CRD.header.height : 0)
4430                        }, 300);
4431                        else {
4432                            $(this).addClass("active").siblings().removeClass("active"), $(".aside_dd_type").hide();
4433                            var a = $(this).next("dd").show();
4434                            if (a.css({
4435                                    height: g,
4436                                    "margin-top": -Math.floor($(this).index() / 2 + 1) * $(this).outerHeight(!0)
4437                                }), navigator.userAgent.indexOf("MSIE 7") > 0) {
4438                                var c = Math.ceil($(this).index() / 2);
4439                                $(b).find(".aside_dd_cont").width(function() {
4440                                    return 190 + $(this).find(".aside_dd_type").eq(c).find("table").outerWidth(!0) * $(this).find(".aside_dd_type").eq(c).find("table").length
4441                                })
4442                            }
4443                        }
4444                    }), i()
4445                }
4446            }))
4447        }
4448    }
4449}
4450
4451function mmysWheelsOptions() {
4452    var a = mmypOptions();
4453    return a.ajaxListener = "/ajax.php?request=wheels-fitment/", a.entity_arrays = {
4454        make_arr: {},
4455        model_arr: {},
4456        year_arr: {},
4457        smodel_arr: {},
4458        
4459        size_arr: {},
4460        rim_arr: {},
4461        bolt_arr: {}
4462    }, a.href_vs_html = function(a) {
4463        if (a.response && a.response.href) location.href = a.response.href;
4464        else {
4465            var b = this,
4466                c = $("#aside_slct_opts_" + a.id);
4467            c.html(b.createOpts(a.response, a.array_name)), c = c.parent(), c.triggerHandler("click"), c.focus(), $("#aside_slct_smodel").show(), $(".aside_slct_load").hide()
4468        }
4469    }, a.load_year_select = function(a) {
4470        if (0 != a) {
4471            var b = this;
4472            b.resetOpts("year", "Рік"), /*b.resetOpts("model", ""),*/ b.resetOpts("smodel", "Підмодель"), $.ajax({
4473                type: "POST",
4474                url: b.ajaxListener + "get-years-by-make/",
4475                data: {
4476                    makeid: a//b.entity_arrays.make_arr[a].id
4477                },
4478                dataType: "json",
4479                success: function(a) {
4480                    b.href_vs_html({
4481                        response: a,
4482                        id: "year",
4483                        array_name: "year"
4484                    })
4485                }
4486            })
4487        }
4488    }, a.load_model_select = function(a) {
4489        if (0 != a) {
4490            var b = this;
4491            b.resetOpts("model", "Модель"), b.resetOpts("smodel", "Підмодель"), $.ajax({
4492                type: "POST",
4493                url: b.ajaxListener + "get-models-by-year/",
4494                data: {
4495                    yearid: a//b.entity_arrays.year_arr[a].id
4496                },
4497                dataType: "json",
4498                success: function(a) {
4499                    b.href_vs_html({
4500                        response: a,
4501                        id: "model",
4502                        array_name: "model"
4503                    })
4504                }
4505            })
4506        }
4507    }, a.load_smodel_select = function(a) {
4508        if (0 != a) {
4509            var b = this;
4510            b.resetOpts("smodel", "Підмодель"), $.ajax({
4511                type: "POST",
4512                url: b.ajaxListener + "get-something-by-mmy/href/",
4513                data: {
4514                    modelid: a//b.entity_arrays.model_arr[a].id
4515                },
4516                dataType: "json",
4517                success: function(a) {
4518                    b.href_vs_html({
4519                        response: a,
4520                        id: "smodel",
4521                        array_name: "smodel"
4522                    })
4523                }
4524            })
4525        }
4526    }, a.load_tire_smodel_select = function(a) {
4527        if (0 != a) {
4528            var b = this;
4529            b.resetOpts("smodel", "Підмодель"), $.ajax({
4530                type: "POST",
4531                url: b.ajaxListener + "get-tire-something-by-mmy/href/",
4532                data: {
4533                    modelid: a//b.entity_arrays.model_arr[a].id
4534                },
4535                dataType: "json",
4536                success: function(a) {
4537                    b.href_vs_html({
4538                        response: a,
4539                        id: "smodel",
4540                        array_name: "smodel"
4541                    })
4542                }
4543            })
4544        }
4545    }, a.load_final = function(a) {
4546        if (0 != a) {
4547            var b = this;
4548//                c = b.entity_arrays.smodel_arr[a];
4549            $.ajax({
4550                type: "POST",
4551                url: b.ajaxListener + "get-url-by-mmy/",
4552                data: {
4553                    submodelid: a
4554                },
4555                dataType: "json",
4556                success: function(a) {
4557                    b.href_vs_html({
4558                        response: a
4559                    })
4560                }
4561            })
4562        }
4563    },
4564
4565    
4566    a.load_tire_width_select = function(a) {
4567        if (0 != a) {
4568            var b = this;
4569            b.resetOpts("tire_height", "Висоту"), b.resetOpts("tire_size", "Радіус"), $.ajax({
4570                type: "POST",
4571                url: b.ajaxListener + "get-tire-height-by-tire-width/",
4572                data: {
4573                    width: a//b.entity_arrays.model_arr[a].id
4574                },
4575                dataType: "json",
4576                success: function(a) {
4577                    b.href_vs_html({
4578                        response: a,
4579                        id: "tire_height",
4580                        array_name: "tire_height"
4581                    })
4582                }
4583            })
4584        }
4585    }, a.load_tire_height_select = function(a) {
4586        if (0 != a) {
4587            var b = this;
4588            b.resetOpts("tire_size", "Радіус"), $.ajax({
4589                type: "POST",
4590                url: b.ajaxListener + "get-tire-size-by-tire-height/",
4591                data: {
4592                    height: a//b.entity_arrays.year_arr[a].id
4593                },
4594                dataType: "json",
4595                success: function(a) {
4596                    b.href_vs_html({
4597                        response: a,
4598                        id: "tire_size",
4599                        array_name: "tire_size"
4600                    })
4601                }
4602            })
4603        }
4604    }, a.load_tire_size_select = function(a) {
4605        if (0 != a) {
4606            var b = this;
4607//                c = b.entity_arrays.smodel_arr[a];
4608            $.ajax({
4609                type: "POST",
4610                url: b.ajaxListener + "get-url-by-tire-size/",
4611                data: {
4612                    size: a
4613                },
4614                dataType: "json",
4615                success: function(a) {
4616                    b.href_vs_html({
4617                        response: a
4618                    })
4619                }
4620            })
4621        }
4622    },
4623
4624    a.load_size_select = function(a) {
4625        if (0 != a) {
4626            var b = this;
4627            b.resetOpts("rim", "Ширину"), b.resetOpts("bolt", "Болт"), $.ajax({
4628                type: "POST",
4629                url: b.ajaxListener + "get-rim-by-size/",
4630                data: {
4631                    size: a//b.entity_arrays.model_arr[a].id
4632                },
4633                dataType: "json",
4634                success: function(a) {
4635                    b.href_vs_html({
4636                        response: a,
4637                        id: "rim",
4638                        array_name: "rim"
4639                    })
4640                }
4641            })
4642        }
4643    }, a.load_rim_select = function(a) {
4644        if (0 != a) {
4645            var b = this;
4646            b.resetOpts("bolt", "Болт"), $.ajax({
4647                type: "POST",
4648                url: b.ajaxListener + "get-bolt-by-rim/",
4649                data: {
4650                    rim: a//b.entity_arrays.year_arr[a].id
4651                },
4652                dataType: "json",
4653                success: function(a) {
4654                    b.href_vs_html({
4655                        response: a,
4656                        id: "bolt",
4657                        array_name: "bolt"
4658                    })
4659                }
4660            })
4661        }
4662    }, a.load_bolt_select = function(a) {
4663        if (0 != a) {
4664            var b = this;
4665//                c = b.entity_arrays.smodel_arr[a];
4666            $.ajax({
4667                type: "POST",
4668                url: b.ajaxListener + "get-url-by-bolt/",
4669                data: {
4670                    bolt: a
4671                },
4672                dataType: "json",
4673                success: function(a) {
4674                    b.href_vs_html({
4675                        response: a
4676                    })
4677                }
4678            })
4679        }
4680    }, a
4681}
4682
4683function mmysTiresOptions() {
4684    var a = mmysWheelsOptions();
4685    return a.ajaxListener = "/wheels-tires-fitment.php?request=tires-fitment/", a
4686}
4687
4688function showImagePreview(a, b) {
4689    if (a) {
4690        var c, d, e, f, g = /msie\s(7|8)/i.test(navigator.userAgent),
4691            h = $(window),
4692            i = h.width(),
4693            j = h.height(),
4694            k = h.scrollTop(),
4695            l = $('<div class="image-preview"/>').appendTo("body"),
4696            m = l.height(),
4697            n = m,
4698            o = m,
4699            p = function(a) {
4700                var b = a.pageX,
4701                    c = a.pageY,
4702                    d = (j - n) / 2,
4703                    e = (i - o) / 2,
4704                    f = d + k,
4705                    g = 25,
4706                    h = !1;
4707                j > n ? f - g > c ? c += g : c > f + n + g ? c = c - g - n : (c = f, h = !0) : (c = k, h = !0), h ? i / 2 > b ? b += g : b = b - o - g : e - g > b ? b += g : b = b > e + o + g ? b - o - g : e, l.css({
4708                    top: c,
4709                    left: b
4710                })
4711            },
4712            q = function() {
4713                l.hide().empty(), e = !1, n = o = m, clearTimeout(c), clearInterval(d)
4714            },
4715            r = function() {
4716                return CRD.device.support.touch || CRD.device.media["mobile-small"] || CRD.device.media["mobile-medium"]
4717            };
4718        h.on({
4719            resize: function() {
4720                i = $(this).width(), j = $(this).height()
4721            },
4722            scroll: function() {
4723                e && q(), k = $(this).scrollTop()
4724            }
4725        }), $(document).on({
4726            mouseenter: function(a) {
4727                if (!r()) {
4728                    var b = new Image,
4729                        h = "",
4730                        i = "",
4731                        j = $(this);
4732                    j.data("src") ? i = j.data("src") : j.attr("src") && (i = j.attr("src").replace(/_\d\.jp/, "_0.jp"), h = j.attr("alt")), f = i, e = !0, i && ($(b).load(function() {
4733                        e && f === i && (n = b.width > 700 ? 700 / b.width * b.height : b.height, o = b.width > 700 ? 700 : b.width, l.html('<img src="' + i + '" height="' + n + '" width="' + o + '">' + (/image may not reflect your exact vehicle!/i.test(h) ? '<i class="image-preview-note"></i>' : "")), p(a))
4734                    }).error(function() {}).attr("src", i), c = setTimeout(function() {
4735                        l.fadeIn(200)
4736                    }, 300), d = setInterval(function() {
4737                        g || j.is(":hover") || q()
4738                    }, 2e3))
4739                }
4740            },
4741            mouseleave: function() {
4742                r() || q()
4743            },
4744            mousemove: function(a) {
4745                r() || p(a)
4746            },
4747            click: function(a) {
4748                if (r() && !b) {
4749                    a.preventDefault(), a.stopPropagation();
4750                    var c = $(this),
4751                        d = c.data("src") || (c.attr("src") ? c.attr("src").replace(/_\d\.
4751jp/, "_0.jp") : ""),
4752                        e = c.attr("alt") || c.parent().text(),
4753                        f = !1;
4754                    /image may not reflect your exact vehicle!/i.test(e) && (f = !0, e = e.replace(/image may not reflect your exact vehicle!/i, "")), d && $.colorbox({
4755                        href: d,
4756                        maxWidth: "93%",
4757                        maxHeight: "93%",
4758                        title: e,
4759                        onComplete: function() {
4760                            f && $(".cboxPhoto").after('<i class="image-preview-note"></i>')
4761                        }
4762                    })
4763                }
4764            }
4765        }, a)
4766    }
4767}
4768
4769function showProductView(a) {
4770    if (CRD.device.media.desktop && !CRD.device.support.touch && a) {
4771        var b, c, d, e = $('<div class="prod_rvw_prod_item"/>').appendTo("body"),
4772            f = $(window),
4773            g = f.width(),
4774            h = function() {
4775                e.hide().empty(), clearTimeout(b)
4776            },
4777            i = function(a) {
4778                var b = a.pageX,
4779                    f = a.pageY,
4780                    h = 25;
4781                f -= d / 2, b > g - c - h ? b = b - c - h : b += h, e.css({
4782                    top: f,
4783                    left: b
4784                })
4785            };
4786        f.on({
4787            resize: function() {
4788                g = $(this).width()
4789            }
4790        }), $(document).on({
4791            mouseenter: function(a) {
4792                if (CRD.device.media.desktop) {
4793                    var f = $(this);
4794                    e.html(f.siblings(".js-prod-rvw-prod-item-hidden").html()), b = setTimeout(function() {
4795                        e.fadeIn(200), c = e.width(), d = e.height(), i(a)
4796                    }, 300), $("body").trigger("scroll")
4797                }
4798            },
4799            mouseleave: function() {
4800                h()
4801            },
4802            mousemove: function(a) {
4803                i(a)
4804            }
4805        }, a)
4806    }
4807}
4808var CRD = CRD || {};
4809$(function() {
4810    function a() {
4811        var a = $(".head_header");
4812        a.length && (CRD.header = {
4813            height: a.height(),
4814            isFixed: "fixed" === a.css("position")
4815        })
4816    }
4817
4818    function b() {
4819        var a = $("html"),
4820            b = a.data("pagescroll") ? parseInt(a.data("pagescroll")) : parseInt($(window).scrollTop());
4821        a.removeClass("left-panel-show right-panel-show search-show").data("pagescroll", "").add("body").scrollTop(b)
4822    }
4823
4824    function c() {
4825        Y = _.hasClass("expanded"), Y && _.removeClass("expanded"), X = aa.width(), Y && _.addClass("expanded")
4826    }
4827
4828    function d() {
4829        _.hasClass("enabled") && (X > _.width() ? _.addClass("truncated") : _.removeClass("truncated"))
4830    }
4831    CRD.device = function() {
4832        function a(a) {
4833            if (a) {
4834                var b, c = document.createElement("p").style,
4835                    d = ["ms", "Moz", "Webkit"];
4836                if (a.split("-").length > 1) {
4837                    var e = a.split("-");
4838                    for (a = e[0], b = 1; b < e.length; b++) a += e[b].charAt(0).toUpperCase() + e[b].slice(1)
4839                }
4840                if ("" === c[a]) return !0;
4841                for (b = 0; b < d.length; b++)
4842                    if (d[b] + a.charAt(0).toUpperCase() + a.slice(1) in c) return !0
4843            }
4844            return !1
4845        }
4846
4847        function b() {
4848            var a = "desktop";
4849            try {
4850                a = window.getComputedStyle(document.querySelector("#js-media-query-state"), ":after").getPropertyValue("content").toString().replace(/"|'/g, ""), a && a in e.media || (a = "desktop", f > 0 && (setTimeout(function() {
4851                    d.trigger("transitionend"), $(window).trigger("resize")
4852                }, 500), --f))
4853            } catch (b) {}
4854            for (var g in e.media) e.media[g] = !1, c.removeClass(g);
4855            e.media[a] = !0, c.addClass(a), -1 !== a.search("mobile") && (e.media.mobile = !0, c.addClass("mobile"))
4856        }
4857        var c = $("html"),
4858            d = $('<div id="js-media-query-state"></div>').appendTo("body"),
4859            e = {
4860                support: {
4861                    touch: "ontouchstart" in document.documentElement,
4862                    transition: a("transition"),
4863                    animation: a("animation"),
4864                    transform: a("transform"),
4865                    "border-radius": a("border-radius"),
4866                    sessionStorage: function() {
4867                        try {
4868                            return sessionStorage.setItem("testSes", "testSes"), sessionStorage.removeItem("testSes"), !0
4869                        } catch (a) {
4870                            return !1
4871                        }
4872                    }()
4873                },
4874                media: {
4875                    desktop: !1,
4876                    mobile: !1,
4877                    "mobile-small": !1,
4878                    "mobile-medium": !1,
4879                    "mobile-large": !1
4880                },
4881                mediaChange: function(a) {
4882                    if (this.support.transition) d.on("transitionend webkitTransitionEnd", function() {
4883                        a()
4884                    });
4885                    else if (this.support.transform) {
4886                        var c, e = this,
4887                            f = function() {
4888                                for (var a in e.media)
4889                                    if (e.media[a] && "mobile" !== a) return a;
4890                                return !1
4891                            },
4892                            g = f();
4893                        $(window).data("detectMediaIE9") || $(window).on("resize", function() {
4894                            clearTimeout(c), c = setTimeout(function() {
4895                                b(), f() !== g && (g = f(), d.change())
4896                            }, 150)
4897                        }).data("detectMediaIE9", !0), d.on("change", function() {
4898                            a()
4899                        })
4900                    }
4901                },
4902                init: function() {
4903                    var a = this,
4904                        d = "";
4905                    for (var e in a.support) d += a.support[e] ? " " + e : " no-" + e;
4906                    c.addClass(d).removeClass("no-js"), b(), a.mediaChange(function() {
4907                        a.support.transition && b()
4908                    })
4909                }
4910            },
4911            f = 10;
4912        return e
4913    }(), CRD.device.init(), CRD.device.mediaChange(function() {
4914        $(window).trigger("scroll")
4915    }), CRD.enabledToggleOnMedia = function(a, b) {
4916        if (a && $(a).length) {
4917            var c = a.data("disabled-on") ? a.data("disabled-on").split(" ") : [],
4918                d = !1;
4919            if (c.length)
4920                for (var e = 0; e < c.length; e++) {
4921                    if (CRD.device.media[c[e]]) {
4922                        d = !0;
4923                        break
4924                    }
4925                    d = !1
4926                }
4927            d ? a.removeClass("enabled") : a.addClass("enabled"), b || CRD.device.mediaChange(function() {
4928                CRD.enabledToggleOnMedia(a, !0)
4929            })
4930        }
4931    }, a(), CRD.device.mediaChange(function() {
4932        a()
4933    }), isMobile.any && (window.onpageshow = function(a) {
4934        a.persisted && (document.body.style.display = "none", window.location.reload(!0))
4935    }), isMobile.ios && ($("body").css("cursor", "pointer"), $(document).on("focus", "input, textarea, select", function() {
4936        $("html").addClass("no-fixed-header")
4937    }).on("blur", "input, textarea, select", function() {
4938        $("html").removeClass("no-fixed-header")
4939    })), $(".prod_rvw_section,.pwr_list").on("click", ".prod_rvw_cnt_hf_btn", function() {
4940        var a = $(this),
4941            b = a.data("type"),
4942            c = a.parent();
4943        $.ajax({
4944            url: "/submit_review.php",
4945            type: "POST",
4946            data: {
4947                dohelpful: a.data("hf"),
4948                type: b
4949            },
4950            dataType: "json",
4951            success: function(a) {
4952                if (a) {
4953                    var b = c.siblings(".prod_rvw_cnt_hf"),
4954                        d = b.find(".prod_rvw_cnt_hf_nmbr"),
4955                        e = parseInt(d.text(), 10),
4956                        f = parseInt(a.affected, 10);
4957                    f && (d.text(e + f), b.removeClass("hidden"))
4958                }
4959            }
4960        }), c.html("Thank you!")
4961    }), $(".js-prod-rvw-view-more").on("click", function() {
4962        var a, b = $(this).hide(),
4963            c = b.data("type"),
4964            d = b.data("id"),
4965            e = b.data("page-type"),
4966            f = parseInt(b.data("offset"), 10),
4967            g = parseInt(b.data("limit"), 10),
4968            h = parseInt(b.data("total"), 10),
4969            i = "",
4970            j = 0,
4971            k = ["manufacturer", "ptype_group_traditional", "ptype_group_purpose", "ptype", "state", "city", "body_type", "all", "super_product", "product", "mpn_product", "make_ptype_group_traditional", "make_ptype_group_entrance", "make_ptype", "make_model_ptype_group_traditional", "make_model_ptype_group_entrance", "make_model_ptype", "make_model_year_ptype_group_traditional", "make_model_year_ptype", "make_model_year_ptype_group_entrance"],
4972            l = !1,
4973            m = {
4974                offset: f
4975            };
4976        switch (b.data("fields") && (m.fields = {}, b.data("field-size") && (m.fields.size = b.data("field-size")), b.data("field-width") && (m.fields.width = b.data("field-width")), b.data("field-ratio") && (m.fields.ratio = b.data("field-ratio")), b.data("field-diameter") && (m.fields.diameter = b.data("field-diameter"))), -1 === $.inArray(e, k) ? (m.reviews = b.data("reviews"), m.pstypes = b.data("pstypes"), a = b.siblings("div.pwr_list")) : (m.type = c, m.id = d, i = "/submit_review.php", a = b.siblings(".prod_rvw_section"), j = a.find('p[itemprop="reviewBody"] a').length, l = !0), e) {
4977            case "manufacturer":
4978                m.action = "getManufacturerReviews";
4979                break;
4980            case "ptype_group_traditional":
4981                m.action = "getTraditionalPtypeGroupReviews";
4982                break;
4983            case "make_ptype_group_traditional":
4984            case "make_ptype_group_entrance":
4985            case "make_ptype":
4986            case "make_model_ptype_group_traditional":
4987            case "make_model_ptype_group_entrance":
4988            case "make_model_ptype":
4989            case "make_model_year_ptype_group_traditional":
4990            case "make_model_year_ptype":
4991            case "make_model_year_ptype_group_entrance":
4992                m.action = "getReviewsByUrlId";
4993                break;
4994            case "ptype_group_purpose":
4995                m.action = "getPurposePtypeGroupReviews";
4996                break;
4997            case "ptype":
4998                m.action = "getPtypeReviews";
4999                break;
5000            case "state":
5001                m.action = "getGeoReviewsState";
5002                break;
5003            case "city":
5004                m.action = "getGeoReviewsCity";
5005                break;
5006            case "body_type":
5007                m.action = "getReviewsByBodyTypeOffsetLimit";
5008                break;
5009            case "all":
5010                m.action = "getReviews";
5011                break;
5012            case "super_product":
5013                m.action = "getSuperProductReviews", m.order = b.data("sortby");
5014                break;
5015            case "product":
5016                m.action = "getProductReviews", m.order = b.data("sortby");
5017                break;
5018            case "mpn_product":
5019                m.action = "getMpnProductReviews", m.order = b.data("sortby");
5020                break;
5021            case "get_reviews_by_products":
5022            case "get_reviews_by_manufacturers":
5023                m.action = e
5024        }
5025        b.next(".result_preloader").removeClass("nobg hidden"), m.action && $.ajax({
5026            url: i,
5027            type: "POST",
5028            data: m,
5029            dataType: "html",
5030            success: function(c) {
5031                if (b.next(".result_preloader").addClass("nobg hidden"), c) {
5032                    a.append(c);
5033                    var d = 0;
5034                    l && (d = a.find('p[itemprop="reviewBody"] a').length), f += g + j - d, h > f && b.data("offset", f).show()
5035                }
5036            }
5037        })
5038    }), $(".js-prod-rvw-expand").on("click", function() {
5039        $(".prod_rvw, .js-prod-rvw-view-more, .prod_rvw_view_all").removeClass("hidden"), $(this).addClass("hidden")
5040    }), showProductView(".js-show-rvw-prod");
5041    var e = {
5042        ajaxid: 0,
5043        lastajaxid: 0,
5044        cont: $(".search-autoc"),
5045        current_cont: function(a) {
5046            return $(a.target).closest("form").find(".search-autoc")
5047        },
5048        initSuggestData: function(a) {
5049            var b = null,
5050                c = null,
5051                d = null,
5052                e = null,
5053                f = a.closest("form"),
5054                g = null;
5055            return a && (b = $.trim(f.find(".search-rquery").text()).toLowerCase(), c = f.find(".autoc-qtype").text(), d = a.attr("class").replace(/.*sgt\_type\_/i, "").replace(/\s*active\s*/, ""), e = a.attr("href"), g = a.hasClass("sgt_type_manufacturer_img") ? a.find("img").attr("alt") : a.hasClass("sgt_type_type_group_img") || a.hasClass("sgt_type_manual_suggest_img") ? a.find("span").text() : a.text()), {
5056                query: b,
5057                query_type: c,
5058                suggest_type: d,
5059                url: e,
5060                selected_suggest: g,
5061                suggest_template: f.find(".autoc-tpl").text(),
5062                type_group_count: f.find(".sgt_type_type_group").length,
5063                additional_type_group_count: f.find(".sgt_type_additional_type_group").length,
5064                type_count: f.find(".sgt_type_type").length,
5065                manufacturer_count: f.find(".sgt_type_manufacturer").length,
5066                mmy_count: f.find('[class*="sgt_type_make"]').length,
5067                manual_count: f.find(".sgt_type_manual_suggest").length,
5068                product_count: f.find(".sgt_type_product").length,
5069                super_product_count: f.find(".sgt_type_super_product").length
5070            }
5071        },
5072        selectSuggest: function(a, b) {
5073            var c = this.initSuggestData(a);
5074            return $.post("/ajax.php", "q=" + encodeURIComponent(serialize({
5075                aafunction: "search_autocomplete_click",
5076                query: c.query,
5077                query_type: c.query_type,
5078                suggest_template: c.suggest_template,
5079                suggest_type: c.suggest_type,
5080                suggest_type_group_count: c.type_group_count,
5081                suggest_additional_type_group_count: c.additional_type_group_count,
5082                suggest_type_count: c.type_count,
5083                suggest_manufacturer_count: c.manufacturer_count,
5084                suggest_mmy_count: c.mmy_count,
5085                suggest_manual_count: c.manual_count,
5086                suggest_product_count: c.product_count,
5087                suggest_super_product_count: c.super_product_count,
5088                selected_suggest: c.selected_suggest,
5089                url: c.url
5090            })), function() {
5091                "contextmenu" !== b.type && (window.location.href = c.url)
5092            }), "contextmenu" === b.type ? !0 : !1
5093        },
5094        prepareForm: function(a) {
5095            var b = this.initSuggestData(a);
5096            a.find(".search-form-stpl").val(b.suggest_template), a.find(".search-form-sgt-type-group-count").val(b.type_group_count), a.find(".search-form-sgt-additional-type-group-count").val(b.additional_type_group_count), a.find(".search-form-sgt-type-count").val(b.type_count), a.find(".search-form-sgt-manufacturer-count").val(b.manufacturer_count), a.find(".search-form-sgt-mmy-count").val(b.mmy_count), a.find(".search-form-sgt-manual-count").val(b.manual_count), a.find(".search-form-sgt-product-count").val(b.product_count), a.find(".search-form-sgt-super-product-count").val(b.super_product_count)
5097        },
5098        keyup: function(a) {
5099            /*var b = e,
5100                c = $(a.target).closest("form"),
5101                d = c.find(".search-txt"),
5102                f = $.trim(d.val()).toLowerCase(),
5103                g = CRD.device.support.touch ? parseInt(a.keyCode ? a.keyCode : a.which, 10) || f.slice(-1).toUpperCase().charCo
5103deAt(0) || 0 : parseInt(a.keyCode ? a.keyCode : a.which, 10),
5104                h = keyCodeToCharacter(g);
5105            g && (8 === g || 46 === g || 13 === g || /\w/.test(h)) && (!d.prop("readonly") && 1 !== b.ignore && f.length >= 2 && b.current_cont(a).length ? (c.find(".search-rquery").text(f), b.term = f, b.show = 1, clearTimeout(b.timer), b.timer = setTimeout(function() {
5106                d.addClass("search-preloader"), $.ajax({
5107                    url: "/search_aj.php?keep_https=1",
5108                    dataType: "json",
5109                    data: {
5110                        term: f,
5111                        ajaxid: ++b.ajaxid
5112                    },
5113                    success: function(c) {
5114                        !d.prop("readonly") && b.show && parseInt(c.ajaxid) >= parseInt(b.lastajaxid) && (b.lastajaxid = c.ajaxid, c && c.html ? (b.cont.hide(), b.current_cont(a).html(c.html).show(), $(".search-autoc a").on("click contextmenu", function(a) {
5115                            b.selectSuggest($(this), a)
5116                        })) : b.current_cont(a).hide().empty()), d.removeClass("search-preloader")
5117                    },
5118                    error: function() {
5119                        13 === g && c.find(".search-form").submit(), b.current_cont(a).hide().empty(), d.removeClass("search-preloader")
5120                    }
5121                })
5122            }, 350)) : f.length < 2 && (b.current_cont(a).hide().empty(), b.show = 0), b.ignore = 0)*/
5123        }
5124    };
5125    $(".search-form").on({
5126        submit: function() {
5127            var a = $(this).find(".search-txt"),
5128                b = $.trim(a.val());
5129            return a.removeClass("search-preloader"), b.length < 2 ? (alert("Будь ласка, введіть щонайменше два символи для пошуку"), !1) : (a.prop("readonly", !0), e.prepareForm($(this)), e.ignore = 1, void 0)
5130        },
5131        click: function(a) {
5132            a.stopPropagation ? a.stopPropagation() : a.cancelBubble = !0
5133        }
5134    }).find(".search-btn").on("click", function() {
5135        $(this).closest("form").trigger("submit")
5136    }).end().find(".search-txt").attr({
5137        autocomplete: "off",
5138        tabindex: "1"
5139    }).on({
5140        focus: function(a) {
5141            e.cont.hide(), e.current_cont(a).html() && e.current_cont(a).show(), (CRD.device.media["mobile-small"] || CRD.device.media["mobile-medium"]) && $(this).parent().parent().addClass("active")
5142        },
5143        blur: function() {
5144            (CRD.device.media["mobile-small"] || CRD.device.media["mobile-medium"]) && $(this).parent().parent().removeClass("active")
5145        },
5146        keydown: function(a) {
5147            var b, c, d, f, g, h = parseInt(a.keyCode ? a.keyCode : a.which, 10),
5148                i = e.current_cont(a).find(".autoc-general-a"),
5149                j = i.length;
5150            return j && 40 === h ? (b = i.filter(".active"), c = i.index(b) + 1, f = i.eq(j > c ? c : 0), d = f.parent(), i.removeClass("active"), f.addClass("active"), $(this).val(f.text()), f.position().top + f.outerHeight(!0) > d.height() && d.scrollTop(d.scrollTop() + d.height() + f.outerHeight(!0) - f.position().top), e.ignore = 1, !1) : j && 38 === h ? (b = i.filter(".active"), c = i.index(b) - 1, g = i.eq(0 > c ? j - 1 : c), d = g.parent(), i.removeClass("active"), g.addClass("active"), $(this).val(g.text()), g.position().top < 0 && d.scrollTop(d.scrollTop() + g.position().top), e.ignore = 1, !1) : 13 === h && j ? (b = i.filter(".active"), b.is("a") ? (e.ignore = 1, e.selectSuggest(b, a)) : !0) : void 0
5151        },
5152        keyup: e.keyup
5153    }), $("body").on("click", function() {
5154        e.cont.hide(), $(".aside_slct_opts, .aside_dd_cont, .mobile-select-overlay").hide(), $(".aside_slct.active").removeClass("active")
5155    }), $(document).on("click", ".left-menu-icon, .search-icon, .products-panel-mobile-item-filter", function() {
5156        var a = $("html"),
5157            b = $(window).scrollTop();
5158        a.addClass($(this).data("toggle-class")).data("pagescroll", b), "search-show" === $(this).data("toggle-class") && ($(".head-search-holder .search-txt").focus(), a.add("body").scrollTop(0)), $(".main-content").scrollTop(b)
5159    }), $(".left-menu-header-close, .head-search-holder, .head-search-close").on("click", function() {
5160        b()
5161    }), $(".head-search-holder .search-field, .head-search-holder .search-autoc").on("click", function(a) {
5162        a.stopPropagation()
5163    }), $(".main-content-overlay").on("click", function() {
5164        b()
5165    }), CRD.mobilePagePreloader = function() {
5166        b(), $("html").addClass("page-preloader-show")
5167    };
5168    var f = $(".head_dd_h_"),
5169        g = $(".head_dd_cont_holder"),
5170        h = function() {
5171            f.removeClass("active"), g.stop(!0, !0).slideUp(300)
5172        };
5173    f.on({
5174        click: function(a) {
5175            a.stopPropagation(), $(".fixed-sidebar").hide();
5176            var b = $(this),
5177                c = b.data("id"),
5178                d = function() {
5179                    g.slideUp(300)
5180                },
5181                e = function() {
5182                    g.find(".head_dd_cont_h").hide().filter("[data-id=" + c + "]").show(), g.stop(!0, !0).slideDown(300), b.siblings().removeClass("active"), b.addClass("active")
5183                };
5184            if (b.hasClass("active")) d(), b.removeClass("active");
5185            else if (b.data("requested")) d(), e();
5186            else {
5187                b.data("requested", !0), b.addClass("loading");
5188                var f = function() {
5189                    b.data("requested", !1).removeClass("loading")
5190                };
5191                $.ajax({
5192                    type: "POST",
5193                    url: "/ajax.php",
5194                    data: "q=" + encodeURIComponent(serialize({
5195                        aafunction: "get_main_menu_content",
5196                        groupid: c,
5197                        base64: navigator.userAgent.indexOf("MSIE 7") < 0
5198                    })),
5199                    dataType: "html",
5200                    success: function(a) {
5201                        a ? (b.removeClass("loading"), d(), g.find(".wrap").append(a), e()) : f()
5202                    },
5203                    error: function() {
5204                        f()
5205                    }
5206                })
5207            }
5208        }
5209    }), $(".head_dd_cont_holder_close").on("click", function() {
5210        h()
5211    }), $("body").on("click", function() {
5212        h()
5213    }), f.find(".head_dd_main>a").on("click", function(a) {
5214        a.preventDefault()
5215    }), g.on("click", function(a) {
5216        a.stopPropagation()
5217    }), $(".left-dd-h").on("click", function() {
5218        var a = $(this),
5219            b = a.data("id"),
5220            c = function() {
5221                a.add(a.siblings()).removeClass("active").find(".left-dd-cont").stop(!0, !0).slideUp(300)
5222            },
5223            d = function() {
5224                a.find(".left-dd-cont").stop(!0, !0).slideDown(300, function() {
5225                    var b = $(".left-panel");
5226                    b.animate({
5227                        scrollTop: b.scrollTop() + a.offset().top
5228                    }, 200)
5229                })
5230            };
5231        if (a.hasClass("active")) c(), a.removeClass("active");
5232        else if (a.data("requested")) c(), a.addClass("active"), d();
5233        else {
5234            a.data("requested", !0), a.addClass("loading");
5235            var e = function() {
5236                a.data("requested", !1).removeClass("loading")
5237            };
5238            $.ajax({
5239                type: "POST",
5240                url: "/ajax.php",
5241                data: "q=" + encodeURIComponent(serialize({
5242                    aafunction: "get_main_menu_content",
5243                    groupid: b,
5244                    base64: navigator.userAgent.indexOf("MSIE 7") < 0,
5245                    left_menu: !0
5246                })),
5247                dataType: "html",
5248                success: function(b) {
5249                    b ? (c(), a.removeClass("loading").addClass("active").find(".left-dd-cont").append(b), d()) : e()
5250                },
5251                error: function() {
5252                    e()
5253                }
5254            })
5255        }
5256    }), $(".left-dd-cont").on("click", function(a) {
5257        a.stopPropagation()
5258    });
5259    var i;
5260    $(".head_cart_holder").on({
5261        mouseenter: function() {
5262            if (CRD.device.media.desktop || CRD.device.media["mobile-large"]) {
5263                var a = $(this);
5264                i = setTimeout(function() {
5265                    a.find(".head_dd_cart_prods").stop(!0, !0).slideDown(200)
5266                }, 200)
5267            }
5268        },
5269        mouseleave: function() {
5270            (CRD.device.media.desktop || CRD.device.media["mobile-large"]) && (clearTimeout(i), $(this).find(".head_dd_cart_prods").stop(!0, !0).slideUp(50))
5271        }
5272    }
5272).on("click", ".head_dd_remove_btn", function() {
5273        if (CRD.device.media.desktop || CRD.device.media["mobile-large"]) {
5274            var a = $(this).data("productindex");
5275            $("#head_dd_cart_overlay").show(), $.ajax({
5276                type: "POST",
5277                url: "/cart.php?mode=delete&productindex=" + a,
5278                success: function() {
5279                    $.ajax({
5280                        type: "POST",
5281                        url: "/ajax.php",
5282                        data: "q=" + encodeURIComponent(serialize({
5283                            aafunction: "update_mini_cart"
5284                        })),
5285                        dataType: "html",
5286                        success: function(a) {
5287                            a && ($(".head_cart_holder").html(a), $(".head_dd_cart_prods").show(), $("#head_dd_cart_overlay").hide())
5288                        }
5289                    })
5290                }
5291            })
5292        }
5293    }), $(".head_help_menu").append('<span class="head_help_menu_t">Need Help?</span><div class="header-top-text-col-small">Help Center</div><ul class="head_help_menu_dd">' + (isMobile.any ? '<li><a href="tel:' + $(".head_contacts_phone").text() + '">Call Us</a></li>' : "") + '<li class="hide-livechat" onclick="livechat();"><span>Live Chat</span></li><li><a href="/my-account/order-status/">Order Status</a></li><li><a href="/help-center/product-return.html">Easy Returns</a></li><li><a href="/help-center/">Help Center</a></li><li><a href="/my-account/">My Account</a></li><li><a href="/contact-us.html">Contact Us</a></li>' + ($(".account-logout").length ? '<li><a href="/include/login.php?mode=logout">Log Out</a></li>' : "") + "</ul>").on({
5294        mouseenter: function() {
5295            (CRD.device.media.desktop || CRD.device.media["mobile-large"]) && $(this).addClass("active")
5296        },
5297        mouseleave: function() {
5298            (CRD.device.media.desktop || CRD.device.media["mobile-large"]) && $(this).removeClass("active")
5299        },
5300        click: function(a) {
5301            a.stopPropagation()
5302        }
5303    }), $(".head_header .help-icon").on("click", function(a) {
5304        a.stopPropagation(), $(".head_help_menu").toggleClass("active")
5305    }), $("body").on("click", function() {
5306        $(".head_help_menu").removeClass("active")
5307    }), CRD.device.mediaChange(function() {
5308        (CRD.device.media.desktop || CRD.device.media["mobile-large"]) && $(".head_help_menu").removeClass("active")
5309    }), $(".shifter").each(function() {
5310        function a() {
5311            if (h = g.width(), k = j.eq(0).outerHeight(!0), l = j.eq(0).outerWidth(!0), n = l * m, p = -(n - h), i.removeAttr("style"), c && d && c.add(d).hide(), g.height(k).removeClass("shifter_h_scroll").scrollLeft(0), r.length)
5312                for (var a = 0; a < r.length; a++) {
5313                    if (CRD.device.media[r[a]]) {
5314                        q = !0;
5315                        break
5316                    }
5317                    q = !1
5318                }
5319            q ? (f.addClass("disabled").removeClass("enabled"), i.css({
5320                width: "auto"
5321            }), g.removeClass("shifter_h_scroll").height("auto"), g.scrollLeft(0)) : (f.removeClass("disabled").addClass("enabled"), CRD.device.media.mobile ? (i.css({
5322                width: "auto"
5323            }), g.addClass("shifter_h_scroll").height("auto"), o && (e = parseInt(o[2]) * l, g.scrollLeft(e))) : n > h + 25 && (i.css({
5324                left: 0,
5325                position: "absolute",
5326                top: 0,
5327                width: n
5328            }), b = Math.floor(h / l), o && (e = -parseInt(o[2]) * l, p > e && (e = p), i.css({
5329                left: e + "px"
5330            })), c && d ? c.add(d).show() : (c = $("<span/>").addClass("shifter_l").on("click", function() {
5331                i.stop(!0, !0);
5332                var a = i.position().left;
5333                e = a + b * l, 0 === a ? e = p : e > 0 && (e = 0), i.animate({
5334                    left: e + "px"
5335                }, 800, "easeInOutExpo")
5336            }), d = $("<span/>").addClass("shifter_r").on("click", function() {
5337                i.stop(!0, !0);
5338                var a = i.position().left;
5339                e = a - b * l, a === p ? e = 0 : p > e && (e = p), i.animate({
5340                    left: e + "px"
5341                }, 800, "easeInOutExpo")
5342            }), f.append(c, d))))
5343        }
5344        var b, c, d, e, f = $(this),
5345            g = f.find(".shifter_h"),
5346            h = g.width(),
5347            i = g.find("ul"),
5348            j = g.find("li"),
5349            k = j.eq(0).outerHeight(!0),
5350            l = j.eq(0).outerWidth(!0),
5351            m = j.length,
5352            n = l * m,
5353            o = g.attr("class").match(/(shifter_start_position_)(\d+)/),
5354            p = -(n - h),
5355            q = !1,
5356            r = f.data("disabled-on") ? f.data("disabled-on").split(" ") : [];
5357        a(), CRD.device.mediaChange(function() {
5358            a()
5359        })
5360    }), $(".mobile-toggle-header").each(function() {
5361        var a = $(this);
5362        CRD.enabledToggleOnMedia(a), a.on("click", function() {
5363            a.hasClass("enabled") && ($(".mobile-toggle-header").not(a).removeClass("active"), a.toggleClass("active"))
5364        })
5365    });
5366    var j = {
5367        filters: [],
5368        showMore: function(a) {
5369            var b = this;
5370            if (b.filters.length)
5371                if (a) a.hiddenEl.show(), a.more.hide(), a.less.show();
5372                else {
5373                    var c, d = b.filters;
5374                    for (c = 0; c < d.length; c++) d[c].hiddenEl.show(), d[c].more.hide(), d[c].less.show()
5375                }
5376        },
5377        showLess: function(a) {
5378            var b = this;
5379            if (b.filters.length)
5380                if (a) a.hiddenEl.hide(), a.more.show(), a.less.hide();
5381                else {
5382                    var c, d = b.filters;
5383                    for (c = 0; c < d.length; c++) d[c].disableLess || (d[c].hiddenEl.hide(), d[c].more.show(), d[c].less.hide())
5384                }
5385        },
5386        preventHiding: function(a, b) {
5387            var c = this;
5388            if (c.filters.length) {
5389                var d, e = c.filters;
5390                for (d = 0; d < e.length; d++) e[d].hasFilter && e[d].name === a && (e[d].disableLess = b || !1, e[d].more.hide(), e[d].less.hide())
5391            }
5392        },
5393        hideBtns: function() {
5394            var a = this;
5395            if (a.filters.length) {
5396                var b, c = a.filters;
5397                for (b = 0; b < c.length; b++) c[b].more.hide(), c[b].less.hide()
5398            }
5399        },
5400        init: function() {
5401            var a = this;
5402            CRD.device.media.desktop && $(".aside_filters").each(function() {
5403                var b = $(this),
5404                    c = b.children("li"),
5405                    d = {};
5406                c.length > 20 && (d.hiddenEl = c.filter(":gt(19)").hide(), d.name = b.data("name"), d.hasFilter = b.data("has-filter"), d.more = $('<div class="aside-filters-view-more">показати Більше</div>').insertAfter(b), d.less = $('<div class="aside-filters-view-less">показати Меньше</div>').insertAfter(b), d.more.show().on("click", function() {
5407                    a.showMore(d)
5408                }), d.less.on("click", function() {
5409                    a.showLess(d)
5410                }), a.filters.push(d))
5411            })
5412        }
5413    };
5414    j.init();
5415    var k = null;
5416    CRD.device.support.touch || /msie\s(6|7)/i.test(navigator.userAgent) || $(".select_vehicle").length || !$(".js-aside-limiter").length || !$(".js-aside-filters-clear-btn").length || (k = function() {
5417        var a = $(".js-aside-limiter"),
5418            b = a.find(".aside"),
5419            c = b.find(".aside_minus"),
5420            d = b.find(".aside_filters"),
5421            e = $(".js-main-prod-list").parent(".main"),
5422            f = e.find(".js-aside-fixed-limit-el"),
5423            g = a.find(".js-aside-filters-clear-btn"),
5424            h = e.offset().top,
5425            i = {
5426                noOffset: 0,
5427                withOffset: 0
5428            },
5429            k = 0,
5430            l = 600,
5431            m = !1,
5432            n = 0,
5433            o = 0,
5434            p = $(window).height(),
5435            q = {
5436                normal: [],
5437                fixed: []
5438            },
5439            r = 0,
5440            s = function() {
5441                r = p - c.last().outerHeight(!0) * c.length - g.outerHeight(!0) - $(".aside-filters-search").outerHeight(!0)
5442            },
5443            t = function() {
5444                return b.outerHeight(!0)
5445            },
5446            u = function() {
5447                f.length ? (i.withOffset = f.offset().top, i.noOffset = i.withOffset - h) : e.length && (i.noOffset = e.height(), i.withOffset = i.noOffset + h)
5448            },
5449            v = function() {
5450                k + l < i.noOffset ? a.css("height", i.noOffset) : a.css("height", "auto")
5451            },
5452            w = function() {
5453                m || (o = k + l < i.noOffset && p > l ? g.offset().top : 1 / 0), l > p && (o = 1 / 0)
5454            },
5455            x = function() {
5456                var a = m ? q.fixed : q.normal;
5457                a.length ? c.each(function(b) {
5458                    a[b] ? $(this).removeClass("aside_plus").next(".js-aside-block").stop(!0, !0).show() : $(this).addClass("aside_plus").next(".js-aside-block").stop(!0, !0).hide()
5459                }) : m ? c.addClass("aside_plus").next(".js-aside-block").stop(!0, !0).hide() : c.removeClass("aside_plus").next(".js-aside-block").stop(!0, !0).show(), w()
5460            };
5461        return {
5462            disabled: !1,
5463            isFixedNow: function() {
5464                return m
5465            },
5466            storeBlockStates: function() {
5467                var a = this,
5468                    b = [];
5469                a.disabled || (c.each(function() {
5470                    b.push(!$(this).hasClass("aside_plus"))
5471                }), q[m ? "fixed" : "normal"] = b, w())
5472            },
5473            recalculate: function() {
5474                var a = this;
5475                a.disabled || (n = $(window).scrollTop(), u(), v(), w(), CRD.device.media.desktop && n > o ? m || (m = !0, j.showMore(), j.hideBtns(), b.addClass("aside-fixed"), x(), d.css("max-height", r), a.recalculate()) : m && (m = !1, b.removeClass("aside-fixed"), x(), d.css("max-height", ""), j.showLess(), a.recalculate()), m && n + t() > i.withOffset ? b.addClass("aside-bottom") : b.removeClass("aside-bottom"))
5476            },
5477            init: function() {
5478                var c = this;
5479                b.length && a.length && e.length && g.length ? (k = t(), s(), $(window).on({
5480                    scroll: function() {
5481                        c.recalculate()
5482                    },
5483                    resize: function() {
5484                        p = $(window).height()
5485                    }
5486                }), w(), c.storeBlockStates(), c.recalculate()) : c.disabled = !0, CRD.device.mediaChange(function() {
5487                    c.recalculate()
5488                })
5489            }
5490        }
5491    }(), k.init()), $(".aside-filters-search input").on({
5492        keyup: function() {
5493            var a = $.trim($(this).val().toLowerCase()),
5494                b = $(this).closest(".aside-filters-search").next(".aside_filters");
5495            b.find("li").each(function() {
5496                -1 === $.trim($(this).text().toLowerCase()).search(a) ? $(this).addClass("hidden") : $(this).show().removeClass("hidden")
5497            }), j.preventHiding(b.data("name"), a ? !0 : !1), k && k.recalculate()
5498        },
5499        keydown: function(a) {
5500            var b = parseInt(a.keyCode ? a.keyCode : a.which, 10);
5501            return 13 === b ? !1 : void 0
5502        }
5503    }), $(document).on("click", ".aside_minus", function() {
5504        var a = $(this),
5505            b = a.next(".js-aside-block"),
5506            c = a.closest(".aside");
5507        if (CRD.device.media["mobile-small"] || CRD.device.media["mobile-medium"]) a.toggleClass("aside_plus").siblings(".aside_minus").addClass("aside_plus").siblings().removeClass("active"), a.closest(".aside_slcts_h").length && $(".aside_slcts_h .aside_minus").not(a).addClass("aside_plus");
5508        else if (k && k.isFixedNow()) {
5509            a.toggleClass("aside_plus");
5510            var d = {
5511                duration: 400,
5512                progress: function() {
5513                    k.recalculate()
5514                },
5515                always: function() {
5516                    k.storeBlockStates()
5517                }
5518            };
5519            c.find(".js-aside-block").not(b).stop(!0, !0).slideUp(d).prev(".aside_minus").addClass("aside_plus"), b.stop(!0, !0).slideToggle(d)
5520        } else a.toggleClass("aside_plus"), b.stop(!0, !0).slideToggle(400, function() {
5521            k && k.storeBlockStates()
5522        })
5523    });
5524    var l = {
5525        selector: ".field_with_placeholder>input, .field_with_placeholder>textarea",
5526        hideLabel: function(a) {
5527            a.prev("label").hide()
5528        },
5529        checkLabel: function(a) {
5530            var b = this;
5531            "" === $.trim(a.val()) ? a.prev("label").css({
5532                opacity: 1
5533            }).show() : b.hideLabel(a)
5534        }
5535    };
5536    $(document).on({
5537        focus: function() {
5538            $(this).prev("label").css({
5539                opacity: .5
5540            })
5541        },
5542        input: function() {
5543            l.hideLabel($(this))
5544        },
5545        keydown: function() {
5546            l.hideLabel($(this))
5547        },
5548        paste: function() {
5549            l.hideLabel($(this))
5550        },
5551        blur: function() {
5552            l.checkLabel($(this))
5553        }
5554    }, l.selector).on({
5555        checkFieldsWithPlaceholder: function() {
5556            setTimeout(function() {
5557                $(l.selector).each(function() {
5558                    l.checkLabel($(this))
5559                }), (!isMobile.any || isMobile.ipad) && $(".select_arrow_hide").addClass("active")
5560            }, 100)
5561        }
5562    }).trigger("checkFieldsWithPlaceholder"), $(document).on("click", ".lst_a_ic > b", function(a) {
5563        a.preventDefault(), location.href = $(this).closest("a").attr("href") + "#view-gallery"
5564    }), $("body").append('<aside class="fixed-sidebar">' /*+ ($(".show-fixed-sidebar-services").length > 0 ? '<div class="fixed-sidebar-services active"><div class="social-bar"><span class="js-vshare index_share_vk"></span><span class="js-fshare index_share_facebook"></span><span class="js-gshare index_share_google"></span><span class="js-twshare index_share_twitter"></span></div></div><div class="fixed-sidebar-services-toggle"></div>' : "")*/ + '<div class="to-top-btn"></div></aside>');
5565    var m = $(".fixed-sidebar"),
5566        n = $(".need-assist-cont"),
5567        o = $(".fixed-sidebar-services"),
5568        p = $(".to-top-btn"),
5569        q = $(".f_footer"),
5570        r = q.outerHeight() + 100,
5571        s = $(window).scrollTop();
5572    $(".need-assist-btn, .need-assist-close-btn").on("click", function() {
5573        n.toggleClass("active")
5574    }), $(".fixed-sidebar-services-toggle").on("click", function() {
5575        n.removeClass("active"), o.stop(!0).slideToggle().toggleClass("active")
5576    }), p.on({
5577        click: function() {
5578            $("body, html").stop(!0, !0).animate({
5579                scrollTop: 0
5580            }, 1e3)
5581        }
5582    }), (CRD.device.media.mobile || $(window).width() < 1075) && o.hide().removeClass("active"), CRD.device.mediaChange(function() {
5583        CRD.device.media.mobile && (p.removeClass("active"), o.hide().removeClass("active"))
5584    }), $(window).scroll(function() {
5585        var a = $(this),
5586            b = a.scrollTop(),
5587            c = a.height(),
5588            d = $(document).height(),
5589            e = 300;
5590        if (p && (b > 300 && (CRD.device.media.desktop || CRD.device.media.mobile && s >= b) ? (CRD.device.media.mobile && m.show(), p.addClass("active")) : (CRD.device.media.mobile && (m.hide(), o.hide().removeClass("active")), p.removeClass("active")), s = b), !q.data("requested") && b + c + r >= d) {
5591            q.data("requested", !0), q.find(".f_fbk_box_h").before('<iframe src="https://www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2FWheelsProComUa&amp;width=240&amp;height=260&amp;show_faces=true&amp;colorscheme=dark&amp;stream=false&amp;show_border=false&amp;header=false&amp;connections=12" class="f_fbk_box" frameborder="0" scrolling="no" allowTransparency="true"></iframe>')/*, q.find(".f_nlett").on("click", function() {
5592                var a = "/newsletter-subscribe.html";
5593                isMobile.any ? newTab(a) : $.colorbox({
5594                    iframe: !0,
5595                    href: a,
5596                    width: 754,
5597                    height: 570,
5598                    scrolling: !1
5599                })
5600            })*/, q.find(".f_slider_list a, .f_social a, .f_banner_a").on("click", function() {
5601                return newTab($(this).attr("href"))
5602            });
5603            var f = {
5604                src: q.find(".f_slider_list>li"),
5605                delay: 5e3,
5606                width: 139,
5607                pos: 0,
5608                timer: null,
5609                holder: null,
5610                animation: function(a) {
5611                    var b, c = this;
5612                    c.pos = a >= 0 ? a : ++c.pos, c.pos >= c.src.length && (c.pos = 0), b = c.pos * -c.width, clearTimeout(c.timer), c.holder.stop().animate({
5613                        left: b + "px"
5614                    }, 700, function() {
5615                        c.timer = setTimeout(function() {
5616                            c.animation(-1)
5617                        }, c.delay)
5618                    })
5619                },
5620                init: function() {
5621                    var a = this;
5622                    0 !== a.src.length && (a.holder = q.find(".f_slider_list"), a.holder.width(a.src.length * a.width), q.find(".f_prev_bt").on("click", function() {
5623                        var b = a.pos - 1 < 0 ? a.src.length - 1 : a.pos - 1;
5624                        a.animation(b)
5625                    }), q.find(".f_next_bt").on("click", function() {
5626                        a.animation(a.pos + 1)
5627                    }), a.timer = setTimeout(function() {
5628                        a.animation(-1)
5629                    }, a.delay))
5630                }
5631            };
5632            f.init()
5633        }
5634        $(".lazy-load").each(function() {
5635            var a, d, f, g, h = $(this),
5636                i = h.parent().offset().top;
5637            return b + c + e >= i || navigator.userAgent.indexOf("MSIE 7") > 0 ? (d = h.data("src"), void(d && (f = h.data("alt") || "", g = h.data("class") || "", a = new Image, a.alt = f, a.className = g + " lazy-loaded", a.style.opacity = "0", h.replaceWith(a), a.onload = function() {
5638                a.style.opacity = "1"
5639            }, a.src = d))) : !1
5640        })
5641    }).trigger("scroll"), $(".js-scroll-to").on("click", function(a) {
5642        var b = $(this).attr("href");
5643        return /^#/.test(b) && $(b).length ? ($("body,html").animate({
5644            scrollTop: $(b).offset().top
5645        }, 500), location.hash = b, a.preventDefault(), !1) : void 0
5646    }), $(".get-traditional-ptypes-by-purpose").on("click", function(a) {
5647        var b = $(this),
5648            c = b.data("entrance-ptype-id"),
5649            d = b.data("purpose-ptype-id");
5650        return c && ($(".result_preloader").hide().removeClass("nobg hidden").slideDown(300), $.ajax({
5651            type: "POST",
5652            url: "/ajax.php",
5653            data: {
5654                action: "get-traditional-ptypes-by-purpose",
5655                ptype_id: c,
5656                purpose_ptype_id: d,
5657                from_url: location.pathname
5658            },
5659            dataType: "json",
5660            success: function(a) {
5661                a && ($(".ptype_lst:first").html(a.categories), $(".h1_custom:first").html(a.anchor).attr("id", a.group_id).css("background-image", "url(" + a.icon + ")"), $(".result_preloader").slideUp(300, function() {
5662                    $(this).addClass("nobg hidden")
5663                }))
5664            }
5665        })), a.preventDefault(), !1
5666    }), $(document).on("click", ".js-vshare, .js-gshare, .js-twshare, .js-fshare", function() {
5667        var a = $(this),
5668            b = a.data("url") || location.href;
5669        if (a.hasClass("js-vshare")) return newWindow("http://vk.com/share.php?url=" + encodeURIComponent(b), "fb", 626, 490, "yes");
5670        if (a.hasClass("js-fshare")) return newWindow("https://facebook.com/sharer/sharer.php?u=" + encodeURIComponent(b), "fb", 626, 490, "yes");
5671        if (a.hasClass("js-gshare")) return newWindow("http://plus.google.com/share?url=" + encodeURIComponent(b), "gg", 600, 500, "yes");
5672        if (a.hasClass("js-twshare")) {
5673            var c = $.trim(a.data("title") || $('meta[property="og:title"]').attr("content") || $("title").text());
5674            a.data("description") && (c = c + "\n" + $.trim(a.data("description")));
5675            var d = c.match(/\S+\.\S+/g) || [],
5676                e = 22 * (d.length + 1) - d.join("").length + 14 + 2;
5677            return c.length + e > 140 && (c = c.substring(0, 140 - e - 3) + "..."), newWindow("http://twitter.com/share?url=" + encodeURIComponent(b) + "&text=" + encodeURIComponent(c) + "&via=wheels-pro_com_ua", "tw", 495, 500, "yes")
5678        }
5679    }), $(".accordion").on("click", "dt", function() {
5680        var a = $(this);
5681        a.next("dd").siblings("dd").slideUp(300), a.next("dd").stop(!0, !0).slideToggle(300), a.toggleClass("active").siblings().removeClass("active")
5682    }), $(".tab-list").on("click", "li", function() {
5683        var a = $(this).index();
5684        $(this).find("span").addClass("selected").parent().siblings().find("span").removeClass("selected"), $(".js-tab-cont-holder").find("div").removeClass("selected").eq(a).addClass("selected")
5685    }), $("dl.prod_tabs dt").on("click", function() {
5686        var a = $(this);
5687        CRD.device.media["mobile-small"] || CRD.device.media["mobile-medium"] ? a.hasClass("selected") ? a.removeClass("selected").next("dd").stop(!0, !0).removeClass("selected") : (a.siblings().removeClass("selected").end().next("dd").addBack().addClass("selected"), $("html, body").animate({
5688            scrollTop: a.offset().top - a.height()
5689        }, 300)) : a.siblings().removeClass("selected").end().next("dd").addBack().addClass("selected")
5690    }), CRD.device.media["mobile-small"] && $("dl.prod_tabs").find("dd, dt").removeClass("selected"), CRD.device.mediaChange(function() {
5691        !CRD.device.media["mobile-large"] && !CRD.device.media.desktop || $("dl.prod_tabs dt").hasClass("selected") || $("dl.prod_tabs dt:first").trigger("click")
5692    });
5693    var t = optSelect();
5694    if ($(".aside_slct:not(.disabled)").on({
5695            click: function(a) {
5696                t.show(a, this)
5697            },
5698            keydown: function(a) {
5699                return t.keydown(a, this)
5700            }
5701        }).on({
5702            click: function(a) {
5703                t.opt(a, this)
5704            }
5705        }, "li"), $(".aside_dd").on("click", function(a) {
5706            "undefined" != typeof mmyp_options && mmyp_options.get_ptype_select(a, this)
5707        }), $(".js-aside-filters-clear-btn").on("click", function() {
5708            var a = $(this),
5709                b = a.data("method");
5710            return b && a.parents("form").prop("method", b), $(".aside_filters>li").removeClass("checked").find("input").prop("checked", !1), CRD.mobilePagePreloader(), CRD.device.support.sessionStorage && sessionStorage.setItem("refineFilterClick", !0), !0
5711        }), $(document).on("click", 'a[href*="youtube.com/embed"]', function(a) {
5712            a.preventDefault(), $.colorbox({
5713                iframe: !0,
5714                href: $(this).attr("href"),
5715                innerWidth: 853,
5716                innerHeight: 480,
5717                maxWidth: "90%",
5718                maxHeight: "90%",
5719                scrolling: !1
5720            })
5721        }), 0 === $("#product_orderform").length && ($('a[href*=".jpg"]').colorbox({
5722            maxHeight: "90%",
5723            maxWidth: "90%"
5724        }), $(document).on("click", 'a[href*=".mp4"]', function() {
5725            return openMediaOrTab($(this).attr("href"))
5726        })), CRD.pagination) {
5727        var u = CRD.pagination.pageLimit,
5728            v = CRD.pagination.baseUrl,
5729            w = CRD.pagination.currentPage,
5730            x = CRD.pagination.nextPage,
5731            y = CRD.pagination.itemsListSector,
5732            z = $(y),
5733            A = ".pagination",
5734            B = $(A),
5735            C = ".plab-pagination",
5736            D = $(C),
5737            E = ".pagination-h1",
5738            F = $(E),
5739            G = CRD.device.support.sessionStorage,
5740            H = "cont" + v,
5741            I = "page" + v,
5742            J = "url" + v;
5743        if (G && ($(document).on("click", A + " a," + C + " a", function() {
5744                sessionStorage.setItem(H, "")
5745            }), w > 1)) {
5746            var K = sessionStorage.getItem(H),
5747                L = sessionStorage.getItem(J);
5748            K && L === location.pathname && (z.html(K), w = parseInt(sessionStorage.getItem(I), 10), F = $(E), $(window).trigger("scroll"), $(".lazy-loaded").css("opacity", "1"))
5749        }
5750        window.history && window.history.pushState && $(window).scroll(function() {
5751            if (F.length > 0) {
5752                var a = $(this),
5753                    b = a.scrollTop(),
5754                    c = a.height(),
5755                    d = 1 !== w && u >= x ? $(".pagination-next").attr("href") : v;
5756                F.each(function() {
5757                    var a = $(this).offset().top;
5758                    return b + .5 * c > a ? void(d = $(this).attr("data-url")) : !1
5759                }), history.replaceState(null, null, d), G && sessionStorage.setItem(J, location.pathname)
5760            }
5761        }), $(document).on("click", ".pagination-more-btn", function() {
5762            var a = $(this);
5763            if (!a.hasClass("active") && u >= x) {
5764                a.addClass("active");
5765                var b = $(".pagination-next").attr("href");
5766                $.ajax({
5767                    url: b + "&ajax_current_page=" + w,
5768                    type: "GET",
5769                    dataType: "html",
5770                    success: function(c) {
5771                        if (c) {
5772                            var d = $(c),
5773                                e = d.find(y).html(),
5774                                f = d.find(A).html(),
5775                                g = d.find(C).html();
5776                            e && (z.append('<li class="pagination-h1" data-url="' + b + '"><span>Page ' + x + "</span><i></i></li>" + e), B.html(f), D.html(g), F = $(E), $(window).trigger("scroll"), G && (sessionStorage.setItem(H, z.html()), sessionStorage.setItem(I, w), sessionStorage.setItem(J, location.pathname)), x++)
5777                        } else B.hide(), D.hide();
5778                        a.removeClass("active")
5779                    }
5780                })
5781            }
5782        })
5783    }
5784    if (CRD.plabParams) {
5785        var M = function() {
5786            function a() {
5787                return CRD.device.media["mobile-medium"] || CRD.device.media["mobile-small"] ? !0 : !1
5788            }
5789
5790            function c() {
5791                $(".products-panel-mobile-group").each(function() {
5792                    var a = $(this),
5793                        b = $(".products-panel-mobile-group-ymm"),
5794                        c = ".products-panel-mobile-wrapper",
5795                        d = a.hasClass("products-panel-mobile-group-first") && b.length ? b.find(c) : a.find(c),
5796                        e = a.find(".aside-vehicle-toggle"),
5797                        f = a.find(".aside-product-toggle"),
5798                        g = a.find(".plab-view-mode-list"),
5799                        h = a.find(".aside_filters_title"),
5800                        i = "products-panel-mobile-item-";
5801                    e.length && $('<div class="' + i + 'ymm aside_title aside_minus">Авто</div>').on("click", function() {
5802                        e.click()
5803                    }).appendTo(d), f.length && $('<div class="' + i + 'product aside_title aside_minus">Товар</div>').on("click", function() {
5804                        f.click()
5805                    }).appendTo(d), g.length && d.append('<div class="' + i + "view-mode " + (g.hasClass("active") ? "list" : "grid") + '"></div>'), h.length && d.append('<div class="' + i + 'filter aside_title" data-toggle-class="right-panel-show">Фільтр</div>')
5806                })
5807            }
5808
5809            function d() {
5810                var b = $(".aside_minus"),
5811                    c = $(".aside_dd_cont");
5812                a() ? b.addClass("aside_plus") : ((!k || k && !k.isFixedNow()) && b.removeClass("aside_plus").next(".js-aside-block").show(), c.find(".aside_dd_group_li.active").removeClass("active").next("dd").hide()), c.hide()
5813            }
5814
5815            function e() {
5816                m && m.find("select").on("change", function() {
5817                    var a = $(this),
5818                        b = n.find('input[name="' + a.attr("name") + '"]');
5819                    "checkbox" === b.attr("type") ? b.prop("checked", !1).filter('[value="' + a.val() + '"]').prop("checked", !0) : b.val(a.val()), n.submit()
5820                })
5821            }
5822
5823            function f(c) {
5824                n && (a() ? j.data("toggle-mobile") || (j.data("toggle-mobile", !0), n.show().appendTo(".right-panel")) : j.data("toggle-mobile") && (j.removeData("toggle-mobile"), n.appendTo(j), b())), d(), c && CRD.device.mediaChange(function() {
5825                    f()
5826                })
5827            }
5828
5829            function g() {
5830                if (l) {
5831                    var a = $();
5832                    l.not(".js-plab-filter-ignore").find("li.checked").each(function() {
5833                        var b = $(this),
5834                            c = b.closest(".js-aside-block").prev().text(),
5835                            d = b.data("text") || b.text(),
5836                            e = ".aside-filters-item",
5837                            f = b.find(".aside-image-preview-icon").data("src") || "",
5838                            g = $("<li" + (f ? ' data-src="' + f + '"' : "") + ">" + c + ": " + d + "</li>").on("click", function() {
5839                                try {
5840                                    b.find(e)[0].click()
5841                                } catch (a) {
5842                                    b.find(e).click()
5843                                }
5844                            });
5845                        a = a.add(g)
5846                    }), a.length && $(".aside-filters-summary").show().append(a)
5847                }
5848            }
5849
5850            function h() {
5851                var a = "viewMode" + location.pathname,
5852                    b = $(".products-panel-mobile-item-view-mode").on("click", function() {
5853                        $(".plab-view-mode-" + ($(this).hasClass("grid") ? "list" : "grid")).trigger("click")
5854                    });
5855                if ($(".plab-view-mode>span").on("click", function() {
5856                        var c = $(this);
5857                        if (!c.hasClass("active")) {
5858                            var d = $(".js-main-prod-list"),
5859                                e = c.attr("class").replace("plab-view-mode-", ""),
5860                                f = "prod_lst";
5861                            "grid-small" === e ? (f = "four_per_row prod_grd", b.addClass("grid")) : "grid" === e ? (f = "three_per_row prod_grd", b.addClass("grid")) : b.removeClass("grid"), CRD.device.support.sessionStorage && sessionStorage.setItem(a, e), d.removeClass("five_per_row four_per_row three_per_row prod_grd prod_lst").addClass(f), c.siblings().removeClass("active").end().addClass("active"), $("body").trigger("scroll"), k && k.recalculate()
5862                        }
5863                    }), CRD.device.support.sessionStorage) {
5864                    var c = sessionStorage.getItem(a);
5865                    c ? $(".plab-view-mode-" + c).trigger("click") : CRD.device.media["mobile-small"] && $(".select_vehicle").length && $(".plab-view-mode-list").trigger("click")
5866                }
5867            }
5868
5869            function i() {
5870                l && l.find(".aside-filters-item").on("click", function(a) {
5871                    a.preventDefault();
5872                    var b = $(this),
5873                        c = b.parents("li").first(),
5874                        d = b.find("a").length,
5875                        e = b.data("not-multi"),
5876                        f = b.data("method");
5877                    if (CRD.mobilePagePreloader(), CRD.device.support.sessionStorage && sessionStorage.setItem("refineFilterClick", !0), d) var g = "multiple" === b.find("a").data("selection");
5878                    return c.hasClass("checked") ? c.removeClass("checked").find("input:first").prop("checked", !1) : ((d && !g || e) && c.siblings().removeClass("checked").find("input:first").prop("checked", !1), c.addClass("checked").find("input:first").prop("checked", !0)), d && (c.siblings().children("span").add(b).off("click").find("a").on("click", function() {
5879                        return !1
5880                    }), d) ? (location.href = b.find("a").first().attr("href"), !1) : (f && (n.prop("method", f), n.prop("action", location.href)), void n.submit())
5881                })
5882            }
5883            var j, l, m, n, o;
5884            return {
5885                init: function(a) {
5886                    c(), a && !$.isEmptyObject(a) && (j = a.wrapper ? $(a.wrapper) : !1, n = a.form ? $(a.form) : !1, l = a.filters ? $(a.filters) : !1, m = a.selects ? $(a.selects) : !1, o = a.filterValue ? $(a.filterValue) : !1, e(), g(), h(), i()), d(), f(!0)
5887                }
5888            }
5889        }();
5890        M.init(CRD.plabParams)
5891    }
5892    if (CRD.device.support.sessionStorage && sessionStorage.getItem("refineFilterClick")) {
5893        sessionStorage.removeItem("refineFilterClick");
5894        var N = $(".products-panel-mobile-group:not(.products-panel-mobile-group-ymm, .products-panel-mobile-group-first, .products-panel-mobile-group-search)").first();
5895        N.length && setTimeout(function() {
5896            $("html, body").animate({
5897                scrollTop: N.offset().top - 50
5898            }, 300)
5899        }, 0)
5900    }
5901    if ($(".select_vehicle").length) {
5902        var O = $(".select_vehicle").data("purpose"),
5903            P = {
5904                showTimeout: 0,
5905                fixedEnabled: !0,
5906                isFixedNow: !1,
5907                fixedEl: $(".select_vehicle_outer"),
5908                positionTop: 1 / 0,
5909                isCanBeFixed: !0,
5910                isCanBeFixedCheck: function() {
5911                    var a = this;
5912                    a.isCanBeFixed = !CRD.device.support.touch && CRD.device.media.desktop && !/msie\s(6|7)/i.test(navigator.userAgent), !a.isCanBeFixed && a.isFixedNow && a.toggleFixed(!1)
5913                },
5914                toggleFixed: function(a) {
5915                    var b = this;
5916                    a === !1 ? (b.fixedEl.removeClass("select_vehicle_fixed"), b.isFixedNow = !1) : (b.fixedEl.addClass("select_vehicle_fixed"), b.isFixedNow = !0)
5917                },
5918                init: function() {
5919                    var a = this;
5920                    a.positionTopEl = a.fixedEl.find(".aside_slct:first"), a.hasHiddenSelect = a.fixedEl.find(".select_vehicle_hidden_slct").length ? !0 : !1, a.isCanBeFixedCheck(), CRD.device.mediaChange(function() {
5921                        a.isCanBeFixedCheck()
5922                    }), a.hasHiddenSelect && a.fixedEl.find(".select_vehicle_hidden_slct").parent().on({
5923                        mouseenter: function() {
5924                            if (a.isCanBeFixed) {
5925                                var b = $(this);
5926                                clearTimeout(a.showTimeout), a.showTimeout = setTimeout(function() {
5927                                    b.children(".select_vehicle_hidden_slct:hidden").slideDown("slow")
5928                                }, 400)
5929                            }
5930                        },
5931                        mouseleave: function() {
5932                            clearTimeout(a.showTimeout)
5933                        }
5934                    }), $(".select_vehicle_fixed_close").one("click", function() {
5935                        a.fixedEnabled = !1;
5936                        a.fixedEl.find(".select_vehicle_hidden_slct").slideUp();
5937                        a.toggleFixed(!1);
5938
5939                    }), $(window).on("scroll", function() {
5940                        if (a.isCanBeFixed && a.fixedEnabled) {
5941                            var b = $(window).scrollTop();
5942                            a.isFixedNow ? a.hasHiddenSelect && 0 === $(".aside_slct_opts:visible").length && a.fixedEl.find(".select_vehicle_hidden_slct").slideUp("slow") : a.positionTopEl.length && (a.positionTop = a.positionTopEl.offset().top), b > a.positionTop ? a.toggleFixed(!0) : a.toggleFixed(!1)
5943                        }
5944                    }).trigger("scroll")
5945                }
5946            };
5947        if (P.init(), CRD.selectVehicle = {}, "wheels" === O) CRD.selectVehicle = mmysWheelsOptions() || {}, wheel_makes_arr && (CRD.selectVehicle.entity_arrays.make_arr = wheel_makes_arr);
5948        else if ("tires" === O) CRD.selectVehicle = mmysTiresOptions() || {}, tire_makes_arr && (CRD.selectVehicle.entity_arrays.make_arr = tire_makes_arr), tire_sizes_arr && (CRD.selectVehicle.entity_arrays.tires_arr = tire_sizes_arr), CRD.selectVehicle.reset_tires_options = function(a, b) {
5949            var c = this;
5950            $("#aside_slct_opts_" + a).html(c.defaultOpt(b)), $("#aside_slct_" + a).removeClass("checked").find("input:first").val(0).parent().find("span:first").html(b)
5951        }, CRD.selectVehicle.create_tires_options = function(a, b) {
5952            var c, d, e = "";
5953            for (a.sort(function(a, b) {
5954                    return a - b
5955                }), c = 0; c < a.length; ++c) a[c] !== a[c - 1] && (e += '<li data-value="' + a[c] + '">' + a[c] + ("diameter" === b ? "&Prime;" : "") + "</li>");
5956            d = $("#aside_slct_" + b + " .aside_slct_opts"), d.append(e), d = d.parent(), d.triggerHandler("click"), d.focus()
5957        }, CRD.selectVehicle.manipulate_tires_options = function(a) {
5958            var b = this,
5959                c = b.entity_arrays.tires_arr,
5960                d = [],
5961                e = 0;
5962            switch (a.parentNode.id) {
5963                case "aside_slct_width":
5964                    for (b.reset_tires_options("ratio", "Ratio"), b.reset_tires_options("diameter", "Diameter"), e; e < c.length; e++) c[e][1] == a.value && d.push(c[e][2]);
5965                    b.create_tires_options(d, "ratio"), $(".aside_slct_load").hide();
5966                    break;
5967                case "aside_slct_ratio":
5968                    var f = $("#aside_slct_width input").val();
5969                    for (b.reset_tires_options("diameter", "Diameter"), e; e < c.length; e++) c[e][1] == f && c[e][2] == a.value && d.push(c[e][0]);
5970                    b.create_tires_options(d, "diameter"), $(".aside_slct_load").hide();
5971                    break;
5972                case "aside_slct_diameter":
5973                    var f = $("#aside_slct_width input").val(),
5974                        g = $("#aside_slct_ratio input").val();
5975                    0 == f && 0 == g ? location.href = "/tires/" + a.value + "-inch/" : location.href = "/tires/" + f + "-" + g + "-r" + a.value + "/"
5976            }
5977        }, CRD.selectVehicle.change_brand = function(a) {
5978            0 != a && (location.href = "/" + a)
5979        };
5980        else if ("universal_brand" === O) CRD.selectVehicle.submit_brand = function(a) {
5981            var b = $(a).parent(),
5982                c = $(a).val().split("|");
5983            b.attr("action", c[0]), b.attr("method", "POST"), $(a).attr("name", "product_filter[brand][]").val(c[1]), b.submit()
5984        };
5985        else {
5986            var Q = function() {
5987                return {
5988                    twoSelectorsSchema: $(".select-holder-for-two-selectors").length,
5989                    defaultOpt: function(a) {
5990                        return '<li data-value="0" class="active">' + a + "</li>"
5991                    },
5992                    createOpts: function(a, b, c) {
5993                        var d, e, f, g = this,
5994                            h = g.defaultOpt(c),
5995                            i = $("#select_vehicle_" + b);
5996                        if ("string" == typeof a)
5997                            for (a = a.split(","), d = 0; d < a.length; ++d) e = a[d], f = a[d], h += '<li data-value="' + e + '">' + f + "</li>";
5998                        else
5999                            for (d in a) e = a[d].id ? a[d].id : a[d].url, f = a[d].name, h += '<li data-value="' + e + '">' + f + "</li>";
6000                        i.find("ol").html(h), i.triggerHandler("click"), i.focus()
6001                    },
6002                    resetOpts: function(a, b) {
6003                        var c = this;
6004                        $("#select_vehicle_" + a + " ol").html(c.defaultOpt(b)), $("#select_vehicle_" + a).removeClass("checked").find("input:first").val(0).parent().find("span:first").html(b)
6005                    },
6006                    change_year: function(a, b, c, d, e, f) {
6007                        f = f || "all";
6008                        var g = this,
6009                            h = $("#select_vehicle_year>input").val(),
6010                            i = $("#brand_selector").val(),
6011                            j = "",
6012                            k = {};
6013                        "brandpages" === a ? (j = "html", k = {
6014                            q: serialize({
6015                                aafunction: "brand_pages_ymm_selects",
6016                                brand: i,
6017                                year: h
6018                            })
6019                        }) : (j = "json", k = {
6020                            q: serialize({
6021                                aafunction: "landing_pages_ptype_ymm_selects",
6022                                year: h,
6023                                id: a,
6024                                type: b,
6025                                ptype_group_id: c,
6026                                url_family_id: d,
6027                                ptype_id: e,
6028                                body_type: f
6029                            })
6030                        }), $(".aside_slct_load").show(), $.ajax({
6031                            url: "/ajax.php",
6032                            type: "POST",
6033                            dataType: j,
6034                            data: k,
6035                            success: function(a) {
6036                                g.resetOpts("make", "Виберіть Марку"), g.resetOpts("model", "Виберіть Модель"), a && (g.createOpts(a, "make", "Виберіть Марку"), 0 === g.twoSelectorsSchema && $("#select_vehicle_year, #select_vehicle_model").parent().removeClass("red_bg"), $("#select_vehicle_make").parent().addClass("red_bg"), $(".aside_slct_load").hide())
6037                            },
6038                            error: function() {
6039                                alert("Error, please try again!")
6040                            }
6041                        })
6042                    },
6043                    change_make: function(a, b, c, d, e, f) {
6044                        f = f || "all";
6045                        var g = this,
6046                            h = $("#select_vehicle_year>input").val(),
6047                            i = $("#select_vehicle_make>input").val(),
6048                            j = $("#brand_selector").val(),
6049                            k = "",
6050                            l = {};
6051                        "brandpages" === a ? (k = "html", l = {
6052                            q: serialize({
6053                                aafunction: "brand_pages_ymm_selects",
6054                                brand: j,
6055                                year: h,
6056                                make: i
6057                            })
6058                        }) : (k = "json", l = {
6059                            q: serialize({
6060                                aafunction: "landing_pages_ptype_ymm_selects",
6061                                year: h,
6062                                make: i,
6063                                id: a,
6064                                type: b,
6065                                ptype_group_id: c,
6066                                url_family_id: d,
6067                                ptype_id: e,
6068                                body_type: f
6069                            })
6070                        }), $(".aside_slct_load").show(), $.ajax({
6071                            url: "/ajax.php",
6072                            type: "POST",
6073                            dataType: k,
6074                            data: l,
6075                            success: function(a) {
6076                                g.resetOpts("model", "Виберіть Модель"), a && (g.createOpts(a, "model", "Виберіть Модель"), 0 === g.twoSelectorsSchema && $("#select_vehicle_year, #select_vehicle_make").parent().removeClass("red_bg"), $("#select_vehicle_model").parent().addClass("red_bg"), $(".aside_slct_load").hide())
6077                            },
6078                            error: function() {
6079                                alert("Error, please try again!")
6080                            }
6081                        })
6082                    },
6083                    change_model: function(a) {
6084                        var b = $("#select_vehicle_year>input").val(),
6085                            c = $("#select_vehicle_make>input").val(),
6086                            d = $("#select_vehicle_model>input").val(),
6087                            e = $("#brand_selector").val();
6088                        if ("0" !== b && "0" !== c && "0" !== d) {
6089                            if ("brandpages" === a) {
6090                                if (e) return $.ajax({
6091                                    url: "/brand_aj.php",
6092                                    type: "POST",
6093                                    dataType: "html",
6094                                    data: {
6095                                        year: b,
6096                                        make: c,
6097                                        model: d,
6098                                        brand: e
6099                                    },
6100                                    success: function(a) {
6101                                        a.match(/^Location: /) ? location.href = "/" + a.replace("Location: ", "") : ($.gbox({
6102                                            html: a,
6103                                            maxWidth: 842
6104                                        }), $(".aside_slct_load").hide())
6105                                    },
6106                                    error: function() {
6107                                        alert("Error, please try again!")
6108                                    }
6109                                }), !0
6110                            } else /^\d+$/.test(d) ? location.href = "/home.php?cat=" + d : location.href = "/" + d;
6111                            return !0
6112                        }
6113                        return alert("Please select right options"), !1
6114                    },
6115                    go_brand_type: function(a) {
6116                        var b = $("#brandMake").val(),
6117                            c = $("#brandModel").val(),
6118                            d = $("#brandYear").val(),
6119                            e = $("#brandBrand").val(),
6120                            f = a.className;
6121                        $.gbox.close(), $.gbox.showLoader(), f && (f = decodeURIComponent(f.replace(/^(.*?)#/, "")), $.ajax({
6122                            url: "/brand_aj.php",
6123                            type: "POST",
6124                            dataType: "html",
6125                            data: {
6126                                make: b,
6127                                model: c,
6128                                year: d,
6129                                brand: e,
6130                                ptype: f
6131                            },
6132                            success: function(a) {
6133                                if (a.match(/^Location: /)) {
6134                                    var b = a.replace("Location: ", "");
6135                                    document.location.href = "/" + b
6136                                } else $.gbox({
6137                                    html: a,
6138                                    maxWidth: 842
6139                                }), $("body").trigger("scroll")
6140                            },
6141                            error: function() {
6142                                alert("Error, please try again!")
6143                            }
6144                        }))
6145                    }
6146                }
6147            };
6148            CRD.selectVehicle = Q() || {}
6149  
6149      }
6150        "#open-mmy" === location.hash && setTimeout(function() {
6151            var a = $(".select_vehicle"),
6152                b = a.find(".aside_slct:first"),
6153                c = CRD.header.isFixed ? CRD.header.height : 0;
6154            b.length && (b.triggerHandler("click"), b.focus(), $("html, body").animate({
6155                scrollTop: a.offset().top - c
6156            }, 300))
6157        }, 0)
6158    }
6159    var R = $(".featured_prods_nav_block");
6160    if (R.length) {
6161        var S = 18,
6162            T = $(".prod_grd.three_per_row>li"),
6163            U = T.length,
6164            V = Math.ceil(U / S);
6165        if (U > S) {
6166            var W = function(a, b, c, d, e) {
6167                for (var f = e - 1 > 0 ? '" data-page="' + (e - 1) + '"' : ' disabled"', g = c > e && 0 !== e ? '" data-page="' + (e + 1) + '"' : ' disabled"', h = '<span class="featured_prods_nav_all"></span><div class="featured_prods_nav_btn_h"><span class="featured_prods_nav_btn featured_prods_nav_arw' + f + ">&lt;</span>", i = 1; c >= i; ++i) h += '<span class="featured_prods_nav_btn' + (i == e ? " active" : "") + '" data-page="' + i + '">' + i + "</span>";
6168                h += '<span class="featured_prods_nav_btn featured_prods_nav_arw' + g + ">&gt;</span></div>", h += '<div class="featured_prods_nav_txt">Showing <b>' + (a + 1) + "-" + b + "</b> of <b>" + d + "</b> Products</div>", R.html(h)
6169            };
6170            T.filter(":gt(" + (S - 1) + ")").hide(), W(0, S, V, U, 1), R.on("click", ".featured_prods_nav_btn", function() {
6171                var a = $(this).data("page"),
6172                    b = S * (a - 1) !== 0 ? S * (a - 1) : 0,
6173                    c = U > S * a ? S * a : U;
6174                W(b, c, V, U, a), T.each(function(a) {
6175                    a > b - 1 && c > a ? $(this).show() : $(this).hide()
6176                }), $(window).trigger("scroll")
6177            }).on("click", ".featured_prods_nav_all", function() {
6178                W(0, U, V, U, 0), T.show(), $(window).trigger("scroll")
6179            }).filter(".bottom").on("click", ".featured_prods_nav_btn", function() {
6180                $("body, html").animate({
6181                    scrollTop: T.parent().offset().top - 60
6182                }, 100)
6183            })
6184        } else R.hide()
6185    }
6186    $("#sbb_nav>span").on("click", function() {
6187        if (!$(this).hasClass("disabled")) {
6188            $(this).siblings().removeClass("active").end().addClass("active");
6189            var a = $(this).html(),
6190                b = $(".js-sbb-logos").empty(),
6191                c = "",
6192                d = function(a) {
6193                    a && (b.html(a), (CRD.device.media["mobile-small"] || CRD.device.media["mobile-medium"]) && $("body, html").stop(!0, !0).animate({
6194                        scrollTop: b.offset().top - 60
6195                    }, 300))
6196                };
6197            if ("undefined" != typeof brandsByAB) {
6198                if (brandsByAB[a]) {
6199                    c = '<ul class="featured_brands i5-per-row">';
6200                    for (var e = 0; e < brandsByAB[a].length; e++) {
6201                        var f = brandsByAB[a][e],
6202                            g = f.category_url ? f.category_url : f.url,
6203                            h = f.category ? f.category : f.anchor,
6204                            i = f.image_path ? f.image_path : f.image;
6205                        c += '<li class="featured_brands_li"><a class="featured_brands_a" href="/' + g + '"><img class="featured_brands_img" alt="' + h + '" src="' + i + '"></a></li>'
6206                    }
6207                    c += "</ul>"
6208                } else c = "<p>No results found.</p><br>";
6209                d(c)
6210            }
6211        }
6212    });
6213    var X, Y, Z, _ = $(".breadcrumbs-holder"),
6214        aa = $(".breadcrumbs");
6215    _.length && aa.length && (CRD.enabledToggleOnMedia(_), c(), CRD.device.mediaChange(function() {
6216        c(), d()
6217    }), $(window).on("resize", function() {
6218        clearTimeout(Z), Z = setTimeout(function() {
6219            d()
6220        }, 50)
6221    }).trigger("resize"), $(document).on("click", ".breadcrumbs-expand", function() {
6222        _.toggleClass("expanded")
6223    }))
6224
6225    $('.featured_brands_selector').click(function(){
6226        var parent = $(this).parent();
6227        if($(this).html()=='Показати всі бренди'){
6228            //$('.featured_brands_hide').css('display','block');
6229            parent.find($('.featured_brands_hide')).css('display','block');
6230            $(this).html($(this).data('off'));
6231        }else{
6232            //$('.featured_brands_hide').css('display','none');
6233            parent.find($('.featured_brands_hide')).css('display','none');
6234            $(this).html($(this).data('on'));
6235        }
6236    });
6237    $('.featured_brands_hide').css('display','none');
6238
6239
6240    $('.main_wide .read-more').click(function(){
6241        $(this).addClass('hidden');
6242        console.log($(this).parent());
6243        $(this).parent().find('.wrap').removeClass('box-hide');
6244    });
6245    $('.auto_hidden_button').click(function(){
6246        $(this).addClass('hidden');
6247        $('.auto_hidden').css('display','block');
6248    });
6249});
6250
6251var CRD = CRD || {};
6252$(function() {
6253    if (CRD.ready = $(document).ready, "readyCallbacks" in CRD) {
6254        for (var a in CRD.readyCallbacks) CRD.readyCallbacks[a]();
6255        CRD.readyCallbacks = []
6256    }
6257});
6258
6259
6260function UpdateMainPic(b, a)
6261{
6262
6263var divS = document.getElementById('defaultImage');
6264divS.innerHTML = "<a target='_blank' href='" + b + "'><img border=\"0\" src='" + a + "' /></a><br />";
6265}

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