/*! sidr - v2.2.1 - 2016-02-17
 * http://www.berriart.com/sidr/
 * Copyright (c) 2013-2016 Alberto Varela; Licensed MIT */
!function(){"use strict";var e={classCallCheck:function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}};e.createClass=function(){function e(e,n){for(var t=0;t<n.length;t++){var i=n[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(n,t,i){return t&&e(n.prototype,t),i&&e(n,i),n}}();var n,t,i,o,s={moving:!1,opened:!1},a={addPrefixes:function(e){this.addPrefix(e,"id"),this.addPrefix(e,"class"),e.removeAttr("style")},addPrefix:function(e,n){var t=e.attr(n);"string"==typeof t&&""!==t&&"sidr-inner"!==t&&e.attr(n,t.replace(/([A-Za-z0-9_.\-]+)/g,"sidr-"+n+"-$1"))},transitions:(n=(document.body||document.documentElement).style,t=!1,i="transition",i in n?t=!0:function(){var e=["moz","webkit","o","ms"],o=void 0,s=void 0;i=i.charAt(0).toUpperCase()+i.substr(1),t=function(){for(s=0;s<e.length;s++)if((o=e[s])+i in n)return!0;return!1}(),i=t?"-"+o.toLowerCase()+"-"+i.toLowerCase():null}(),{supported:t,property:i})},d=jQuery,r="sidr-animating",l="open",u="close",c="webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend",h=function(){function n(t){e.classCallCheck(this,n),this.name=t,this.item=d("#"+t),this.openClass="sidr"===t?"sidr-open":"sidr-open "+t+"-open",this.menuWidth=this.item.outerWidth(!0),this.speed=this.item.data("speed"),this.side=this.item.data("side"),this.displace=this.item.data("displace"),this.timing=this.item.data("timing"),this.method=this.item.data("method"),this.onOpenCallback=this.item.data("onOpen"),this.onCloseCallback=this.item.data("onClose"),this.onOpenEndCallback=this.item.data("onOpenEnd"),this.onCloseEndCallback=this.item.data("onCloseEnd"),this.body=d(this.item.data("body"))}return e.createClass(n,[{key:"getAnimation",value:function(e,n){var t={},i=this.side;return t[i]="open"===e&&"body"===n?this.menuWidth+"px":"close"===e&&"menu"===n?"-"+this.menuWidth+"px":0,t}},{key:"prepareBody",value:function(e){var n="open"===e?"hidden":"";if(this.body.is("body")){var t=d("html"),i=t.scrollTop();t.css("overflow-x",n).scrollTop(i)}}},{key:"openBody",value:function(){if(this.displace){var e=a.transitions,n=this.body;if(e.supported)n.css(e.property,this.side+" "+this.speed/1e3+"s "+this.timing).css(this.side,0).css({width:n.width(),position:"absolute"}),n.css(this.side,this.menuWidth+"px");else{var t=this.getAnimation(l,"body");n.css({width:n.width(),position:"absolute"}).animate(t,{queue:!1,duration:this.speed})}}}},{key:"onCloseBody",value:function(){var e=a.transitions,n={width:"",position:"",right:"",left:""};e.supported&&(n[e.property]=""),this.body.css(n).unbind(c)}},{key:"closeBody",value:function(){var e=this;if(this.displace)if(a.transitions.supported)this.body.css(this.side,0).one(c,(function(){e.onCloseBody()}));else{var n=this.getAnimation(u,"body");this.body.animate(n,{queue:!1,duration:this.speed,complete:function(){e.onCloseBody()}})}}},{key:"moveBody",value:function(e){e===l?this.openBody():this.closeBody()}},{key:"onOpenMenu",value:function(e){var n=this.name;s.moving=!1,s.opened=n,this.item.unbind(c),this.body.removeClass(r).addClass(this.openClass),this.onOpenEndCallback(),"function"==typeof e&&e(n)}},{key:"openMenu",value:function(e){var n=this,t=this.item;if(a.transitions.supported)t.css(this.side,0).one(c,(function(){n.onOpenMenu(e)}));else{var i=this.getAnimation(l,"menu");t.css("display","block").animate(i,{queue:!1,duration:this.speed,complete:function(){n.onOpenMenu(e)}})}}},{key:"onCloseMenu",value:function(e){this.item.css({left:"",right:""}).unbind(c),d("html").css("overflow-x",""),s.moving=!1,s.opened=!1,this.body.removeClass(r).removeClass(this.openClass),this.onCloseEndCallback(),"function"==typeof e&&e(name)}},{key:"closeMenu",value:function(e){var n=this,t=this.item;if(a.transitions.supported)t.css(this.side,"").one(c,(function(){n.onCloseMenu(e)}));else{var i=this.getAnimation(u,"menu");t.animate(i,{queue:!1,duration:this.speed,complete:function(){n.onCloseMenu()}})}}},{key:"moveMenu",value:function(e,n){this.body.addClass(r),e===l?this.openMenu(n):this.closeMenu(n)}},{key:"move",value:function(e,n){s.moving=!0,this.prepareBody(e),this.moveBody(e),this.moveMenu(e,n)}},{key:"open",value:function(e){var t=this;s.opened===this.name||s.moving||(!1===s.opened?(this.move("open",e),this.onOpenCallback()):new n(s.opened).close((function(){t.open(e)})))}},{key:"close",value:function(e){s.opened!==this.name||s.moving||(this.move("close",e),this.onCloseCallback())}},{key:"toggle",value:function(e){s.opened===this.name?this.close(e):this.open(e)}}]),n}(),p=jQuery;var m,f=jQuery,y=["open","close","toggle"],v={},b=function(e){return function(n,t){"function"==typeof n?(t=n,n="sidr"):n||(n="sidr"),function(e,n,t){var i=new h(n);switch(e){case"open":i.open(t);break;case"close":i.close(t);break;case"toggle":i.toggle(t);break;default:p.error("Method "+e+" does not exist on jQuery.sidr")}}(e,n,t)}};for(o=0;o<y.length;o++)v[m=y[o]]=b(m);function C(e){return"status"===e?s:v[e]?v[e].apply(this,Array.prototype.slice.call(arguments,1)):"function"!=typeof e&&"string"!=typeof e&&e?void f.error("Method "+e+" does not exist on jQuery.sidr"):v.toggle.apply(this,arguments)}var g=jQuery;function k(e,n){if("function"==typeof n.source){var t=n.source(name);e.html(t)}else if("string"==typeof n.source){var i="",o=n.source.split(",");g.each(o,(function(e,n){i+='<div class="sidr-inner">'+g(n).html()+"</div>"})),e.html(i)}else null!==n.source&&g.error("Invalid Sidr Source");return e}jQuery.sidr=C,jQuery.fn.sidr=function(e){var n=a.transitions,t=g.extend({name:"sidr",speed:200,side:"left",source:null,body:"body",displace:!0,timing:"ease",method:"toggle",bind:"touchstart click",onOpen:function(){},onClose:function(){},onOpenEnd:function(){},onCloseEnd:function(){}},e),i=t.name,o=g("#"+i);return 0===o.length&&(o=g("<div />").attr("id",i).appendTo(g("body"))),n.supported&&o.css(n.property,t.side+" "+t.speed/1e3+"s "+t.timing),o.addClass("sidr").addClass(t.side).data({speed:t.speed,side:t.side,body:t.body,displace:t.displace,timing:t.timing,method:t.method,onOpen:t.onOpen,onClose:t.onClose,onOpenEnd:t.onOpenEnd,onCloseEnd:t.onCloseEnd}),o=k(o,t),this.each((function(){var e=g(this),n=e.data("sidr"),o=!1;n||(s.moving=!1,s.opened=!1,e.data("sidr",i),e.bind(t.bind,(function(e){e.preventDefault(),o||(o=!0,C(t.method,i),setTimeout((function(){o=!1}),100))})))}))}}();