// jQuery List DragSort v0.5.1 // License: http://dragsort.codeplex.com/license (function(e){e.fn.dragsort=function(t){if("destroy"!=t){var n=e.extend({},e.fn.dragsort.defaults,t),r=[],i=null,s=null;this.each(function(t,o){e(o).is("table")&&1==e(o).children().size()&&e(o).children().is("tbody")&&(o=e(o).children().get(0));var u={draggedItem:null,placeHolderItem:null,pos:null,offset:null,offsetLimit:null,scroll:null,container:o,init:function(){var r=0==e(this.container).children().size()?"li":e(this.container).children(":first").get(0).tagName.toLowerCase();""==n.itemSelector&&(n.itemSelector=r);""==n.dragSelector&&(n.dragSelector=r);""==n.placeHolderTemplate&&(n.placeHolderTemplate="<"+r+"> ");e(this.container).attr("data-listidx",t).mousedown(this.grabItem).bind("dragsort-uninit",this.uninit);this.styleDragHandlers(!0)},uninit:function(){var t=r[e(this).attr("data-listidx")];e(t.container).unbind("mousedown",t.grabItem).unbind("dragsort-uninit");t.styleDragHandlers(!1)},getItems:function(){return e(this.container).children(n.itemSelector)},styleDragHandlers:function(t){this.getItems().map(function(){return e(this).is(n.dragSelector)?this:e(this).find(n.dragSelector).get()}).css("cursor",t?"pointer":"")},grabItem:function(t){if(!(1!=t.which||e(t.target).is(n.dragSelectorExclude)||0").appendTo("body").children().append(i.draggedItem)}u=i.draggedItem.attr("style");i.draggedItem.attr("data-origstyle",u?u:"");i.draggedItem.css({position:"absolute",opacity:.8,"z-index":999,height:s,width:o});i.scroll={moveX:0,moveY:0,maxX:e(document).width()-e(window).width(),maxY:e(document).height()-e(window).height()};i.scroll.scrollY=window.setInterval(function(){if(n.scrollContainer!=window)e(n.scrollContainer).scrollTop(e(n.scrollContainer).scrollTop()+i.scroll.moveY);else{var t=e(n.scrollContainer).scrollTop();if(0i.scroll.moveY&&0i.scroll.moveX&&0s.left&&t.pageXs.top&&t.pageYi.draggedItem.offset().top||s.left>i.draggedItem.offset().left?e(u.pos[o].elm).before(i.placeHolderItem):e(u.pos[o].elm).after(i.placeHolderItem);t.each(function(){var t=p().eq(this.idx).get(0);this!=t&&p().index(this)e&&this.pos[n].topt)return n;return-1},createDropTargets:function(){n.dragBetween&&e(r).each(function(){var t=e(this.container).find("[data-placeholder]"),r=e(this.container).find("[data-droptarget]");0