activateScroller = function(ele) {
var WH = xHeight('control')-30; 
xRemoveEventListener('control','mousewheel',scrollWithWheel,false);//mouse wheel on control layer
//document.onselectstart = function(){return false};//to prevent text selection - work with IE4+
//if (window.sidebar){document.onmousedown=null; document.onclick=null}

var topbox = xGetComputedStyle('TextBox',"margin-top",true);
if (ele.displaybox!='control' || WH>=xHeight('TextBox')+topbox) {xDisplay("scroller","none");return;}
var scroller=xGetElementById('scroller');
var leftbox = xGetComputedStyle('TextBox',"margin-left",true)-21-16;
xLeft('scroller',xWidth('TextBox')+leftbox);
//document.onselectstart = function(){return false};//to prevent text selection - work with IE4+
//if the browser is NS6 to prevent text selection !!!MAke firefox not working with forms
	//function disabletext(e){return false}
	//function reEnable(e){return true}
	//if (window.sidebar){document.onmousedown=disabletext; document.onclick=reEnable}

var top = xGetElementById('toparrow');
var bottom = xGetElementById('bottomarrow');
var slider = xGetElementById('slider');
xRemoveEventListener(slider,'mousedown',slideText,false);
xDisplay("scroller","block");
xTop('scroller',topbox);
//xHeight('scroller',xHeight('control')-topbox-xHeight(top));
//var topscroller = (ele.classbox!="NewsBox")?160:topbox+5;
//xTop('scroller',topscroller);
var scrollerheight = WH-topbox-xHeight(top);
xHeight('scroller',scrollerheight);
xTop(bottom,scrollerheight);
slider.range = xHeight('scroller')-xHeight(bottom);
var sliderheight = Math.round(Math.pow(slider.range,2)/(xHeight('TextBox')-topbox*0.5));
if (sliderheight<30) sliderheight=30;
slider.range -= sliderheight;
xHeight(slider,sliderheight);
xTop(slider,0);

ele.counter=0;
ele.refH = xHeight('TextBox')+topbox-WH;
slider.textoref = ele;
top.onmouseout = function(){clearTimeout(ele.timer)};
bottom.onmouseout = function(){clearTimeout(ele.timer)};
top.onmouseover = function(){clearTimeout(ele.timer);scrollText(ele,false,2)}
bottom.onmouseover = function(){clearTimeout(ele.timer);scrollText(ele,true,2)}
top.onmousedown = function(){clearTimeout(ele.timer);scrollText(ele,false,6)}
bottom.onmousedown = function(){clearTimeout(ele.timer);scrollText(ele,true,6)}
top.onmouseup = function(){clearTimeout(ele.timer);scrollText(ele,false,2)}
bottom.onmouseup =function(){clearTimeout(ele.timer);scrollText(ele,true,2)}
xAddEventListener(slider,'mousedown',slideText,false);

	function scrollWithWheel(e) {
 		if (!e) var e = window.event;
  		var increment = e.detail ? e.detail * -1 : e.wheelDelta / 40;
		var down = (increment == Math.abs(increment))?false:true;
		scrollText(slider.textoref,down,10);
		clearTimeout(slider.textoref.timer);
		cancelEvent(e);
		}
xAddEventListener('control','mousewheel',scrollWithWheel,false);

}

function slideText(e){//AddEventListener pass the event e to the function!
if (!e) var e = window.event;
var slider = e.target ? e.target : e.srcElement;//way to access the element (equivalent of this) with AddEventListener
if (slider.className) slider = slider.parentNode;
if (!slider.id || slider.id!= "slider") return;
slider.MY = mouseY(e);
xAddEventListener(document,'mouseup',stopSlider,false);
xAddEventListener('scroller','mousemove',positioneSlider,false);//event active on scroller width only
//cancelEvent(e);

	function positioneSlider(e){
		if (!e) var e = window.event;
		if (xTop(slider)<=slider.range && xTop(slider)>=0){
			var M = mouseY(e);
			var Y = xTop(slider)+M-slider.MY;
			if (Y>slider.range) Y = slider.range;
			if (Y<0) Y=0;
			xTop(slider, Y);
			slider.MY = M;
			slider.textoref.counter = Y*slider.textoref.refH/slider.range;			
			moveText_Slider(slider.textoref);
			//cancelEvent(e);
			}
	}
	function stopSlider(e){
		xRemoveEventListener('scroller','mousemove',positioneSlider,false);
		xRemoveEventListener(document,'mouseup',stopSlider,false);
	}
}


function moveText_Slider(ele,arrows){
xTop('TextBox',-ele.counter);
xClip('TextBox',ele.counter,xWidth('TextBox'),xHeight('TextBox'),xLeft('TextBox'));
if (arrows){
	var slider=xGetElementById('slider');
	var Y = ele.counter*slider.range/ele.refH;
	xTop(slider, Y);
	}
}

function scrollText(ele,down,speed){
var dir = (down)?1:-1;
var end = (dir==1)?ele.refH:0;
if (ele.counter*dir<end*dir){
	ele.counter+=dir*speed;
	if(ele.counter*dir>end*dir) ele.counter = end;
	moveText_Slider(ele,true)
	ele.timer = setTimeout(function(){scrollText(ele,down,speed)},30);
	} else clearTimeout(ele.timer);
}

function mouseY(e) {
var posy = 0;
if (e.pageY) posy = e.pageY; else if (e.clientY) posy = e.clientY + document.body.scrollTop+ document.documentElement.scrollTop;
return posy;
}

//if the browser is NS6 to prevent text selection !!!MAke firefox not working with forms
//function disabletext(e){return false}
//function reEnable(e){return true}
//if (window.sidebar){document.onmousedown=disabletext; document.onclick=reEnable}