function verifyCompatibleBrowser(){ 
    this.ver=navigator.appVersion 
    this.dom=document.getElementById?1:0 
    this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0; 
    this.ie4=(document.all && !this.dom)?1:0; 
    this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
    this.ns4=(document.layers && !this.dom)?1:0; 
    this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5) 
    return this 
} 
bw=new verifyCompatibleBrowser() 
  
var speed=1 
var loop, timer 
 
function ConstructObject(obj,nest){ 
    nest=(!nest) ? '':'document.'+nest+'.' 
    this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0; 
    this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0; 
    this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight 
    this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight 
    this.up=MoveAreaUp;
    this.down=MoveAreaDown; 
    this.MoveArea=MoveArea; this.x; this.y; 
    this.obj = obj + "Object" 
    eval(this.obj + "=this") 
    return this 
} 
function MoveArea(x,y)
{ 
    this.x=x;
    this.y=y;
    this.css.left=this.x ;
    this.css.top=this.y ;
} 

var setTimeout_ID = 0;

function MoveAreaDown(move)
{ 
if (move==0)
{
	speed = 0;
	loop = false;
	return;
}

	//ALDO if(this.y>-this.scrollHeight+objContainer.clipHeight){ 
	if(this.y>-this.scrollHeight)
	{ 
		this.MoveArea(0,this.y-move) 
		if(loop)
		{
			if (setTimeout_ID!=0)
			{
				clearTimeout(setTimeout_ID);
			}
			setTimeout_ID = setTimeout(this.obj+".down("+move+")",40) 
		}
	} 
	else 
	{ 
		//ALDO INIZIO
		this.MoveArea(0,objContainer.clipHeight);
		if(loop)
		{
			if (setTimeout_ID!=0)
			{
				clearTimeout(setTimeout_ID);
			}
			setTimeout_ID = setTimeout(this.obj+".down("+move+")",move) 
		}
		//ALDO FINE
	}	

} 
function MoveAreaUp(move)
{ 
if (move==0)
{
	speed = 0;
	loop = false;
	return;
}
	if(this.y<0)
	{ 
		this.MoveArea(0,this.y-move) 
		if(loop) 
		{
			if (setTimeout_ID!=0)
			{
				clearTimeout(setTimeout_ID);
			}
			setTimeout_ID = setTimeout(this.obj+".up("+move+")",speed);
		}
	} 
} 

function PerformScroll(speed)
{
	if(initialised)
	{ 
		loop=true; 
		if(speed>0) 
		{
			objScroller.down(speed);
		}
		else 
		{
			objScroller.up(speed);
		}
	} 
} 
 
var initialised; 
function InitialiseScrollableArea(){ 
    objContainer=new ConstructObject('divContainer') 
    objScroller=new ConstructObject('divContent','divContainer') 
    objScroller.MoveArea(0,60);
    objContainer.css.visibility='visible' 
    initialised=true; 
} 
