//=================================================
//==  script by Stefano Roncari - www.syntax.it  ==
//=================================================

function centerDivs()
{
   for (t=0; t<theDivs.length; t++)
   {
      if (ns4){
         //alert('Ns4!');
         container = document.layers.divASContainer;
         eval(theDivs[t][0] + "= document.layers." +theDivs[t][1]);
         centerPage = window.innerWidth/2 - 8;
      }
      else if (op5){
         //alert('Op5!');
         eval(theDivs[t][0] + "= document.all." +theDivs[t][1] + ".style");
         container = document.all.divASContainer.style;
         centerPage = (window.innerWidth/2 -1);
      }
      else if (ie4){
         //alert('IE 5+!');
         eval(theDivs[t][0] + "= document.all." +theDivs[t][1] + ".style");
         container = document.all.divASContainer.style;
         centerPage = document.body.clientWidth/2;  // normalmente si usa document.body.scrollWidth, ma dà problemi con IE 4.01
      }
      else if (ie){
         //alert('IE 5+!');
         eval(theDivs[t][0] + "= document.all." +theDivs[t][1] + ".style");
         container = document.all.divASContainer.style;
         centerPage = document.body.scrollWidth/2;  // normalmente si usa document.body.scrollWidth, ma dà problemi con IE 4.01
      }
      else if (ns6){
         //alert('Ns6!');
         eval(theDivs[t][0] + "= document.getElementById('" +theDivs[t][1] + "').style");
         container = document.getElementById('divASContainer').style;
         centerPage = 390; 
         //Ns6 rileva il centro della pagina in modo diverso a seconda che le scrollbars siano visibili o invisibili, sicché in ns6 si allinea il sito a sinistra.
         
      }
   
      if (centerPage <= 390){
         //alert('minore!');
         eval(theDivs[t][0] +".left = 0");
         container.left = 400;
      }
   
      // Quando la dimensione della finestra è dispari, Ns4 approssima "centerPage" per eccesso (per es., se la finestra
      // è larga 201px, centerPage risulta 101), e di conseguenza sposta il menu un pixel più a destra.
      // Con il seguente sistema determino se la dimensione della finestra è pari, e in quel caso posiziono il menu
      // un pixel più a destra.  ;-))
      else if ((ns4) && ((window.innerWidth) - 2* (parseInt(window.innerWidth/2)) == 0))
      {
         //alert((window.innerWidth) - 2* (parseInt(window.innerWidth/2)));
         eval(theDivs[t][0] +".left ="+ centerPage +" - 390");
         container.left = centerPage + 10;
      }
   
      else
      { 
         eval(theDivs[t][0] +".left ="+ centerPage +" - 390");
         container.left = centerPage + 10;
      }
   }
}

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();

lstart = 60; // A che altezza si vuole che inizi lo scrolling del testo: distanza in pixel dall'alto del DIV padre.
loop = true;
speed = 55; // Intervallo di tempo in millisecondi che trascorre tra ogni movimento del Layer
pr_step = 1; // Numero di pixel di cui muovere il Layer


function buildObject(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.scrollAltezza=bw.ns4?this.css.document.height:this.el.offsetHeight;
	this.newsScroll=newsScroll;
	this.moveIt=b_moveIt; this.x; this.y;
   this.obj = obj + "Object";
   eval(this.obj + "=this");
   return this;
}

function b_moveIt(x,y){
	this.x=x;this.y=y;
	this.css.left=this.x;
	this.css.top=this.y;
}

// Fa lo scrolling dell'oggetto verso l'alto
function newsScroll()
{
	if(this.y > -this.scrollAltezza) // se lo scrolling del Layer non è ancora finito...
   {
		this.moveIt(0, this.y - pr_step);
		setTimeout(this.obj+".newsScroll()",speed);
	}
   else if(loop)  // se lo scrolling del Layer è finito, MA il loop è attivato...
   {
		this.moveIt(0,lstart);
		eval(this.obj+".newsScroll()");
	}
}

// Crea l'oggetto
function InitialiseAutoScrollArea(){
	objContainer = new buildObject('divASContainer');
	objContent = new buildObject('divASContent','divASContainer');
	objContent.moveIt(0,lstart);
	objContainer.css.visibility = 'visible';
	objContent.newsScroll();
}