bw=new verifyCompatibleBrowser() 

function verifyCompatibleBrowser()
{ 
/*
	str  = 'userAgent: ['+navigator.userAgent+']\n';
	str += 'appCodeName: ['+navigator.appCodeName+']\n';
	str += 'appVersion: ['+navigator.appVersion+']\n';
	str += 'appName: ['+navigator.appName+']\n';
	str += 'platform: ['+navigator.platform+']';
	alert(str);
*/

	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;
} 

  
var speed=50;
var loop, loopUp, loopDown, loopLeft, loopRight, timer;
 
function ConstructObject(obj,nest,container)
{ 
	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.scrollWidth	=bw.ns4?this.css.document.width:this.el.offsetWidth; 
	this.clipHeight	=bw.ns4?this.css.clip.height:this.el.offsetHeight;
	this.clipWidth	=bw.ns4?this.css.clip.width:this.el.offsetWidth;
	this.up		=MoveAreaUp;
	this.down		=MoveAreaDown;
	this.left		=MoveAreaLeft;
	this.right		=MoveAreaRight;
	this.MoveArea	=MoveArea;
	this.x;
	this.y;
	this.obj		=obj + "Object";
	this.objC		=(!container) ? '' : container;
	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;
}

function MoveAreaDown(move)
{
	if(this.y>-this.scrollHeight+this.objC.clipHeight)
	{ 
		this.MoveArea(0,this.y-move);
    		if(loop && loopDown)
			setTimeout(this.obj+".down("+move+")",speed);
	} 
} 

function MoveAreaUp(move)
{ 
	if(this.y<0)
	{ 
		this.MoveArea(0,this.y-move);
		if(loop && loopUp)
			setTimeout(this.obj+".up("+move+")",speed);
	} 
} 

function MoveAreaRight(move)
{
	//scrollWidth = this.scrollWidth;
	//if(this.x>-scrollWidth+this.objC.clipWidth)	// Non funziona con SAFARI E OPERA

	if(this.x>-2090+this.objC.clipWidth)

	{
		this.MoveArea(this.x-move,0);
		if(loop && loopRight)
			setTimeout(this.obj+".right("+move+")",speed);
	}
}

function MoveAreaLeft(move)
{ 

	if(this.x<0)
	{
		this.MoveArea(this.x-move,0);
		if(loop && loopLeft)
			setTimeout(this.obj+".left("+move+")",speed);
	} 
}

function PerformScroll(idObj, speed)
{ 
	if(initialised)
	{ 
		loop=true;
		var obj = null;
		Blocchi = BlocchiScrool.split(';');
		for(i=0;i<Blocchi.length;i++)
			if(Blocchi[i]==idObj)
			{
				obj = objScroller[i];
				break;
			}
		if(obj !=null)
		{
			if(speed>0) 
			{
				loopDown = true;
				loopUp = false;
				obj.down(speed);
			}
			else
			{
				loopDown = false;
				loopUp = true;
				obj.up(speed);
			}
		}
	} 
} 



function PerformScrollOriz(idObj, speed)
{ 
	if(initialised)
	{
		loop=true; 
		var obj = null;
		Blocchi = BlocchiScrool.split(';');
		for(i=0;i<Blocchi.length;i++)
			if(Blocchi[i]==idObj)
			{
				obj = objScroller[i];
				break;
			}
		if(obj != null)
		{
			if(speed>0)
			{
				loopLeft = false;
				loopRight = true;
				obj.right(speed);
			}
			else
			{
				loopLeft = true;
				loopRight = false;
				obj.left(speed);
			}
		}
	} 
} 


// ----------------------

function CeaseScroll(idObj)
{ 
	loop=false;
	loopDown = false;
	loopUp = false;
	loopLeft = false;
	loopRight = false;
	if(timer)
		clearTimeout(timer);
	displayStatusMsg('');
}

var objScroller = new Array();
var BlocchiScrool='';

var initialised; 
function InitialiseScrollableArea(blocchiScrool)
{
	window.onresize = function (evt) { location.reload(); };

	if(blocchiScrool==null || blocchiScrool=='')
		blocchiScrool = 'Generico';
	BlocchiScrool = blocchiScrool;

	Blocchi = BlocchiScrool.split(';');
	var i = 0;
	for(i=0;i<Blocchi.length;i++)
	{
		if(Blocchi[i]!=null && Blocchi[i].length>0)
		{
			objCont = new ConstructObject('divContainer'+Blocchi[i]);
			objS = new ConstructObject('divContent'+Blocchi[i],'divContainer'+Blocchi[i],objCont);
			objCont.css.visibility = 'visible';
			objS.MoveArea(0,0);
			objScroller[i] = objS;
		}
	}

	initialised=true;
} 

function displayStatusMsg(msgStr)
{ 
  status=msgStr;
  document.returnValue=true;
}

function preloadImages()
{
	var d=document;
	if(d.images)
	{
		if(!d.p)
			d.p=new Array();
		var i,j=d.p.length,a=preloadImages.arguments;
		for(i=0; i<a.length; i++)
			if (a[i].indexOf("#")!=0)
			{
				d.p[j]=new Image;
				d.p[j++].src=a[i];
			}
	}
}

function swapImgRestore()
{ 
	var i,x,a=document.sr;
	for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++)
		x.src=x.oSrc;
}

function findObj(n, d) 
{ 
	var p,i,x;
	if(!d)
		d=document;
	if((p=n.indexOf("?"))>0&&parent.frames.length)
	{
		d=parent.frames[n.substring(p+1)].document;
		n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all)
		x=d.all[n];
	for (i=0;!x&&i<d.forms.length;i++)
		x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++)
		x=findObj(n,d.layers[i].document);
	return x;
}

function swapImage()
{ 
	var i,j=0,x,a=swapImage.arguments;
	document.sr=new Array;
	for(i=0;i<(a.length-2);i+=3)
		if ((x=findObj(a[i]))!=null)
		{
			document.sr[j++]=x;
			if(!x.oSrc)
				x.oSrc=x.src;
			 x.src=a[i+2];
		}
}

function reloadPage(init)
{  //reloads the window if Nav4 resized
	if (init==true)
		with(navigator)
		{
			if ((appName=="Netscape")&&(parseInt(appVersion)==4))
			{
				document.pgW=innerWidth;
				document.pgH=innerHeight;
				onresize=reloadPage;
			}
		}
	else if(innerWidth!=document.pgW || innerHeight!=document.pgH)
		location.reload();
}

reloadPage(true);