(function($){"use strict";var _namespace='Tray',g=this,lastFocus;function _bindEvents(){var _self=this;_self.$shadeSelector.on('click.'+_namespace+' touch.'+_namespace,function(e){var $openNav=$('.'+_namespace.toLowerCase()+'.'+_self.options.activeClassName);if($openNav.length>0){_self.close($openNav);}});} function _showShade(){if(this.$shadeSelector.length){this.$shadeSelector.addClass(this.options.activeClassName);}} function _hideShade(){if(this.$shadeSelector.length){this.$shadeSelector.removeClass(this.options.activeClassName);}} var Tray=g.Tray=function(el,options){this.el=el;this.$el=$(el);this.options=$.extend({},Tray.defaults,options);this.version="1.0.0";this.$shadeSelector=$(this.options.shadeSelector);this.$el.addClass(_namespace.toLowerCase());_bindEvents.call(this);this.$el.trigger('ready.'+_namespace);};Tray.defaults={shadeSelector:'#shade',addBodyClass:true,activeClassName:g.utilities.activeClass};Tray.prototype={open:function(){var _self=this;if(this.busy){return _self.$el;} this.busy=true;this.$el.get(0).style.visibility='visible';this.$el.addClass(_self.options.activeClassName);this.$el.trigger({type:'open.'+_namespace,extra:{}});_showShade.apply(this);if(this.options.addBodyClass){$('body').addClass(_namespace.toLowerCase()).addClass(this.options.activeClassName);} g.utilities.checkTransition(this.$el,'opened.'+_namespace,{},function(){_self.busy=false;});lastFocus=document.activeElement;_self.$el.attr('tabindex',0).focus();$(document).on('keydown',function(e){if(e.which==27){_self.$el.Tray('close');}});return this.$el;},close:function(){var _self=this;if(this.busy){return this.$el;} this.busy=true;_self.$el.removeAttr('tabindex');lastFocus.focus();this.$el.removeClass(_self.options.activeClassName);this.$el.trigger({type:'close.'+_namespace,extra:{}});_hideShade.apply(this);if(this.options.addBodyClass){$('body').removeClass(_namespace.toLowerCase()).removeClass(this.options.activeClassName);} g.utilities.checkTransition(_self.$el,'closed.'+_namespace,{},function(){_self.$el.get(0).style.visibility='hidden';_self.busy=false;});return this.$el;},unset:function(){var data=this.$el.data(_namespace);if(!data){return this.$el;} this.busy=false;this.el.style.display='';this.$el.get(0).style.visibility='';_hideShade.apply(this);if(this.options.addBodyClass){$('body').removeClass(_namespace.toLowerCase()).removeClass(this.options.activeClassName);} this.$el.removeData(_namespace).removeClass('gor-'+_namespace.toLowerCase());return this.$el;},reset:function(){if(!this.$el.data(_namespace)){this.unset();_bindEvents.call(this);return this.$el;}}};g.utilities.plugins.initializer.call(Tray,_namespace);$(function(){$('[data-tray]').each(function(){g.utilities.plugins.dataBinder.call(this,_namespace);});});}).call(window.Gorilla,window.jQuery);