ScrollObj=function(scrollBox,contentMaskObj,contentObj,options){if(scrollBox){this.options={'height':25,'leftImg':'images/scrollbar_left.gif','rightImg':'images/scrollbar_right.gif','topImg':'images/scrollbar_top.gif','bottomImg':'images/scrollbar_bottom.gif','centerImg':'images/scrollbar_center.gif','handle':'images/scrollbar_bar.gif','speed':6};this.initialize=function(){for(var property in options)this.options[property]=options[property];this.scrollBox=scrollBox;};this.contentMaskObj=contentMaskObj;this.contentObj=contentObj;this.contentMaskWidth=this.contentMaskObj.offsetWidth;this.contentWidth=this.contentObj.offsetWidth;this.contentLength=this.contentWidth-this.contentMaskWidth;if(this.contentWidth>this.contentMaskWidth){this.initialize();var scrollWidth=this.scrollBox.offsetWidth;this.trackObj=addElement('div',{'styles':{'position':'absolute','left':'0','top':'0px','zIndex':'24','cursor':'pointer','width':scrollWidth+'px','height':this.options.height+'px','backgroundImage':'url('+this.options.centerImg+')','backgroundRepeat':'repeat-x','backgroundPosition':'0px 50%'}});this.scrollBox.appendChild(this.trackObj);onImageLoad(this.options.centerImg,function(fnc){this.style.visibility='hidden';fnc.scrollBox.appendChild(this);fnc.trackObj.style.backgroundPosition='0px '+((fnc.options.height-this.offsetHeight)/2)+'px';},this);onImageLoad(this.options.leftImg,function(fnc){var upObj=addElement('img',{'styles':{'position':'absolute','zIndex':'25','cursor':'pointer'},'src':fnc.options.leftImg});fnc.scrollBox.appendChild(upObj);var upWidth=(upObj.offsetWidth-5);fnc.scrollBox.style.width=(scrollWidth-(upWidth*2))+'px';fnc.trackObj.style.width=(scrollWidth-(upWidth*2))+'px';fnc.scrollBox.style.left=(fnc.scrollBox.style.left)?(parseInt(fnc.scrollBox.style.left)+upWidth)+'px':upWidth+'px';setStyles(upObj,{'left':-upWidth+'px','top':((fnc.options.height-upObj.offsetHeight)/2)+'px','visibility':'visible'});addEvent(upObj,"mousedown",function(e){stopEvent(e);fnc.scroll(-3);});addEvent(upObj,"mouseup",function(){fnc.stopScroll()});addEvent(upObj,"mouseout",function(){fnc.stopScroll()});},this);onImageLoad(this.options.rightImg,function(fnc){var downObj=addElement('img',{'styles':{'position':'absolute','zIndex':'25','cursor':'pointer'},'src':fnc.options.rightImg});fnc.scrollBox.appendChild(downObj);setStyles(downObj,{'right':-(downObj.offsetWidth-5)+'px','top':((fnc.options.height-downObj.offsetHeight)/2)+'px','visibility':'visible'});addEvent(downObj,"mousedown",function(e){stopEvent(e);fnc.scroll(-16);});addEvent(downObj,"mouseup",function(){fnc.stopScroll()});addEvent(downObj,"mouseout",function(){fnc.stopScroll()});},this);onImageLoad(this.options.handle,function(fnc){fnc.dragObj=addElement('img',{'styles':{'position':'absolute','left':'0','visibility':'hidden','zIndex':'27','cursor':'pointer'},'src':fnc.options.handle});fnc.scrollBox.appendChild(fnc.dragObj);setStyles(fnc.dragObj,{'top':((fnc.options.height-fnc.dragObj.offsetHeight)/2)+'px','visibility':'visible'});fnc.trackLeft=fnc.dragObj.offsetLeft;fnc.trackLength=fnc.trackObj.offsetWidth-fnc.dragObj.offsetWidth;fnc.trackRight=fnc.trackLength;fnc.scrollLength=fnc.trackLength/fnc.contentLength;var trackLeft=fnc.trackLeft;var scrollLength=fnc.scrollLength;var content=fnc.contentObj;var drag=new dragAndDrop(fnc.dragObj,{'dragY':false,'limitLeft':fnc.trackLeft,'limitRight':fnc.trackRight,'onMove':function(x,y){var contentMovement=-x*(1/scrollLength);content.style.left=contentMovement+'px';}});},this);this.speed=this.options.speed;this.dragWidth=this.trackObj.offsetWidth
this.scrollTimer=null;addEvent(this.trackObj,"mousedown",function(e,fnc){stopEvent(e);fnc.scrollJump(e);},this);}}}
ScrollObj.prototype.scroll=function(speed){var left=this.contentObj.offsetLeft
var contentMovement=left+speed;var dragMovement=this.trackLeft-Math.round(left*(this.trackLength/this.contentLength));if(contentMovement>0)contentMovement=0;else if(contentMovement<-this.contentLength)contentMovement=-this.contentLength;if(dragMovement<this.trackLeft)dragMovement=this.trackLeft;else if(dragMovement>this.trackRight)dragMovement=this.trackRight;this.contentObj.style.left=contentMovement+'px';this.dragObj.style.left=dragMovement+'px';this.scrollTimer=window.setTimeout(function(fnc){return function(){fnc.scroll(speed);}}(this),20);}
ScrollObj.prototype.stopScroll=function(){if(this.scrollTimer){window.clearTimeout(this.scrollTimer);this.scrollTimer=null;}}
ScrollObj.prototype.scrollJump=function(e){var currentMouse=Cursor(e).page.x;var deptCtn=(document.getElementById('scrollbar').offsetLeft)+25;currentMouse=currentMouse-deptCtn;var dragDistance=currentMouse-(this.dragObj.offsetWidth/2)+25;var dragMovement=(dragDistance<this.trackLeft)?this.trackLeft:(dragDistance>this.trackRight)?this.trackRight:dragDistance;this.dragObj.style.left=dragMovement+'px';var contentMovement=-(dragMovement)*(1/this.scrollLength);this.contentObj.style.left=contentMovement+'px';}
function dragAndDrop(dragBox,options){this.options={dragX:true,dragY:true,limitLeft:false,limitRight:false,limitTop:false,limitBottom:false,onMove:false};this.initialize=function(){for(var property in options)this.options[property]=options[property];};this.initialize();var l=this.options.limitLeft,r=this.options.limitRight;var t=this.options.limitTop,b=this.options.limitBottom;var dragX=this.options.dragX,dragY=this.options.dragY;var move=this.options.onMove;function drag(ev){function moveDrag(ev){var setX,setY,set;if(dragX){setX=Cursor(ev).page.x-ecartX;setX=(l!==false&&setX<l)?l:(r!==false&&setX>r)?r:setX;dragBox.style.left=setX+'px';}
if(dragY){setY=Cursor(ev).page.y-ecartY;setX=(t!==false&&setY<t)?t:(b!==false&&setY>b)?b:setY;dragBox.style.top=setY+'px';}
if(move)move.call(this,setX,setY);};function stopDrag(ev){removeEvent(document,'mouseup',stopDrag);removeEvent(document,'mousemove',moveDrag);addEvent(dragBox,'mousedown',drag);}
setStyles(dragBox,{'position':'absolute'})
var startX=dragBox.offsetLeft;var startY=dragBox.offsetTop;var ecartX=Cursor(ev).page.x-startX;var ecartY=Cursor(ev).page.y-startY;addEvent(document,'mouseup',stopDrag);addEvent(document,'mousemove',moveDrag);removeEvent(dragBox,'mousedown',drag);if(ev.preventDefault)ev.preventDefault();}
addEvent(dragBox,'mousedown',drag);if(window.ie){dragBox.onselectstart=function(e){return false;};dragBox.ondragstart=function(e){return false;};}}
