summaryrefslogtreecommitdiffstats
path: root/comiccontrol/includes/dragndrop.js
diff options
context:
space:
mode:
Diffstat (limited to 'comiccontrol/includes/dragndrop.js')
-rw-r--r--comiccontrol/includes/dragndrop.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/comiccontrol/includes/dragndrop.js b/comiccontrol/includes/dragndrop.js
new file mode 100644
index 0000000..90cb38d
--- /dev/null
+++ b/comiccontrol/includes/dragndrop.js
@@ -0,0 +1,56 @@
+//drag and drop script
+
+document.onmousemove = mouseMove;
+document.onmouseup = mouseUp;
+
+var dragObject = null;
+var mouseOffset = null;
+
+function getMouseOffset(target, ev){
+ ev = ev || window.event;
+
+ var docPos = getPosition(target);
+ var mousePos = mouseCoords(ev);
+ return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
+}
+
+function getPosition(e){
+ var left = 0;
+ var top = 0;
+
+ while (e.offsetParent){
+ left += e.offsetLeft;
+ top += e.offsetTop;
+ e = e.offsetParent;
+ }
+
+ left += e.offsetLeft;
+ top += e.offsetTop;
+
+ return {x:left, y:top};
+}
+
+function mouseMove(ev){
+ ev = ev || window.event;
+ var mousePos = mouseCoords(ev);
+
+ if(dragObject){
+ dragObject.style.position = 'absolute';
+ dragObject.style.top = mousePos.y - mouseOffset.y;
+ dragObject.style.left = mousePos.x - mouseOffset.x;
+
+ return false;
+ }
+}
+function mouseUp(){
+ dragObject = null;
+}
+
+function makeDraggable(item){
+ if(!item) return;
+ item.onmousedown = function(ev){
+ dragObject = this;
+ mouseOffset = getMouseOffset(this, ev);
+ return false;
+ }
+}