'use strict'; define( [ 'jquery', 'backbone', 'marionette' ], function ($,Backbone, Marionette) { var region = Marionette.Region.extend({ el: '#control-panel-region', constructor: function () { Backbone.Marionette.Region.prototype.constructor.apply(this, arguments); this.on('show', this.showPanel, this); }, getEl: function (selector) { var $el = $(selector); return $el; }, showPanel: function () { $('body').addClass('control-panel-visible'); this.$el.animate({ 'margin-bottom': 0, 'opacity': 1 }, { queue: false, duration: 300 }); }, closePanel: function () { $('body').removeClass('control-panel-visible'); this.$el.animate({ 'margin-bottom': -100, 'opacity': 0 }, { queue: false, duration: 300 }); this.reset(); } }); return region; });