//>>built define(["dojo","dijit","dojox","dojo/require!dojo/dnd/Source,dojo/dnd/Manager,dojox/layout/dnd/Avatar"],function(c,g,e){c.provide("dojox.layout.dnd.PlottedDnd");c.require("dojo.dnd.Source");c.require("dojo.dnd.Manager");c.require("dojox.layout.dnd.Avatar");c.declare("dojox.layout.dnd.PlottedDnd",[c.dnd.Source],{GC_OFFSET_X:c.dnd.manager().OFFSET_X,GC_OFFSET_Y:c.dnd.manager().OFFSET_Y,constructor:function(a,b){this.childBoxes=null;this.dropIndicator=new e.layout.dnd.DropIndicator("dndDropIndicator", "div");this.withHandles=b.withHandles;this.handleClasses=b.handleClasses;this.opacity=b.opacity;this.allowAutoScroll=b.allowAutoScroll;this.dom=b.dom;this.skipForm=this.singular=!0;this._over=!1;this.defaultHandleClass="GcDndHandle";this.isDropped=!1;this._timer=null;this.isOffset=b.isOffset?!0:!1;this.offsetDrag=b.offsetDrag?b.offsetDrag:{x:0,y:0};this.hideSource=b.hideSource?b.hideSource:!0;this._drop=this.dropIndicator.create()},_calculateCoords:function(a){c.forEach(this.node.childNodes,function(b){var d= c.coords(b,!0);b.coords={xy:d,w:b.offsetWidth/2,h:b.offsetHeight/2,mw:d.w};a&&(b.coords.mh=d.h)},this)},_legalMouseDown:function(a){if(!this.withHandles)return!0;for(a=a.target;a&&a!=this.node;a=a.parentNode)if(c.hasClass(a,this.defaultHandleClass))return!0;return!1},setDndItemSelectable:function(a,b){for(var d=a;d&&a!=this.node;d=d.parentNode)if(c.hasClass(d,"dojoDndItem")){c.setSelectable(d,b);break}},getDraggedWidget:function(a){for(;a&&"body"!=a.nodeName.toLowerCase()&&!c.hasClass(a,"dojoDndItem");)a= a.parentNode;return a?g.byNode(a):null},isAccepted:function(a){return(a=a?a.getAttribute("dndtype"):null)&&a in this.accept},onDndStart:function(a,b,d){this.firstIndicator=a==this;this._calculateCoords(!0);var f=c.dnd.manager();b[0].coords?(this._drop.style.height=b[0].coords.mh+"px",c.style(f.avatar.node,"width",b[0].coords.mw+"px")):this._drop.style.height=f.avatar.node.clientHeight+"px";this.dndNodes=b;e.layout.dnd.PlottedDnd.superclass.onDndStart.call(this,a,b,d);a==this&&this.hideSource&&c.forEach(b, function(a){c.style(a,"display","none")})},onDndCancel:function(){if(c.dnd.manager().source==this&&this.hideSource){var a=this.getSelectedNodes();c.forEach(a,function(a){c.style(a,"display","")})}e.layout.dnd.PlottedDnd.superclass.onDndCancel.call(this);this.deleteDashedZone()},onDndDrop:function(a,b,c,f){try{if(this.isAccepted(b[0]))a==this&&this._over&&this.dropObject&&(this.current=this.dropObject.c),e.layout.dnd.PlottedDnd.superclass.onDndDrop.call(this,a,b,c,f),this._calculateCoords(!0);else this.onDndCancel()}catch(h){console.warn(h)}}, onMouseDown:function(a){null==this.current?this.selection={}:this.current==this.anchor&&(this.anchor=null);if(null!==this.current){var b=c.coords(this.current,!0);this.current.coords={xy:b,w:this.current.offsetWidth/2,h:this.current.offsetHeight/2,mh:b.h,mw:b.w};this._drop.style.height=this.current.coords.mh+"px";if(this.isOffset){if(0==this.offsetDrag.x&&0==this.offsetDrag.y){var d=!0,b=c.coords(this._getChildByEvent(a));this.offsetDrag.x=b.x-a.pageX;this.offsetDrag.y=b.y-a.clientY}16>this.offsetDrag.y&& null!=this.current&&(this.offsetDrag.y=this.GC_OFFSET_Y);b=c.dnd.manager();b.OFFSET_X=this.offsetDrag.x;b.OFFSET_Y=this.offsetDrag.y;d&&(this.offsetDrag.x=0,this.offsetDrag.y=0)}}c.dnd.isFormElement(a)?this.setDndItemSelectable(a.target,!0):(this.containerSource=!0,(d=this.getDraggedWidget(a.target))&&d.dragRestriction||e.layout.dnd.PlottedDnd.superclass.onMouseDown.call(this,a))},onMouseUp:function(a){e.layout.dnd.PlottedDnd.superclass.onMouseUp.call(this,a);this.containerSource=!1;!c.isIE&&this.mouseDown&& this.setDndItemSelectable(a.target,!0);a=c.dnd.manager();a.OFFSET_X=this.GC_OFFSET_X;a.OFFSET_Y=this.GC_OFFSET_Y},onMouseMove:function(a){var b=c.dnd.manager();if(this.isDragging){var d=!1;if(null!=this.current||null==this.current&&!this.dropObject)if(this.isAccepted(b.nodes[0])||this.containerSource)d=this.setIndicatorPosition(a);if(this.current!=this.targetAnchor||d!=this.before)this._markTargetAnchor(d),b.canDrop(!this.current||b.source!=this||!(this.current.id in this.selection));this.allowAutoScroll&& this._checkAutoScroll(a)}else this.mouseDown&&this.isSource&&(d=this.getSelectedNodes(),d.length&&b.startDrag(this,d,this.copyState(c.isCopyKey(a)))),this.allowAutoScroll&&this._stopAutoScroll()},_markTargetAnchor:function(a){if(this.current!=this.targetAnchor||this.before!=a)this.targetAnchor=this.current,this.targetBox=null,this.before=a},_unmarkTargetAnchor:function(){this.targetAnchor&&(this.targetBox=this.targetAnchor=null,this.before=!0)},setIndicatorPosition:function(a){var b=!1;if(this.current){if(!this.current.coords|| this.allowAutoScroll)this.current.coords={xy:c.coords(this.current,!0),w:this.current.offsetWidth/2,h:this.current.offsetHeight/2};b=this.horizontal?a.pageX-this.current.coords.xy.xb.clientHeight?(this.autoScrollActive=!0,this._autoScrollDown(b)):0a.pageY-c&&(this.autoScrollActive=!0,this._autoScrollUp(b))},_autoScrollUp:function(a){this.autoScrollActive&&0