PageSourceSearch

https://lawyersniagara.com/jackbox/js/jackbox-packed.min.js

js lawyersniagara.com collected 2026-10-06 13:14:27 UTC 88,053 bytes, 2,073 lines download raw bytes

1(function (c) {
2    c.address = function () {
3        var q = function (a) {
4            c(c.address).trigger(c.extend(c.Event(a), function () {
5                for (var b = {}, e = c.address.parameterNames(), l = 0, p = e.length; l < p; l++) b[e[l]] = c.address.parameter(e[l]);
6                return {
7                    value: c.address.value(),
8                    path: c.address.path(),
9                    pathNames: c.address.pathNames(),
10                    parameterNames: e,
11                    parameters: b,
12                    queryString: c.address.queryString()
13                }
14            }.call(c.address)))
15        }, s = function (a) {
16            return Array.prototype.slice.call(a)
17        }, g = function () {
18            c().bind.apply(c(c.address), Array.prototype.slice.call(arguments));
19            return c.address
20        }, F = function () {
21            return y.pushState && d.state !== j
22        }, U = function () {
23            return ("/" + h.pathname.replace(new RegExp(d.state), "") + h.search + (G() ? window.location.hash + G() : "")).replace(T, "/")
24        }, G = function () {
25            var a = h.href.indexOf(window.location.hash);
26            return a != -1 ? w(h.href.substr(a + 1), m) : ""
27        }, t = function () {
28            return F() ? U() : G()
29        }, V = function () {
30            return "javascript"
31        }, M = function (a) {
32            a = a.toString();
33            return (d.strict && a.substr(0, 1) != "/" ? "/" : "") + a
34        }, w = function (a, b) {
35            if (d.crawlable && b) return (a !== "" ? "!" : "") + a;
36            return a.replace(/^\!/, "")
37        }, u = function (a, b) {
38            return parseInt(a.css(b),
39            10)
40        }, C = function () {
41            if (!H) {
42                var a = t();
43                if (f != a) if (z && A < 7) h.reload();
44                else {
45                    z && !I && d.history && r(N, 50);
46                    f = a;
47                    B(m)
48                }
49            }
50        }, B = function (a) {
51            q(W);
52            q(a ? X : Y);
53            r(fa, 10)
54        }, fa = function () {
55            if (d.tracker !== "null" && d.tracker !== null) {
56                var a = c.isFunction(d.tracker) ? d.tracker : i[d.tracker],
57                    b = (h.pathname + h.search + (c.address && !F() ? c.address.value() : "")).replace(/\/\//, "/").replace(/^\/$/, "");
58                if (c.isFunction(a)) a(b);
59                else if (c.isFunction(i.urchinTracker)) i.urchinTracker(b);
60                else if (i.pageTracker !== j && c.isFunction(i.pageTracker._trackPageview)) i.pageTracker._trackPageview(b);
61                else i._gaq !== j && c.isFunction(i._gaq.push) && i._gaq.push(["_trackPageview", decodeURI(b)])
62            }
63        }, N = function () {
64            var a = V() + ":" + m + ";document.open();document.writeln('<html><head><title>" + n.title.replace(/\'/g, "\\'") + "</title><script>var " + x + ' = "' + t() + (n.domain != h.hostname ? '";document.domain="' + n.domain : "") + "\";<\/script></head></html>');document.close();";
65            if (A < 7) k.src = a;
66            else k.contentWindow.location.replace(a)
67        }, $ = function () {
68            if (D && Z != -1) {
69                var a, b, e = D.substr(Z + 1).split("&");
70                for (a = 0; a < e.length; a++) {
71                    b = e[a].split("=");
72                    if (/^(autoUpdate|crawlable|history|strict|wrap)$/.test(b[0])) d[b[0]] = isNaN(b[1]) ? /^(true|yes)$/i.test(b[1]) : parseInt(b[1], 10) !== 0;
73                    if (/^(state|tracker)$/.test(b[0])) d[b[0]] = b[1]
74                }
75                D = null
76            }
77            f = t()
78        }, ba = function () {
79            if (!aa) {
80                aa = o;
81                $();
82                var a = function () {
83                    ga.call(this);
84                    ha.call(this)
85                }, b = c("body").ajaxComplete(a);
86                a();
87                if (d.wrap) {
88                    c("body > *").wrapAll('<div style="padding:' + (u(b, "marginTop") + u(b, "paddingTop")) + "px " + (u(b, "marginRight") + u(b, "paddingRight")) + "px " + (u(b, "marginBottom") + u(b, "paddingBottom")) + "px " + (u(b, "marginLeft") + u(b, "paddingLeft")) + 'px;" />').parent().wrap('<div id="' + x + '" style="height:100%;overflow:auto;position:relative;' + (J && !window.statusbar.visible ? "resize:both;" : "") + '" />');
89                    c("html, body").css({
90                        height: "100%",
91                        margin: 0,
92                        padding: 0,
93                        overflow: "hidden"
94                    });
95                    J && c('<style type="text/css" />').appendTo("head").text("#showcase" + x + "::-webkit-resizer { background-color: #fff; }")
96                }
97                if (z && !I) {
98                    a = n.getElementsByTagName("frameset")[0];
99                    k = n.createElement((a ? "" : "i") + "frame");
100                    k.src = V() + ":" + m;
101                    if (a) {
102                        a.insertAdjacentElement("beforeEnd",
103                        k);
104                        a[a.cols ? "cols" : "rows"] += ",0";
105                        k.noResize = o;
106                        k.frameBorder = k.frameSpacing = 0
107                    } else {
108                        k.style.display = "none";
109                        k.style.width = k.style.height = 0;
110                        k.tabIndex = -1;
111                        n.body.insertAdjacentElement("afterBegin", k)
112                    }
113                    r(function () {
114                        c(k).bind("load", function () {
115                            var e = k.contentWindow;
116                            f = e[x] !== j ? e[x] : "";
117                            if (f != t()) {
118                                B(m);
119                                h.hash = w(f, o)
120                            }
121                        });
122                        k.contentWindow[x] === j && N()
123                    }, 50)
124                }
125                r(function () {
126                    q("init");
127                    B(m)
128                }, 1);
129                if (!F()) if (I) if (i.addEventListener) i.addEventListener(E, C, m);
130                else i.attachEvent && i.attachEvent("on" + E, C);
131                else ia(C, 50)
132            }
133        }, ga = function () {
134            var a,
135            b = c("a"),
136                e = b.size(),
137                l = -1,
138                p = function () {
139                    if (++l != e) {
140                        a = c(b.get(l));
141                        a.is('[rel*="address:"]') && a.address('[rel*="address:"]');
142                        r(p, 1)
143                    }
144                };
145            r(p, 1)
146        }, ha = function () {
147            if (d.crawlable) {
148                var a = h.pathname.replace(/\/$/, "");
149                c("body").html().indexOf("_escaped_fragment_") != -1 && c('a[href]:not([href^=http]), a[href*="' + document.domain + '"]').each(function () {
150                    var b = c(this).attr("href").replace(/^http:/, "").replace(new RegExp(a + "/?$"), "");
151                    if (b === "" || b.indexOf("_escaped_fragment_") != -1) c(this).attr("href", "#showcase" + encodeURI(decodeURIComponent(b.replace(/\/(.*)\?_escaped_fragment_=(.*)$/)),
152                        "!$2"))
153                })
154            }
155        }, j, x = "jQueryAddress",
156            E = "hashchange",
157            W = "change",
158            X = "internalChange",
159            Y = "externalChange",
160            o = true,
161            m = false,
162            d = {
163                autoUpdate: o,
164                crawlable: m,
165                history: o,
166                strict: o,
167                wrap: m
168            }, K = c.browser,
169            A = parseFloat(K.version),
170            z = !c.support.opacity,
171            J = K.webkit || K.safari,
172            i = function () {
173                try {
174                    return top.document !== j ? top : window
175                } catch (a) {
176                    return window
177                }
178            }(),
179            n = i.document,
180            y = i.history,
181            h = i.location,
182            ia = setInterval,
183            r = setTimeout,
184            T = /\/{2,9}/g,
185            ca = navigator.userAgent,
186            I = "on" + E in i,
187            k, D = c("script:last").attr("src"),
188            Z = D ? D.indexOf("?") : -1,
189            O = n.title,
190            H = m,
191            aa = m,
192            P = o,
193            da = o,
194            L = m,
195            f = t();
196        if (z) {
197            A = parseFloat(ca.substr(ca.indexOf("MSIE") + 4));
198            if (n.documentMode && n.documentMode != A) A = n.documentMode != 8 ? 7 : 8;
199            var ea = n.onpropertychange;
200            n.onpropertychange = function () {
201                ea && ea.call(n);
202                if (n.title != O && n.title.indexOf("#showcase" + t()) != -1) n.title = O
203            }
204        }
205        if (y.navigationMode) y.navigationMode = "compatible";
206        if (document.readyState == "complete") var ja = setInterval(function () {
207            if (c.address) {
208                ba();
209                clearInterval(ja)
210            }
211        }, 50);
212        else {
213            $();
214            c(ba)
215        }
216        c(window).bind("popstate", function () {
217            if (f != t()) {
218                f = t();
219                B(m)
220            }
221        }).bind("unload",
222
223        function () {
224            if (i.removeEventListener) i.removeEventListener(E, C, m);
225            else i.detachEvent && i.detachEvent("on" + E, C)
226        });
227        return {
228            bind: function () {
229                return g.apply(this, s(arguments))
230            },
231            init: function () {
232                return g.apply(this, ["init"].concat(s(arguments)))
233            },
234            change: function () {
235                return g.apply(this, [W].concat(s(arguments)))
236            },
237            internalChange: function () {
238                return g.apply(this, [X].concat(s(arguments)))
239            },
240            externalChange: function () {
241                return g.apply(this, [Y].concat(s(arguments)))
242            },
243            baseURL: function () {
244                var a = h.href;
245                if (a.indexOf("#showcase") != -1) a = a.substr(0, a.indexOf("#showcase"));
246                if (/\/$/.test(a)) a = a.substr(0, a.length - 1);
247                return a
248            },
249            autoUpdate: function (a) {
250                if (a !== j) {
251                    d.autoUpdate = a;
252                    return this
253                }
254                return d.autoUpdate
255            },
256            crawlable: function (a) {
257                if (a !== j) {
258                    d.crawlable = a;
259                    return this
260                }
261                return d.crawlable
262            },
263            history: function (a) {
264                if (a !== j) {
265                    d.history = a;
266                    return this
267                }
268                return d.history
269            },
270            state: function (a) {
271                if (a !== j) {
272                    d.state = a;
273                    var b = U();
274                    if (d.state !== j) if (y.pushState) b.substr(0, 3) == "/#/" && h.replace(d.state.replace(/^\/$/, "") + b.substr(2));
275                    else b != "/" && b.replace(/^\/#/, "") != G() && r(function () {
276                        h.replace(d.state.replace(/^\/$/,
277                            "") + "/#" + b)
278                    }, 1);
279                    return this
280                }
281                return d.state
282            },
283            strict: function (a) {
284                if (a !== j) {
285                    d.strict = a;
286                    return this
287                }
288                return d.strict
289            },
290            tracker: function (a) {
291                if (a !== j) {
292                    d.tracker = a;
293                    return this
294                }
295                return d.tracker
296            },
297            wrap: function (a) {
298                if (a !== j) {
299                    d.wrap = a;
300                    return this
301                }
302                return d.wrap
303            },
304            update: function () {
305                L = o;
306                this.value(f);
307                L = m;
308                return this
309            },
310            title: function (a) {
311                if (a !== j) {
312                    r(function () {
313                        O = n.title = a;
314                        if (da && k && k.contentWindow && k.contentWindow.document) {
315                            k.contentWindow.document.title = a;
316                            da = m
317                        }
318                        if (!P && K.mozilla) h.replace(h.href.indexOf("#showcase") != -1 ? h.href : h.href + "#showcase");
319                        P = m
320                    }, 50);
321                    return this
322                }
323                return n.title
324            },
325            value: function (a) {
326                if (a !== j) {
327                    a = M(a);
328                    if (a == "/") a = "";
329                    if (f == a && !L) return;
330                    P = o;
331                    f = a;
332                    if (d.autoUpdate || L) {
333                        B(o);
334                        if (F()) y[d.history ? "pushState" : "replaceState"]({}, "", d.state.replace(/\/$/, "") + (f === "" ? "/" : f));
335                        else {
336                            H = o;
337                            if (J) if (d.history) h.hash = "#!showcase";
338                            else h.replace("#!showcase");
339                            else if (f != t()) if (d.history) h.hash = window.location.hash;
340                            else h.replace("#!showcase");
341                            z && !I && d.history && r(N, 50);
342                            if (J) r(function () {
343                                H = m
344                            }, 1);
345                            else H = m
346                        }
347                    }
348                    return this
349                }
350                return M(f)
351            },
352            path: function (a) {
353                if (a !== j) {
354                    var b = this.queryString(),
355                        e = this.hash();
356                    this.value(a + (b ? "?" + b : "") + (e ? "#!showcase" + e : ""));
357                    return this
358                }
359                return M(f).split("#!showcase")[0].split("?")[0]
360            },
361            pathNames: function () {
362                var a = this.path(),
363                    b = a.replace(T, "/").split("/");
364                if (a.substr(0, 1) == "/" || a.length === 0) b.splice(0, 1);
365                a.substr(a.length - 1, 1) == "/" && b.splice(b.length - 1, 1);
366                return b
367            },
368            queryString: function (a) {
369                if (a !== j) {
370                    var b = this.hash();
371                    this.value(this.path() + (a ? "?" + a : "") + (b ? "#!showcase" + b : ""));
372                    return this
373                }
374                a = f.split("?");
375                return a.slice(1, a.length).join("?").split("#!showcase")[0]
376            },
377            parameter: function (a,
378            b, e) {
379                var l, p;
380                if (b !== j) {
381                    var Q = this.parameterNames();
382                    p = [];
383                    b = b ? b.toString() : "";
384                    for (l = 0; l < Q.length; l++) {
385                        var R = Q[l],
386                            v = this.parameter(R);
387                        if (typeof v == "string") v = [v];
388                        if (R == a) v = b === null || b === "" ? [] : e ? v.concat([b]) : [b];
389                        for (var S = 0; S < v.length; S++) p.push(R + "=" + v[S])
390                    }
391                    c.inArray(a, Q) == -1 && b !== null && b !== "" && p.push(a + "=" + b);
392                    this.queryString(p.join("&"));
393                    return this
394                }
395                if (b = this.queryString()) {
396                    e = [];
397                    p = b.split("&");
398                    for (l = 0; l < p.length; l++) {
399                        b = p[l].split("=");
400                        b[0] == a && e.push(b.slice(1).join("="))
401                    }
402                    if (e.length !== 0) return e.length != 1 ? e : e[0]
403                }
404            },
405            parameterNames: function () {
406                var a = this.queryString(),
407                    b = [];
408                if (a && a.indexOf("=") != -1) {
409                    a = a.split("&");
410                    for (var e = 0; e < a.length; e++) {
411                        var l = a[e].split("=")[0];
412                        c.inArray(l, b) == -1 && b.push(l)
413                    }
414                }
415                return b
416            },
417            hash: function (a) {
418                if (a !== j) {
419                    this.value(f.split("#!showcase")[0] + (a ? "#!showcase" + a : ""));
420                    return this
421                }
422                a = f.split("#!showcase");
423                return a.slice(1, a.length).join("#!showcase")
424            }
425        }
426    }();
427    c.fn.address = function (q) {
428        var s;
429        if (typeof q == "string") {
430            s = q;
431            q = undefined
432        }
433        c(this).attr("address") || c(s ? s : this).live("click", function (g) {
434            if (g.shiftKey || g.ctrlKey || g.metaKey || g.which == 2) return true;
435            if (c(this).is("a")) {
436                g.preventDefault();
437                g = q ? q.call(this) : /address:/.test(c(this).attr("rel")) ? c(this).attr("rel").split("address:")[1].split(" ")[0] : c.address.state() !== undefined && !/^\/?$/.test(c.address.state()) ? c(this).attr("href").replace(new RegExp("^(.*" + c.address.state() + "|\\.)"), "") : c(this).attr("href").replace(/^(#\!?|\.)/, "");
438                c.address.value(g)
439            }
440        }).live("submit", function (g) {
441            if (c(this).is("form")) {
442                g.preventDefault();
443                g = c(this).attr("action");
444                g = q ? q.call(this) : (g.indexOf("?") != -1 ? g.replace(/&$/, "") : g + "?") + c(this).serialize();
445                c.address.value(g)
446            }
447        }).attr("address", true);
448        return this
449    }
450})(jQuery);
451(function () {
452    function y() {
453        G = !1;
454        for (U = r; U--;) {
455            z = k[U];
456            if (!z) break;
457            z.isCSS || (z.cycle() ? G = !0 : z.stop(!1, z.complete, !1, !0))
458        }
459        O ? G ? O(y) : (H(y), z = E = null) : G ? s || (V = setInterval(y, na)) : (clearInterval(V), z = E = null);
460        s = G
461    }
462    function W(a) {
463        a.cjFadeIn ? (delete a.cjFadeIn, a.style.opacity = 1, a.style.visibility = "visible") : a.cjFadeOut && (delete a.cjFadeOut, a.style.display = "none")
464    }
465    function X() {
466        s || y()
467    }
468    function P(a, b, c, d) {
469        k.splice(k.indexOf(a), 1);
470        r = k.length;
471        c && c(b, d)
472    }
473    function ea(a) {
474        a.stopPropagation();
475        (a = this.cj) && a.stop(a.complete)
476    }
477    function fa(a, b, c) {
478        var d = {}, i, b = b.to;
479        for (i in b) b.hasOwnProperty(i) && (d[i] = b[i]);
480        Jacked.tween(a, d, c)
481    }
482    function ga(a, b) {
483        return this["webkit" + a + b] || this["moz" + a + b] || this["o" + a + b] || this[a + b] || null
484    }
485    function ha(a) {
486        var b;
487        if (b = oa.exec(a)) return [parseInt(b[1], 16), parseInt(b[2], 16), parseInt(b[3], 16), 1];
488        if (b = pa.exec(a)) return [17 * parseInt(b[1], 16), 17 * parseInt(b[2], 16), 17 * parseInt(b[3], 16), 1]
489    }
490    function ia() {
491        for (var a in I) if (I.hasOwnProperty(a) && a === F) {
492            Y = I[a];
493            break
494        }
495    }
496    function qa() {
497        if ("ontouchend" in document) {
498            if (-1 !== x.search("iphone") || -1 !== x.search("ipad")) return "ios";
499            if (-1 !== x.search("android") || -1 !== x.search("applewebkit")) return "android";
500            if (-1 !== x.search("msie")) return "winMobile"
501        }
502        return null
503    }
504    var Q = window.getComputedStyle ? document.defaultView.getComputedStyle : null,
505        O = ga("Request", "AnimationFrame"),
506        H = ga("Cancel", "AnimationFrame"),
507        t = document.createElement("span").style,
508        x = navigator.userAgent.toLowerCase(),
509        J = "Quint.easeOut",
510        K = 500,
511        f;
512    f = x.search("msie"); - 1 === f ? f = [33.3, 0] : (f = parseInt(x.substr(f + 4, f + 5), 10), f = [9 <= f ? 16.6 : 33.3, f]);
513    var k = [],
514        l = "WebkitTransition" in t ? ["webkitTransitionEnd", "-webkit-transition", -1 !== x.search("chrome") ? "chrome" : "safari"] : "MozTransition" in t ? ["transitionend", "-moz-transition", "firefox"] : "MSTransition" in t ? ["msTransitionEnd", "-ms-transition", "ie"] : "transition" in t ? ["transitionEnd", "transition", null] : null,
515        s, L, r = 0,
516        ja, F, Y, Z, V, E, G, U, $, z, aa, R, S, ba, ka, la, ra = /,/g,
517        sa = /[A-Z]/g,
518        ta = / cj-tween/g,
519        ua = /^\s+|\s+$/g,
520        va = /{props}/,
521        wa = /{easing}/,
522        xa = /{duration}/,
523        ma = /(right|bottom|center)/,
524        pa = /#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])/,
525        oa = /#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})/,
526        I = {
527            ios: !1,
528            android: !1,
529            winMobile: !1,
530            firefox: !1,
531            chrome: !1,
532            safari: !1,
533            opera: !1,
534            ie: !1
535        }, na = f[0];
536    f = f[1];
537    var D = 0 !== f && 9 > f;
538    if (!O || !H) O = H = null;
539    if (l) {
540        var T = l[1],
541            ca = document.createElement("style");
542        L = "WebkitTransform" in t ? "WebkitTransform" : "MozTransform" in t ? "MozTransform" : "msTransform" in t ? "msTransform" : "transform" in t ? "transform" : null;
543        R = qa();
544        ca.type = "text/css";
545        ca.innerHTML = ".cj-tween{" + T + "-property:none !important;}";
546        document.getElementsByTagName("head")[0].appendChild(ca);
547        ja = T + "-property:{props};" + T + "-duration:{duration}s;" + T + "-timing-function:cubic-bezier({easing});";
548        F = !R ? l[2] : R;
549        ka = /(chrome|opera)/.test(F);
550        la = "safari" === F || "ios" === F;
551        l = l[0];
552        ia()
553    }
554    if (D) if (8 === f) aa = /(#|rgb|red|blue|green|black|white|yellow|pink|gray|grey|orange|purple)/, S = /(auto|inherit|rgb|%|#|red|blue|green|black|white|yellow|pink|gray|grey|orange|purple)/, ba = {
555        red: "#F00",
556        blue: "#00F",
557        green: "#0F0",
558        black: "#000",
559        white: "#FFF",
560        yellow: "#FF0",
561        pink: "#FFC0CB",
562        gray: "#808080",
563        grey: "#808080",
564        orange: "#FFA500",
565        purple: "#800080"
566    };
567    else return;
568    else aa = /(#|rgb)/, S = /(auto|inherit|rgb|%|#)/;
569    Array.prototype.indexOf || (Array.prototype.indexOf = function (a) {
570        for (var b = this.length; b--;) if (this[b] === a) return b;
571        return -1
572    });
573    Date.now || (Date.now = function () {
574        return +new Date
575    });
576    this.Jacked = {
577        ready: function (a) {
578            window.onload = a
579        },
580        setEngines: function (a) {
581            for (var b in a) I.hasOwnProperty(b) && (I[b] = a[b]);
582            ia()
583        },
584        tween: function (a, b, c) {
585            a.cj && a.cj.stop();
586            c || (c = {});
587            c.mode ? "timeline" === c.mode || !l ? new CJ(a, b, c) : new CJcss(a, b, c) : !l || !Y ? new CJ(a, b, c) : new CJcss(a, b, c)
588        },
589        fadeIn: function (a, b) {
590            b || (b = {});
591            b.fadeIn = !0;
592            Jacked.tween(a, {
593                opacity: 1
594            }, b)
595        },
596        fadeOut: function (a, b) {
597            b || (b = {});
598            b.fadeOut = !0;
599            Jacked.tween(a, {
600                opacity: 0
601            }, b)
602        },
603        percentage: function (a, b, c) {
604            a.cj && a.cj.stop();
605            if ("from" in b && "to" in b) {
606                c || (c = {});
607                var d = c.mode;
608                d ? "css3" === d && l ? fa(a, b, c) : new CJpercentage(a, b, c) : l && Y ? fa(a, b, c) : new CJpercentage(a, b, c)
609            }
610        },
611        special: function (a, b) {
612            a.cj && a.cj.stop();
613            new CJspecial(a, b)
614        },
615        transform: function (a, b, c, d) {
616            a.cj && a.cj.stop();
617            l && L ? (c || (c = {}), c.mode = "css3", "transform" in b && (b[L] = b.transform, delete b.transform), new Jacked.tween(a, b, c)) : d && new Jacked.tween(a, d, c)
618        },
619        stopTween: function (a, b, c) {
620            (a = a.cj) && (a.isCSS ? a.stop(c) : a.stop(b, c))
621        },
622        stopAll: function (a) {
623            H ? H(y) : clearInterval(V);
624            var b = k.length,
625                c;
626            for (r = 0;
626 b--;) c = k[b], c.isCSS ? c.stop(!1, !0) : c.stop(a, !1, !0, !0);
627            k = [];
628            s = !1;
629            E = null
630        },
631        setEase: function (a) {
632            var b = a.toLowerCase().split(".");
633            2 > b.length || M[b[0]] && M[b[0]][b[1]] && (J = a)
634        },
635        setDuration: function (a) {
636            isNaN(a) || (K = a)
637        },
638        getMobile: function () {
639            return R
640        },
641        getIE: function () {
642            return D
643        },
644        getBrowser: function () {
645            return F
646        },
647        getTransition: function () {
648            return l
649        },
650        getEngine: function () {
651            return s
652        },
653        getTransform: function () {
654            return L
655        }
656    };
657    this.CJ = function (a, b, c) {
658        r = k.length;
659        var d = a.cj = k[r++] = this;
660        this.runner = function (i) {
661            d.obj = a;
662            d.complete = c.callback;
663            d.completeParams = c.callbackParams;
664            if (!0 === i) d.transitions = [];
665            else {
666                var m, i = 0,
667                    g = [],
668                    e = a.style,
669                    n = c.duration || K,
670                    q = (c.ease || J).toLowerCase().split("."),
671                    q = M[q[0]][q[1]];
672                e.visibility = "visible";
673                c.fadeIn && (e.display = c.display || "block", e.opacity = 0);
674                D && "opacity" in b && (e.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=" + (c.fadeIn ? 0 : 100) + ")");
675                b.borderColor && !ka && (e = b.borderColor, b.borderTopColor = e, b.borderRightColor = e, b.borderBottomColor = e, b.borderLeftColor = e, delete b.borderColor);
676                for (m in b) b.hasOwnProperty(m) && ("backgroundPosition" !== m ? g[i++] = d.animate(a, m, b[m], n, q) : g[i++] = d.bgPosition(a, m, b[m], n, q));
677                d.transitions = g;
678                s ? setTimeout(X, 10) : y()
679            }
680        };
681        c.fadeOut ? a.cjFadeOut = !0 : c.fadeIn && (a.cjFadeIn = !0);
682        0 === c.duration ? (this.runner(!0), this.stop()) : c.delay ? this.delayed = setTimeout(this.runner, c.delay) : this.runner()
683    };
684    CJ.prototype.cycle = function () {
685        E = this.transitions;
686        if (!E) return !0;
687        $ = E.length;
688        for (Z = !1; $--;) E[$]() && (Z = !0);
689        return Z
690    };
691    CJ.prototype.animate = function (a, b, c, d, i) {
692        function m() {
693            r = Date.now();
694            da += r - f;
695            e = i(da, k, N, d);
696            f = r;
697            e = !j || D ? p ? e + 0.5 | 0 : e - 0.5 | 0 : e.toFixed(2);
698            if (e === l) return !0;
699            if (p) {
700                if (e >= c) return n[b] = u, !1
701            } else if (e <= c) return n[b] = u, !1;
702            l = e;
703            n[b] = e + A;
704            return !0
705        }
706        function g() {
707            return !1
708        }
709        var e, n, q, j = "opacity" === b,
710            h = !0;
711        !j || !D ? (n = a.style, q = n[b], e = "" !== q ? q : Q ? Q(a, null)[b] : a.currentStyle[b]) : (n = a.filters.item("DXImageTransform.Microsoft.Alpha"), b = "Opacity", e = n[b], c *= 100);
712        if (S.test(e)) if (aa.test(e)) {
713            if (-1 === c.search("rgb")) return D && e in ba && (e = ba[e]), this.color(a, b, e, c, d, i);
714            h = !1
715        } else e = 0;
716        else e = parseFloat(e);
717        var A = !j ? "px" : 0,
718            N = c - e,
719            p = e < c,
720            f = Date.now(),
721            k = e,
722            da = 0,
723            u, l, r;
724        u = c + A;
725        !j || D ? p ? c -= 0.25 : c += 0.25 : p ? c -= 0.025 : c += 0.025;
726        if (h) return m.stored = [b, u], m;
727        g.stored = [b, u];
728        return g
729    };
730    CJ.prototype.color = function (a, b, c, d, i, m) {
731        function g() {
732            f = Date.now();
733            N += f - q;
734            q = f;
735            c = m(N, 0, 1, i);
736            if (0.99 > c) {
737                p = -1;
738                for (l = "rgb("; 3 > ++p;) k = h[p], l += k + c * (A[p] - k) | 0, 2 > p && (l += ",");
739                j[b] = l + ")";
740                return !0
741            }
742            j[b] = n;
743            return !1
744        }
745        function e() {
746            return !1
747        }
748        var n = (-1 !== d.search("#!showcase") ? "" : "#!showcase") + d,
749            q = Date.now(),
750            j = a.style,
751            a = !1,
752            h = [],
753            A = [],
754            N = 0,
755            p = -1,
756            f, k, l;
757        if (-1 !== c.search("rgb")) {
758            p = -1;
759            for (h = c.split("(")[1].split(")")[0].split(","); 3 > ++p;) h[p] = parseInt(h[p], 10)
760        } else h = ha(c);
761        A = ha(d);
762        for (p = -1; 3 > ++p;) h[p] !== A[p] && (a = !0);
763        if (a) return g.stored = [b, n], g;
764        e.stored = [b, n];
765        return e
766    };
767    CJ.prototype.bgPosition = function (a, b, c, d, i) {
768        function m() {
769            x = Date.now();
770            A += x - q;
771            q = x;
772            s = i(A, 0, 1, d);
773            if (0.99 > s) {
774                u && (B = v + y * s + 0.5 | 0);
775                t && (C = w + z * s + 0.5 | 0);
776                if (B === k && C === r) return !0;
777                k = B;
778                r = C;
779                h ? (e.backgroundPositionX = B + "px", e.backgroundPositionY = C + "px") : e.backgroundPosition = B + "px " + C + "px";
780                return !0
781            }
782            h ? (e.backgroundPositionX = f, e.backgroundPositionY = p) : e[b] = l;
783            return !1
784        }
785        function g() {
786            return !1
787        }
788        var e = a.style,
789            n = e[b],
790            q = Date.now(),
791            j = !0,
792            h = D,
793            A = 0,
794            f, p, l, k, r, u, t, y, z, s, x, B, C, v, w;
795        if (h) {
796            v = a.currentStyle.backgroundPositionX;
797            w = a.currentStyle.backgroundPositionY;
798            if (ma.test(v) || ma.test(w)) j = !1;
799            "left" === v && (v = 0);
800            "top" === w && (w = 0)
801        } else s = "" !== n ? n.split(" ") : Q(a, null).backgroundPosition.split(" "), v = s[0], w = s[1]; - 1 !== v.search("%") && "0%" !== v && (j = !1); - 1 !== w.search("%") && "0%" !== w && (j = !1);
802        v = parseInt(v, 10);
803        w = parseInt(w, 10);
804        c.hasOwnProperty("x") ? (B = c.x, u = !0) : (B = v, u = !1);
805        c.hasOwnProperty("y") ? (C = c.y, t = !0) : (C = w, t = !1);
806        u = u && v !== B;
807        t = t && w !== C;
808        !u && !t && (j = !1);
809        y = B - v;
810        z = C - w;
811        f = B + "px";
812        p = C + "px";
813        l = !h ? f + " " + p : [f, p];
814        if (j) return m.stored = [b, l], m;
815        g.stored = [b, l];
816        return g
817    };
818    CJ.prototype.stop = function (a, b, c) {
819        var d = this.obj;
820        if (d) {
821            delete d.cj;
822            if (a) for (var a = this.transitions, i = a.length, m, g; i--;) if (m = a[i].stored, g = m[0], D) switch (g) {
823                case "Opacity":
824                    d.filters.item("DXImageTransform.Microsoft.Alpha").Opacity = 100 * m[1];
825                    break;
826                case "backgroundPosition":
827                    g = d.style;
828                    g.backgroundPositionX = m[1][0];
829                    g.backgroundPositionY = m[1][1];
830                    break;
831                default:
832                    d.style[g] = m[1]
833            } else d.style[g] = m[1];
834            W(d);
835            b && (b = this.complete);
836            c || P(this, d, b, this.completeParams)
837        } else clearTimeout(this.delayed), this.runner(!0), this.stop(a, b)
838    };
839    this.CJcss = function (a, b, c) {
840        r = k.length;
841        var d = a.cj = k[r++] = this,
842            i = a.style,
843            m = L in b;
844        this.isCSS = !0;
845        this.storage = a;
846        this.complete = c.callback;
847        this.completeParams = c.callbackParams;
848        this.runner = function () {
849            c.cssStep ? (i.visibility = "visible", d.stepped = setTimeout(d.step, 30)) : d.step()
850        };
851        this.step = function (g) {
852            d.obj = a;
853            if (!0 === g) d.moves = "";
854            else {
855                var e, n, q, j, h, f = 0,
856                    k;
857                k = [];
858                var p = [],
859                    g = a.getAttribute("style") || "",
860                    r = c.duration || K,
861                    s = (c.ease || J).toLowerCase().split(".");
862                for (n in b) if (b.hasOwnProperty(n)) {
863                    q = n;
864                    if (h = q.match(sa)) for (e = h.length; e--;) j = h[e], q = q.replace(RegExp(j, "g"), "-" + j.toLowerCase());
865                    j = e = b[n];
866                    h = "backgroundPosition" === n;
867                    if (!S.test(j) && "opacity" !== n && !h && !m) j += "px;";
868                    else if (h) {
869                        j = e.x;
870                        e = e.y;
871                        h = isNaN(j);
872                        var t = isNaN(e);
873                        if (!h && !t) j += "px", e += "px";
874                        else {
875                            var u = i.backgroundPosition,
876                                u = "" !== u ? u.split(" ") : Q(a, null).backgroundPosition.split(" ");
877                            !h ? j += "px" : j = u[0];
878                            !t ? e += "px" : e = u[1]
879                        }
880                        j = j + " " + e + ";"
881                    } else j += ";";
882                    k[f] = q + ":" + j;
883                    p[f++] = q;
884                    if (g && (h = g.search(q), -1 !== h)) {
885                        q = g.length - 1;
886                        for (e = h - 1; ++e < q && ";" !== g[e];);
887                        g = g.split(g.substring(h, e + 1)).join("")
888                    }
889                }
890                d.moves = n = ja.replace(va, p.toString()).replace(xa, (0.001 * r).toFixed(2)).replace(wa, ya[s[0]][s[1]]);
891                k = k.toString();
892                m || (k = k.replace(ra, ""));
893                a.className = a.className.replace(ta, "");
894                a.addEventListener(l, ea, !1);
895                a.setAttribute("style", g.replace(ua, "") + n + k)
896            }
897        };
898        c.fadeIn ? (a.cjFadeIn = !0, i.display = c.display || "block", i.opacity = 0) : c.fadeOut && (a.cjFadeOut = !0);
899        0 === c.duration ? (this.runner(!0), this.stop()) : (c.cssStep || (i.visibility = "visible"), la && !m && (i.webkitTransform = "translate3d(0, 0, 0)", i.webkitBackfaceVisibility = "hidden", i.webkitPerspective = 1E3), this.delayed = c.delay ? setTimeout(this.runner, 30 < c.delay ? c.delay : 30) : setTimeout(this.runner, 30))
900    };
901    CJcss.prototype.stop = function (a, b) {
902        var c = this.obj;
903        a && (a = this.complete);
904        c ? (delete c.cj, c.removeEventListener(l, ea, !1), c.className += " cj-tween", c.setAttribute("style", c.getAttribute("style").split(this.moves).join(";").split(";;").join(";")), W(c)) : (clearTimeout(this.delayed), clearTimeout(this.stepped), W(this.storage));
905        b || P(this, c, a, this.completeParams)
906    };
907    this.CJpercentage = function (a, b, c) {
908        r = k.length;
909        var d = a.cj = k[r++] = this;
910        this.obj = a;
911        this.complete = c.callback;
912        this.completeParams = c.callbackParams;
913        this.runner = function () {
914            var i = 0,
915                m = [],
916                g, e, n, k = b.to,
917                j = b.from,
918                h = c.duration || K,
919                f = (c.ease || J).toLowerCase().split("."),
920                f = M[f[0]][f[1]];
921            for (g in j) j.hasOwnProperty(g) && (n = parseInt(k[g], 10), e = parseInt(j[g], 10), m[i++] = [n > e, g, n, e]);
922            a.style.visibility = "visible";
923            d.transitions = d.animate(a, m, h, f);
924            s ? setTimeout(X, 10) : y()
925        };
926        0 === c.duration ? this.stop() : c.delay ? this.delayed = setTimeout(this.runner, c.delay) : this.runner()
927    };
928    CJpercentage.prototype.cycle = function () {
929        return this.transitions()
930    };
931    CJpercentage.prototype.animate = function (a, b, c, d) {
932        var i, m = 0,
933            g = Date.now(),
934            e, f, k = a.style,
935            j = b.length,
936            h, l;
937        return function (a) {
938            e = Date.now();
939            m += e - g;
940            g = e;
941            i = d(m, 0, 1, c);
942            f = j;
943            if (0.99 > i && !a) {
944                for (; f--;) h = b[f], l = h[3], k[h[1]] = h[0] ? l + (h[2] - l) * i + "%" : l - (l - h[2]) * i + "%";
945                return !0
946            }
947            for (; f--;) h = b[f], k[h[1]] = h[2] + "%";
948            return !1
949        }
950    };
951    CJpercentage.prototype.stop = function (a, b, c) {
952        "delayed" in this && clearTimeout(this.delayed);
953        var d = this.obj;
954        delete d.cj;
955        a && this.transitions && this.transitions(!0);
956        b && (b = this.complete);
957        c || P(this, d, b, this.completeParams)
958    };
959    this.CJspecial = function (a, b) {
960        if (b && b.callback) {
961            r = k.length;
962            k[r++] = a.cj = this;
963            var c = this.complete = b.callback,
964                d = b.ease || J,
965                d = d.toLowerCase().split("."),
966                d = M[d[0]][d[1]];
967            this.obj = a;
968            this.transitions = this.numbers(a, b.duration || K, d, c);
969            s ? setTimeout(X, 10) : y()
970        }
971    };
972    CJspecial.prototype.cycle = function () {
973        return this.transitions()
974    };
975    CJspecial.prototype.numbers = function (a, b, c, d) {
976        var i, f = 0,
977            g = Date.now(),
978            e;
979        return function () {
980            e = Date.now();
981            f += e - g;
982            g = e;
983            i = c(f, 0, 1, b);
984            return 0.97 > i ? (d(a, i), !0) : !1
985        }
986    };
987    CJspecial.prototype.stop = function (a, b, c, d) {
988        var f = this.obj;
989        f && (delete f.cj, c || P(this), (a || d) && this.complete(f, 1, b))
990    };
991    var M = {
992        linear: {
993            easenone: function (a, b, c, d) {
994                return c * a / d + b
995            },
996            easein: function (a, b, c, d) {
997                return c * a / d + b
998            },
999            easeout: function (a, b, c, d) {
1000                return c * a / d + b
1001            },
1002            easeinout: function (a, b, c, d) {
1003                return c * a / d + b
1004            }
1005        },
1006        quint: {
1007            easeout: function (a, b, c, d) {
1008                return c * ((a = a / d - 1) * a * a * a * a + 1) + b
1009            },
1010            easein: function (a, b, c, d) {
1011                return c * (a /= d) * a * a * a * a + b
1012            },
1013            easeinout: function (a, b, c, d) {
1014                return 1 > (a /= d / 2) ? c / 2 * a * a * a * a * a + b : c / 2 * ((a -= 2) * a * a * a * a + 2) + b
1015            }
1016        },
1017        quad: {
1018            easein: function (a, b, c, d) {
1019                return c * (a /= d) * a + b
1020            },
1021            easeout: function (a, b, c, d) {
1022                return -c * (a /= d) * (a - 2) + b
1023            },
1024            easeinout: function (a, b, c, d) {
1025                return 1 > (a /= d / 2) ? c / 2 * a * a + b : -c / 2 * (--a * (a - 2) - 1) + b
1026            }
1027        },
1028        quart: {
1029            easein: function (a, b, c, d) {
1030                return c * (a /= d) * a * a * a + b
1031            },
1032            easeout: function (a, b, c, d) {
1033                return -c * ((a = a / d - 1) * a * a * a - 1) + b
1034            },
1035            easeinout: function (a, b, c, d) {
1036                return 1 > (a /= d / 2) ? c / 2 * a * a * a * a + b : -c / 2 * ((a -= 2) * a * a * a - 2) + b
1037            }
1038        },
1039        cubic: {
1040            easein: function (a, b, c, d) {
1041                return c * (a /= d) * a * a + b
1042            },
1043            easeout: function (a, b, c, d) {
1044                return c * ((a = a / d - 1) * a * a + 1) + b
1045            },
1046            easeinout: function (a, b, c, d) {
1047                return 1 > (a /= d / 2) ? c / 2 * a * a * a + b : c / 2 * ((a -= 2) * a * a + 2) + b
1048            }
1049        },
1050        circ: {
1051            easein: function (a, b, c, d) {
1052                return -c * (Math.sqrt(1 - (a /= d) * a) - 1) + b
1053            },
1054            easeout: function (a, b, c, d) {
1055                return c * Math.sqrt(1 - (a = a / d - 1) * a) + b
1056            },
1057            easeinout: function (a, b, c, d) {
1058                return 1 > (a /= d / 2) ? -c / 2 * (Math.sqrt(1 - a * a) - 1) + b : c / 2 * (Math.sqrt(1 - (a -= 2) * a) + 1) + b
1059            }
1060        },
1061        sine: {
1062            easein: function (a, b, c, d) {
1063                return -c * Math.cos(a / d * (Math.PI / 2)) + c + b
1064            },
1065            easeout: function (a, b, c, d) {
1066                return c * Math.sin(a / d * (Math.PI / 2)) + b
1067            },
1068            easeinout: function (a, b, c, d) {
1069                return -c / 2 * (Math.cos(Math.PI * a / d) - 1) + b
1070            }
1071        },
1072        expo: {
1073            easein: function (a, b, c, d) {
1074                return 0 === a ? b : c * Math.pow(2, 10 * (a / d - 1)) + b
1075            },
1076            easeout: function (a, b, c, d) {
1077                return a === d ? b + c : c * (-Math.pow(2, -10 * a / d) + 1) + b
1078            },
1079            easeinout: function (a, b, c, d) {
1080                return 0 === a ? b : a === d ? b + c : 1 > (a /= d / 2) ? c / 2 * Math.pow(2, 10 * (a - 1)) + b : c / 2 * (-Math.pow(2, -10 * --a) + 2) + b
1081            }
1082        }
1083    }, ya = {
1084        linear: {
1085            easenone: "0.250, 0.250, 0.750, 0.750",
1086            easein: "0.420, 0.000, 1.000, 1.000",
1087            easeout: "0.000, 0.000, 0.580, 1.000",
1088            easeinout: "0.420, 0.000, 0.580, 1.000"
1089        },
1090        quint: {
1091            easein: "0.755, 0.050, 0.855, 0.060",
1092            easeout: "0.230, 1.000, 0.320, 1.000",
1093            easeinout: "0.860, 0.000, 0.070, 1.000"
1094        },
1095        quad: {
1096            easein: "0.550, 0.085, 0.680, 0.530",
1097            easeout: "0.250, 0.460, 0.450, 0.940",
1098            easeinout: "0.455, 0.030, 0.515, 0.955"
1099        },
1100        quart: {
1101            easein: "0.895, 0.030, 0.685, 0.220",
1102            easeout: "0.165, 0.840, 0.440, 1.000",
1103            easeinout: "0.770, 0.000, 0.175, 1.000"
1104        },
1105        cubic: {
1106            easein: "0.550, 0.055, 0.675, 0.190",
1107            easeout: "0.215, 0.610, 0.355, 1.000",
1108            easeinout: "0.645, 0.045, 0.355, 1.000"
1109        },
1110        circ: {
1111            easein: "0.600, 0.040, 0.980, 0.335",
1112            easeout: "0.075, 0.820, 0.165, 1.000",
1113            easeinout: "0.785, 0.135, 0.150, 0.860"
1114        },
1115        sine: {
1116            easein: "0.470, 0.000, 0.745, 0.715",
1117            easeout: "0.390, 0.575, 0.565, 1.000",
1118            easeinout: "0.445, 0.050, 0.550, 0.950"
1119        },
1120        expo: {
1121            easein: "0.950, 0.050, 0.795, 0.035",
1122            easeout: "0.190, 1.000, 0.220, 1.000",
1123            easeinout: "1.000, 0.000, 0.000, 1.000"
1124        }
1125    };
1126    f = t = null
1127})(window);
1128(function (l) {
1129    function h(a, b) {
1130        b || (delete a.swipeLeft, delete a.swipeRight, delete a.stopProp);
1131        delete a.newPageX;
1132        delete a.pageX
1133    }
1134    function g(a) {
1135        var b = a.touches ? a.touches[0] : a;
1136        this.stopProp && a.stopImmediatePropagation();
1137        this.pageX = b.pageX;
1138        this.addEventListener(e, i);
1139        this.addEventListener(f, j)
1140    }
1141    function j(a) {
1142        var b = this.newPageX = (a.touches ? a.touches[0] : a).pageX;
1143        10 < Math.abs(this.pageX - b) && a.preventDefault()
1144    }
1145    function i() {
1146        var a = this.newPageX,
1147            b = this.pageX,
1148            c = this.cjThumbs;
1149        this.removeEventListener(f, j);
1150        this.removeEventListener(e, i);
1151        30 > Math.abs(b - a) || (c || this.removeEventListener(d, g), b > a ? this.swipeLeft && (a = this.swipeLeft, h(this, c), a()) : this.swipeRight && (a = this.swipeRight, h(this, c), a(1)))
1152    }
1153    var e, f, d, k = {
1154        touchSwipe: function (a, b) {
1155            k.touchSwipeLeft(a, b);
1156            k.touchSwipeRight(a, b)
1157        },
1158        touchSwipeLeft: function (a, b, c) {
1159            c && (a.stopProp = !0);
1160            a.swipeLeft || (a.swipeLeft = b);
1161            a.swipeRight || a.addEventListener(d, g)
1162        },
1163        touchSwipeRight: function (a, b, c) {
1164            c && (a.stopProp = !0);
1165            a.swipeRight || (a.swipeRight = b);
1166            a.swipeLeft || a.addEventListener(d, g)
1167        },
1168        unbindSwipe: function (a) {
1169            a.removeEventListener(d, g);
1170            a.removeEventListener(f, j);
1171            a.removeEventListener(e, i);
1172            h(a)
1173        }
1174    };
1175    "ontouchend" in document ? (e = "touchend", f = "touchmove", d = "touchstart") : (e = "mouseup", f = "mousemove", d = "mousedown");
1176    l.fn.cjSwipe = function (a, b, c) {
1177        k[a](this[0], b, c)
1178    }
1179})(jQuery);
1180(function (c) {
1181    function ob() {
1182        A = c(window);
1183        ac = c("body");
1184        pb = c("body, html");
1185        n = c("<div />").addClass("jackbox-modal");
1186        j = c("<div />").addClass("jackbox-holder");
1187        aa = c("<div />").addClass("jackbox-wrapper");
1188        P = c("<div />").addClass("jackbox-preloader");
1189        ba = c("<span />").addClass("jackbox-panel jackbox-panel-left");
1190        la = c("<span />").addClass("jackbox-panel jackbox-panel-right");
1191        var a = l.createDocumentFragment();
1192        a.appendChild(aa[0]);
1193        a.appendChild(P[0]);
1194        n[0].appendChild(a);
1195        a = l.createDocumentFragment();
1196        a.appendChild(ba[0]);
1197        a.appendChild(la[0]);
1198        a.appendChild(j[0]);
1199        aa[0].appendChild(a);
1200        ca = c("<div />").addClass("jackbox-container");
1201        ma || (Fa = c("<span />").addClass("jackbox-pre-inside").appendTo(P));
1202        na *= 2;
1203        Ua = 0;
1204        a = l.createDocumentFragment();
1205        qb && (v = c(qb).hide(), a.appendChild(v[0]));
1206        a.appendChild(ca[0]);
1207        rb && (w = c(rb).hide(), a.appendChild(w[0]));
1208        j[0].appendChild(a);
1209        sb = -(G + ya);
1210        oa = [];
1211        Ga = [];
1212        C = [];
1213        D = [];
1214        tb.each(bd);
1215        M && (c.address.internalChange(ub), c.address.externalChange(cd));
1216        bc = !0;
1217        Ha && (M ? setTimeout(Ha, 250) : Ha(), Ha = null);
1218        tb = Ga = qb = rb = oa = null
1219    }
1220    function bd() {
1221        var a = c(this).attr("data-group").split(" ").join("").toLowerCase();
1222        if (ma) {
1223            for (var b = D.length, d = !1; b--;) if (D[b] === a) {
1224                d = !0;
1225                break
1226            }
1227            d || cc(a)
1228        } else -1 === D.indexOf(a) && cc(a)
1229    }
1230    function cc(a) {
1231        D[D.length] = a;
1232        Ga = [];
1233        c(".jackbox[data-group=" + a + "]").each(dc);
1234        C[C.length] = Ga;
1235        Va++
1236    }
1237    function dc(a) {
1238        isNaN(a) ? e = a : (e = c(this).data({
1239            id: a,
1240            cat: Va
1241        }), Ga[a] = e);
1242        if (h = e.attr("href") || e.attr("data-href")) {
1243            var b, a = "#!showcase" !== h.charAt(0) ? h.toLowerCase().split(".").pop() : "inline";
1244            if (b = -1 !== h.search("youtube.com") ? "youtube" : -1 !== h.search("vimeo.com") ? "vimeo" : "mp4" === a ? "local" : !1) {
1245                if (e.data("type", b), !e.attr("data-thumbnail")) if ("vimeo" === b) {
1246                    var d = e;
1247                    c.getJSON("http://vimeo.com/api/v2/video/" + h.split("http://vimeo.com/")[1] + ".json?callback=?", {
1248                        format: "json"
1249                    }, function (a) {
1250                        d.attr("data-thumbnail", a[0].thumbnail_small)
1251                    })
1252                } else "youtube" === b && e.attr("data-thumbnail", "http://img.youtube.com/vi/" + h.split("http://www.youtube.com/watch?v=")[1] + "/1.jpg")
1253            } else if ("jpg" === a || "png" === a || "jpeg" === a || "gif" === a) e.data("type", "image");
1254            else switch (a) {
1255                case "mp3":
1256                    e.data("type", "audio");
1257                    break;
1258                case "swf":
1259                    e.data("type", "swf");
1260                    break;
1261                case "inline":
1262                    e.data("type", "inline");
1263                    break;
1264                default:
1265                    e.data("type", "iframe")
1266            }
1267            e.on("click.jackbox", dd);
1268            if (H = e.attr("data-description")) {
1269                if (oa) if (a = oa.indexOf(H), -1 === a) {
1270                    H = c(H);
1271                    if (!H.length) return;
1272                    oa[oa.length] = H
1273                } else H = oa[a];
1274                else if (H = c(H), !H.length) return;
1275                e.data("description", H)
1276            }
1277        }
1278    }
1279    function cd(a) {
1280        if (fc) {
1281            fc = !1;
1282            var b = l.URL.split("?url=");
1283            if (2 === b.length) {
1284                window.location = b[0] + "#/" + b[1];
1285                return
1286            }
1287        }
1288        clearTimeout(Ia);
1289        gc(a.value); - 1 !== y ? hc ? (hc = !1, ub()) : Ia = setTimeout(ub, 750) : Q && vb()
1290    }
1291    function ub(a) {
1292        "object" === typeof a && (clearTimeout(Ia), gc(a.value)); - 1 !== y ? ic() : Q && vb()
1293    }
1294    function gc(a) {
1295        E && (!da && !za) && p[f].removeClass("jb-thumb-active");
1296        "/" !== a ? (a = a.split("/"), 3 === a.length ? (f = parseInt(a[2], 10) - 1, isNaN(f) && (f = 0), ea = a[1]) : isNaN(a[1]) ? (f = 0, ea = a[1]) : (f = parseInt(a[1], 10) - 1, ea = "/")) : (ea = "/", f = 0);
1297        if ("/" !== ea) for (a = Va; a--;) {
1298            if (D[a] === ea) {
1299                y = a;
1300                I = C[y].length;
1301                N = 1 !== I;
1302                break
1303            }
1304        } else y = -1;
1305        za = !1
1306    }
1307    function Wa() {
1308        clearTimeout(jc);
1309        jc = setTimeout(fa, 100)
1310    }
1311    function dd(a) {
1312        a.stopPropagation();
1313        a.preventDefault();
1314        a = c(this).data();
1315        Xa(a.cat, a.id, !0)
1316    }
1317    function Xa(a, b, d) {
1318        clearTimeout(Ia);
1319        if (!d) {
1320            if (E) for (d = p.length; d--;) p[d].off("click.jackbox");
1321            ba.off(".jackbox");
1322            la.off(".jackbox");
1323            s && wb && i.cjSwipe("unbindSwipe")
1324        }
1325        M ? c.address.value(D[a] + "/" + (b + 1)) : (E && (!da && !za) && p[f].removeClass("jb-thumb-active"), f = b, y = a, I = C[y].length, N = 1 !== I, ic())
1326    }
1327    function xb(a) {
1328        if (a && (a.stopPropagation(), Ja)) return !1;
1329        Q && (E && !da && p[f].removeClass("jb-thumb-active"), f < C[y].length - 1 ? f++ : f = 0, za = !0, Xa(y, f))
1330    }
1331    function yb(a) {
1332        if (a && (a.stopPropagation(), Ja)) return !1;
1333        Q && (E && !da && p[f].removeClass("jb-thumb-active"), 0 < f ? f-- : f = C[y].length - 1, za = !0, Xa(y, f))
1334    }
1335    function kc() {
1336        for (var a = [n[0], aa[0], j[0], ca[0]], b = 4; b--;) a[b].removeEventListener("touchstart", z, !1), a[b].removeEventListener("touchmove", z, !1), a[b].removeEventListener("touchend", z, !1)
1337    }
1338    function ic() {
1339        Ya = C[y];
1340        if (e = Ya[f]) {
1341            if (s) for (var a = [n[0], aa[0], j[0], ca[0]], b = 4; b--;) a[b].addEventListener("touchstart", z, !1), a[b].addEventListener("touchmove", z, !1), a[b].addEventListener("touchend", z, !1);
1342            h = e.attr("href") || e.attr("data-href");
1343            Q ? (Ja = !0, lc(), mc()) : (Q = !0, s ? l.addEventListener("touchmove", z, !1) : (pb.stop(), Ua = A.scrollTop()), n.appendTo(ac).one("click.jackbox", nc), oc = n.parents().each(ed), pc || (pc = !0, zb = parseInt(j.css("padding-left"), 10) + parseInt(j.css("padding-right"), 10), Ka = parseInt(j.css("padding-top"), 10) + parseInt(j.css("padding-bottom"), 10), qc = parseInt(ba.css("width"), 10) + 14, Za = Ka + na, Ab = G + (ya << 1), $a = parseInt(P.css("margin-top"), 10), rc = $a - (Ab >> 1), sc = parseInt(j.css("padding-left"), 10), tc = parseInt(j.css("padding-top"), 10), J = c(".jackbox-fullscreen"), J.length || (J = null), pa = !s && "safari" !== ab && ("webkitRequestFullScreen" in n[0] || "mozFullScreenEnabled" in l)), ga = !Bb && bb && N ? 0 : sb, B = A.width(), K = A.height(), j.css({
1344                width: B,
1345                height: K,
1346                marginLeft: -(B >> 1) - sc,
1347                marginTop: -(K >> 1) - tc
1348            }), Jacked.fadeIn(n[0], {
1349                callback: fd
1350            }), uc = setTimeout(mc, 250), aa.on("click.jackbox", vc))
1351        }
1352    }
1353    function ed() {
1354        c(this).addClass("jackbox-overflow")
1355    }
1356    function gd() {
1357        c(this).removeClass("jackbox-overflow")
1358    }
1359    function fd() {
1360        A[0].scrollTo(0, 0)
1361    }
1362    function mc() {
1363        !Cb && Fa && (Fa.addClass("jackbox-pre-ready"), Cb = !0);
1364        E && (p[f].addClass("jb-thumb-active"), da ? da = !1 : Db(!1, !0));
1365        var a = e.attr("data-autoplay") ? e.attr("data-autoplay") : wc,
1366            b = e.data("description") || null,
1367            d = e.attr("data-title") || "",
1368            ec;
1369        cb = "true" === e.attr("data-scaleUp");
1370        db = b ? b.html() : !1;
1371        R = e.data("type");
1372        d ? (Eb = d, ha = escape(Eb)) : (ha = !1, "undefined" !== typeof x && (x.data("links") && x.data("links").off(".jackbox"), x.empty()));
1373        s && (wb = "image" === R || "inline" === R);
1374        "image" !== R && xc();
1375        568 < B ? P.css("margin-top", 0 === ga ? rc : $a) : P.css("margin-top", $a);
1376        aa.show();
1377        P.addClass("jackbox-spin-preloader");
1378        switch (R) {
1379            case "image":
1380                La = !0;
1381                i = c("<img />").addClass("jackbox-content").one("load.jackbox", Ma).prependTo(ca);
1382                s && (i[0].addEventListener("touchstart", z, !1), i[0].addEventListener("touchmove", z, !1), i[0].addEventListener("touchend", z, !1));
1383                i.attr("src", h);
1384                break;
1385            case "youtube":
1386                qa(hd.split("{url}").join(h.split("watch?v=")[1]).split("{autoplay}").join("true" === a ? 1 : 0));
1387                break;
1388            case "vimeo":
1389                qa(id.split("{url}").join(h.substring(h.lastIndexOf("/"))).split("{autoplay}").join(a));
1390                break;
1391            case "local":
1392                b = Fb();
1393                d = e.attr("data-flashHasPriority") ? e.attr("data-flashHasPriority") : yc.toString();
1394                ec = "false" === d && pa && "firefox" !== ab;
1395                b = e.attr("data-poster") ? b + e.attr("data-poster") : "false";
1396                qa(jd + "?video=" + h + "&autoplay=" + a + "&flashing=" + d + "&width=" 
1396+ S + "&height=" + T + "&poster=" + b, !0);
1397                break;
1398            case "audio":
1399                Fb();
1400                qa(kd + "?audio=" + h + "&title=" + (e.attr("data-audiotitle") ? e.attr("data-audiotitle") : ha) + "&autoplay=" + a);
1401                break;
1402            case "swf":
1403                Fb();
1404                qa(ld + "?swf=" + h + "&width=" + (k.toString() + "&height=" + g.toString()) + "&company="+ 
1405				$(".animationText .jackbox").attr("data-company") + "&phone="+ 
1406				$(".animationText .jackbox").attr("data-phone"));
1407                break;
1408            case "inline":
1409                a = c(h);
1410                i = c("<div />").addClass("jackbox-content jackbox-html").html(a.length ? a.html() : "").prependTo(ca);
1411                i.css("width", k);
1412                e.attr("data-height", i.outerHeight(!0));
1413                xc();
1414                Ma();
1415                break;
1416            default:
1417                qa(h, !1, !0)
1418        }
1419        pa && (!ec ? J.show() : J.hide())
1420    }
1421    function Fb() {
1422        if (-1 === h.search("http")) {
1423            var a = l.URL.split("#showcase")[0];
1424            "/" !== a[a.length - 1] && (a = a.substring(0, a.lastIndexOf("/") + 1));
1425            h = a + h;
1426            return a
1427        }
1428    }
1429    function md() {
1430        ia.css("visibility", "hidden")
1431    }
1432    function nd() {
1433        m.data("offLeft", m.offset().left)
1434    }
1435    function zc() {
1436        Aa.css({
1437            opacity: 0,
1438            visibility: "hidden"
1439        })
1440    }
1441    function Ac(a) {
1442        "object" === typeof a && a.stopPropagation();
1443        q < I - ja && (q++, eb(!1, !0))
1444    }
1445    function Bc(a) {
1446        "object" === typeof a && a.stopPropagation();
1447        0 < q && (q--, eb(!1, !0))
1448    }
1449    function od(a) {
1450        a.stopPropagation();
1451        a = c(this).parent();
1452        a.addClass("jb-thumb-fadein");
1453        s || a.addClass("jb-thumb-hover");
1454        a.data("id") === f && a.addClass("jb-thumb-active")
1455    }
1456    function Cc(a) {
1457        a.stopPropagation();
1458        if (Ja) return !1;
1459        a = c(this).data("id");
1460        a !== f && (E && p[f].removeClass("jb-thumb-active"), f = a, da = !0, Xa(y, f))
1461    }
1462    function pd() {
1463        Na ? Dc() : (A.off(".jackbox"), Na = !0, l.mozFullScreenEnabled ? (l.addEventListener("mozfullscreenchange", fb, !1), n[0].mozRequestFullScreen()) : n[0].webkitRequestFullScreen && (l.addEventListener("webkitfullscreenchange", fb, !1), n[0].webkitRequestFullScreen()))
1464    }
1465    function fb() {
1466        l.webkitIsFullScreen || l.mozFullScreen ? fa() : Dc(!0)
1467    }
1468    function Gb(a) {
1469        l.removeEventListener(a.type, Gb, !1);
1470        fa();
1471        A.on("resize.jackbox", Wa)
1472    }
1473    function Dc(a) {
1474        Na = !1;
1475        l.mozFullScreenEnabled ? (l.removeEventListener("mozfullscreenchange", fb, !1), a ? (fa(), A.on("resize.jackbox", Wa)) : (l.addEventListener("mozfullscreenchange", Gb, !1), l.mozCancelFullScreen())) : n[0].webkitRequestFullScreen && (l.removeEventListener("webkitfullscreenchange", fb, !1), a ? (fa(), A.on("resize.jackbox", Wa)) : (l.addEventListener("webkitfullscreenchange", Gb, !1), l.webkitCancelFullScreen()))
1476    }
1477    function xc() {
1478        La = !1;
1479        S = e.attr("data-width") ? parseInt(e.attr("data-width"), 10) : Ec;
1480        T = e.attr("data-height") ? parseInt(e.attr("data-height"), 10) : Fc;
1481        cb = "true" === e.attr("data-scaleUp");
1482        Gc()
1483    }
1484    function Gc() {
1485        gb = S + zb + qc + na;
1486        Hb = T + Za;
1487        fa("true")
1488    }
1489    function lc() {
1490        clearTimeout(uc);
1491        Jacked.stopTween(j[0]);
1492        A.off(".jackbox");
1493        i && (Jacked.stopTween(i[0]), i.remove(), i = null);
1494        hb && (hb.remove(), hb = null);
1495        v && (Jacked.stopTween(v[0], !0), v.hide());
1496        w && (Jacked.stopTween(w[0], !0), w.hide());
1497        r && (r.removeClass("jb-info-inactive"), Jacked.stopTween(F[0]), F.empty().hide())
1498    }
1499    function nc(a) {
1500        a.stopPropagation();
1501        M ? c.address.value("") : vb()
1502    }
1503    function vb() {
1504        clearTimeout(Ia);
1505        lc();
1506        n.unbind(".jackbox");
1507        if (N) {
1508            ra && ra.off(".jackbox");
1509            sa && sa.off(".jackbox");
1510            Oa && m && m.off(".jackbox");
1511            Jacked.stopTween(la[0], !0);
1512            Jacked.stopTween(ba[0], !0);
1513            var a = {
1514                opacity: 0,
1515                visibility: "hidden"
1516            };
1517            la.off(".jackbox").css(a);
1518            ba.off(".jackbox").css(a)
1519        } else ta && ta.show(), t && t.show();
1520        aa.hide().off(".jackbox");
1521        P.removeClass("jackbox-spin-preloader");
1522        "undefined" !== typeof x && (x.data("links") && x.data("links").off(".jackbox"), x.empty());
1523        pa && J.off(".jackbox");
1524        ua && ua.unbind(".jackbox");
1525        r && r.off(".jackbox");
1526        if (E) {
1527            Jacked.stopTween(U[0]);
1528            for (U.off(".jackbox").hide(); p.length;) a = p[0], Jacked.stopTween(a[0]), a.remove(), p.shift();
1529            V.off(".jackbox").hide();
1530            W.off(".jackbox").hide();
1531            s && m.cjSwipe("unbindSwipe");
1532            Jacked.stopTween(L[0]);
1533            L.empty().css("margin-left", 0);
1534            t && (t.off(".jackbox"), t && (O.hide(), X.show()));
1535            E = p = null
1536        }
1537        oc.each(gd);
1538        Jacked.fadeOut(n[0], {
1539            duration: 1E3,
1540            callback: qd
1541        });
1542        j.css({
1543            marginLeft: rd,
1544            marginTop: sd
1545        });
1546        s ? (kc(), l.removeEventListener("touchmove", z, !1)) : setTimeout(td, 10);
1547        ia && ia.css("visibility", "hidden");
1548        Fa && Fa.removeClass("jackbox-pre-ready");
1549        e = Q = Na = da = Ib = ib = za = Jb = Ba = Cb = null
1550    }
1551    function td() {
1552        0 !== Ua && pb.animate({
1553            scrollTop: Ua
1554        }, {
1555            duration: 300,
1556            queue: !1
1557        })
1558    }
1559    function qd() {
1560        n.detach()
1561    }
1562    function ud(a) {
1563        !a ? xb() : yb()
1564    }
1565    function z(a) {
1566        a.preventDefault()
1567    }
1568    function vd(a, b) {
1569        if (!Q && "success" === b.toLowerCase() && a) {
1570            var d = a.length,
1571                e = document.URL;
1572            for (e.substring(0, e.lastIndexOf("/")); d--;) c("<img />").attr("src", Hc + "/" + a[d].split("../").join(""))
1573        }
1574    }
1575    function wd() {
1576        var a = c(this),
1577            b = a.next("img"),
1578            d = b.attr("src");
1579        b.length && (a = c("<img />").attr({
1580            width: b.attr("width"),
1581            height: b.attr("height")
1582        }).data("parent", a).one("load.jackbox", xd).insertAfter(b), b.remove(), a.attr("src", d))
1583    }
1584    function xd() {
1585        var a = c(this),
1586            b = a.data("parent"),
1587            d = parseInt(b.css("width"), 10) || b.width(),
1588            e = parseInt(b.css("height"), 10) || b.height(),
1589            b = c("<canvas />").addClass("jackbox-canvas-blur").attr({
1590                width: d,
1591                height: e
1592            }).insertBefore(b),
1593            e = Date.now(),
1594            d = e + 1,
1595            e = e + 2;
1596        a.attr("id", d);
1597        b.attr("id", e);
1598        StackBlurImage(d, e, 29)
1599    }
1600    function yd() {
1601        var a = c(this);
1602        a.parent().data({
1603            tip: a,
1604            tipWidth: a.width() - 27,
1605            tipHeight: a.height() + 17
1606        }).on("mouseenter.jackbox", zd).on("mouseleave.jackbox", Ad)
1607    }
1608    function zd() {
1609        var a = c(this),
1610            b = a.offset(),
1611            d = a.data();
1612        d.tipX = b.left;
1613        d.tipY = b.top;
1614        d.tip.css({
1615            opacity: 1,
1616            visibility: "visible"
1617        });
1618        a.on("mousemove.jackbox", Ic)
1619    }
1620    function Ad() {
1621        var a = c(this).off("mousemove.jackbox");
1622        ma ? a.data("tip").css("opacity", 0) : a.data("tip").css({
1623            opacity: 0,
1624            visibility: "hidden"
1625        })
1626    }
1627    function Bd(a) {
1628        a.stopImmediatePropagation()
1629    }
1630    function vc(a) {
1631        c(a.target).is("a") || (a.stopPropagation(), a.preventDefault())
1632    }
1633    var u = {
1634        useThumbs: !0,
1635        deepLinking: !0,
1636        autoPlayVideo: !1,
1637        flashVideoFirst: !1,
1638        defaultVideoWidth: 960,
1639        defaultVideoHeight: 540,
1640        thumbnailWidth: 75,
1641        thumbnailHeight: 50,
1642        useThumbTooltips: !0,
1643        preloadGraphics: !0,
1644        showInfoByDefault: !1,
1645        thumbsStartHidden: !1,
1646        fullscreenScalesContent: !0,
1647        defaultShareImage: "jackbox/img/default_share.jpg"
1648    }, na = 10,
1649        ya = 2,
1650        Hc = "jackbox",
1651        Cd = Hc + "/php/graphics.php",
1652        ld = "jackbox/modules/jackbox_swf.html",
1653        jd = "jackbox/modules/jackbox_video.html",
1654        kd = "jackbox/modules/jackbox_audio.html",
1655        id = "http://player.vimeo.com/video{url}?title=0&byline=0&portrait=0&autoplay={autoplay}&color=FFFFFF&wmode=transparent",
1656        hd = "http://www.youtube.com/embed/{url}?autoplay={autoplay}&autohide=1&hd=1&iv_load_policy=3&showinfo=0&showsearch=0&wmode=transparent",
1657        qb = '<div class="jackbox-top clearfix"><div class="jackbox-social"></div><div class="jackbox-top-icons"><span class="jackbox-fullscreen">
1657<span class="jackbox-button jackbox-fs"></span><span class="jackbox-button jackbox-ns"></span></span><span class="jackbox-button jackbox-button-margin jackbox-close"></span></div><div />',
1658        rb = '<div class="jackbox-bottom clearfix"><div class="jackbox-controls"><span class="jackbox-button jackbox-arrow-left"></span><span class="jackbox-button jackbox-arrow-right"></span></div><div class="jackbox-title-text"><span class="jb-current"></span><span class="jb-divider">/</span><span class="jb-total"></span><span class="jackbox-title-txt"></span></div><div class="jackbox-bottom-icons"><span class="jackbox-button jackbox-info"></span><span class="jackbox-button-margin jackbox-button-thumbs"><span class="jackbox-button jackbox-hide-thumbs"></span><span class="jackbox-button jackbox-show-thumbs"></span></span></div></div>',
1659        jc, w, pa, sc, tc, Kb, Ab, jb, sb, Na, Lb, Jc, Ka, zb, Kc, ia, qc, Cb, Mb, L, m, Nb, W, v, F, Y, O, X, la, J, Fa, Ua, ba, ha, V, ca, P, ja, oa, Ob, Eb, wb, Ba, Aa, ga, t, ua, db, ta, Lc, Oa, Mc, va, Ca, q, aa, wa, sa, N, $a, ra, cb, Nc, s, Za, kb, Pa, n, x, e, Ga, r, l, h, k, A, I, Oc, D, g, ea, C, ma, xa, Pb, uc, Ha, p, ac, j, tb, S, lb, Ia, Pc, i, T, La, B, K, gb, Hb, R, oc, ab, Z, H, Q, pc, pb, bb, Ja, da, E, sd, Ib, Ya, M, Qa, hb, U, ib, rc, rd, Qc, za, Qb, Jb, wc, Da, bc, G, yc, Rc, Sc, Bb, Ec, Fc, f = 1,
1660        y = -1,
1661        Va = 0,
1662        hc = !0,
1663        fc = !0,
1664        Tc = {
1665            init: function (a, b) {
1666                !Qc && "undefined" !== typeof Jacked && (b && c.extend(u, b), bb = u.useThumbs, M = u.deepLinking, Oa = u.useThumbTooltips, wc = u.autoPlayVideo, Da = u.thumbnailWidth, Pc = u.fullscreenScalesContent, G = u.thumbnailHeight, yc = u.flashVideoFirst, Sc = u.showInfoByDefault, Bb = u.thumbsStartHidden, Rc = u.defaultShareImage, Ec = u.defaultVideoWidth, Fc = u.defaultVideoHeight, l = document, Qc = !0, Z = Da + ya, lb = -1 !== l.URL.search("file:///"), Jacked.setEngines({
1667                    ios: !0,
1668                    safari: !0,
1669                    opera: !0,
1670                    firefox: !0
1671                }), u.preloadGraphics && !lb && c.getJSON(Cd + "?path=../img/graphics/", vd), tb = a, u = null, ma = Jacked.getIE(), s = Jacked.getMobile(), ab = Jacked.getBrowser(), Oc = "ie" === ab, "undefined" !== typeof c.address && M ? Oc ? (ob(), c.address.update()) : c.address.init(ob) : (M = !1, ob()), "undefined" !== typeof StackBlurImage && (!lb && !ma) && c(".jackbox-hover-blur").each(wd), c(".jackbox-tooltip").each(yd))
1672            },
1673            frameReady: function () {
1674                Q && Ma()
1675            },
1676            newItem: function (a, b) {
1677                var d = D.length,
1678                    c = -1,
1679                    e, f;
1680                if (b && "object" === typeof b) {
1681                    var g, i, k;
1682                    for (g in b) "trigger" !== g && (i = "data-" + g, k = b[g], a.attr(i, k), "group" === g && (f = k))
1683                } else b = null;
1684                f || (f = a.attr("data-group"));
1685                if (f) {
1686                    for (f = f.split(" ").join("").toLowerCase(); d--;) if (D[d] === f) {
1687                        c = d;
1688                        break
1689                    }
1690                    if (-1 < c) {
1691                        f = C[c]; - 1 !== f.indexOf(a) && (a.trigger("click"), e = !0);
1692                        if (e) return;
1693                        d = f.length;
1694                        f[d] = a
1695                    } else c = D.length, d = C.length, D[c] = f, Va++, C[d] = [a], d = 0;
1696                    dc(a);
1697                    a.data({
1698                        id: d,
1699                        cat: c
1700                    });
1701                    b && b.trigger && a.trigger("click")
1702                }
1703            }
1704        }, qa, mb = {
1705            type: "text/html",
1706            frameborder: 0,
1707            mozallowfullscreen: "mozallowfullscreen",
1708            webkitallowfullscreen: "webkitallowfullscreen",
1709            allowfullscreen: "allowfullscreen"
1710        };
1711    qa = function (a, b, d) {
1712        mb.width = k;
1713        mb.height = g;
1714        mb.scrolling = !d ? "no" : "auto";
1715        i = c("<iframe />").attr(mb).addClass("jackbox-content").prependTo(ca);
1716        if (!b) i.one("load.jackbox", Ma);
1717        i.attr("src", a)
1718    };
1719    var Ma, Rb = {};
1720    Ma = function (a) {
1721        a && a.stopPropagation();
1722        La && (S = this.width || i.width(), T = this.height || i.height(), Gc());
1723        Rb.width = k;
1724        Rb.height = g;
1725        i.css(Rb);
1726        Sb(!0);
1727        Lb && Lb();
1728        A.on("resize.jackbox", Wa)
1729    };
1730    var Sb, ka = {}, Ea = {}, Ra = {};
1731    Sb = function (a) {
1732        if (a) {
1733            260 > k && (xa += 260 - k);
1734            a = Math.max(k, 260);
1735            if (a === Ba && g === Ob) {
1736                Tb();
1737                return
1738            }
1739            ka.callback = Tb;
1740            ka.duration = Ba ? 50 < Math.abs(a - Ba) || 50 < Math.abs(g - Ob) ? 600 : 300 : 600
1741        } else a = k, Ra.width = a, ka.duration = 300, delete ka.callback, v && Jacked.tween(v[0], Ra, ka), w && Jacked.tween(w[0], Ra, ka), Ra.height = g, Jacked.stopTween(i[0], !0), Jacked.tween(i[0], Ra, ka);
1742        Ea.marginLeft = -((xa >> 1) + 0.5 | 0);
1743        Ea.marginTop = -((Pb >> 1) + 0.5 | 0);
1744        Ea.height = g;
1745        Ea.width = a;
1746        Ba || (Ea.opacity = 1);
1747        Jacked.tween(j[0], Ea, ka);
1748        Ba = a;
1749        Ob = g
1750    };
1751    var Tb, Sa = {}, Uc = {
1752        opacity: 1,
1753        visibility: "visible"
1754    };
1755    Tb = function () {
1756        Vc();
1757        P.removeClass("jackbox-spin-preloader");
1758        var a = Math.max(k, 260);
1759        Sa.duration = 600;
1760        La && !ma ? Jacked.fadeIn(i[0], Sa) : (i.show(), ("audio" === R || "local" === R) && i[0].contentWindow.cjInit());
1761        Sa.duration = 300;
1762        ma ? (v && v.css("width", a).show(), w && w.css("width", a).show()) : (v && (v.css("width", a), Jacked.fadeIn(v[0], Sa)), w && (w.css("width", a), Jacked.fadeIn(w[0], Sa)));
1763        r && db ? (r.show(), F.html(db).show(), Y = -F.outerHeight(), ia.css("height", -Y < g ? -Y : g), Sc ? (Ca = !0, r.addClass("jb-info-inactive"), F.css("margin-top", 0)) : (Ca = !1, F.css("margin-top", Y))) : r && (r.hide(), F.hide());
1764        Ja = !1;
1765        !ib && N && (ba.css(Uc), la.css(Uc));
1766        if (!Jb && bb && N) {
1767            var a = C[y],
1768                b = [],
1769                d = I,
1770                e, f, h, j;
1771            for (Jb = !0; d--;) h = a[d], h.attr("data-thumbnail") ? b[d] = !1 : (e = h.children("img"), e.length ? (h.attr("data-thumbnail", e.attr("src")), b[d] = e) : ("image" === h.data("type") ? h.attr("data-thumbnail", h.attr("href") || h.attr("data-href")) : h.attr("data-thumbnail", "jackbox/img/thumbs/default.jpg"), b[d] = !1));
1772            p = [];
1773            U || (d = l.createDocumentFragment(), h = G >> 1, U = c("<div />").addClass("jackbox-thumb-holder").css("height", G).appendTo(n), m = c("<div />").addClass("jackbox-thumb-panel").css("height", G), W = c("<div />").addClass("jackbox-thumb-right"), V = c("<div />").addClass("jackbox-thumb-left"), d.appendChild(m[0]), d.appendChild(W[0]), d.appendChild(V[0]), m[0].cjThumbs = !0, U[0].appendChild(d), L = c("<div />").addClass("jackbox-thumb-strip").appendTo(m), V.css("top", h), W.css("top", h));
1774            h = l.createDocumentFragment();
1775            for (d = 0; d < I; d++) {
1776                f = p[d] = c("<div />").data("id", d).addClass("jackbox-thumb").css({
1777                    width: Da,
1778                    height: G,
1779                    left: Z * d
1780                }).on("click.jackbox", Cc);
1781                if (Oa && (e = Ya[d].attr("data-thumbTooltip") || Ya[d].attr("data-title"))) f.data("theTitle", e).on("mouseenter.jackbox", Wc).on("mouseleave.jackbox", zc);
1782                h.appendChild(f[0]);
1783                e = c("<img />").addClass("jb-thumb").one("load.jackbox", od).appendTo(f);
1784                f.data("theThumb", e);
1785                b[d] ? (f = b[d].attr("width") || b[d].width(), j = b[d].attr("height") || b[d].height()) : (f = Da, j = G);
1786                f > Da && j > G && (j = f < j ? j / f : f / j, f = Da * j, j *= G, f !== (f | 0) && (f = f + 1 | 0), j !== (j | 0) && (j = j + 1 | 0));
1787                e.attr({
1788                    width: f,
1789                    height: j,
1790                    src: a[d].attr("data-thumbnail")
1791                })
1792            }
1793            L[0].appendChild(h);
1794            Kc = p.length;
1795            Nb = Z * d;
1796            E = !0;
1797            q = 0;
1798            U.on("click.jackbox", vc).show();
1799            Ub();
1800            t && (Bb ? (X.hide(), O.show(), U.css("bottom", ga)) : (O.hide(), X.show(), U.css("bottom", 0)), t.on("click.jackbox", Xc))
1801        }
1802        if (!ib) {
1803            ib = !0;
1804            if (pa) J.on("click.jackbox", pd);
1805            if (ua) ua.one("click.jackbox", nc);
1806            if (r) r.on("click.jackbox", Yc);
1807            if (N) {
1808                if (sa) sa.on("click.jackbox", xb);
1809                if (ra) ra.on("click.jackbox", yb);
1810                if (Oa && m) m.on("mouseenter.jackbox", nd)
1811            }
1812        }
1813        s && (i[0].removeEventListener("touchstart", z, !1), i[0].removeEventListener("touchmove", z, !1), i[0].removeEventListener("touchend", z, !1), kc());
1814        if (N) {
1815            if (E) for (a = p.length; a--;) p[a].on("click.jackbox", Cc);
1816            ba.on("click.jackbox", yb);
1817            la.on("click.jackbox", xb);
1818            s && wb && i.cjSwipe("touchSwipe", ud)
1819        }
1820    };
1821    var Vc, nb = {
1822        type: "text/html",
1823        frameborder: 0,
1824        mozallowfullscreen: "mozallowfullscreen",
1825        webkitallowfullscreen: "webkitallowfullscreen",
1826        allowfullscreen: "allowfullscreen",
1827        scrolling: "no"
1828    };
1829    Vc = function () {
1830        if (!Lc) {
1831            Lc = !0;
1832            Pa = c(".jb-total");
1833            r = c(".jackbox-info");
1834            va = c(".jb-divider");
1835            wa = c(".jb-current");
1836            ua = c(".jackbox-close");
1837            kb = c(".jackbox-title-text");
1838            x = c(".jackbox-title-txt");
1839            ta = c(".jackbox-controls");
1840            ra = c(".jackbox-arrow-left");
1841            Qa = c(".jackbox-social");
1842            sa = c(".jackbox-arrow-right");
1843            t = c(".jackbox-button-thumbs");
1844            O = c(".jackbox-show-thumbs");
1845            X = c(".jackbox-hide-thumbs");
1846            x.length || (x = null);
1847            kb.length || (kb = null);
1848            ra.length || (ra = null);
1849            va.length || (va = null);
1850            sa.length || (sa = null);
1851            ta.length || (ta = null);
1852            ua.length || (ua = null);
1853            Qa.length || (Qa = null);
1854            if (!wa.length || !Pa.length) wa = null;
1855            pa ? (c(".jackbox-ns").hide(), J.length || (J = pa = null)) : J && J.hide();
1856            bb ? t.length && O.length && X.length ? O.hide() : t = O = X = null : (t.hide(), t = O = X = null);
1857            r.length ? (ia = c("<div />").addClass("jackbox-info-text").appendTo(ca).css("visibility", "hidden"), F = c("<div />").addClass("jackbox-description-text").appendTo(ia)) : r = null;
1858            Oa && (Aa = c("<span />").addClass("jackbox-thumb-tip").css("bottom", G), Kb = c("<span />").addClass("jackbox-thumb-tip-text").text("render me").appendTo(Aa), Aa.appendTo(n), Jc = (parseInt(Aa.css("padding-left"), 10) << 1) - (ya << 1))
1859        }
1860        N || (ta && ta.hide(), t && t.hide());
1861        if (kb) {
1862            "false" === ha && (ha = !1);
1863            var a = x && ha,
1864                b = a ? " -&nbsp;" : "";
1865            wa && N ? (wa.text(f + 1).show(), Pa.html(I + b).show(), va && va.show()) : (Pa && Pa.hide(), wa && wa.hide(), va && va.hide());
1866            a && (x.html(Eb), a = x.children("a"), a.length && (a.on("click.jackbox", Bd), x.data("links", a)))
1867        }
1868        if (Qa && !lb) {
1869            var d, a = l.URL.split("#showcase")[0],
1870                b = a.length - 1; - 1 !== a.search("/") && ("/" !== a.charAt(b) ? (M ? d = a + "#/" + ea + "/" + (f + 1) : d = a, a = a.substring(0, a.lastIndexOf("/"))) : (a = a.substring(0, b), M ? d = a + "/#/" + ea + "/" + (f + 1) : d = a));
1871            La ? b = e.attr("href") || e.attr("data-href") : (b = e.children("img"), b = b.length ? b.attr("src") : Rc); - 1 === b.search("http") && (b = "/" !== b.charAt(0) ? a + "/" + b : a + b);
1872            nb.width = 200;
1873            nb.height = 21;
1874            nb.src = "jackbox/modules/jackbox_social.php?url=" + encodeURIComponent(d) + "&poster=" + b + "&title=" + (ha ? escape(ha.replace(/(<([^>]+)>)/ig, "")) : escape(l.title));
1875            hb = c("<iframe />").attr(nb).appendTo(Qa)
1876        }
1877    };
1878    var Yc, Vb = {}, Wb = {
1879        duration: 300
1880    };
1881    Yc = function (a) {
1882        a && a.stopPropagation();
1883        Ca ? (Vb.marginTop = Y, Wb.callback = md, r.removeClass("jb-info-inactive")) : (r.addClass("jb-info-inactive"), ia.css("visibility", "visible"), Vb.marginTop = 0, delete Wb.callback);
1884        Jacked.tween(F[0], Vb, Wb);
1885        Ca = !Ca
1886    };
1887    var Wc, Xb = {
1888        opacity: 1,
1889        visibility: "visible"
1890    };
1891    Wc = function () {
1892        s && (clearTimeout(Nc), Nc = setTimeout(zc, 2E3));
1893        var a = c(this),
1894            b, d, e;
1895        Kb.text(a.data("theTitle"));
1896        b = parseInt(Kb.css("width"), 10);
1897        e = m.data("offLeft");
1898        a = a.offset().left;
1899        d = e + m.width() - b - Jc;
1900        Xb.width = b;
1901        Xb.left = a < e ? e : a > d ? d : a;
1902        Aa.css(Xb)
1903    };
1904    var Xc, Zc = {}, Dd = {
1905        duration: 300
1906    };
1907    Xc = function (a) {
1908        a.stopPropagation();
1909        0 === ga ? (ga = sb, t && (X.hide(), O.show())) : (ga = 0, t && (O.hide(), X.show()));
1910        Zc.bottom = ga;
1911        Jacked.tween(U[0], Zc, Dd);
1912        569 > B || (fa("true"), Sb())
1913    };
1914    var Ub, Yb = {};
1915    Ub = function (a) {
1916        var b = B - 160;
1917        Nb < b ? (ja = Kc, Qb = !1) : (ja = b / Z | 0, Qb = !0);
1918        jb = Z * ja - ya;
1919        Mb = ja - 1;
1920        Yb.marginLeft = -(jb >> 1) - ya;
1921        Yb.width = jb;
1922        m.css(Yb);
1923        L.css("width", Nb);
1924        Db(a)
1925    };
1926    var Db, $c = {}, Ed = {
1927        duration: 300
1928    };
1929    Db = function (a, b) {
1930        if (a) q = f, 0 !== f && f + ja > I && (q = I - ja), Jacked.stopTween(L[0]), L.css("left", q * -Z);
1931        else {
1932            if (0 === f) q = 0;
1933            else if (f > q + Mb) for (; f >
1933 q + Mb;) q++;
1934            b ? ($c.left = q * -Z, Jacked.tween(L[0], $c, Ed)) : (Jacked.stopTween(L[0]), L.css("left", q * -Z))
1935        }
1936        eb(a, !1)
1937    };
1938    var eb, ad = {}, Fd = {
1939        duration: 300
1940    };
1941    eb = function (a, b) {
1942        V.off(".jackbox");
1943        W.off(".jackbox");
1944        if (Qb) if (s && m.cjSwipe("unbindSwipe"), q < I - ja ? (W.on("click.jackbox", Ac).show(), s && m.cjSwipe("touchSwipeLeft", Ac, !0)) : W.hide(), 0 < q ? (V.on("click.jackbox", Bc).show(), s && m.cjSwipe("touchSwipeRight", Bc, !0)) : V.hide(), b) ad.left = q * -Z, Jacked.tween(L[0], ad, Fd);
1945        else {
1946            if (a || !Ib) {
1947                var c = m.offset().left;
1948                V.css("left", c);
1949                W.css("left", c + jb);
1950                Ib = !0
1951            }
1952        } else V.hide(), W.hide()
1953    };
1954    var fa, Zb = {
1955        opacity: 1
1956    }, Ta = {};
1957    fa = function (a) {
1958        B = A.width();
1959        K = Math.max(A.height(), 226);
1960        var b = 568 < B && 0 === ga ? Ab : 0;
1961        Mc = "audio" !== R && "inline" !== R ? !Na ? cb : cb || Pc : !1;
1962        if (gb < B && Hb + b < K && !Mc) k = S, g = T;
1963        else {
1964            k = B / gb;
1965            g = K / Hb;
1966            var c = k > g ? g : k;
1967            k = S * c;
1968            g = T * c;
1969            B > K ? g + Za + b > K && (g = K - Ka - na - b, k = S * (g / T)) : k > g ? k + gb > B && (k = B - na, g = T * (k / S)) : g + Za + b > K && (g = K - Ka - na - b, k = S * (g / T));
1970            k !== (k | 0) && (k = k + 1 | 0);
1971            g !== (g | 0) && (g = g + 1 | 0)
1972        }
1973        xa = k + zb;
1974        Pb = g + Ka + b;
1975        "true" !== a && (Jacked.stopTween(j[0], !1, !0), i && Jacked.stopTween(i[0], !0, !0), 260 > k && (xa += 260 - k), a = Math.max(260, k), Zb.width = a, Zb.height = g, Ta.marginLeft = -(0.5 * xa + 0.5 | 0), Ta.marginTop = -(0.5 * Pb + 0.5 | 0), Ta.width = a, Ta.height = g, j.css(Ta), i.css(Zb), w && (Jacked.stopTween(w[0]), w.css("width", a)), v && (Jacked.stopTween(v[0]), v.css("width", a)), r && db && (Y = -F.outerHeight(), ia.css("height", -Y < g ? -Y : g), Ca || (Jacked.stopTween(F[0], !1, !0), F.css("margin-top", Y))), E && Ub(!0))
1976    };
1977    var Ic, $b = {};
1978    Ic = function (a) {
1979        var b = c(this).data();
1980        $b.left = a.pageX - b.tipX - b.tipWidth;
1981        $b.top = a.pageY - b.tipY - b.tipHeight;
1982        b.tip.css($b)
1983    };
1984    c.fn.jackBox = function (a, b) {
1985        if (Tc.hasOwnProperty(a)) Tc[a](this, b)
1986    };
1987    c.jackBox = {
1988        available: function (a) {
1989            a && (bc ? M ? setTimeout(a, 250) : a() : Ha = a)
1990        },
1991        itemLoaded: function (a) {
1992            Lb = a
1993        }
1994    }
1995})(jQuery);
1996
1997function jackboxFrameReady() {
1998    $.fn.jackBox("frameReady")
1999};
2000(function () {
2001    function I() {
2002        this.a = this.b = this.g = this.r = 0;
2003        this.next = null
2004    }
2005    var K = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259],
2006        L = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];
2007    window.StackBlurImage = function (m, E, r) {
2008        var y = document.getElementById(m),
2009            m = y.naturalWidth,
2010            w = y.naturalHeight,
2011            c = document.getElementById(E);
2012        c.style.width = m + "px";
2013        c.style.height = w + "px";
2014        c.width = m;
2015        c.height = w;
2016        c = c.getContext("2d");
2017        c.clearRect(0, 0, m, w);
2018        c.drawImage(y, 0, 0);
2019        if (!(isNaN(r) || 1 > r)) if (!(isNaN(r) || 1 > r)) {
2020            var r = r | 0,
2021                E = document.getElementById(E).getContext("2d"),
2022                y = E.getImageData(0, 0, m, w),
2023                c = y.data,
2024                s, x, a, d, e, F, f, g, h, t, u, v, i, j, k, n, p, q, z, b = a = null,
2025                A = K[r],
2026                B = L[r];
2027            s = r + r + 1;
2028            var G = m - 1,
2029                H = w - 1,
2030                l = r + 1,
2031                C = l * (l + 1) / 2,
2032                D = new I,
2033                b = D;
2034            for (a = 1; a < s; a++) if (b = b.next = new I, a == l) var J = b;
2035            b.next = D;
2036            for (x = F = e = 0; x < w; x++) {
2037                i = j = k = f = g = h = 0;
2038                t = l * (n = c[e]);
2039                u = l * (p = c[e + 1]);
2040                v = l * (q = c[e + 2]);
2041                f += C * n;
2042                g += C * p;
2043                h += C * q;
2044                b = D;
2045                for (a = 0; a < l; a++) b.r = n, b.g = p, b.b = q, b = b.next;
2046                for (a = 1; a < l; a++) d = e + ((G < a ? G : a) << 2), f += (b.r = n = c[d]) * (z = l - a), g += (b.g = p = c[d + 1]) * z, h += (b.b = q = c[d + 2]) * z, i += n, j += p, k += q, b = b.next;
2047                a = D;
2048                b = J;
2049                for (s = 0; s < m; s++) c[e] = f * A >> B, c[e + 1] = g * A >> B, c[e + 2] = h * A >> B, f -= t, g -= u, h -= v, t -= a.r, u -= a.g, v -= a.b, d = F + ((d = s + r + 1) < G ? d : G) << 2, i += a.r = c[d], j += a.g = c[d + 1], k += a.b = c[d + 2], f += i, g += j, h += k, a = a.next, t += n = b.r, u += p = b.g, v += q = b.b, i -= n, j -= p, k -= q, b = b.next, e += 4;
2050                F += m
2051            }
2052            for (s = 0; s < m; s++) {
2053                j = k = i = g = h = f = 0;
2054                e = s << 2;
2055                t = l * (n = c[e]);
2056                u = l * (p = c[e + 1]);
2057                v = l * (q = c[e + 2]);
2058                f += C * n;
2059                g += C * p;
2060                h += C * q;
2061                b = D;
2062                for (a = 0; a < l; a++) b.r = n, b.g = p, b.b = q, b = b.next;
2063                d = m;
2064                for (a = 1; a <= r; a++) e = d + s << 2, f += (b.r = n = c[e]) * (z = l - a), g += (b.g = p = c[e + 1]) * z, h += (b.b = q = c[e + 2]) * z, i += n, j += p, k += q, b = b.next, a < H && (d += m);
2065                e = s;
2066                a = D;
2067                b = J;
2068                for (x = 0; x < w; x++) d = e << 2, c[d] = f * A >> B, c[d + 1] = g * A >> B, c[d + 2] = h * A >> B, f -= t, g -= u, h -= v, t -= a.r, u -= a.g, v -= a.b, d = s + ((d = x + l) < H ? d : H) * m << 2, f += i += a.r = c[d], g += j += a.g = c[d + 1], h += k += a.b = c[d + 2], a = a.next, t += n = b.r, u += p = b.g, v += q = b.b, i -= n, j -= p, k -= q, b = b.next, e += m
2069            }
2070            E.putImageData(y, 0, 0)
2071        }
2072    }
2073})();

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.