/* Scroll.js
 * author : yeongun@ncsoft.net
 * last update: 2008.08.13
 * (c) 2008 ncsoft UIDevelopment Team */
var Scroll=function(target,handle,func){if(func){$(target).stopObserving('mousewheel',this.scrolling);$(target).stopObserving('DOMMouseScroll',this.scrolling);}
var targetHeight=$(target).getHeight();var stageHeight=$(target+'_stage').getHeight();if(targetHeight<=stageHeight){$('wrap_'+handle).hide();return;}
var minValue=0;var maxValue=Math.ceil((targetHeight-stageHeight)/10);var currentValue=parseInt(parseInt($(target).getStyle('top'))/10);var values=[];for(var n=minValue;n<=maxValue;n++)values.push(n);this.slider=new Control.Slider(handle,'wrap_'+handle,{axis:'vertical',range:$R(minValue,maxValue),values:values,sliderValue:currentValue,onChange:function(value){var finalValue=(value)?value*10:0;$(target).setStyle({top:-finalValue+'px'});if(value==maxValue){if(func){func();};}},onSlide:function(value){var finalValue=(value)?value*10:0;$(target).setStyle({top:-finalValue+'px'});}});var slider=this.slider;this.scrolling=function(e){var delta=0;if(!e)
e=window.event;if(e.wheelDelta){delta=e.wheelDelta/120;if(window.opera)
delta=-delta;}else if(e.detail){delta=-e.detail/3;}
if(delta)
slider.setValueBy(-delta);if(e.preventDefault)
e.preventDefault();e.returnValue=false;}
$(target).observe('DOMMouseScroll',this.scrolling);$(target).observe('mousewheel',this.scrolling);};
