if(!window.DHTMLSuite)var DHTMLSuite=new Object();DHTMLSuite.dragDrop=function(){var mouse_x;var mouse_y;var el_x;var el_y;var dragDropTimer;var numericIdToBeDragged;var dragObjCloneArray;var dragDropSourcesArray;var dragDropTargetArray;var currentZIndex;var okToStartDrag;var moveBackBySliding;var dragX_allowed;var dragY_allowed;var currentEl_allowX;var currentEl_allowY;var drag_minX;var drag_maxX;var drag_minY;var drag_maxY;var dragInProgress;try{if(!standardObjectsCreated)DHTMLSuite.createStandardObjects()}catch(e){alert('Include the dhtmlSuite-common.js file')}
this.dragX_allowed=true;this.dragY_allowed=true;this.currentZIndex=21000;this.dragDropTimer=-1;this.dragObjCloneArray=new Array();this.numericIdToBeDragged=false;this.okToStartDrag=true;this.moveBackBySliding=true;this.dragInProgress=false;var objectIndex;this.objectIndex=DHTMLSuite.variableStorage.arrayDSObjects.length;DHTMLSuite.variableStorage.arrayDSObjects[this.objectIndex]=this}
DHTMLSuite.dragDrop.prototype={init:function(){this.__initDragDropScript()},addSource:function(sourceId,slideBackAfterDrop,xAxis,yAxis,dragOnlyWithinElId){if(!this.dragDropSourcesArray)this.dragDropSourcesArray=new Array();if(!document.getElementById(sourceId)){alert('The source element with id '+sourceId+' does not exists. Check your HTML code');return}
if(xAxis!==false)xAxis=true;if(yAxis!==false)yAxis=true;var obj=document.getElementById(sourceId);this.dragDropSourcesArray[this.dragDropSourcesArray.length] =[obj,slideBackAfterDrop,xAxis,yAxis,dragOnlyWithinElId];obj.setAttribute('dragableElement',this.dragDropSourcesArray.length-1);obj.dragableElement=this.dragDropSourcesArray.length-1},addTarget:function(targetId,functionToCallOnDrop){if(!this.dragDropTargetArray)this.dragDropTargetArray=new Array();if(!document.getElementById(targetId))alert('The target element with id '+targetId+' does not exists.  Check your HTML code');var obj=document.getElementById(targetId);this.dragDropTargetArray[this.dragDropTargetArray.length] =[obj,functionToCallOnDrop]},setSlide:function(isSlidingAnimationEnabled){this.moveBackBySliding=isSlidingAnimationEnabled},__initDragDropScript:function(){var ind=this.objectIndex;var refToThis=this;var startIndex=Math.random()+'';startIndex=startIndex.replace('.','')/1;for(var no=0;no<this.dragDropSourcesArray.length;no++){var el=this.dragDropSourcesArray[no][0].cloneNode(true);var el2=this.dragDropSourcesArray[no][0];eval("el.onmousedown =function(e,index){DHTMLSuite.variableStorage.arrayDSObjects["+ind+"].__initializeDragProcess(e,"+no+")}");DHTMLSuite.commonObj.__addEventEl(el);var tmpIndex=startIndex+no;el.id=el2.id;el.style.position='absolute';el.style.visibility='hidden';el.style.display='none';document.body.appendChild(el);el.style.top=DHTMLSuite.commonObj.getTopPos(this.dragDropSourcesArray[no][0])+'px';el.style.left=DHTMLSuite.commonObj.getLeftPos(this.dragDropSourcesArray[no][0])+'px';eval("el2.onmousedown =function(e,index){return DHTMLSuite.variableStorage.arrayDSObjects["+ind+"].__initializeDragProcess(e,"+no+")}");DHTMLSuite.commonObj.__addEventEl(this.dragDropSourcesArray[no][0]);this.dragObjCloneArray[no]=el}
eval("DHTMLSuite.commonObj.addEvent(document.documentElement,\"mousemove\",function(e){DHTMLSuite.variableStorage.arrayDSObjects["+ind+"].__moveDragableElement(e)})");eval("DHTMLSuite.commonObj.addEvent(document.documentElement,\"mouseup\",function(e){DHTMLSuite.variableStorage.arrayDSObjects["+ind+"].__stopDragProcess(e)});");if(!document.documentElement.onselectstart)document.documentElement.onselectstart=function(){return DHTMLSuite.commonObj.__isTextSelOk()};document.documentElement.ondragstart=function(){return false};DHTMLSuite.commonObj.__addEventEl(document.documentElement)},__initializeDragProcess:function(e,index){var ind=this.objectIndex;if(!this.okToStartDrag)return false;setTimeout('DHTMLSuite.variableStorage.arrayDSObjects['+ind+'].okToStartDrag=true;',100);if(document.all)e=event;this.numericIdToBeDragged=index;this.numericIdToBeDragged=this.numericIdToBeDragged+'';this.dragDropTimer=0;DHTMLSuite.commonObj.__setTextSelOk(false);this.mouse_x=e.clientX;this.mouse_y=e.clientY;this.currentZIndex=this.currentZIndex+1;this.dragObjCloneArray[this.numericIdToBeDragged].style.zIndex=this.currentZIndex;this.currentEl_allowX=this.dragDropSourcesArray[this.numericIdToBeDragged][2];this.currentEl_allowY=this.dragDropSourcesArray[this.numericIdToBeDragged][3];var parentEl=this.dragDropSourcesArray[this.numericIdToBeDragged][4];this.drag_minX=false;this.drag_minY=false;this.drag_maxX=false;this.drag_maxY=false;if(parentEl){var obj=document.getElementById(parentEl);if(obj){this.drag_minX=DHTMLSuite.commonObj.getLeftPos(obj);this.drag_minY=DHTMLSuite.commonObj.getTopPos(obj);this.drag_maxX=this.drag_minX+obj.clientWidth;this.drag_maxY=this.drag_minY+obj.clientHeight}}
if(this.dragDropSourcesArray[this.numericIdToBeDragged][1]){this.dragObjCloneArray[this.numericIdToBeDragged].style.top=DHTMLSuite.commonObj.getTopPos(this.dragDropSourcesArray[this.numericIdToBeDragged][0])+'px';this.dragObjCloneArray[this.numericIdToBeDragged].style.left=DHTMLSuite.commonObj.getLeftPos(this.dragDropSourcesArray[this.numericIdToBeDragged][0])+'px'}
this.el_x=this.dragObjCloneArray[this.numericIdToBeDragged].style.left.replace('px','')/1;this.el_y=this.dragObjCloneArray[this.numericIdToBeDragged].style.top.replace('px','')/1;this.__waitBeforeDragProcessStarts();return false},__waitBeforeDragProcessStarts:function(){var ind=this.objectIndex;if(this.dragDropTimer>=0&&this.dragDropTimer<5){this.dragDropTimer=this.dragDropTimer+1;setTimeout('DHTMLSuite.variableStorage.arrayDSObjects['+ind+'].__waitBeforeDragProcessStarts()',2);return}
if(this.dragDropTimer>=5){if(this.dragObjCloneArray[this.numericIdToBeDragged].style.display=='none'){this.dragDropSourcesArray[this.numericIdToBeDragged][0].style.visibility='hidden';var ref=this.dragObjCloneArray[this.numericIdToBeDragged];ref.style.display='block';ref.style.visibility='visible';ref.style.top=DHTMLSuite.commonObj.getTopPos(this.dragDropSourcesArray[this.numericIdToBeDragged][0])+'px';ref.style.left=DHTMLSuite.commonObj.getLeftPos(this.dragDropSourcesArray[this.numericIdToBeDragged][0])+'px'}}},__moveDragableElement:function(e){var ind=this.objectIndex;if(document.all)e=event;if(this.dragDropTimer<5)return false;if(this.dragInProgress)return false;this.dragInProgress=true;var dragObj=this.dragObjCloneArray[this.numericIdToBeDragged];if(this.currentEl_allowX){var leftPos=(e.clientX-this.mouse_x+this.el_x);if(this.drag_maxX){var tmpMaxX=this.drag_maxX-dragObj.offsetWidth;if(leftPos > tmpMaxX)leftPos=tmpMaxX
if(leftPos < this.drag_minX)leftPos=this.drag_minX}
dragObj.style.left=leftPos+'px'}
if(this.currentEl_allowY){var topPos=(e.clientY-this.mouse_y+this.el_y);if(this.drag_maxY){var tmpMaxY=this.drag_maxY-dragObj.offsetHeight;if(topPos > tmpMaxY)topPos=tmpMaxY;if(topPos < this.drag_minY)topPos=this.drag_minY}
dragObj.style.top=topPos+'px'}
this.dragInProgress=false;return false},__stopDragProcess:function(e){if(this.dragDropTimer<5)return false;if(document.all)e=event;var dropDestination=DHTMLSuite.commonObj.getSrcElement(e);var leftPosMouse=e.clientX+Math.max(document.body.scrollLeft,document.documentElement.scrollLeft);var topPosMouse=e.clientY+Math.max(document.body.scrollTop,document.documentElement.scrollTop);if(!this.dragDropTargetArray)this.dragDropTargetArray=new Array();for(var no=0;no<this.dragDropTargetArray.length;no++){var leftPosEl=DHTMLSuite.commonObj.getLeftPos(this.dragDropTargetArray[no][0]);var topPosEl=DHTMLSuite.commonObj.getTopPos(this.dragDropTargetArray[no][0]);var widthEl=this.dragDropTargetArray[no][0].offsetWidth;var heightEl=this.dragDropTargetArray[no][0].offsetHeight;if(leftPosMouse > leftPosEl&&leftPosMouse <(leftPosEl+widthEl)&&topPosMouse > topPosEl&&topPosMouse <(topPosEl+heightEl)){if(this.dragDropTargetArray[no][1]){try{eval(this.dragDropTargetArray[no][1]+'("'+this.dragDropSourcesArray[this.numericIdToBeDragged][0].id+'","'+this.dragDropTargetArray[no][0].id+'",'+e.clientX+','+e.clientY+')')}catch(e){alert('Unable to execute \n'+this.dragDropTargetArray[no][1]+'("'+this.dragDropSourcesArray[this.numericIdToBeDragged][0].id+'","'+this.dragDropTargetArray[no][0].id+'",'+e.clientX+','+e.clientY+')')}}
break}}
if(this.dragDropSourcesArray[this.numericIdToBeDragged][1]){this.__slideElementBackIntoItsOriginalPosition(this.numericIdToBeDragged)}
this.dragDropTimer=-1;DHTMLSuite.commonObj.__setTextSelOk(true);this.numericIdToBeDragged=false},__slideElementBackIntoItsOriginalPosition:function(numId){var currentX=this.dragObjCloneArray[numId].style.left.replace('px','')/1;var currentY=this.dragObjCloneArray[numId].style.top.replace('px','')/1;var ref=this.dragDropSourcesArray[numId][0];var targetX=DHTMLSuite.commonObj.getLeftPos(ref);var targetY=DHTMLSuite.commonObj.getTopPos(ref);;if(this.moveBackBySliding){this.__processSlideByPixels(numId,currentX,currentY,targetX,targetY)}else{this.dragObjCloneArray[numId].style.display='none';ref.style.visibility='visible'}},__processSlideByPixels:function(numId,currentX,currentY,targetX,targetY){var slideX=Math.round(Math.abs(Math.max(currentX,targetX)- Math.min(currentX,targetX))/10);var slideY=Math.round(Math.abs(Math.max(currentY,targetY)- Math.min(currentY,targetY))/10);if(slideY<3&&Math.abs(slideX)<10)slideY=3;if(slideX<3&&Math.abs(slideY)<10)slideX=3;if(currentX > targetX)slideX*=-1;if(currentY > targetY)slideY*=-1;currentX=currentX+slideX;currentY=currentY+slideY;if(Math.max(currentX,targetX)- Math.min(currentX,targetX)< 4)currentX=targetX;if(Math.max(currentY,targetY)- Math.min(currentY,targetY)< 4)currentY=targetY;this.dragObjCloneArray[numId].style.left=currentX+'px';this.dragObjCloneArray[numId].style.top=currentY+'px';if(currentX!=targetX||currentY!=targetY){window.thisRef=this;setTimeout('window.thisRef.__processSlideByPixels("'+numId+'",'+currentX+','+currentY+','+targetX+','+targetY+')',5)}else{this.dragObjCloneArray[numId].style.display='none';this.dragDropSourcesArray[numId][0].style.visibility='visible'}}}
