!function(e,t,n){typeof module!="undefined"?module.exports=n(e,t):typeof define=="function"&&typeof define.amd=="object"?define(n):t[e]=n(e,t)}("humane",this,function(e,t){var n=window,r=document,i={on:function(e,t,r){"addEventListener"in n?e.addEventListener(t,r,!1):e.attachEvent("on"+t,r)},off:function(e,t,r){"removeEventListener"in n?e.removeEventListener(t,r,!1):e.detachEvent("on"+t,r)},bind:function(e,t){return function(){e.apply(t,arguments)}},isArray:Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"},config:function(e,t){return e!=null?e:t},transSupport:!1,useFilter:/msie [678]/i.test(navigator.userAgent),_checkTransition:function(){var e=r.createElement("div"),t={webkit:"webkit",Moz:"",O:"o",ms:"MS"};for(var n in t)n+"Transition"in e.style&&(this.vendorPrefix=t[n],this.transSupport=!0)}};i._checkTransition();var s=function(e){e||(e={}),this.queue=[],this.baseCls=e.baseCls||"humane",this.addnCls=e.addnCls||"",this.timeout=e.timeout||2500,this.waitForMove=e.waitForMove||!1,this.clickToClose=e.clickToClose||!1,this.forceNew=e.forceNew||!1;try{this._setupEl()}catch(t){i.on(n,"load",i.bind(this._setupEl,this))}};return s.prototype={constructor:s,_setupEl:function(){var e=r.createElement("div");e.style.display="none",r.body.appendChild(e),this.el=e,this.removeEvent=i.bind(this.remove,this),this.transEvent=i.bind(this._afterAnimation,this),this._run()},_afterTimeout:function(){i.config(this.currentMsg.waitForMove,this.waitForMove)?this.removeEventsSet||(i.on(r.body,"mousemove",this.removeEvent),i.on(r.body,"click",this.removeEvent),i.on(r.body,"keypress",this.removeEvent),i.on(r.body,"touchstart",this.removeEvent),this.removeEventsSet=!0):this.remove()},_run:function(){if(this._animating||!this.queue.length||!this.el)return;this._animating=!0,this.currentTimer&&(clearTimeout(this.currentTimer),this.currentTimer=null);var e=this.queue.shift(),t=i.config(e.clickToClose,this.clickToClose);t&&(i.on(this.el,"click",this.removeEvent),i.on(this.el,"touchstart",this.removeEvent));var n=i.config(e.timeout,this.timeout);n>0&&(this.currentTimer=setTimeout(i.bind(this._afterTimeout,this),n)),i.isArray(e.html)&&(e.html="