/* SETTAGGIO DI ALCUNE VARIABILI */
 var delta=0;    // spostamento
   var inizio=5;   // posizione iniziale del testo in pixel
   var fine=-1000   // posizione finale del testo
   var attesa=50;  // millisecondi di attesa 
   var pos=inizio; // variabile corrente che memorizza la posizione
   var coefficienteMoltiplicazioneVel = 3;


/* BROWSER DETECT */
var BrowserDetect = {
        init: function () {
                this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
                this.version = this.searchVersion(navigator.userAgent)
                        || this.searchVersion(navigator.appVersion)
                        || "an unknown version";
                this.OS = this.searchString(this.dataOS) || "an unknown OS";
        },
        searchString: function (data) {
                for (var i=0;i<data.length;i++) {
                        var dataString = data[i].string;
                        var dataProp = data[i].prop;
                        this.versionSearchString = data[i].versionSearch || data[i].identity;
                        if (dataString) {
                                if (dataString.indexOf(data[i].subString) != -1)
                                        return data[i].identity;
                        }
                        else if (dataProp)
                                return data[i].identity;
                }
        },
        searchVersion: function (dataString) {
                var index = dataString.indexOf(this.versionSearchString);
                if (index == -1) return;
                return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
        },
        dataBrowser: [
                {
                        string: navigator.vendor,
                        subString: "Apple",
                        identity: "Safari"
                },
                {
                        prop: window.opera,
                        identity: "Opera"
                },
                {
                        string: navigator.vendor,
                        subString: "iCab",
                        identity: "iCab"
                },
                {
                        string: navigator.vendor,
                        subString: "KDE",
                        identity: "Konqueror"
                },
                {
                        string: navigator.userAgent,
                        subString: "Firefox",
                        identity: "Firefox"
                },
                {       // for newer Netscapes (6+)
                        string: navigator.userAgent,
                        subString: "Netscape",
                        identity: "Netscape"
                },
                {
                        string: navigator.userAgent,
                        subString: "MSIE",
                        identity: "Explorer",
                        versionSearch: "MSIE"
                },
                {
                        string: navigator.userAgent,
                        subString: "Gecko",
                        identity: "Mozilla",
                        versionSearch: "rv"
                },
                {       // for older Netscapes (4-)
                        string: navigator.userAgent,
                        subString: "Mozilla",
                        identity: "Netscape",
                        versionSearch: "Mozilla"
                }
        ],
        dataOS : [
                {
                        string: navigator.platform,
                        subString: "Win",
                        identity: "Windows"
                },
                {
                        string: navigator.platform,
                        subString: "Mac",
                        identity: "Mac"
                },
                {
                        string: navigator.platform,
                        subString: "Linux",
                        identity: "Linux"
                }
        ]

};
BrowserDetect.init();


/* FUNZIONE DI SETTAGGIO DELLA POSIZIONE DEL FOOTER */
function setDivHeight()
{
   var myHeight = 0;
   
   // lettura dell'altezza e larghezza della finestra
   if( typeof( window.innerWidth ) == 'number' ) {
   //Non-IE
        myHeight = window.innerHeight;
        myWidth = window.innerWidth;
   } else if( document.documentElement &&
      ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
        myHeight = document.documentElement.clientHeight;
        myWidth = document.documentElement.clientWidth;
   } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
        myHeight = document.body.clientHeight;
        myWidth = document.body.clientWidth;
   }
/*
  altezzaBlocco = document.getElementById('container').clientHeight + document.getElementById('footer').clientHeight;
  if(altezzaBlocco > myHeight){
   alert("CASISTICA");
       document.getElementById('container').style.height = (myHeight - document.getElementById('footer').clientHeight) + "px";
   }
 */ 
}
 
/* FUNZIONE SCROLL */	
function muovi() {
        var altezzaScroll = document.getElementById('scroll').clientHeight ;
        // fermo lo spostamento dell'oggetto
	if (((pos<=(inizio - altezzaScroll + 300))&&(delta==-1))||((pos==inizio)&&(delta==1)))
	{
	   delta=0;
	}
	pos=pos+(delta*coefficienteMoltiplicazioneVel);
	document.getElementById('scroll').style.top = pos + "px"; 
	if (delta!=0) setTimeout('muovi()',50);
}

/* BEGIN BY RIK 200708 */

// La funzione per cambiare i fogli di stile del layout
/* ************** */
function templateChange(){
	//createCookie("styleTemplate", arguments[0], 365);
	var i, a, main;
	a = document.getElementsByTagName("link");
	  for(i=0; i<(a.length); i++) {
		  stringa = String(document.getElementsByTagName("link")[i].getAttribute("title"));
		  if(document.getElementsByTagName("link")[i].getAttribute("rel").indexOf("style") != -1 && stringa.indexOf("width") != -1) {
			  document.getElementsByTagName("link")[i].disabled = true;
			 for(y=0; y<arguments.length; y++)
			  {
				  if(document.getElementsByTagName("link")[i].getAttribute("title") == arguments[y])
				  {
					  document.getElementsByTagName("link")[i].disabled = false;
				  }
			  }
		}
	}
}

// La funzione per cambiare i fogli di stile dei font
/* ************** */
function fontChange(){
  //createCookie("styleFont", arguments[0], 365);
	var i, a, main;
	a = document.getElementsByTagName("link");
	  for(i=0; i<(a.length); i++) {
		  stringa = String(document.getElementsByTagName("link")[i].getAttribute("title"));
		  if(document.getElementsByTagName("link")[i].getAttribute("rel").indexOf("style") != -1 && stringa.indexOf("font") != -1) {
			 document.getElementsByTagName("link")[i].disabled = true;
			 for(y=0; y<arguments.length; y++)
			  {
				  if(document.getElementsByTagName("link")[i].getAttribute("title") == arguments[y])
				  {
					  document.getElementsByTagName("link")[i].disabled = false;
				  }
			  }
		}
	}	
}

// FUNZIONE CHE REGISTRA IL CSS-LAYOYUT ATTIVO
/* ************** */
function getActiveStyleSheetTemplate() {
 var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) // ciclo tutti i tag link
  {
	stringa = String(document.getElementsByTagName("link")[i].getAttribute("title"));
    if(a.getAttribute("rel").indexOf("style") != -1 && stringa.indexOf("width") != -1 && !a.disabled) // se c'� l'attributo style, l'attributo title e non � disabilitato
	{
		return a.getAttribute("title");
	}
  }
  return null;
}

// FUNZIONE CHE REGISTRA IL CSS-FONT ATTIVO
/* ************** */
function getActiveStyleSheetFont() {
 var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) // ciclo tutti i tag link
  {
	stringa = String(document.getElementsByTagName("link")[i].getAttribute("title"));
    if(a.getAttribute("rel").indexOf("style") != -1 && stringa.indexOf("font") != -1 && !a.disabled) // se c'� l'attributo style, l'attributo title e non � disabilitato
	{
		return a.getAttribute("title");
	}
  }
  return null;
}
// FUNZIONE CHE PRENDE DAL CODICE IL CSS-TEMPLATE PREDEFINITO (va a vedere se e' del tipo alternate stylesheet)
/* ************** */
function getPreferredStyleSheetTemplate() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) // ciclo tutti i tag link
  {
	stringa = String(document.getElementsByTagName("link")[i].getAttribute("title"));
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && stringa.indexOf("width") != -1
       ) return a.getAttribute("title");
  }
  return null;
}
// FUNZIONE CHE PRENDE DAL CODICE IL CSS-FONT PREDEFINITO (va a vedere se e' del tipo alternate stylesheet)
/* ************** */
function getPreferredStyleSheetFont() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) // ciclo tutti i tag link
  {
	stringa = String(document.getElementsByTagName("link")[i].getAttribute("title"));
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && stringa.indexOf("font") != -1
       ) return a.getAttribute("title");
  }
  return null;
}
// CREAZIONE DEL COOKIE
/* ************** */
function createCookie(name,value,days){
if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie =name+"="+value+expires+"; path=/";
}
// LETTURA DEL COOKIE
/* ************** */
function readCookie(name) {
var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
   if (c.indexOf(nameEQ) == 0)
   {
	   return c.substring(nameEQ.length,c.length);
   }
}
  return null;
}

window.onload = function(e) {
  var cookieTemplate = readCookie("styleTemplate");
  var cookieFont = readCookie("styleFont");
  var titleTemplate = cookieTemplate ? cookieTemplate : getPreferredStyleSheetTemplate();
  var titleFont = cookieFont ? cookieFont : getPreferredStyleSheetFont();
  templateChange(titleTemplate);
  fontChange(titleFont);
}
/* ************** */
window.onunload = function(e){
  var titleTemplate = getActiveStyleSheetTemplate();
  var titleFont = getActiveStyleSheetFont();
  createCookie("styleTemplate", titleTemplate, 365);
  createCookie("styleFont", titleFont, 365);
}


/* ************** */
var cookieTemplate = readCookie("styleTemplate");
var cookieFont = readCookie("styleFont");
var titleTemplate = cookieTemplate ? cookieTemplate : getPreferredStyleSheetTemplate();
var titleFont = cookieFont ? cookieFont : getPreferredStyleSheetFont();
templateChange(titleTemplate);
fontChange(titleFont);

