;(function ( $, window, document, undefined ) { // Create the defaults var pluginName = "Masonry", defaults = { desktop : [ [[0,0],[2,2]], [[0,2],[2,2]], [[0,4],[2,4]], [[2,0],[2,2]], [[2,2],[2,2]], [[4,2],[4,4]], [[8,0],[3,3]], [[8,3],[3,3]], [[11,0],[2,4]], [[11,2],[2,2]], [[13,2],[2,2]], [[11,4],[2,4]] ], smartphone : [ [[0,0],[6,6]], [[6,0],[6,6]], [[12,0],[6,12]], [[24,0],[6,6]], [[30,0],[6,6]], [[36,0],[6,6]], [[36,0],[6,6]], [[42,0],[6,6]], [[48,0],[6,6]], [[54,0],[6,6]], [[60,0],[6,6]], [[66,0],[6,6]] ], tablet : [ [[0,0],[3,3]], [[0,3],[3,3]], [[3,0],[6,4]], [[7,0],[3,3]], [[7,3],[3,3]], [[16,0],[6,5]], [[21,0],[3,3]], [[21,3],[3,3]], [[24,0],[6,5]], [[29,0],[3,3]], [[29,3],[3,3]] ], start: function() {}, stop: function() {}, }; function Plugin ( element, options ) { this.element = element; this.settings = $.extend( {}, defaults, options ); this._defaults = defaults; this._name = pluginName; this.init(); } Plugin.prototype = { init: function () { // Detect device width set layout. var buildMasonry = function (obj) { obj.settings['start'].call(this); var full_width = $(obj.element).width()-0; var layout = obj.settings['desktop'] if ( full_width <= 1023 ) { var layout = obj._defaults['tablet'] } if ( full_width <= 480 ) { var layout = obj._defaults['smartphone'] } var nodes = obj.element.children; var base_width = Math.round(full_width/6); var base_height = Math.round((base_width/5)*3); var gutter = parseInt('0'); for(i=0; i