removed mods directory from the ATutor codebase
[atutor.git] / mods / photo_album / fluid / component-templates / js / jquery.ui-1.0 / ui.sortable.js
diff --git a/mods/photo_album/fluid/component-templates/js/jquery.ui-1.0/ui.sortable.js b/mods/photo_album/fluid/component-templates/js/jquery.ui-1.0/ui.sortable.js
deleted file mode 100644 (file)
index e8fdd82..0000000
+++ /dev/null
@@ -1,263 +0,0 @@
-if (window.Node && Node.prototype && !Node.prototype.contains) {\r
-       Node.prototype.contains = function (arg) {\r
-               return !!(this.compareDocumentPosition(arg) & 16)\r
-       }\r
-}\r
-\r
-(function($) {\r
-\r
-       //Make nodes selectable by expression\r
-       $.extend($.expr[':'], { sortable: "(' '+a.className+' ').indexOf(' ui-sortable ')" });\r
-\r
-       $.fn.sortable = function(o) {\r
-               return this.each(function() {\r
-                       new $.ui.sortable(this,o);      \r
-               });\r
-       }\r
-       \r
-       //Macros for external methods that support chaining\r
-       var methods = "destroy,enable,disable,refresh".split(",");\r
-       for(var i=0;i<methods.length;i++) {\r
-               var cur = methods[i], f;\r
-               eval('f = function() { var a = arguments; return this.each(function() { if(jQuery(this).is(".ui-sortable")) jQuery.data(this, "ui-sortable")["'+cur+'"](a); }); }');\r
-               $.fn["sortable"+cur.substr(0,1).toUpperCase()+cur.substr(1)] = f;\r
-       };\r
-       \r
-       //get instance method\r
-       $.fn.sortableInstance = function() {\r
-               if($(this[0]).is(".ui-sortable")) return $.data(this[0], "ui-sortable");\r
-               return false;\r
-       };\r
-       \r
-       $.ui.sortable = function(el,o) {\r
-       \r
-               this.element = el;\r
-               this.set = [];\r
-               var options = {};\r
-               var self = this;\r
-               $.data(this.element, "ui-sortable", this);\r
-               $(el).addClass("ui-sortable");\r
-               \r
-               $.extend(options, o);\r
-               $.extend(options, {\r
-                       items: options.items || '> li',\r
-                       smooth: options.smooth != undefined ? options.smooth : true,\r
-                       helper: 'clone',\r
-                       containment: options.containment ? (options.containment == 'sortable' ? el : options.containment) : null,\r
-                       zIndex: options.zIndex || 1000,\r
-                       _start: function(h,p,c,t,e) {\r
-                               self.start.apply(t, [self, e]); // Trigger the onStart callback                         \r
-                       },\r
-                       _beforeStop: function(h,p,c,t,e) {\r
-                               self.stop.apply(t, [self, e]); // Trigger the onStart callback\r
-                       },\r
-                       _drag: function(h,p,c,t,e) {\r
-                               self.drag.apply(t, [self, e]); // Trigger the onStart callback\r
-                       },\r
-                       startCondition: function() {\r
-                               return !self.disabled;  \r
-                       }                       \r
-               });\r
-               \r
-               //Get the items\r
-               var items = $(options.items, el);\r
-               \r
-               //Let's determine the floating mode\r
-               options.floating = /left|right/.test(items.css('float'));\r
-               \r
-               //Let's determine the parent's offset\r
-               if($(el).css('position') == 'static') $(el).css('position', 'relative');\r
-               options.offset = $(el).offset({ border: false });\r
-\r
-               items.each(function() {\r
-                       new $.ui.mouseInteraction(this,options);\r
-               });\r
-               \r
-               //Add current items to the set\r
-               items.each(function() {\r
-                       self.set.push([this,null]);\r
-               });\r
-               \r
-               this.options = options;\r
-       }\r
-       \r
-       $.extend($.ui.sortable.prototype, {\r
-               plugins: {},\r
-               currentTarget: null,\r
-               lastTarget: null,\r
-               prepareCallbackObj: function(self, that) {\r
-                       return {\r
-                               helper: self.helper,\r
-                               position: { left: self.pos[0], top: self.pos[1] },\r
-                               offset: self.options.cursorAt,\r
-                               draggable: self,\r
-                               current: that,\r
-                               options: self.options\r
-                       }                       \r
-               },\r
-               refresh: function() {\r
-\r
-                       //Get the items\r
-                       var self = this;\r
-                       var items = $(this.options.items, this.element);\r
-\r
-                       var unique = [];\r
-                       items.each(function() {\r
-                               old = false;\r
-                               for(var i=0;i<self.set.length;i++) { if(self.set[i][0] == this) old = true;     }\r
-                               if(!old) unique.push(this);\r
-                       });\r
-                       \r
-                       for(var i=0;i<unique.length;i++) {\r
-                               new $.ui.mouseInteraction(unique[i],self.options);\r
-                       }\r
-                       \r
-                       //Add current items to the set\r
-                       this.set = [];\r
-                       items.each(function() {\r
-                               self.set.push([this,null]);\r
-                       });\r
-                       \r
-               },\r
-               destroy: function() {\r
-                       $(this.element).removeClass("ui-sortable").removeClass("ui-sortable-disabled");\r
-                       $(this.options.items, this.element).mouseInteractionDestroy();\r
-                       \r
-               },\r
-               enable: function() {\r
-                       $(this.element).removeClass("ui-sortable-disabled");\r
-                       this.disabled = false;\r
-               },\r
-               disable: function() {\r
-                       $(this.element).addClass("ui-sortable-disabled");\r
-                       this.disabled = true;\r
-               },\r
-               start: function(that, e) {\r
-                       \r
-                       var o = this.options;\r
-\r
-                       if(o.hoverClass) {\r
-                               that.helper = $('<div class="'+o.hoverClass+'"></div>').appendTo('body').css({\r
-                                       height: this.element.offsetHeight+'px',\r
-                                       width: this.element.offsetWidth+'px',\r
-                                       position: 'absolute'    \r
-                               });\r
-                       }\r
-                       \r
-                       if(o.zIndex) {\r
-                               if($(this.helper).css("zIndex")) o.ozIndex = $(this.helper).css("zIndex");\r
-                               $(this.helper).css('zIndex', o.zIndex);\r
-                       }\r
-                       \r
-                       that.firstSibling = $(this.element).prev()[0];\r
-                               \r
-                       $(this.element).triggerHandler("sortstart", [e, that.prepareCallbackObj(this)], o.start);\r
-                       $(this.element).css('visibility', 'hidden');\r
-                       \r
-                       return false;\r
-                                               \r
-               },\r
-               stop: function(that, e) {                       \r
-                       \r
-                       var o = this.options;\r
-                       var self = this;\r
-                       var pos = this.pos;              // patch\r
-\r
-                       if(o.smooth) {\r
-                               var os = $(this.element).offset();\r
-                               o.beQuietAtEnd = true;\r
-                               $(this.helper).animate({ left: os.left - o.po.left, top: os.top - o.po.top }, 500, stopIt);\r
-                       } else {\r
-                               stopIt();\r
-                       }\r
-                               \r
-                       function stopIt() {\r
-                self.pos = pos;               // patch\r
-                \r
-                               $(self.element).css('visibility', 'visible');\r
-                               if(that.helper) that.helper.remove();\r
-                               if(self.helper != self.element) $(self.helper).remove(); \r
-\r
-                               if(o.ozIndex)\r
-                                       $(self.helper).css('zIndex', o.ozIndex);\r
-                                       \r
-                                       \r
-                               //Let's see if the position in DOM has changed\r
-                               if($(self.element).prev()[0] != that.firstSibling) {\r
-                                       $(self.element).triggerHandler("sortupdate", [e, that.prepareCallbackObj(self, that)], o.update);\r
-                               }                               \r
-                $(self.element).triggerHandler("sortstop", [e, that.prepareCallbackObj(self, that)], o.stop);   // patch\r
-                       }\r
-                       \r
-\r
-                       return false;\r
-                       \r
-               },\r
-               drag: function(that, e) {\r
-\r
-                       var o = this.options;\r
-\r
-                       this.pos = [this.pos[0]-(o.cursorAt.left ? o.cursorAt.left : 0), this.pos[1]-(o.cursorAt.top ? o.cursorAt.top : 0)];\r
-                       var nv =  $(this.element).triggerHandler("sort", [e, that.prepareCallbackObj(this)], o.sort);\r
-                       var nl = (nv && nv.left) ? nv.left :  this.pos[0];\r
-                       var nt = (nv && nv.top) ? nv.top :  this.pos[1];\r
-                       \r
-\r
-                       var m = that.set;\r
-                       var p = this.pos[1];\r
-                       \r
-                       for(var i=0;i<m.length;i++) {\r
-                               \r
-                               var ci = $(m[i][0]); var cio = m[i][0];\r
-                               if(this.element.contains(cio)) continue;\r
-                               var cO = ci.offset(); //TODO: Caching\r
-                               cO = { top: cO.top, left: cO.left };\r
-                               \r
-                               var mb = function(e) { if(true || o.lba != cio) { ci.before(e); o.lba = cio; } }\r
-                               var ma = function(e) { if(true || o.laa != cio) { ci.after(e); o.laa = cio; } }\r
-                               \r
-                               if(o.floating) {\r
-                                       \r
-                                       var overlap = ((cO.left - (this.pos[0]+(this.options.po ? this.options.po.left : 0)))/this.helper.offsetWidth);\r
-\r
-                                       if(!(cO.top < this.pos[1]+(this.options.po ? this.options.po.top : 0) + cio.offsetHeight/2 && cO.top + cio.offsetHeight > this.pos[1]+(this.options.po ? this.options.po.top : 0) + cio.offsetHeight/2)) continue;                                                              \r
-                                       \r
-                               } else {\r
-\r
-                                       var overlap = ((cO.top - (this.pos[1]+(this.options.po ? this.options.po.top : 0)))/this.helper.offsetHeight);\r
-\r
-                                       if(!(cO.left < this.pos[0]+(this.options.po ? this.options.po.left : 0) + cio.offsetWidth/2 && cO.left + cio.offsetWidth > this.pos[0]+(this.options.po ? this.options.po.left : 0) + cio.offsetWidth/2)) continue;\r
-\r
-                               }\r
-                               \r
-                               if(overlap >= 0 && overlap <= 0.5) { //Overlapping at top\r
-                                       ci.prev().length ? ma(this.element) : mb(this.element);\r
-                               }\r
-\r
-                               if(overlap < 0 && overlap > -0.5) { //Overlapping at bottom\r
-                                       ci.next()[0] == this.element ? mb(this.element) : ma(this.element);\r
-                               }\r
-\r
-                       }\r
-                       \r
-                       //Let's see if the position in DOM has changed\r
-                       if($(this.element).prev()[0] != that.lastSibling) {\r
-                               $(this.element).triggerHandler("sortchange", [e, that.prepareCallbackObj(this, that)], this.options.change);\r
-                               that.lastSibling = $(this.element).prev()[0];   \r
-                       }\r
-\r
-                       if(that.helper) { //reposition helper if available\r
-                               var to = $(this.element).offset();\r
-                               that.helper.css({\r
-                                       top: to.top+'px',\r
-                                       left: to.left+'px'      \r
-                               });\r
-                       }       \r
-                       \r
-                       $(this.helper).css('left', nl+'px').css('top', nt+'px'); // Stick the helper to the cursor\r
-                       return false;\r
-                       \r
-               }\r
-       });\r
-\r
- })($);\r