//>>built define(["dojo","../util/oo","../defaults"],function(e,n,g){return n.declare(function(a){this.util=a.util;this.keys=a.keys;this.id=a.id||this.util.uid("mouse");this.currentNodeId="";this.registered={}},{doublClickSpeed:400,_lastx:0,_lasty:0,__reg:0,_downOnCanvas:!1,init:function(a){this.container=a;this.setCanvas();var b,c=!1;e.connect(this.container,"rightclick",this,function(a){console.warn("RIGHTCLICK")});e.connect(document.body,"mousedown",this,function(a){});e.connect(this.container,"mousedown", this,function(a){this.down(a);a.button!=e.mouseButtons.RIGHT&&(c=!0,b=e.connect(document,"mousemove",this,"drag"))});e.connect(document,"mouseup",this,function(a){e.disconnect(b);c=!1;this.up(a)});e.connect(document,"mousemove",this,function(a){c||this.move(a)});e.connect(this.keys,"onEsc",this,function(a){this._dragged=!1})},setCanvas:function(){var a=e.position(this.container.parentNode);this.origin=e.clone(a)},scrollOffset:function(){return{top:this.container.parentNode.scrollTop,left:this.container.parentNode.scrollLeft}}, resize:function(a,b){this.origin&&(this.origin.w=a,this.origin.h=b)},register:function(a){var b=a.id||"reg_"+this.__reg++;this.registered[b]||(this.registered[b]=a);return b},unregister:function(a){this.registered[a]&&delete this.registered[a]},_broadcastEvent:function(a,b){for(var c in this.registered)if(this.registered[c][a])this.registered[c][a](b)},onDown:function(a){this._broadcastEvent(this.eventName("down"),a)},onDrag:function(a){var b=this.eventName("drag");this._selected&&"onDrag"==b&&(b= "onStencilDrag");this._broadcastEvent(b,a)},onMove:function(a){this._broadcastEvent("onMove",a)},overName:function(a,b){a=a.id.split(".");b=b.charAt(0).toUpperCase()+b.substring(1);return"dojox"!=a[0]||!g.clickable&&g.clickMode?"on"+b:"onStencil"+b},onOver:function(a){this._broadcastEvent(this.overName(a,"over"),a)},onOut:function(a){this._broadcastEvent(this.overName(a,"out"),a)},onUp:function(a){var b=this.eventName("up");"onStencilUp"==b?this._selected=!0:this._selected&&"onUp"==b&&(b="onStencilUp", this._selected=!1);console.info("Up Event:",this.id,b,"id:",a.id);this._broadcastEvent(b,a);"silverlight"!=dojox.gfx.renderer&&(this._clickTime=(new Date).getTime(),this._lastClickTime&&this._clickTime-this._lastClickTime