(function(){window.EvtDispatcher||(window.EvtDispatcher=function(){this.handles={}},EvtDispatcher.prototype={constructor:EvtDispatcher,addEvent:function(a,b){this.handles[a]=this.handles[a]||[];this.handles[a].push(b)},fireEvent:function(a){a.target||(a.target=this);var b=this.handles[a.type];if(b instanceof Array)for(var c=0,d=b.length;c