/** * DragDrop.js * * A JavaScript micro-framework for adding drag-and-drop functionality * to elements for advanced UI development. * * @author James Brumond * @version 0.3.0 * @copyright Copyright 2011 James Brumond * @license Dual licensed under MIT and GPL *//*jshint browser: true, bitwise: false, camelcase: false, eqnull: true, latedef: false, plusplus: false, jquery: true, shadow: true, smarttabs: true, loopfunc: true */(function(){function s(a){var b=0,c=0;if(a.targetTouches)b=a.targetTouches[0].pageX,c=a.targetTouches[0].pageY;else if(a.pageX||a.pageY)b=a.pageX,c=a.pageY;else if(a.clientX||a.clientY)b=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,c=a.clientY+document.body.scrollTop+document.documentElement.scrollTop;return{x:b,y:c}}var a="ontouchstart"in window,b="drag",c=function(){var d={},k=a?{start:"touchstart",move:"touchmove",end:"touchend"}:{start:"mousedown",move:"mousemove",end:"mouseup"},o=[],s=function(a,b){for(var c=0,d=o.length;c