{"version":3,"sources":["EncompassWebServices/Controls/Gridster.js"],"names":["t","i","define","amd","GridsterCoords","$","jQuery","this","isPlainObject","data","el","isCoords","coords","init","e","prototype","set","original_coords","get","offset","width","height","s","top","left","r","x1","y1","x2","y2","cx","cy","update","extend","destroy","removeData","fn","arguments","GridsterCollision","options","$element","last_colliders","last_colliders_coords","set_colliders","colliders_context","document","body","overlapping_region","defaults","find_collisions","overlaps","detect_overlapping_region","calculate_overlapped_area_coords","Math","max","o","min","a","calculate_overlapped_area","manage_colliders_start_stop","length","inArray","call","n","h","colliders","$colliders","_","d","l","c","p","g","u","f","area","area_coords","region","player_coords","on_overlap","push","on_overlap_stop","on_overlap_start","get_closest_colliders","sort","not","collision","delay","Array","slice","setTimeout","apply","debounce","clearTimeout","throttle","window","GridsterDraggable","$document","$container","$dragitems","items","is_dragging","player_min_left","offset_left","id","ns","distance","limit","autoscroll","ignore_dragging","handle","container_width","move_element","helper","remove_helper","x","y","charAt","toUpperCase","css","calculate_dimensions","disabled","events","bind","nsEvent","proxy","pointer_events","start","move","end","on","on_select_start","drag_handler","off","drag_start","on_dragstop","get_actual_pos","position","get_mouse_pos","originalEvent","touches","changedTouches","clientX","clientY","get_offset","preventDefault","round","mouse_init_pos","el_init_offset","baseX","scrollLeft","win_offset_x","baseY","scrollTop","win_offset_y","player_max_left","pointer","diff_left","diff_top","get_drag_data","$player","$helper","set_limits","player_width","scroll_in","window_width","window_height","w","m","v","manage_scroll","target","nodeName","which","ignore_drag","currentTarget","el_init_pos","offsetY","abs","on_dragstart","on_dragmove","initial_container_width","clone","appendTo","addClass","scroll_offset_y","scroll_offset_x","player_height","last_position","prev_position","drag","stop","remove","enable","disable","is","isFunction","join","Gridster","$el","$wrapper","parent","$widgets","children","widget_selector","widgets","$changed","wrapper_width","min_widget_width","widget_margins","widget_base_dimensions","min_widget_height","generated_stylesheets","$style_tags","auto_init","namespace","extra_rows","extra_cols","min_cols","max_cols","min_rows","max_size_x","autogrow_cols","autogenerate_stylesheet","avoid_overlapped_widgets","serialize_params","col","row","size_x","size_y","draggable","resize","enabled","axes","handle_append_to","handle_class","max_size","min_size","sort_by_row_asc","grid","sort_by_row_and_col_asc","sort_by_col_asc","sort_by_row_desc","setup_resize","generate_grid_and_stylesheet","get_widgets_from_DOM","set_dom_grid_height","set_dom_grid_width","resizable","recalculate_faux_grid","find","removeClass","drag_api","disable_resize","resize_api","enable_resize","add_widget","next_position","empty_cells","attr","data-col","data-row","data-sizex","data-sizey","hide","add","register_widget","add_faux_rows","set_widget_max_size","set_widget_min_size","cols","fadeIn","eq","min_size_x","min_size_y","max_size_y","add_resize_handle","resize_handle_tpl","resize_widget","add_faux_cols","mutate_widget_in_gridmap","get_cells_occupied","each","rows","remove_from_gridmap","add_to_gridmap","remove_empty_cells","move_widget_up","widgets_below","move_widget_down","gridmap","can_move_to","remove_widget","cells_occupied_by_placeholder","fadeOut","remove_all_widgets","serialize","map","serialize_changed","dom_to_coords","parseInt","can_go_widget_up","trigger","update_widget_position","for_each_cell_occupied","offset_top","filter","on_start_drag","on_stop_drag","on_drag","on_start_resize","on_stop_resize","on_resize","resize_handle_class","replace","isArray","highest_col","get_highest_occupied_cell","player_grid_data","placeholder_grid_data","faux_grid","cells_occupied_by_player","last_cols","last_rows","collision_api","$preview_holder","tagName","class","colliders_data","on_overlapped_column_change","on_start_overlapping_column","on_stop_overlapping_column","on_overlapped_row_change","on_start_overlapping_row","on_stop_overlapping_row","set_cells_player_occupies","$resized_widget","closest","resize_coords","resize_wgd","resize_initial_width","resize_initial_height","resize_initial_sizex","resize_initial_sizey","resize_initial_col","resize_last_sizex","resize_last_sizey","resize_max_size_x","resize_max_size_y","resize_min_size_x","resize_min_size_y","resize_initial_last_col","resize_dir","right","bottom","min-width","min-height","$resize_preview_holder","ceil","z","min_width","min_height","get_targeted_columns","noop","get_targeted_rows","set_player","empty_cells_player_occupies","get_widgets_overlapped","widgets_constraints","manage_movements","can_go_up","can_not_go_up","can_go_player_up","set_placeholder","move_widget_to","is_player","is_player_in","is_placeholder_in","is_placeholder_in_col","is_empty","is_occupied","is_widget","is_widget_under_player","get_widgets_under_player","for_each_column_occupied","get_valid_rows","get_consecutive_numbers_index","reverse","for_each_widget_below","can_go_up_to_row","displacement_diff","for_each_row_occupied","_traversing_widgets","for_each/above","for_each/below","for_each_widget_above","get_widgets_from","container_height","generate_stylesheet","param","remove_style_tags","add_style_tag","createElement","getElementsByTagName","appendChild","setAttribute","styleSheet","cssText","createTextNode","generate_faux_grid","add_faux_cell","original_col","original_row","floor","unbind","gridster"],"mappings":"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","file":"Gridster.min.js","sourcesContent":["/*! gridster.js - v0.5.6 - 2014-09-25 - * http://gridster.net/ - Copyright (c) 2014 ducksboard; Licensed MIT */ (function(t,i){\"function\"==typeof define&&define.amd?define(\"gridster-coords\",[\"jquery\"],i):t.GridsterCoords=i(t.$||t.jQuery)})(this,function(t){function i(i){return i[0]&&t.isPlainObject(i[0])?this.data=i[0]:this.el=i,this.isCoords=!0,this.coords={},this.init(),this}var e=i.prototype;return e.init=function(){this.set(),this.original_coords=this.get()},e.set=function(t,i){var e=this.el;if(e&&!t&&(this.data=e.offset(),this.data.width=e.width(),this.data.height=e.height()),e&&t&&!i){var s=e.offset();this.data.top=s.top,this.data.left=s.left}var r=this.data;return r.left===void 0&&(r.left=r.x1),r.top===void 0&&(r.top=r.y1),this.coords.x1=r.left,this.coords.y1=r.top,this.coords.x2=r.left+r.width,this.coords.y2=r.top+r.height,this.coords.cx=r.left+r.width/2,this.coords.cy=r.top+r.height/2,this.coords.width=r.width,this.coords.height=r.height,this.coords.el=e||!1,this},e.update=function(i){if(!i&&!this.el)return this;if(i){var e=t.extend({},this.data,i);return this.data=e,this.set(!0,!0)}return this.set(!0),this},e.get=function(){return this.coords},e.destroy=function(){this.el.removeData(\"coords\"),delete this.el},t.fn.coords=function(){if(this.data(\"coords\"))return this.data(\"coords\");var t=new i(this,arguments[0]);return this.data(\"coords\",t),t},i}),function(t,i){\"function\"==typeof define&&define.amd?define(\"gridster-collision\",[\"jquery\",\"gridster-coords\"],i):t.GridsterCollision=i(t.$||t.jQuery,t.GridsterCoords)}(this,function(t){function i(i,s,r){this.options=t.extend(e,r),this.$element=i,this.last_colliders=[],this.last_colliders_coords=[],this.set_colliders(s),this.init()}var e={colliders_context:document.body,overlapping_region:\"C\"};i.defaults=e;var s=i.prototype;return s.init=function(){this.find_collisions()},s.overlaps=function(t,i){var e=!1,s=!1;return(i.x1>=t.x1&&i.x1<=t.x2||i.x2>=t.x1&&i.x2<=t.x2||t.x1>=i.x1&&t.x2<=i.x2)&&(e=!0),(i.y1>=t.y1&&i.y1<=t.y2||i.y2>=t.y1&&i.y2<=t.y2||t.y1>=i.y1&&t.y2<=i.y2)&&(s=!0),e&&s},s.detect_overlapping_region=function(t,i){var e=\"\",s=\"\";return t.y1>i.cy&&t.y1i.y1&&t.y2i.cx&&t.x1i.x1&&t.x2o;o++)-1===t.inArray(r[o],i)&&e.call(this,r[o]);for(var n=0,h=i.length;h>n;n++)-1===t.inArray(i[n],r)&&s.call(this,i[n])},s.find_collisions=function(i){for(var e=this,s=this.options.overlapping_region,r=[],o=[],a=this.colliders||this.$colliders,n=a.length,h=e.$element.coords().update(i||!1).get();n--;){var _=e.$colliders?t(a[n]):a[n],d=_.isCoords?_:_.coords(),l=d.get(),c=e.overlaps(h,l);if(c){var p=e.detect_overlapping_region(h,l);if(p===s||\"all\"===s){var g=e.calculate_overlapped_area_coords(h,l),u=e.calculate_overlapped_area(g),f={area:u,area_coords:g,region:p,coords:l,player_coords:h,el:_};e.options.on_overlap&&e.options.on_overlap.call(this,f),r.push(d),o.push(f)}}}return(e.options.on_overlap_stop||e.options.on_overlap_start)&&this.manage_colliders_start_stop(r,e.options.on_overlap_start,e.options.on_overlap_stop),this.last_colliders_coords=r,o},s.get_closest_colliders=function(t){var i=this.find_collisions(t);return i.sort(function(t,i){return\"C\"===t.region&&\"C\"===i.region?t.coords.y1this.player_max_left?o=this.player_max_left:this.player_min_left>o&&(o=this.player_min_left)),{position:{left:o,top:a},pointer:{left:e.left,top:e.top,diff_left:s+(t(window).scrollLeft()-this.win_offset_x),diff_top:r+(t(window).scrollTop()-this.win_offset_y)}}},_.get_drag_data=function(t){var i=this.get_offset(t);return i.$player=this.$player,i.$helper=this.helper?this.$helper:this.$player,i},_.set_limits=function(t){return t||(t=this.$container.width()),this.player_max_left=t-this.player_width+-this.options.offset_left,this.options.container_width=t,this},_.scroll_in=function(i,e){var o,n=r[i],h=50,_=30,d=\"x\"===i,l=d?this.window_width:this.window_height,c=d?t(document).width():t(document).height(),p=d?this.$player.width():this.$player.height(),g=s[\"scroll\"+a(n)](),u=g,f=u+l,w=f-h,m=u+h,y=u+e.pointer[n],v=c-l+p;return y>=w&&(o=g+_,v>o&&(s[\"scroll\"+a(n)](o),this[\"scroll_offset_\"+i]+=_)),m>=y&&(o=g-_,o>0&&(s[\"scroll\"+a(n)](o),this[\"scroll_offset_\"+i]-=_)),this},_.manage_scroll=function(t){this.scroll_in(\"x\",t),this.scroll_in(\"y\",t)},_.calculate_dimensions=function(){this.window_height=s.height(),this.window_width=s.width()},_.drag_handler=function(i){if(i.target.nodeName,!this.disabled&&(1===i.which||o)&&!this.ignore_drag(i)){var e=this,s=!0;return this.$player=t(i.currentTarget),this.el_init_pos=this.get_actual_pos(this.$player),this.mouse_init_pos=this.get_mouse_pos(i),this.offsetY=this.mouse_init_pos.top-this.el_init_pos.top,this.$document.on(this.pointer_events.move,function(t){var i=e.get_mouse_pos(t),r=Math.abs(i.left-e.mouse_init_pos.left),o=Math.abs(i.top-e.mouse_init_pos.top);return r>e.options.distance||o>e.options.distance?s?(s=!1,e.on_dragstart.call(e,t),!1):(e.is_dragging===!0&&e.on_dragmove.call(e,t),!1):!1}),o?void 0:!1}},_.on_dragstart=function(i){if(i.preventDefault(),this.is_dragging)return this;this.drag_start=this.is_dragging=!0;var e=this.$container.offset();return this.baseX=Math.round(e.left),this.baseY=Math.round(e.top),this.initial_container_width=this.options.container_width||this.$container.width(),\"clone\"===this.options.helper?(this.$helper=this.$player.clone().appendTo(this.$container).addClass(\"helper\"),this.helper=!0):this.helper=!1,this.win_offset_y=t(window).scrollTop(),this.win_offset_x=t(window).scrollLeft(),this.scroll_offset_y=0,this.scroll_offset_x=0,this.el_init_offset=this.$player.offset(),this.player_width=this.$player.width(),this.player_height=this.$player.height(),this.set_limits(this.options.container_width),this.options.start&&this.options.start.call(this.$player,i,this.get_drag_data(i)),!1},_.on_dragmove=function(t){var i=this.get_drag_data(t);this.options.autoscroll&&this.manage_scroll(i),this.options.move_element&&(this.helper?this.$helper:this.$player).css({position:\"absolute\",left:i.position.left,top:i.position.top});var e=this.last_position||i.position;return i.prev_position=e,this.options.drag&&this.options.drag.call(this.$player,t,i),this.last_position=i.position,!1},_.on_dragstop=function(t){var i=this.get_drag_data(t);return this.drag_start=!1,this.options.stop&&this.options.stop.call(this.$player,t,i),this.helper&&this.options.remove_helper&&this.$helper.remove(),!1},_.on_select_start=function(t){return this.disabled||this.ignore_drag(t)?void 0:!1},_.enable=function(){this.disabled=!1},_.disable=function(){this.disabled=!0},_.destroy=function(){this.disable(),this.$container.off(this.ns),this.$document.off(this.ns),t(window).off(this.ns),t.removeData(this.$container,\"drag\")},_.ignore_drag=function(i){return this.options.handle?!t(i.target).is(this.options.handle):t.isFunction(this.options.ignore_dragging)?this.options.ignore_dragging(i):t(i.target).is(this.options.ignore_dragging.join(\", \"))},t.fn.drag=function(t){return new i(this,t)},i}),function(t,i){\"function\"==typeof define&&define.amd?define([\"jquery\",\"gridster-draggable\",\"gridster-collision\"],i):t.Gridster=i(t.$||t.jQuery,t.GridsterDraggable,t.GridsterCollision)}(this,function(t,i){function e(i,e){this.options=t.extend(!0,{},s,e),this.$el=t(i),this.$wrapper=this.$el.parent(),this.$widgets=this.$el.children(this.options.widget_selector).addClass(\"gs-w\"),this.widgets=[],this.$changed=t([]),this.wrapper_width=this.$wrapper.width(),this.min_widget_width=2*this.options.widget_margins[0]+this.options.widget_base_dimensions[0],this.min_widget_height=2*this.options.widget_margins[1]+this.options.widget_base_dimensions[1],this.generated_stylesheets=[],this.$style_tags=t([]),this.options.auto_init&&this.init()}var s={namespace:\"\",widget_selector:\"li\",widget_margins:[10,10],widget_base_dimensions:[400,225],extra_rows:0,extra_cols:0,min_cols:1,max_cols:1/0,min_rows:15,max_size_x:!1,autogrow_cols:!1,autogenerate_stylesheet:!0,avoid_overlapped_widgets:!0,auto_init:!0,serialize_params:function(t,i){return{col:i.col,row:i.row,size_x:i.size_x,size_y:i.size_y}},collision:{},draggable:{items:\".gs-w\",distance:4,ignore_dragging:i.defaults.ignore_dragging.slice(0)},resize:{enabled:!1,axes:[\"both\"],handle_append_to:\"\",handle_class:\"gs-resize-handle\",max_size:[1/0,1/0],min_size:[1,1]}};e.defaults=s,e.generated_stylesheets=[],e.sort_by_row_asc=function(i){return i=i.sort(function(i,e){return i.row||(i=t(i).coords().grid,e=t(e).coords().grid),i.row>e.row?1:-1})},e.sort_by_row_and_col_asc=function(t){return t=t.sort(function(t,i){return t.row>i.row||t.row===i.row&&t.col>i.col?1:-1})},e.sort_by_col_asc=function(t){return t=t.sort(function(t,i){return t.col>i.col?1:-1})},e.sort_by_row_desc=function(t){return t=t.sort(function(t,i){return t.row+t.size_yn&&this.add_faux_rows(Math.max(e-n,0));var d=o+i-1;d>this.cols&&this.add_faux_cols(d-this.cols);var l={col:_,row:r.row,size_x:i,size_y:e};return this.mutate_widget_in_gridmap(t,r,l),this.set_dom_grid_height(),this.set_dom_grid_width(),s&&s.call(this,l.size_x,l.size_y),t},r.mutate_widget_in_gridmap=function(i,e,s){e.size_x;var r=e.size_y,o=this.get_cells_occupied(e),a=this.get_cells_occupied(s),n=[];t.each(o.cols,function(i,e){-1===t.inArray(e,a.cols)&&n.push(e)});var h=[];t.each(a.cols,function(i,e){-1===t.inArray(e,o.cols)&&h.push(e)});var _=[];t.each(o.rows,function(i,e){-1===t.inArray(e,a.rows)&&_.push(e)});var d=[];if(t.each(a.rows,function(i,e){-1===t.inArray(e,o.rows)&&d.push(e)}),this.remove_from_gridmap(e),h.length){var l=[s.col,s.row,s.size_x,Math.min(r,s.size_y),i];this.empty_cells.apply(this,l)}if(d.length){var c=[s.col,s.row,s.size_x,s.size_y,i];this.empty_cells.apply(this,c)}if(e.col=s.col,e.row=s.row,e.size_x=s.size_x,e.size_y=s.size_y,this.add_to_gridmap(s,i),i.removeClass(\"player-revert\"),i.data(\"coords\").update({width:s.size_x*this.options.widget_base_dimensions[0]+2*(s.size_x-1)*this.options.widget_margins[0],height:s.size_y*this.options.widget_base_dimensions[1]+2*(s.size_y-1)*this.options.widget_margins[1]}),i.attr({\"data-col\":s.col,\"data-row\":s.row,\"data-sizex\":s.size_x,\"data-sizey\":s.size_y}),n.length){var p=[n[0],s.row,n.length,Math.min(r,s.size_y),i];this.remove_empty_cells.apply(this,p)}if(_.length){var g=[s.col,s.row,s.size_x,s.size_y,i];this.remove_empty_cells.apply(this,g)}return this.move_widget_up(i),this},r.empty_cells=function(i,e,s,r,o){var a=this.widgets_below({col:i,row:e-r,size_x:s,size_y:r});return a.not(o).each(t.proxy(function(i,s){var o=t(s).coords().grid;if(e+r-1>=o.row){var a=e+r-o.row;this.move_widget_down(t(s),a)}},this)),this.set_dom_grid_height(),this},r.remove_empty_cells=function(i,e,s,r,o){var a=this.widgets_below({col:i,row:e,size_x:s,size_y:r});return a.not(o).each(t.proxy(function(i,e){this.move_widget_up(t(e),r)},this)),this.set_dom_grid_height(),this},r.next_position=function(t,i){t||(t=1),i||(i=1);for(var s,r=this.gridmap,o=r.length,a=[],n=1;o>n;n++){s=r[n].length;for(var h=1;s>=h;h++){var _=this.can_move_to({size_x:t,size_y:i},n,h);_&&a.push({col:n,row:h,size_y:i,size_x:t})}}return a.length?e.sort_by_row_and_col_asc(a)[0]:!1},r.remove_widget=function(i,e,s){var r=i instanceof t?i:t(i),o=r.coords().grid;t.isFunction(e)&&(s=e,e=!1),this.cells_occupied_by_placeholder={},this.$widgets=this.$widgets.not(r);var a=this.widgets_below(r);return this.remove_from_gridmap(o),r.fadeOut(t.proxy(function(){r.remove(),e||a.each(t.proxy(function(i,e){this.move_widget_up(t(e),o.size_y)},this)),this.set_dom_grid_height(),s&&s.call(this,i)},this)),this},r.remove_all_widgets=function(i){return this.$widgets.each(t.proxy(function(t,e){this.remove_widget(e,!0,i)},this)),this},r.serialize=function(i){return i||(i=this.$widgets),i.map(t.proxy(function(i,e){var s=t(e);return this.options.serialize_params(s,s.coords().grid)},this)).get()},r.serialize_changed=function(){return this.serialize(this.$changed)},r.dom_to_coords=function(t){return{col:parseInt(t.attr(\"data-col\"),10),row:parseInt(t.attr(\"data-row\"),10),size_x:parseInt(t.attr(\"data-sizex\"),10)||1,size_y:parseInt(t.attr(\"data-sizey\"),10)||1,max_size_x:parseInt(t.attr(\"data-max-sizex\"),10)||!1,max_size_y:parseInt(t.attr(\"data-max-sizey\"),10)||!1,min_size_x:parseInt(t.attr(\"data-min-sizex\"),10)||!1,min_size_y:parseInt(t.attr(\"data-min-sizey\"),10)||!1,el:t}},r.register_widget=function(i){var e=i instanceof jQuery,s=e?this.dom_to_coords(i):i,r=!1;e||(i=s.el);var o=this.can_go_widget_up(s);return o&&(s.row=o,i.attr(\"data-row\",o),this.$el.trigger(\"gridster:positionchanged\",[s]),r=!0),this.options.avoid_overlapped_widgets&&!this.can_move_to({size_x:s.size_x,size_y:s.size_y},s.col,s.row)&&(t.extend(s,this.next_position(s.size_x,s.size_y)),i.attr({\"data-col\":s.col,\"data-row\":s.row,\"data-sizex\":s.size_x,\"data-sizey\":s.size_y}),r=!0),i.data(\"coords\",i.coords()),i.data(\"coords\").grid=s,this.add_to_gridmap(s,i),this.options.resize.enabled&&this.add_resize_handle(i),r},r.update_widget_position=function(t,i){return this.for_each_cell_occupied(t,function(t,e){return this.gridmap[t]?(this.gridmap[t][e]=i,void 0):this}),this},r.remove_from_gridmap=function(t){return this.update_widget_position(t,!1)},r.add_to_gridmap=function(i,e){if(this.update_widget_position(i,e||i.el),i.el){var s=this.widgets_below(i.el);s.each(t.proxy(function(i,e){this.move_widget_up(t(e))},this))}},r.draggable=function(){var i=this,e=t.extend(!0,{},this.options.draggable,{offset_left:this.options.widget_margins[0],offset_top:this.options.widget_margins[1],container_width:this.cols*this.min_widget_width,limit:!0,start:function(e,s){i.$widgets.filter(\".player-revert\").removeClass(\"player-revert\"),i.$player=t(this),i.$helper=t(s.$helper),i.helper=!i.$helper.is(i.$player),i.on_start_drag.call(i,e,s),i.$el.trigger(\"gridster:dragstart\")},stop:function(t,e){i.on_stop_drag.call(i,t,e),i.$el.trigger(\"gridster:dragstop\")},drag:throttle(function(t,e){i.on_drag.call(i,t,e),i.$el.trigger(\"gridster:drag\")},60)});return this.drag_api=this.$el.drag(e),this},r.resizable=function(){return this.resize_api=this.$el.drag({items:\".\"+this.options.resize.handle_class,offset_left:this.options.widget_margins[0],container_width:this.container_width,move_element:!1,resize:!0,limit:this.options.autogrow_cols?!1:!0,start:t.proxy(this.on_start_resize,this),stop:t.proxy(function(i,e){delay(t.proxy(function(){this.on_stop_resize(i,e)},this),120)},this),drag:throttle(t.proxy(this.on_resize,this),60)}),this},r.setup_resize=function(){this.resize_handle_class=this.options.resize.handle_class;var i=this.options.resize.axes,e='';return this.resize_handle_tpl=t.map(i,function(t){return e.replace(\"{type}\",t)}).join(\"\"),t.isArray(this.options.draggable.ignore_dragging)&&this.options.draggable.ignore_dragging.push(\".\"+this.resize_handle_class),this},r.on_start_drag=function(i,e){this.$helper.add(this.$player).add(this.$wrapper).addClass(\"dragging\"),this.highest_col=this.get_highest_occupied_cell().col,this.$player.addClass(\"player\"),this.player_grid_data=this.$player.coords().grid,this.placeholder_grid_data=t.extend({},this.player_grid_data),this.set_dom_grid_height(this.$el.height()+this.player_grid_data.size_y*this.min_widget_height),this.set_dom_grid_width(this.cols);var s=this.player_grid_data.size_x,r=this.cols-this.highest_col;this.options.autogrow_cols&&s>=r&&this.add_faux_cols(Math.min(s-r,1));var o=this.faux_grid,a=this.$player.data(\"coords\").coords;this.cells_occupied_by_player=this.get_cells_occupied(this.player_grid_data),this.cells_occupied_by_placeholder=this.get_cells_occupied(this.placeholder_grid_data),this.last_cols=[],this.last_rows=[],this.collision_api=this.$helper.collision(o,this.options.collision),this.$preview_holder=t(\"<\"+this.$player.get(0).tagName+\" />\",{\"class\":\"preview-holder\",\"data-row\":this.$player.attr(\"data-row\"),\"data-col\":this.$player.attr(\"data-col\"),css:{width:a.width,height:a.height}}).appendTo(this.$el),this.options.draggable.start&&this.options.draggable.start.call(this,i,e)},r.on_drag=function(t,i){if(null===this.$player)return!1;var e={left:i.position.left+this.baseX,top:i.position.top+this.baseY};if(this.options.autogrow_cols){var s=this.placeholder_grid_data.col+this.placeholder_grid_data.size_x-1;s>=this.cols-1&&this.options.max_cols>=this.cols+1&&(this.add_faux_cols(1),this.set_dom_grid_width(this.cols+1),this.drag_api.set_limits(this.container_width)),this.collision_api.set_colliders(this.faux_grid)}this.colliders_data=this.collision_api.get_closest_colliders(e),this.on_overlapped_column_change(this.on_start_overlapping_column,this.on_stop_overlapping_column),this.on_overlapped_row_change(this.on_start_overlapping_row,this.on_stop_overlapping_row),this.helper&&this.$player&&this.$player.css({left:i.position.left,top:i.position.top}),this.options.draggable.drag&&this.options.draggable.drag.call(this,t,i)},r.on_stop_drag=function(t,i){this.$helper.add(this.$player).add(this.$wrapper).removeClass(\"dragging\"),i.position.left=i.position.left+this.baseX,i.position.top=i.position.top+this.baseY,this.colliders_data=this.collision_api.get_closest_colliders(i.position),this.on_overlapped_column_change(this.on_start_overlapping_column,this.on_stop_overlapping_column),this.on_overlapped_row_change(this.on_start_overlapping_row,this.on_stop_overlapping_row),this.$player.addClass(\"player-revert\").removeClass(\"player\").attr({\"data-col\":this.placeholder_grid_data.col,\"data-row\":this.placeholder_grid_data.row}).css({left:\"\",top:\"\"}),this.$changed=this.$changed.add(this.$player),this.cells_occupied_by_player=this.get_cells_occupied(this.placeholder_grid_data),this.set_cells_player_occupies(this.placeholder_grid_data.col,this.placeholder_grid_data.row),this.$player.coords().grid.row=this.placeholder_grid_data.row,this.$player.coords().grid.col=this.placeholder_grid_data.col,this.options.draggable.stop&&this.options.draggable.stop.call(this,t,i),this.$preview_holder.remove(),this.$player=null,this.$helper=null,this.placeholder_grid_data={},this.player_grid_data={},this.cells_occupied_by_placeholder={},this.cells_occupied_by_player={},this.set_dom_grid_height(),this.set_dom_grid_width(),this.options.autogrow_cols&&this.drag_api.set_limits(this.cols*this.min_widget_width)},r.on_start_resize=function(i,e){this.$resized_widget=e.$player.closest(\".gs-w\"),this.resize_coords=this.$resized_widget.coords(),this.resize_wgd=this.resize_coords.grid,this.resize_initial_width=this.resize_coords.coords.width,this.resize_initial_height=this.resize_coords.coords.height,this.resize_initial_sizex=this.resize_coords.grid.size_x,this.resize_initial_sizey=this.resize_coords.grid.size_y,this.resize_initial_col=this.resize_coords.grid.col,this.resize_last_sizex=this.resize_initial_sizex,this.resize_last_sizey=this.resize_initial_sizey,this.resize_max_size_x=Math.min(this.resize_wgd.max_size_x||this.options.resize.max_size[0],this.options.max_cols-this.resize_initial_col+1),this.resize_max_size_y=this.resize_wgd.max_size_y||this.options.resize.max_size[1],this.resize_min_size_x=this.resize_wgd.min_size_x||this.options.resize.min_size[0]||1,this.resize_min_size_y=this.resize_wgd.min_size_y||this.options.resize.min_size[1]||1,this.resize_initial_last_col=this.get_highest_occupied_cell().col,this.set_dom_grid_width(this.cols),this.resize_dir={right:e.$player.is(\".\"+this.resize_handle_class+\"-x\"),bottom:e.$player.is(\".\"+this.resize_handle_class+\"-y\")},this.$resized_widget.css({\"min-width\":this.options.widget_base_dimensions[0],\"min-height\":this.options.widget_base_dimensions[1]});var s=this.$resized_widget.get(0).tagName;this.$resize_preview_holder=t(\"<\"+s+\" />\",{\"class\":\"preview-holder resize-preview-holder\",\"data-row\":this.$resized_widget.attr(\"data-row\"),\"data-col\":this.$resized_widget.attr(\"data-col\"),css:{width:this.resize_initial_width,height:this.resize_initial_height}}).appendTo(this.$el),this.$resized_widget.addClass(\"resizing\"),this.options.resize.start&&this.options.resize.start.call(this,i,e,this.$resized_widget),this.$el.trigger(\"gridster:resizestart\")},r.on_stop_resize=function(i,e){this.$resized_widget.removeClass(\"resizing\").css({width:\"\",height:\"\"}),delay(t.proxy(function(){this.$resize_preview_holder.remove().css({\"min-width\":\"\",\"min-height\":\"\"}),this.options.resize.stop&&this.options.resize.stop.call(this,i,e,this.$resized_widget),this.$el.trigger(\"gridster:resizestop\")},this),300),this.set_dom_grid_width(),this.options.autogrow_cols&&this.drag_api.set_limits(this.cols*this.min_widget_width)},r.on_resize=function(t,i){var e,s=i.pointer.diff_left,r=i.pointer.diff_top,o=this.options.widget_base_dimensions[0],a=this.options.widget_base_dimensions[1],n=this.options.widget_margins[0],h=this.options.widget_margins[1],_=this.resize_max_size_x,d=this.resize_min_size_x,l=this.resize_max_size_y,c=this.resize_min_size_y,p=this.options.autogrow_cols,g=1/0,u=1/0,f=Math.ceil(s/(o+2*n)-.2),w=Math.ceil(r/(a+2*h)-.2),m=Math.max(1,this.resize_initial_sizex+f),y=Math.max(1,this.resize_initial_sizey+w),v=this.container_width/this.min_widget_width-this.resize_initial_col+1,z=v*this.min_widget_width-2*n;if(m=Math.max(Math.min(m,_),d),m=Math.min(v,m),e=_*o+2*(m-1)*n,g=Math.min(e,z),min_width=d*o+2*(m-1)*n,y=Math.max(Math.min(y,l),c),u=l*a+2*(y-1)*h,min_height=c*a+2*(y-1)*h,this.resize_dir.right?y=this.resize_initial_sizey:this.resize_dir.bottom&&(m=this.resize_initial_sizex),p){var x=this.resize_initial_col+m-1;p&&x>=this.resize_initial_last_col&&(this.set_dom_grid_width(Math.max(x+1,this.cols)),x>this.cols&&this.add_faux_cols(x-this.cols))}var $={};!this.resize_dir.bottom&&($.width=Math.max(Math.min(this.resize_initial_width+s,g),min_width)),!this.resize_dir.right&&($.height=Math.max(Math.min(this.resize_initial_height+r,u),min_height)),this.$resized_widget.css($),(m!==this.resize_last_sizex||y!==this.resize_last_sizey)&&(this.resize_widget(this.$resized_widget,m,y),this.set_dom_grid_width(this.cols),this.$resize_preview_holder.css({width:\"\",height:\"\"}).attr({\"data-row\":this.$resized_widget.attr(\"data-row\"),\"data-sizex\":m,\"data-sizey\":y})),this.options.resize.resize&&this.options.resize.resize.call(this,t,i,this.$resized_widget),this.$el.trigger(\"gridster:resize\"),this.resize_last_sizex=m,this.resize_last_sizey=y},r.on_overlapped_column_change=function(i,e){if(!this.colliders_data.length)return this;var s,r=this.get_targeted_columns(this.colliders_data[0].el.data.col),o=this.last_cols.length,a=r.length;for(s=0;a>s;s++)-1===t.inArray(r[s],this.last_cols)&&(i||t.noop).call(this,r[s]);for(s=0;o>s;s++)-1===t.inArray(this.last_cols[s],r)&&(e||t.noop).call(this,this.last_cols[s]);return this.last_cols=r,this},r.on_overlapped_row_change=function(i,e){if(!this.colliders_data.length)return this;var s,r=this.get_targeted_rows(this.colliders_data[0].el.data.row),o=this.last_rows.length,a=r.length;for(s=0;a>s;s++)-1===t.inArray(r[s],this.last_rows)&&(i||t.noop).call(this,r[s]);for(s=0;o>s;s++)-1===t.inArray(this.last_rows[s],r)&&(e||t.noop).call(this,this.last_rows[s]);this.last_rows=r},r.set_player=function(t,i,e){var s=this;e||this.empty_cells_player_occupies();var r=e?{col:t}:s.colliders_data[0].el.data,o=r.col,a=i||r.row;this.player_grid_data={col:o,row:a,size_y:this.player_grid_data.size_y,size_x:this.player_grid_data.size_x},this.cells_occupied_by_player=this.get_cells_occupied(this.player_grid_data);var n=this.get_widgets_overlapped(this.player_grid_data),h=this.widgets_constraints(n);if(this.manage_movements(h.can_go_up,o,a),this.manage_movements(h.can_not_go_up,o,a),!n.length){var _=this.can_go_player_up(this.player_grid_data);_!==!1&&(a=_),this.set_placeholder(o,a)}return{col:o,row:a}},r.widgets_constraints=function(i){var s,r=t([]),o=[],a=[];return i.each(t.proxy(function(i,e){var s=t(e),n=s.coords().grid;this.can_go_widget_up(n)?(r=r.add(s),o.push(n)):a.push(n)},this)),s=i.not(r),{can_go_up:e.sort_by_row_asc(o),can_not_go_up:e.sort_by_row_desc(a)}},r.manage_movements=function(i,e,s){return t.each(i,t.proxy(function(t,i){var r=i,o=r.el,a=this.can_go_widget_up(r);if(a)this.move_widget_to(o,a),this.set_placeholder(e,a+r.size_y);else{var n=this.can_go_player_up(this.player_grid_data);if(!n){var h=s+this.player_grid_data.size_y-r.row;this.move_widget_down(o,h),this.set_placeholder(e,s)}}},this)),this},r.is_player=function(t,i){if(i&&!this.gridmap[t])return!1;var e=i?this.gridmap[t][i]:t;return e&&(e.is(this.$player)||e.is(this.$helper))},r.is_player_in=function(i,e){var s=this.cells_occupied_by_player||{};return t.inArray(i,s.cols)>=0&&t.inArray(e,s.rows)>=0},r.is_placeholder_in=function(i,e){var s=this.cells_occupied_by_placeholder||{};return this.is_placeholder_in_col(i)&&t.inArray(e,s.rows)>=0},r.is_placeholder_in_col=function(i){var e=this.cells_occupied_by_placeholder||[];return t.inArray(i,e.cols)>=0},r.is_empty=function(t,i){return this.gridmap[t]!==void 0?this.gridmap[t][i]!==void 0&&this.gridmap[t][i]===!1?!0:!1:!0},r.is_occupied=function(t,i){return this.gridmap[t]?this.gridmap[t][i]?!0:!1:!1},r.is_widget=function(t,i){var e=this.gridmap[t];return e?(e=e[i],e?e:!1):!1},r.is_widget_under_player=function(t,i){return this.is_widget(t,i)?this.is_player_in(t,i):!1},r.get_widgets_under_player=function(i){i||(i=this.cells_occupied_by_player||{cols:[],rows:[]});var e=t([]);return t.each(i.cols,t.proxy(function(s,r){t.each(i.rows,t.proxy(function(t,i){this.is_widget(r,i)&&(e=e.add(this.gridmap[r][i]))},this))},this)),e},r.set_placeholder=function(i,e){var s=t.extend({},this.placeholder_grid_data),r=this.widgets_below({col:s.col,row:s.row,size_y:s.size_y,size_x:s.size_x}),o=i+s.size_x-1;o>this.cols&&(i-=o-i);var a=e>this.placeholder_grid_data.row,n=this.placeholder_grid_data.col!==i;this.placeholder_grid_data.col=i,this.placeholder_grid_data.row=e,this.cells_occupied_by_placeholder=this.get_cells_occupied(this.placeholder_grid_data),this.$preview_holder.attr({\"data-row\":e,\"data-col\":i}),(a||n)&&r.each(t.proxy(function(e,r){this.move_widget_up(t(r),this.placeholder_grid_data.col-i+s.size_y)},this));var h=this.get_widgets_under_player(this.cells_occupied_by_placeholder);h.length&&h.each(t.proxy(function(i,r){var o=t(r);this.move_widget_down(o,e+s.size_y-o.data(\"coords\").grid.row)},this))},r.can_go_player_up=function(t){var i=t.row+t.size_y-1,e=!0,s=[],r=1e4,o=this.get_widgets_under_player();return this.for_each_column_occupied(t,function(t){var a=this.gridmap[t],n=i+1;for(s[t]=[];--n>0&&(this.is_empty(t,n)||this.is_player(t,n)||this.is_widget(t,n)&&a[n].is(o));)s[t].push(n),r=r>n?n:r;return 0===s[t].length?(e=!1,!0):(s[t].sort(function(t,i){return t-i\n}),void 0)}),e?this.get_valid_rows(t,s,r):!1},r.can_go_widget_up=function(t){var i=t.row+t.size_y-1,e=!0,s=[],r=1e4;return this.for_each_column_occupied(t,function(o){var a=this.gridmap[o];s[o]=[];for(var n=i+1;--n>0&&(!this.is_widget(o,n)||this.is_player_in(o,n)||a[n].is(t.el));)this.is_player(o,n)||this.is_placeholder_in(o,n)||this.is_player_in(o,n)||s[o].push(n),r>n&&(r=n);return 0===s[o].length?(e=!1,!0):(s[o].sort(function(t,i){return t-i}),void 0)}),e?this.get_valid_rows(t,s,r):!1},r.get_valid_rows=function(i,e,s){for(var r=i.row,o=i.row+i.size_y-1,a=i.size_y,n=s-1,h=[];o>=++n;){var _=!0;if(t.each(e,function(i,e){t.isArray(e)&&-1===t.inArray(n,e)&&(_=!1)}),_===!0&&(h.push(n),h.length===a))break}var d=!1;return 1===a?h[0]!==r&&(d=h[0]||!1):h[0]!==r&&(d=this.get_consecutive_numbers_index(h,a)),d},r.get_consecutive_numbers_index=function(t,i){for(var e=t.length,s=[],r=!0,o=-1,a=0;e>a;a++){if(r||t[a]===o+1){if(s.push(a),s.length===i)break;r=!1}else s=[],r=!0;o=t[a]}return s.length>=i?t[s[0]]:!1},r.get_widgets_overlapped=function(){var i=t([]),e=[],s=this.cells_occupied_by_player.rows.slice(0);return s.reverse(),t.each(this.cells_occupied_by_player.cols,t.proxy(function(r,o){t.each(s,t.proxy(function(s,r){if(!this.gridmap[o])return!0;var a=this.gridmap[o][r];this.is_occupied(o,r)&&!this.is_player(a)&&-1===t.inArray(a,e)&&(i=i.add(a),e.push(a))},this))},this)),i},r.on_start_overlapping_column=function(t){this.set_player(t,!1)},r.on_start_overlapping_row=function(t){this.set_player(!1,t)},r.on_stop_overlapping_column=function(t){this.set_player(t,!1);var i=this;this.for_each_widget_below(t,this.cells_occupied_by_player.rows[0],function(){i.move_widget_up(this,i.player_grid_data.size_y)})},r.on_stop_overlapping_row=function(t){this.set_player(!1,t);for(var i=this,e=this.cells_occupied_by_player.cols,s=0,r=e.length;r>s;s++)this.for_each_widget_below(e[s],t,function(){i.move_widget_up(this,i.player_grid_data.size_y)})},r.move_widget_to=function(i,e){var s=this,r=i.coords().grid;e-r.row;var o=this.widgets_below(i),a=this.can_move_to(r,r.col,e,i);return a===!1?!1:(this.remove_from_gridmap(r),r.row=e,this.add_to_gridmap(r),i.attr(\"data-row\",e),this.$changed=this.$changed.add(i),o.each(function(i,e){var r=t(e),o=r.coords().grid,a=s.can_go_widget_up(o);a&&a!==o.row&&s.move_widget_to(r,a)}),this)},r.move_widget_up=function(i,e){var s=i.coords().grid,r=s.row,o=[];return e||(e=1),this.can_go_up(i)?(this.for_each_column_occupied(s,function(s){if(-1===t.inArray(i,o)){var a=i.coords().grid,n=r-e;if(n=this.can_go_up_to_row(a,s,n),!n)return!0;var h=this.widgets_below(i);this.remove_from_gridmap(a),a.row=n,this.add_to_gridmap(a),i.attr(\"data-row\",a.row),this.$changed=this.$changed.add(i),o.push(i),h.each(t.proxy(function(i,s){this.move_widget_up(t(s),e)},this))}}),void 0):!1},r.move_widget_down=function(i,e){var s,r,o,a;if(0>=e)return!1;if(s=i.coords().grid,r=s.row,o=[],a=e,!i)return!1;if(-1===t.inArray(i,o)){var n=i.coords().grid,h=r+e,_=this.widgets_below(i);this.remove_from_gridmap(n),_.each(t.proxy(function(i,e){var s=t(e),r=s.coords().grid,o=this.displacement_diff(r,n,a);o>0&&this.move_widget_down(s,o)},this)),n.row=h,this.update_widget_position(n,i),i.attr(\"data-row\",n.row),this.$changed=this.$changed.add(i),o.push(i)}},r.can_go_up_to_row=function(i,e,s){var r,o=this.gridmap,a=!0,n=[],h=i.row;if(this.for_each_column_occupied(i,function(t){for(o[t],n[t]=[],r=h;r--&&this.is_empty(t,r)&&!this.is_placeholder_in(t,r);)n[t].push(r);return n[t].length?void 0:(a=!1,!0)}),!a)return!1;for(r=s,r=1;h>r;r++){for(var _=!0,d=0,l=n.length;l>d;d++)n[d]&&-1===t.inArray(r,n[d])&&(_=!1);if(_===!0){a=r;break}}return a},r.displacement_diff=function(t,i,e){var s=t.row,r=[],o=i.row+i.size_y;this.for_each_column_occupied(t,function(t){for(var i=0,e=o;s>e;e++)this.is_empty(t,e)&&(i+=1);r.push(i)});var a=Math.max.apply(Math,r);return e-=a,e>0?e:0},r.widgets_below=function(i){var s=t.isPlainObject(i)?i:i.coords().grid,r=this;this.gridmap;var o=s.row+s.size_y-1,a=t([]);return this.for_each_column_occupied(s,function(i){r.for_each_widget_below(i,o,function(){return r.is_player(this)||-1!==t.inArray(this,a)?void 0:(a=a.add(this),!0)})}),e.sort_by_row_asc(a)},r.set_cells_player_occupies=function(t,i){return this.remove_from_gridmap(this.placeholder_grid_data),this.placeholder_grid_data.col=t,this.placeholder_grid_data.row=i,this.add_to_gridmap(this.placeholder_grid_data,this.$player),this},r.empty_cells_player_occupies=function(){return this.remove_from_gridmap(this.placeholder_grid_data),this},r.can_go_up=function(t){var i=t.coords().grid,e=i.row,s=e-1;this.gridmap;var r=!0;return 1===e?!1:(this.for_each_column_occupied(i,function(t){return this.is_widget(t,s),this.is_occupied(t,s)||this.is_player(t,s)||this.is_placeholder_in(t,s)||this.is_player_in(t,s)?(r=!1,!0):void 0}),r)},r.can_move_to=function(t,i,e,s){this.gridmap;var r=t.el,o={size_y:t.size_y,size_x:t.size_x,col:i,row:e},a=!0,n=i+t.size_x-1;return n>this.cols?!1:s&&e+t.size_y-1>s?!1:(this.for_each_cell_occupied(o,function(i,e){var s=this.is_widget(i,e);!s||t.el&&!s.is(r)||(a=!1)}),a)},r.get_targeted_columns=function(t){for(var i=(t||this.player_grid_data.col)+(this.player_grid_data.size_x-1),e=[],s=t;i>=s;s++)e.push(s);return e},r.get_targeted_rows=function(t){for(var i=(t||this.player_grid_data.row)+(this.player_grid_data.size_y-1),e=[],s=t;i>=s;s++)e.push(s);return e},r.get_cells_occupied=function(i){var e,s={cols:[],rows:[]};for(arguments[1]instanceof t&&(i=arguments[1].coords().grid),e=0;i.size_x>e;e++){var r=i.col+e;s.cols.push(r)}for(e=0;i.size_y>e;e++){var o=i.row+e;s.rows.push(o)}return s},r.for_each_cell_occupied=function(t,i){return this.for_each_column_occupied(t,function(e){this.for_each_row_occupied(t,function(t){i.call(this,e,t)})}),this},r.for_each_column_occupied=function(t,i){for(var e=0;t.size_x>e;e++){var s=t.col+e;i.call(this,s,t)}},r.for_each_row_occupied=function(t,i){for(var e=0;t.size_y>e;e++){var s=t.row+e;i.call(this,s,t)}},r._traversing_widgets=function(i,e,s,r,o){var a=this.gridmap;if(a[s]){var n,h,_=i+\"/\"+e;if(arguments[2]instanceof t){var d=arguments[2].coords().grid;s=d.col,r=d.row,o=arguments[3]}var l=[],c=r,p={\"for_each/above\":function(){for(;c--&&!(c>0&&this.is_widget(s,c)&&-1===t.inArray(a[s][c],l)&&(n=o.call(a[s][c],s,c),l.push(a[s][c]),n)););},\"for_each/below\":function(){for(c=r+1,h=a[s].length;h>c&&(!this.is_widget(s,c)||-1!==t.inArray(a[s][c],l)||(n=o.call(a[s][c],s,c),l.push(a[s][c]),!n));c++);}};p[_]&&p[_].call(this)}},r.for_each_widget_above=function(t,i,e){return this._traversing_widgets(\"for_each\",\"above\",t,i,e),this},r.for_each_widget_below=function(t,i,e){return this._traversing_widgets(\"for_each\",\"below\",t,i,e),this},r.get_highest_occupied_cell=function(){for(var t,i=this.gridmap,e=i[1].length,s=[],r=[],o=i.length-1;o>=1;o--)for(t=e-1;t>=1;t--)if(this.is_widget(o,t)){s.push(t),r.push(o);break}return{col:Math.max.apply(Math,r),row:Math.max.apply(Math,s)}},r.get_widgets_from=function(i,e){this.gridmap;var s=t();return i&&(s=s.add(this.$widgets.filter(function(){var e=t(this).attr(\"data-col\");return e===i||e>i}))),e&&(s=s.add(this.$widgets.filter(function(){var i=t(this).attr(\"data-row\");return i===e||i>e}))),s},r.set_dom_grid_height=function(t){if(t===void 0){var i=this.get_highest_occupied_cell().row;t=i*this.min_widget_height}return this.container_height=t,this.$el.css(\"height\",this.container_height),this},r.set_dom_grid_width=function(t){t===void 0&&(t=this.get_highest_occupied_cell().col);var i=this.options.autogrow_cols?this.options.max_cols:this.cols;return t=Math.min(i,Math.max(t,this.options.min_cols)),this.container_width=t*this.min_widget_width,this.$el.css(\"width\",this.container_width),this},r.generate_stylesheet=function(i){var s,r=\"\",o=this.options.max_size_x||this.cols;i||(i={}),i.cols||(i.cols=this.cols),i.rows||(i.rows=this.rows),i.namespace||(i.namespace=this.options.namespace),i.widget_base_dimensions||(i.widget_base_dimensions=this.options.widget_base_dimensions),i.widget_margins||(i.widget_margins=this.options.widget_margins),i.min_widget_width=2*i.widget_margins[0]+i.widget_base_dimensions[0],i.min_widget_height=2*i.widget_margins[1]+i.widget_base_dimensions[1];var a=t.param(i);if(t.inArray(a,e.generated_stylesheets)>=0)return!1;for(this.generated_stylesheets.push(a),e.generated_stylesheets.push(a),s=i.cols;s>=0;s--)r+=i.namespace+' [data-col=\"'+(s+1)+'\"] { left:'+(s*i.widget_base_dimensions[0]+s*i.widget_margins[0]+(s+1)*i.widget_margins[0])+\"px; }\\n\";for(s=i.rows;s>=0;s--)r+=i.namespace+' [data-row=\"'+(s+1)+'\"] { top:'+(s*i.widget_base_dimensions[1]+s*i.widget_margins[1]+(s+1)*i.widget_margins[1])+\"px; }\\n\";for(var n=1;i.rows>=n;n++)r+=i.namespace+' [data-sizey=\"'+n+'\"] { height:'+(n*i.widget_base_dimensions[1]+(n-1)*2*i.widget_margins[1])+\"px; }\\n\";for(var h=1;o>=h;h++)r+=i.namespace+' [data-sizex=\"'+h+'\"] { width:'+(h*i.widget_base_dimensions[0]+(h-1)*2*i.widget_margins[0])+\"px; }\\n\";return this.remove_style_tags(),this.add_style_tag(r)},r.add_style_tag=function(t){var i=document,e=i.createElement(\"style\");return i.getElementsByTagName(\"head\")[0].appendChild(e),e.setAttribute(\"type\",\"text/css\"),e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t)),this.$style_tags=this.$style_tags.add(e),this},r.remove_style_tags=function(){var i=e.generated_stylesheets,s=this.generated_stylesheets;this.$style_tags.remove(),e.generated_stylesheets=t.map(i,function(i){return-1===t.inArray(i,s)?i:void 0})},r.generate_faux_grid=function(t,i){this.faux_grid=[],this.gridmap=[];var e,s;for(e=i;e>0;e--)for(this.gridmap[e]=[],s=t;s>0;s--)this.add_faux_cell(s,e);return this},r.add_faux_cell=function(i,e){var s=t({left:this.baseX+(e-1)*this.min_widget_width,top:this.baseY+(i-1)*this.min_widget_height,width:this.min_widget_width,height:this.min_widget_height,col:e,row:i,original_col:e,original_row:i}).coords();return t.isArray(this.gridmap[e])||(this.gridmap[e]=[]),this.gridmap[e][i]=!1,this.faux_grid.push(s),this},r.add_faux_rows=function(t){for(var i=this.rows,e=i+(t||1),s=e;s>i;s--)for(var r=this.cols;r>=1;r--)this.add_faux_cell(s,r);return this.rows=e,this.options.autogenerate_stylesheet&&this.generate_stylesheet(),this},r.add_faux_cols=function(t){var i=this.cols,e=i+(t||1);e=Math.min(e,this.options.max_cols);for(var s=i+1;e>=s;s++)for(var r=this.rows;r>=1;r--)this.add_faux_cell(r,s);return this.cols=e,this.options.autogenerate_stylesheet&&this.generate_stylesheet(),this},r.recalculate_faux_grid=function(){var i=this.$wrapper.width();return this.baseX=(t(window).width()-i)/2,this.baseY=this.$wrapper.offset().top,t.each(this.faux_grid,t.proxy(function(t,i){this.faux_grid[t]=i.update({left:this.baseX+(i.data.col-1)*this.min_widget_width,top:this.baseY+(i.data.row-1)*this.min_widget_height})},this)),this},r.get_widgets_from_DOM=function(){var i=this.$widgets.map(t.proxy(function(i,e){var s=t(e);return this.dom_to_coords(s)},this));i=e.sort_by_row_and_col_asc(i);var s=t(i).map(t.proxy(function(t,i){return this.register_widget(i)||null},this));return s.length&&this.$el.trigger(\"gridster:positionschanged\"),this},r.generate_grid_and_stylesheet=function(){var i=this.$wrapper.width(),e=this.options.max_cols,s=Math.floor(i/this.min_widget_width)+this.options.extra_cols,r=this.$widgets.map(function(){return t(this).attr(\"data-col\")}).get();r.length||(r=[0]);var o=Math.max.apply(Math,r);this.cols=Math.max(o,s,this.options.min_cols),1/0!==e&&e>=o&&this.cols>e&&(this.cols=e);var a=this.options.extra_rows;return this.$widgets.each(function(i,e){a+=+t(e).attr(\"data-sizey\")}),this.rows=Math.max(a,this.options.min_rows),this.baseX=(t(window).width()-i)/2,this.baseY=this.$wrapper.offset().top,this.options.autogenerate_stylesheet&&this.generate_stylesheet(),this.generate_faux_grid(this.rows,this.cols)},r.destroy=function(i){return this.$el.removeData(\"gridster\"),t(window).unbind(\".gridster\"),this.drag_api&&this.drag_api.destroy(),this.remove_style_tags(),i&&this.$el.remove(),this},t.fn.gridster=function(i){return this.each(function(){t(this).data(\"gridster\")||t(this).data(\"gridster\",new e(this,i))})},e});"]}