(function(){var g=window.DL||{};g.Mouse={version:'$Revision: 1.40 $',evt:null,x:0,y:0,scrollX:0,scrollY:0,frame:0,frameLimit:1,attachments:[],initialize:function(){var b=this;g.Event.addHandlers(document,{mousemove:function(a){b.moveHandler(a)},click:function(){b.onclick(b.position())}})},moveHandler:function(a){a=a||window.event;if(this.frame==this.frameLimit){a=this.evt={clientX:a.clientX,clientY:a.clientY,el:a.currentTarget||a.srcElement};if(!(a=this.evt)){return}this.x=a.clientX;this.y=a.clientY;this.x+=this.scrollX;this.y+=this.scrollY;this.handleAttachments(a.el);this.onmove(a.el,this.position());this.frame=0}this.frame++},handleAttachments:function(){for(var i=0,a;a=this.attachments[i];i++){var p=this.position(),amX=(a.alignment&&a.alignment[0])?a.alignment[0]:'left',amY=(a.alignment&&a.alignment[1])?a.alignment[1]:'top';p.left+=(document.body.scrollLeft||document.documentElement.scrollLeft);p.top+=(document.body.scrollTop||document.documentElement.scrollTop);if(a.offsets){p[amX]+=a.offsets[0];p[amY]+=a.offsets[1]}g.Position.alignTo(a.element,p,amX,amY)}},position:function(){return{left:this.x,top:this.y,right:this.x,bottom:this.y,width:1,height:1}},offset:function(c,b){var a=g.Position.getPosition(c,b);return{x:(this.x-a.left),y:(this.y-a.top)}},attach:function(d,a,c){var b={element:d,offsets:c,alignment:a},index;if((index=this.isAttached(d))==null){this.attachments.push(b)}else{g.Object.extend(this.attachments[index],b)}this.onattach(d,this.position())},dettach:function(b){for(var i=0,a;a=this.attachments[i];i++){if(b==a.element){this.attachments=g.Array.remove(this.attachments,i);this.ondettach(b,this.position());return}}},isAttached:function(b){for(var i=0,a;a=this.attachments[i];i++){if(b=a.element){return i}}return null},onmove:function(b,a){},onclick:function(a){},onattach:function(b,a){},ondettach:function(a){}};g.ready(function(){g.Mouse.initialize()});g.Drag=new g.Class({version:'$Revision: 1.40 $',initialize:function(b){this.options={element:null,handle:null,container:null,relative:null,proportional:false,onTop:false,mode:'move',resizeMode:'se',grid:{x:0,y:0},mappers:{x:false,y:false},modifiers:{left:'x',top:'y',width:'x',height:'y'},drop:false,dropable:true,tolerance:0,dropableMove:true,dropableEnd:true,limit:false,lock:{x:false,y:false},unit:'px',min:{width:false,height:false},max:{width:false,height:false}};this.position={start:{left:null,top:null,width:null,height:null},last:{left:null,top:null,width:null,height:null},now:{left:null,top:null,width:null,height:null}};this.mouse={start:{x:null,y:null},last:{x:null,y:null},diff:{x:null,y:null}};this.dimension={};this.handles=[];this.handler={};this.dragged=false;this.changed=false;this.attachments=[];this.reseted=false;var o=this.setOptions(b);if(o.handle===true)this.addHandle(o.element);else if(g.type(o.handle,'element'))this.addHandle(o.handle);this.attach(this.element=o.element);g.Object.each(g.Element.getStyles(this.element,'minWidth','minHeight','maxWidth','maxHeight'),function(v,i){v=v=='none'?0:v;var a=i.slice(0,3),what=i.charAt(3)=='W'?'width':'height';if(!o[a][what])o[a][what]=parseInt(v,10)});if(o.drop){o.drop=g.type(o.drop,'object')?o.drop:{};g.Object.extend(o.drop,{drag:this,element:this.element,relative:o.container||o.relative});this.drop=new g.Drag.Drop(o.drop)}g.Drag.dragables.push(this);if(o.dropable){this.drops=[];this.lastDrops=[];this.handleDropEnterLeave()}},addHandle:function(c,d){d=d||{};var b=d.mode||this.options.mode||'move',handle={element:c,mode:b,listener:function(a){g.Event.stop(a);self.setOptions(d);self.start(a,b);return false},options:d},self=this;if(!this.element){this.element=this.options.element}g.Event.addHandler(handle.element,'mousedown',handle.listener);this.handles.push(handle)},removeHandle:function(a){for(var i=0,handle;handle=this.handles[i];i++){if(handle.element==a){g.Event.removeHandler(handle.element,'mousedown',handle.listener);delete handle;g.Array.remove(this.handles,i);return true}}return false},start:function(e,b){if(b)this.setOptions(b);var o=this.options,p=this.position,d=this.dimension=g.Position.getDimension(this.element,o.container||o.relative);this.element.ondragstart=function(a){g.Event.stop(a);return false};this.element.onselectstart=function(a){g.Event.stop(a);return false};this.changed=false;this.limit={'x':[],'y':[]};for(var m in this.limit){this.mouse.start[m]=this.mouse.last[m]=g.Mouse[m];if(o.limit&&o.limit[m])for(var i=0;i<2;i++)if(typeof o.limit[m][i]!='undefined')this.limit[m][i]=(typeof o.limit[m][i]=='function')?o.limit[m][i]():o.limit[m][i]}if(o.container){var c=g.Position.getBoundingBox(o.container,'client');this.limit={x:[0,c.width],y:[0,c.height]}}this.bounds=g.Position.getBoundings(this.element,'padding','border');this.limit.x[1]-=this.bounds.left+this.bounds.right;this.limit.y[1]-=this.bounds.top+this.bounds.bottom;if(g.Browser.isOpera){d.left-=parseInt(g.Element.getStyle(o.container,'borderLeftWidth'),10)||0;d.top-=parseInt(g.Element.getStyle(o.container,'borderTopWidth'),10)||0}d.width-=this.bounds.left+this.bounds.right;d.height-=this.bounds.top+this.bounds.bottom;p.start={left:d.left,top:d.top,width:d.width,height:d.height};p.last={left:d.left,top:d.top,width:d.width,height:d.height};p.now={left:d.left,top:d.top,width:d.width,height:d.height};if(this.onstart(p.start,this)===false)return;if(o.onTop)g.Element.setStyle(this.element,{zIndex:500});if(this.handler.mousemove||this.handler.mouseup){g.Event.removeHandler(g.Mouse,'move',this.handler.mousemove);g.Event.removeHandler(document,'mouseup',this.handler.mouseup)}this.handler.mousemove=g.Event.addHandler(g.Mouse,'move',g.bind(this.move,this));this.handler.mouseup=g.Event.addHandler(document,'mouseup',g.bind(this.end,this));g.Drag.active=this;this.dragged=true;g.Element.addClass(this.element,'dragged');return},move:function(f){var o=this.options,p=this.position,m=this.mouse;m.diff.x=g.Mouse.x-m.start.x;m.diff.y=g.Mouse.y-m.start.y;if(o.mode=='move'){if(p.start.left+m.diff.xthis.limit.x[1])m.diff.x+=this.limit.x[1]-(p.start.left+p.start.width+m.diff.x);if(p.start.top+m.diff.ythis.limit.y[1])m.diff.y+=this.limit.y[1]-(p.start.top+p.start.height+m.diff.y);p.now.left=this.grid(p.start.left+m.diff.x,'x');p.now.top=this.grid(p.start.top+m.diff.y,'y')}else if(o.mode=='resize'){var e=o.resizeMode.toLowerCase().split(/\W?/);for(var i=0;ithis.limit.x[1])m.diff.x+=this.limit.x[1]-(p.start.left+p.start.width+m.diff.x);p.now.width=this.grid(p.start.width+m.diff.x,'x');break;case's':if(p.start.height+m.diff.ythis.limit.y[1])m.diff.y+=this.limit.y[1]-(p.start.top+p.start.height+m.diff.y);p.now.height=this.grid(p.start.height+m.diff.y,'y');break;case'w':if(p.start.width-m.diff.x