var dw_slidebar={obj:null,slideDur:500,init:function(bar,track,axis,x,y){x=x||0;y=y||0;bar.style.left=x+"px";bar.style.top=y+"px";bar.axis=axis;track.bar=bar;if(axis=="h"){bar.trkWd=track.offsetWidth;bar.maxX=bar.trkWd-bar.offsetWidth-x;bar.minX=x;bar.maxY=y;bar.minY=y;}else{bar.trkHt=track.offsetHeight;bar.maxY=bar.trkHt-bar.offsetHeight-y;bar.maxX=x;bar.minX=x;bar.minY=y;}
bar.on_drag_start=bar.on_drag=bar.on_drag_end=bar.on_slide_start=bar.on_slide=bar.on_slide_end=function(){}
bar.onmousedown=this.startDrag;track.onmousedown=this.startSlide;},startSlide:function(e){if(dw_slidebar.aniTimer)clearInterval(dw_slidebar.aniTimer);e=e?e:window.event;var bar=dw_slidebar.obj=this.bar;e.offX=(typeof e.layerX!="undefined")?e.layerX:e.offsetX;e.offY=(typeof e.layerY!="undefined")?e.layerY:e.offsetY;bar.startX=parseInt(bar.style.left);bar.startY=parseInt(bar.style.top);if(bar.axis=="v"){bar.destX=bar.startX;bar.destY=(e.offY<bar.startY)?e.offY:e.offY-bar.offsetHeight;bar.destY=Math.min(Math.max(bar.destY,bar.minY),bar.maxY);}else{bar.destX=(e.offX<bar.startX)?e.offX:e.offX-bar.offsetWidth;bar.destX=Math.min(Math.max(bar.destX,bar.minX),bar.maxX);bar.destY=bar.startY;}
bar.distX=bar.destX-bar.startX;bar.distY=bar.destY-bar.startY;dw_slidebar.per=Math.PI/(2*dw_slidebar.slideDur);dw_slidebar.slideStart=(new Date()).getTime();bar.on_slide_start(bar.startX,bar.startY);dw_slidebar.aniTimer=setInterval("dw_slidebar.doSlide()",10);},doSlide:function(){if(!dw_slidebar.obj){clearInterval(dw_slidebar.aniTimer);return;}
var bar=dw_slidebar.obj;var elapsed=(new Date()).getTime()-this.slideStart;if(elapsed<this.slideDur){var x=bar.startX+bar.distX*Math.sin(this.per*elapsed);var y=bar.startY+bar.distY*Math.sin(this.per*elapsed);bar.style.left=x+"px";bar.style.top=y+"px";bar.on_slide(x,y);}else{clearInterval(this.aniTimer);bar.style.left=bar.destX+"px";bar.style.top=bar.destY+"px";bar.on_slide_end(bar.destX,bar.destY);this.obj=null;}},startDrag:function(e){e=dw_event.DOMit(e);if(dw_slidebar.aniTimer)clearInterval(dw_slidebar.aniTimer);var bar=dw_slidebar.obj=this;bar.downX=e.clientX;bar.downY=e.clientY;bar.startX=parseInt(bar.style.left);bar.startY=parseInt(bar.style.top);bar.on_drag_start(bar.startX,bar.startY);dw_event.add(document,"mousemove",dw_slidebar.doDrag,true);dw_event.add(document,"mouseup",dw_slidebar.endDrag,true);e.stopPropagation();},doDrag:function(e){e=e?e:window.event;if(!dw_slidebar.obj)return;var bar=dw_slidebar.obj;var nx=bar.startX+e.clientX-bar.downX;var ny=bar.startY+e.clientY-bar.downY;nx=Math.min(Math.max(bar.minX,nx),bar.maxX);ny=Math.min(Math.max(bar.minY,ny),bar.maxY);bar.style.left=nx+"px";bar.style.top=ny+"px";bar.on_drag(nx,ny);return false;},endDrag:function(){dw_event.remove(document,"mousemove",dw_slidebar.doDrag,true);dw_event.remove(document,"mouseup",dw_slidebar.endDrag,true);if(!dw_slidebar.obj)return;dw_slidebar.obj.on_drag_end(parseInt(dw_slidebar.obj.style.left),parseInt(dw_slidebar.obj.style.top));dw_slidebar.obj=null;}}