PageSourceSearch

https://www.agkino.de/wp-content/themes/bigbangwp/javascript/jquery.isotope.min.js?ver=5.9.18.1790285626

js agkino.de collected 2026-09-24 21:34:15 UTC 31,502 bytes, 827 lines download raw bytes

1/**
2 * Isotope v1.5.04
3 * An exquisite jQuery plugin for magical layouts
4 * http://isotope.metafizzy.co
5 *
6 * Commercial use requires one-time license fee
7 * http://metafizzy.co/#licenses
8 *
9 * Copyright 2011 David DeSandro / Metafizzy
10 */
11/*jshint curly: true, eqeqeq: true, forin: false, immed: false, newcap: true, noempty: true, undef: true */
12/*global Modernizr: true, jQuery: true */
13(function (a, b, c) {
14    "use strict";
15    var d = function (a) {
16            return a.charAt(0).toUpperCase() + a.slice(1)
17        }
18        , e = "Moz Webkit Khtml O Ms".split(" ")
19        , f = function (a) {
20            var b = document.documentElement.style
21                , c;
22            if (typeof b[a] == "string") return a;
23            a = d(a);
24            for (var f = 0, g = e.length; f < g; f++) {
25                c = e[f] + a;
26                if (typeof b[c] == "string") return c
27            }
28        }
29        , g = f("transform")
30        , h = f("transitionProperty")
31        , i = {
32            csstransforms: function () {
33                return !!g
34            }
35            , csstransforms3d: function () {
36                var a = !!f("perspective");
37                if (a) {
38                    var c = " -o- -moz- -ms- -webkit- -khtml- ".split(" ")
39                        , d = "@media (" + c.join("transform-3d),(") + "modernizr)"
40                        , e = b("<style>" + d + "{#modernizr{height:3px}}" + "</style>").appendTo("head")
41                        , g = b('<div id="modernizr" />').appendTo("html");
42                    a = g.height() === 3, g.remove(), e.remove()
43                }
44                return a
45            }
46            , csstransitions: function () {
47                return !!h
48            }
49        };
50    if (a.Modernizr)
51        for (var j in i) Modernizr.hasOwnProperty(j) || Modernizr.addTest(j, i[j]);
52    else a.Modernizr = function () {
53        var a = {
54                _version: "1.6ish: miniModernizr for Isotope"
55            }
56            , c = " "
57            , d, e;
58        for (e in i) d = i[e](), a[e] = d, c += " " + (d ? "" : "no-") + e;
59        b("html").addClass(c);
60        return a
61    }();
62    if (Modernizr.csstransforms) {
63        var k = Modernizr.csstransforms3d ? {
64                translate: function (a) {
65                    return "translate3d(" + a[0] + "px, " + a[1] + "px, 0) "
66                }
67                , scale: function (a) {
68                    return "scale3d(" + a + ", " + a + ", 1) "
69                }
70            } : {
71                translate: function (a) {
72                    return "translate(" + a[0] + "px, " + a[1] + "px) "
73                }
74                , scale: function (a) {
75                    return "scale(" + a + ") "
76                }
77            }
78            , l = function (a, c, d) {
79                var e = b.data(a, "isoTransform") || {}
80                    , f = {}
81                    , h, i = {}
82                    , j;
83                f[c] = d, b.extend(e, f);
84                for (h in e) j = e[h], i[h] = k[h](j);
85                var l = i.translate || ""
86                    , m = i.scale || ""
87                    , n = l + m;
88                b.data(a, "isoTransform", e), a.style[g] = n
89            };
90        b.cssNumber.scale = !0, b.cssHooks.scale = {
91            set: function (a, b) {
92                l(a, "scale", b)
93            }
94            , get: function (a, c) {
95                var d = b.data(a, "isoTransform");
96                return d && d.scale ? d.scale : 1
97            }
98        }, b.fx.step.scale = function (a) {
99            b.cssHooks.scale.set(a.elem, a.now + a.unit)
100        }, b.cssNumber.translate = !0, b.cssHooks.translate = {
101            set: function (a, b) {
102                l(a, "translate", b)
103            }
104            , get: function (a, c) {
105                var d = b.data(a, "isoTransform");
106                return d && d.translate ? d.translate : [0, 0]
107            }
108        }
109    }
110    var m, n;
111    Modernizr.csstransitions && (m = {
112        WebkitTransitionProperty: "webkitTransitionEnd"
113        , MozTransitionProperty: "transitionend"
114        , OTransitionProperty: "oTransitionEnd"
115        , transitionProperty: "transitionEnd"
116    }[h], n = f("transitionDuration"));
117    var o = b.event
118        , p;
119    o.special.smartresize = {
120        setup: function () {
121            b(this).bind("resize", o.special.smartresize.handler)
122        }
123        , teardown: function () {
124            b(this).unbind("resize", o.special.smartresize.handler)
125        }
126        , handler: function (a, b) {
127            var c = this
128                , d = arguments;
129            a.type = "smartresize", p && clearTimeout(p), p = setTimeout(function () {
130                jQuery.event.handle.apply(c, d)
131            }, b === "execAsap" ? 0 : 100)
132        }
133    }, b.fn.smartresize = function (a) {
134        return a ? this.bind("smartresize", a) : this.trigger("smartresize", ["execAsap"])
135    }, b.Isotope = function (a, c, d) {
136        this.element = b(c), this._create(a), this._init(d)
137    };
138    var q = ["overflow", "position", "width", "height"];
139    b.Isotope.settings = {
140        resizable: !0
141        , layoutMode: "masonry"
142        , containerClass: "isotope"
143        , itemClass: "isotope-item"
144        , hiddenClass: "isotope-hidden"
145        , hiddenStyle: {
146            opacity: 0
147            , scale: .001
148        }
149        , visibleStyle: {
150            opacity: 1
151            , scale: 1
152        }
153        , animationEngine: "best-available"
154        , animationOptions: {
155            queue: !1
156            , duration: 800
157        }
158        , sortBy: "original-order"
159        , sortAscending: !0
160        , resizesContainer: !0
161       
162        , itemPositionDataEnabled: !1
163    }, b.Isotope.prototype = {
164        _create: function (c) {
165            this.options = b.extend({}, b.Isotope.settings, c), this.styleQueue = [], this.elemCount = 0;
166            var d = this.element[0].style;
167            this.originalStyle = {};
168            for (var e = 0, f = q.length; e < f; e++) {
169                var g = q[e];
170                this.originalStyle[g] = d[g] || ""
171            }
172            this.element.css({
173                overflow: "hidden"
174                , position: "relative"
175            }), this._updateAnimationEngine(), this._updateUsingTransforms();
176            var h = {
177                "original-order": function (a, b) {
178                    b.elemCount++;
179                    return b.elemCount
180                }
181                , random: function () {
182                    return Math.random()
183                }
184            };
185            this.options.getSortData = b.extend(this.options.getSortData, h), this.reloadItems();
186            var i = b(document.createElement("div")).prependTo(this.element);
187            this.offset = i.position(), i.remove();
188            var j = this;
189            setTimeout(function () {
190                j.element.addClass(j.options.containerClass)
191            }, 0), this.options.resizable && b(a).bind("smartresize.isotope", function () {
192                j.resize()
193            }), this.element.delegate("." + this.options.hiddenClass, "click", function () {
194                return !1
195            })
196        }
197        , _getAtoms: function (a) {
198            var b = this.options.itemSelector
199                , c = b ? a.filter(b).add(a.find(b)) : a
200                , d = {
201                    position: "absolute"
202                };
203            this.usingTransforms && (d.left = 0, d.top = 0), c.css(d).addClass(this.options.itemClass), this.updateSortData(c, !0);
204            return c
205        }
206        , _init: function (a) {
207            this.$filteredAtoms = this._filter(this.$allAtoms), this._sort(), this.reLayout(a)
208        }
209        , option: function (a) {
210            if (b.isPlainObject(a)) {
211                this.options = b.extend(!0, this.options, a);
212                var c;
213                for (var e in a) c = "_update" + d(e), this[c] && this[c]()
214            }
215        }
216        , _updateAnimationEngine: function () {
217            var a = this.options.animationEngine.toLowerCase().replace(/[ _\-]/g, "");
218            switch (a) {
219            case "css":
220            case "none":
221                this.isUsingJQueryAnimation = !1;
222                break;
223            case "jquery":
224                this.isUsingJQueryAnimation = !0;
225                break;
226            default:
227                this.isUsingJQueryAnimation = !Modernizr.csstransitions
228            }
229            this._updateUsingTransforms()
230        }
231        , _updateTransformsEnabled: function () {
232            this._updateUsingTransforms()
233        }
234        , _updateUsingTransforms: function () {
235            var a = this.usingTransforms = this.options.transformsEnabled && Modernizr.csstransforms && Modernizr.csstransitions && !this.isUsingJQueryAnimation;
236            a || (delete this.options.hiddenStyle.scale, delete this.options.visibleStyle.scale), this.getPositionStyles = a ? this._translate : this._positionAbs
237        }
238        , _filter: function (a) {
239            var b = this.options.filter === "" ? "*" : this.options.filter;
240            if (!b) return a;
241            var c = this.options.hiddenClass
242                , d = "." + c
243                , e = a.filter(d)
244                , f = e;
245            if (b !== "*") {
246                f = e.filter(b);
247                var g = a.not(d).not(b).addClass(c);
248                this.styleQueue.push({
249                    $el: g
250                    , style: this.options.hiddenStyle
251                })
252            }
253            this.styleQueue.push({
254                $el: f
255                , style: this.options.visibleStyle
256            }), f.removeClass(c);
257            return a.filter(b)
258        }
259        , updateSortData: function (a, c) {
260            var d = this
261                , e = this.options.getSortData
262                , f, g;
263            a.each(function () {
264                f = b(this), g = {};
265                for (var a in e) !c && a === "original-order" ? g[a] = b.data(this, "isotope-sort-data")[a] : g[a] = e[a](f, d);
266                b.data(this, "isotope-sort-data", g)
267            })
268        }
269        , _sort: function () {
270            var a = this.options.sortBy
271                , b = this._getSorter
272                , c = this.options.sortAscending ? 1 : -1
273                , d = function (d, e) {
274                    var f = b(d, a)
275                        , g = b(e, a);
276                    f === g && a !== "original-order" && (f = b(d, "original-order"), g = b(e, "original-order"));
277                    return (f > g ? 1 : f < g ? -1 : 0) * c
278                };
279            this.$filteredAtoms.sort(d)
280        }
281        , _getSorter: function (a, c) {
282            return b.data(a, "isotope-sort-data")[c]
283        }
284        , _translate: function (a, b) {
285            return {
286                translate: [a, b]
287            }
288        }
289        , _positionAbs: function (a, b) {
290            return {
291                left: a
292                , top: b
293            }
294        }
295        , _pushPosition: function (a, b, c) {
296            b += this.offset.left, c += this.offset.top;
297            var d = this.getPositionStyles(b, c);
298            this.styleQueue.push({
299                $el: a
300                , style: d
301            }), this.options.itemPositionDataEnabled && a.data("isotope-item-position", {
302                x: b
303                , y: c
304            })
305        }
306        , layout: function (a, b) {
307            var c = this.options.layoutMode;
308            this["_" + c + "Layout"](a);
309            if (this.options.resizesContainer) {
310                var d = this["_" + c + "GetContainerSize"]();
311                this.styleQueue.push({
312                    $el: this.element
313                    , style: d
314                })
315            }
316            this._processStyleQueue(a, b), this.isLaidOut = !0
317        }
318        , _processStyleQueue: function (a, c) {
319            var d = this.isLaidOut ? this.isUsingJQueryAnimation ? "animate" : "css" : "css"
320                , e = this.options.animationOptions
321                , f, g, h, i;
322            g = function (a, b) {
323                b.$el[d](b.style, e)
324            };
325            if (this._isInserting && this.isUsingJQueryAnimation) g = function (a, b) {
326                f = b.$el.hasClass("no-transition") ? "css" : d, b.$el[f](b.style, e)
327            };
328            else if (c) {
329                var j = !1
330                    , k = this;
331                h = !0, i = function () {
332                    j || (c.call(k.element, a), j = !0)
333                };
334                if (this.isUsingJQueryAnimation && d === "animate") e.complete = i, h = !1;
335                else if (Modernizr.csstransitions) {
336                    var l = 0
337                        , o = this.styleQueue[0].$el
338                        , p;
339                    while (!o.length) {
340                        p = this.styleQueue[l++];
341                        if (!p) return;
342                        o = p.$el
343                    }
344                    var q = parseFloat(getComputedStyle(o[0])[n]);
345                    q > 0 && (g = function (a, b) {
346                        b.$el[d](b.style, e).one(m, i)
347                    }, h = !1)
348                }
349            }
350            b.each(this.styleQueue, g), h && i(), this.styleQueue = []
351        }
352        , resize: function () {
353            this["_" + this.options.layoutMode + "ResizeChanged"]() && this.reLayout()
354        }
355        , reLayout: function (a) {
356            this["_" + this.options.layoutMode + "Reset"](), this.layout(this.$filteredAtoms, a)
357        }
358        , addItems: function (a, b) {
359            var c = this._getAtoms(a);
360            this.$allAtoms = this.$allAtoms.add(c), b && b(c)
361        }
362        , insert: function (a, b) {
363            this.element.append(a);
364            var c = this;
365            this.addItems(a, function (a) {
366                var d = c._filter(a, !0);
367                c._addHideAppended(d), c._sort(), c.reLayout(), c._revealAppended(d, b)
368            })
369        }
370        , appended: function (a, b) {
371            var c = this;
372            this.addItems(a, function (a) {
373                c._addHideAppended(a), c.layout(a), c._revealAppended(a, b)
374            })
375        }
376        , _addHideAppended: function (a) {
377            this.$filteredAtoms = this.$filteredAtoms.add(a), a.addClass("no-transition"), this._isInserting = !0, this.styleQueue.push({
378                $el: a
379                , style: this.options.hiddenStyle
380            })
381        }
382        , _revealAppended: function (a, b) {
383            var c = this;
384            setTimeout(function () {
385                a.removeClass("no-transition"), c.styleQueue.push({
386                    $el: a
387                    , style: c.options.visibleStyle
388                }), c._isInserting = !1, c._processStyleQueue(a, b)
389            }, 10)
390        }
391        , reloadItems: function () {
392            this.$allAtoms = this._getAtoms(this.element.children())
393        }
394        , remove: function (a) {
395            this.$allAtoms = this.$allAtoms.not(a), this.$filteredAtoms = this.$filteredAtoms.not(a), a.remove()
396        }
397        , shuffle: function (a) {
398            this.updateSortData(this.$allAtoms), this.options.sortBy = "random", this._sort(), this.reLayout(a)
399        }
400        , destroy: function () {
401            var c = this.usingTransforms;
402            this.$allAtoms.removeClass(this.options.hiddenClass + " " + this.options.itemClass).each(function () {
403                this.style.position = "", this.style.top = "", this.style.left = "", this.style.opacity = "", c && (this.style[g] = "")
404            });
405            var d = this.element[0].style;
406            for (var e = 0, f = q.length; e < f; e++) {
407                var h = q[e];
408                d[h] = this.originalStyle[h]
409            }
410            this.element.unbind(".isotope").undelegate("." + this.options.hiddenClass, "click").removeClass(this.options.containerClass).removeData("isotope"), b(a).unbind(".isotope")
411        }
412        , _getSegments: function (a) {
413            var b = this.options.layoutMode
414                , c = a ? "rowHeight" : "columnWidth"
415                , e = a ? "height" : "width"
416                , f = a ? "rows" : "cols"
417                , g = this.element[e]()
418                , h, i = this.options[b] && this.options[b][c] || this.$filteredAtoms["outer" + d(e)](!0) || g;
419            h = Math.floor(g / i), h = Math.max(h, 1), this[b][f] = h, this[b][c] = i
420        }
421        , _checkIfSegmentsChanged: function (a) {
422            var b = this.options.layoutMode
423                , c = a ? "rows" : "cols"
424                , d = this[b][c];
425            this._getSegments(a);
426            return this[b][c] !== d
427        }
428        , _masonryReset: function () {
429            this.masonry = {}, this._getSegments();
430            var a = this.masonry.cols;
431            this.masonry.colYs = [];
432            while (a--) this.masonry.colYs.push(0)
433        }
434        , _masonryLayout: function (a) {
435            var c = this
436                , d = c.masonry;
437            a.each(function () {
438                var a = b(this)
439                    , e = Math.ceil(a.outerWidth(!0) / d.columnWidth);
440                e = Math.min(e, d.cols);
441                if (e === 1) c._masonryPlaceBrick(a, d.colYs);
442                else {
443                    var f = d.cols + 1 - e
444                        , g = []
445                        , h, i;
446                    for (i = 0; i < f; i++) h = d.colYs.slice(i, i + e), g[i] = Math.max.apply(Math, h);
447                    c._masonryPlaceBrick(a, g)
448                }
449            })
450        }
451        , _masonryPlaceBrick: function (a, b) {
452            var c = Math.min.apply(Math, b)
453                , d = 0;
454            for (var e = 0, f = b.length; e < f; e++)
455                if (b[e] === c) {
456                    d = e;
457                    break
458                }
459            var g = this.masonry.columnWidth * d
460                , h = c;
461            this._pushPosition(a, g, h);
462            var i = c + a.outerHeight(!0)
463                , j = this.masonry.cols + 1 - f;
464            for (e = 0; e < j; e++) this.masonry.colYs[d + e] = i
465        }
466        , _masonryGetContainerSize: function () {
467            var a = Math.max.apply(Math, this.masonry.colYs);
468            return {
469                height: a
470            }
471        }
472        , _masonryResizeChanged: function () {
473            return this._checkIfSegmentsChanged()
474        }
475        , _fitRowsReset: function () {
476            this.fitRows = {
477                x: 0
478                , y: 0
479                , height: 0
480            }
481        }
482        , _fitRowsLayout: function (a) {
483            var c = this
484                , d = this.element.width()
485                , e = this.fitRows;
486            a.each(function () {
487                var a = b(this)
488                    , f = a.outerWidth(!0)
489                    , g = a.outerHeight(!0);
490                e.x !== 0 && f + e.x > d && (e.x = 0, e.y = e.height), c._pushPosition(a, e.x, e.y), e.height = Math.max(e.y + g, e.height), e.x += f
491            })
492        }
493        , _fitRowsGetContainerSize: function () {
494            return {
495                height: this.fitRows.height
496            }
497        }
498        , _fitRowsResizeChanged: function () {
499            return !0
500        }
501        , _cellsByRowReset: function () {
502            this.cellsByRow = {
503                index: 0
504            }, this._getSegments(), this._getSegments(!0)
505        }
506        , _cellsByRowLayout: function (a) {
507            var c = this
508                , d = this.cellsByRow;
509            a.each(function () {
510                var a = b(this)
511                    , e = d.index % d.cols
512                    , f = Math.floor(d.index / d.cols)
513                    , g = Math.round((e + .5) * d.columnWidth - a.outerWidth(!0) / 2)
514                    , h = Math.round((f + .5) * d.rowHeight - a.outerHeight(!0) / 2);
515                c._pushPosition(a, g, h), d.index++
516            })
517        }
518        , _cellsByRowGetContainerSize: function () {
519            return {
520                height: Math.ceil(this.$filteredAtoms.length / this.cellsByRow.cols) * this.cellsByRow.rowHeight + this.offset.top
521            }
522        }
523        , _cellsByRowResizeChanged: function () {
524            return this._checkIfSegmentsChanged()
525        }
526        , _straightDownReset: function () {
527            this.straightDown = {
528                y: 0
529            }
530        }
531        , _straightDownLayout: function (a) {
532            var c = this;
533            a.each(function (a) {
534                var d = b(this);
535                c._pushPosition(d, 0, c.straightDown.y), c.straightDown.y += d.outerHeight(!0)
536            })
537        }
538        , _straightDownGetContainerSize: function () {
539            return {
540                height: this.straightDown.y
541            }
542        }
543        , _straightDownResizeChanged: function () {
544            return !0
545        }
546        , _masonryHorizontalReset: function () {
547            this.masonryHorizontal = {}, this._getSegments(!0);
548            var a = this.masonryHorizontal.rows;
549            this.masonryHorizontal.rowXs = [];
550            while (a--) this.masonryHorizontal.rowXs.push(0)
551        }
552        , _masonryHorizontalLayout: function (a) {
553            var c = this
554                , d = c.masonryHorizontal;
555            a.each(function () {
556                var a = b(this)
557                    , e = Math.ceil(a.outerHeight(!0) / d.rowHeight);
558                e = Math.min(e, d.rows);
559                if (e === 1) c._masonryHorizontalPlaceBrick(a, d.rowXs);
560                else {
561                    var f = d.rows + 1 - e
562                        , g = []
563                        , h, i;
564                    for (i = 0; i < f; i++) h = d.rowXs.slice(i, i + e), g[i] = Math.max.apply(Math, h);
565                    c._masonryHorizontalPlaceBrick(a, g)
566                }
567            })
568        }
569        , _masonryHorizontalPlaceBrick: function (a, b) {
570            var c = Math.min.apply(Math, b)
571                , d = 0;
572            for (var e = 0, f = b.length; e < f; e++)
573                if (b[e] === c) {
574                    d = e;
575                    break
576                }
577            var g = c
578                , h = this.masonryHorizontal.rowHeight * d;
579            this._pushPosition(a, g, h);
580            var i = c + a.outerWidth(!0)
581                , j = this.masonryHorizontal.rows + 1 - f;
582            for (e = 0; e < j; e++) this.masonryHorizontal.rowXs[d + e] = i
583        }
584        , _masonryHorizontalGetContainerSize: function () {
585            var a = Math.max.apply(Math, this.masonryHorizontal.rowXs);
586            return {
587                width: a
588            }
589        }
590        , _masonryHorizontalResizeChanged: function () {
591            return this._checkIfSegmentsChanged(!0)
592        }
593        , _fitColumnsReset: function () {
594            this.fitColumns = {
595                x: 0
596                , y: 0
597                , width: 0
598            }
599        }
600        , _fitColumnsLayout: function (a) {
601            var c = this
602                , d = this.element.height()
603                , e = this.fitColumns;
604            a.each(function () {
605                var a = b(this)
606                    , f = a.outerWidth(!0)
607                    , g = a.outerHeight(!0);
608                e.y !== 0 && g + e.y > d && (e.x = e.width, e.y = 0), c._pushPosition(a, e.x, e.y), e.width = Math.max(e.x + f, e.width), e.y += g
609            })
610        }
611        , _fitColumnsGetContainerSize: function () {
612            return {
613                width: this.fitColumns.width
614            }
615        }
616        , _fitColumnsResizeChanged: function () {
617            return !0
618        }
619        , _cellsByColumnReset: function () {
620            this.cellsByColumn = {
621                index: 0
622            }, this._getSegments(), this._getSegments(!0)
623        }
624        , _cellsByColumnLayout: function (a) {
625            var c = this
626                , d = this.cellsByColumn;
627            a.each(function () {
628                var a = b(this)
629                    , e = Math.floor(d.index / d.rows)
630                    , f = d.index % d.rows
631                    , g = Math.round((e + .5) * d.columnWidth - a.outerWidth(!0) / 2)
632                    , h = Math.round((f + .5) * d.rowHeight - a.outerHeight(!0) / 2);
633                c._pushPosition(a, g, h), d.index++
634            })
635        }
636        , _cellsByColumnGetContainerSize: function () {
637            return {
638                width: Math.ceil(this.$filteredAtoms.length / this.cellsByColumn.rows) * this.cellsByColumn.columnWidth
639            }
640        }
641        , _cellsByColumnResizeChanged: function () {
642            return this._checkIfSegmentsChanged(!0)
643        }
644        , _straightAcrossReset: function () {
645            this.straightAcross = {
646                x: 0
647            }
648        }
649        , _straightAcrossLayout: function (a) {
650            var c = this;
651            a.each(function (a) {
652                var d = b(this);
653                c._pushPosition(d, c.straightAcross.x, 0), c.straightAcross.x += d.outerWidth(!0)
654            })
655        }
656        , _straightAcrossGetContainerSize: function () {
657            return {
658                width: this.straightAcross.x
659            }
660        }
661        , _straightAcrossResizeChanged: function () {
662            return !0
663        }
664    }, b.fn.imagesLoaded = function (a) {
665        function h(a) {
666            --e <= 0 && a.target.src !== f && (setTimeout(g), d.unbind("load error", h))
667        }
668
669        function g() {
670            a.call(b, d)
671        }
672        var b = this
673            , d = b.find("img").add(b.filter("img"))
674            , e = d.length
675            , f = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";
676        e || g(), d.bind("load error", h).each(function () {
677            if (this.complete || this.complete === c) {
678                var a = this.src;
679                this.src = f, this.src = a
680            }
681        });
682        return b
683    };
684    var r = function (b) {
685        a.console && a.console.error(b)
686    };
687    b.fn.isotope = function (a, c) {
688        if (typeof a == "string") {
689            var d = Array.prototype.slice.call(arguments, 1);
690            this.each(function () {
691                var c = b.data(this, "isotope");
692                if (!c) r("cannot call methods on isotope prior to initialization; attempted to call method '" + a + "'");
693                else {
694                    if (!b.isFunction(c[a]) || a.charAt(0) === "_") {
695                        r("no such method '" + a + "' for isotope instance");
696                        return
697                    }
698                    c[a].apply(c, d)
699                }
700            })
701        }
702        else this.each(function () {
703            var d = b.data(this, "isotope");
704            d ? (d.option(a), d._init(c)) : b.data(this, "isotope", new b.Isotope(a, this, c))
705        });
706        return this
707    }
708})(window, jQuery);
709
710/***************************************************
711	  ISOTOPE (FILTER NAVIGATION AND MASONRY)
712***************************************************/
713(function($){		  
714 window.onload=function(){ 
715	if ($("#thumbs").length > 0){
716		var $container = $('#thumbs');
717		  $container.isotope({
718			itemSelector : '.item',
719			//filter: '.video', //check the source to see the class name of filter
720			animationEngine : 'jquery',
721			animationOptions: {
722				duration: 250,
723				easing: 'linear',
724				queue: false
725			}
726		  });
727
728		  
729		  
730		 
731		$(window).resize(function() {
732			var $container = $('#thumbs');
733				$container.isotope({
734					itemSelector : '.item',
735					//filter: '.video', //check the source to see the class name of filter
736					animationEngine : 'jquery',
737					animationOptions: {
738						duration: 250,
739						easing: 'linear',
740						queue: false
741					}
742			});
743		});
744	
745	  	
746		// filter items when filter link is clicked
747		$('#portfolio-nav a').click(function(){
748			  var selector = $(this).attr('data-filter');
749			  $container.isotope({ filter: selector });
750			  
751			  $("#portfolio-nav li").removeClass("current");
752			  $(this).closest("li").addClass("current");
753			  
754			  return false;
755		});
756		
757		var height = "";
758		var img_height = "";
759		$(".fixed_height").each(function(){
760			height = $(this).css("height");
761			height = parseInt(height);
762			item_info_height = $(this).find(".item-info").outerHeight();
763			item_info_height = parseInt(item_info_height);
764			fixed_container_height = height - item_info_height;
765			$(this).find("img").wrap("<div class='fixed_container' style='height:" + fixed_container_height + "px; overflow: hidden' />")
766			img_height = $(this).find("img").height();
767			img_height = parseInt(img_height);
768			if (img_height > height + 2) {
769				var margin_top = parseInt((img_height - height) / 2 )
770				$(this).find("img").css("margin-top", -margin_top + "px")
771			}
772			
773		})
774	}
775	
776/***************************************************
777	  ADD MASK LAYER
778***************************************************/	
779	var $item_mask = jQuery("<div />", {"class": "item-mask"});
780	jQuery("ul.shaped .item-container, ul.comment-list .avatar").append($item_mask)
781	
782
783/***************************************************
784	    PORTFOLIO ITEM IMAGE HOVER
785***************************************************/
786jQuery(".portfolio-grid ul li .item-info-overlay").hide();
787	
788	if( is_touch_device() ){
789		jQuery(".portfolio-grid ul li").click(function(){
790												  
791			var count_before = jQuery(this).closest("li").prevAll("li").length;
792			
793			var this_opacity = jQuery(this).find(".item-info-overlay").css("opacity");
794			var this_display = jQuery(this).find(".item-info-overlay").css("display");
795			
796			
797			if ((this_opacity == 0) || (this_display == "none")) {
798				jQuery(this).find(".item-info-overlay").fadeTo(250, 1);
799			} else {
800				jQuery(this).find(".item-info-overlay").fadeTo(250, 0);
801			}
802			
803			jQuery(this).closest("ul").find("li:lt(" + count_before + ") .item-info-overlay").fadeTo(250, 0);
804			jQuery(this).closest("ul").find("li:gt(" + count_before + ") .item-info-overlay").fadeTo(250, 0);	
805
806		});	
807
808	}
809	else{	
810			jQuery(".portfolio-grid ul li").hover(function(){
811				jQuery(this).find(".item-info-overlay").fadeTo(250, 1);
812				}, function() {
813					jQuery(this).find(".item-info-overlay").fadeTo(250, 0);		
814			});
815		
816		}
817		
818/***************************************************
819	  DUPLICATE H3 & H4 IN PORTFOLIO
820***************************************************/					  
821	jQuery(".item-info:not(.no_hover)").each(function(i){
822		jQuery(this).next().prepend(jQuery(this).html())
823	});
824	
825	
826 }
827 })(jQuery);

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.