/*----------------------------------------------------------------------------------*/
/*                                   cambio stili con cookie    					*/
/*Autore: Roberto Zdrahal															*/
/*Data: 26 luglio 2005 																*/
/*----------------------------------------------------------------------------------*/
/*				       																*/
/*

Nella pagina html inserire le seguenti istruzioni:
1) Nel tag HEAD inserire:  <script type="text/javascript" src="/js/style.js"></script> 
2) nel body richiamare le seguenti funzioni: 
	<script language="JavaScript1.2">caricaCarattere();</script>
	<script language="JavaScript1.2">caricaStile();</script>
3) nei link per attivare le funzioni digitare il codice come da esempio:href="javascript:setCarattere('carattere',2)" 

*/






/*funzioni di servizio*/
/*Queste sono le tre funzioni usate per gestire i cookie. Non vanno modificate*/
/*la funzione setCookie accetta come valori una chiave, un valore  e i giorni di validità*/
function setCookie(name, value, expdays) {  
  var now = new Date();
  var exp = new Date(now.getTime() + (1000*60*60*24*expdays));
  document.cookie = name + "=" + escape(value) + ";" +
                    "expires=" + exp.toGMTString() + ";" +
                    "path=/";			
}


/*la funzione delCookie elimina il cookie scaduto*/
function delCookie(name) {   
  var now = new Date();
  var exp = new Date(now.getTime() - 1);
  document.cookie = name + "=;" +
                    "expires=" + exp.toGMTString() + ";" + 
                    "path=/";
}


/*la funzione getCookie restituisce il valore della chiave richiesta*/
function getCookie(name) {
  var cname = name + "=";
  var dc = document.cookie;
  if (dc.length > 0) {
    var start = dc.indexOf(cname);
    if (start != -1) {
      start += cname.length;
      var stop = dc.indexOf(";", start);
      if (stop == -1) stop = dc.length;
      return unescape(dc.substring(start,stop));
    }
  }
  return null;
}

/*funzioni principali*/
/*Sono le funzioni create appositamente per gestire i cambi di attributi degli elementi della pagina*/


/*la funzione caricaCarattere() tira fuori dal cookie il valore della chiave "carattere" e setta il carattere del font di conseguenza*/
function caricaCarattere(){

var carattere = getCookie('carattere');
/*questa if serve la prima volta che carico la pagina e il cookie non esiste. 
In questo caso non vengono modificati gli attributi*/

if (carattere){
			var bod = document.getElementsByTagName("body")[0];
			var percentuale = "80%"; 
			if (carattere == 1) percentuale = "80%";
			if (carattere == 2) percentuale = "100%";     //grande
			if (carattere == 3) percentuale = "120%";
			bod.style.fontSize = percentuale;	
	}
}



/*la funzione caricaStile() tira fuori dal cookie il valore della chiave "Layout" e modifica il foglio di stile caricato*/

function caricaStile(){
var titoloStile = getCookie('Layout');

						if (titoloStile){
									var el = document.getElementsByTagName("link");
									  for (var i = 0; i < el.length; i++ ) {
										if (el[i].getAttribute("rel").indexOf("style") != -1 && el[i].getAttribute("title")) {
										  el[i].disabled = true;
										  if (el[i].getAttribute("title") == titoloStile) el[i].disabled = false;
																															}
																			} 
										
										
										
										}
					}


/*la funzione setCarattere() scrive nel cookie la chiave con il valore e carica subito le modifiche*/

function setCarattere(a,b) {
  
  setCookie(a, b, 365);
var bod = document.getElementsByTagName("body")[0];
var percentuale = "80%"; // default
if (b == 1) percentuale = "80%";//normale
if (b == 2) percentuale = "100%";
//grande
if (b == 3) percentuale = "120%";//grande
bod.style.fontSize = percentuale;
  //document.getElementsByTagName("body").style.background="#DDEEFE url(/im/body_bkg_top_med.gif) repeat-x top";
}


/*la funzione setStile() scrive nel cookie la chiave con il valore e carica subito le modifiche*/
function setStile(a,b) {
  
  setCookie(a, b, 365);
  var el = document.getElementsByTagName("link");
  for (var i = 0; i < el.length; i++ ) {
    if (el[i].getAttribute("rel").indexOf("style") != -1 && el[i].getAttribute("title")) {
      el[i].disabled = true;
      if (el[i].getAttribute("title") == b) el[i].disabled = false;
    }
  }
}



/*----------------------------------------------------------------------------------*/
/*                                   Menu dinamico                                  */
/*----------------------------------------------------------------------------------*/

/* funzione principale */
function mmenu(ID) {
var clic = document.getElementById(ID);
status = clic.style.display;
var uls = document.getElementsByTagName("ul");
for (i=0;i<uls.length;i++) {
if(uls[i].getAttribute("class")=="submenu")uls[i].style.display = "none";
if(uls[i].getAttribute("id") && uls[i].getAttribute("id").search("submenu-")!= -1) uls[i].style.display = "none";
}
if(ID) { getmenu(ID); }
}

/* gestione del menu */
function getmenu(ID) {
var menu = document.getElementById(ID);
var root = ID.substring(0, 10);
var menuroot = document.getElementById(root);
if(ID.length > 13) {
					var sub = ID.substring(0, 13);
					var menusub = document.getElementById(sub);
					}


var display = status;
menuroot.style.display = "block";
if(ID.length > 13) { menusub.style.display = "block"; }
menu.style.display = (display == "block") ? "none" : "block";
}

/* inizializzazione del menu */
function inizializzazione() {
	var uls = document.getElementsByTagName("ul");
	for (i=0;i<uls.length;i++) {
								if(uls[i].getAttribute("class")=="submenu")uls[i].style.display = "none";
								if(uls[i].getAttribute("id") && uls[i].getAttribute("id").search("submenu-")!= -1) uls[i].style.display = "none";
								}
	var mID = 'submenu-' + document.getElementsByTagName("body")[0].getAttribute("id").substr(3);
	if(mID) { getmenu(mID); }
}

/* link esterni */
window.onerror = HandleError;function HandleError() {return true}
/*

function inizia() {
	 	inizializzazione();
}

window.onload = inizia;
*/