<!-- 
	function linkStampa(idCapitolo) {
		//urlFinestra = location.href; // alert("urlFinestra = "+urlFinestra);
		
		urlFinestra = location.href;  // temporaneo
		// elimino dal cancelletto finale in poi
		if (urlFinestra.indexOf("#")!=-1) {
			var fhStart = urlFinestra.indexOf("#");
			var fh = urlFinestra.slice(fhStart);
			urlFinestra = urlFinestra.replace(fh,"");
		};// alert (urlFinestra); alert (idCapitolo); alert (titoloScheda);
		window.open("/stampa.php?qualeUrl="+urlFinestra+"&qualeCapitolo="+idCapitolo,"newwin","width=432,height=500,top=100,left=100,resizable=yes,scrollbars=yes,menubar=yes,toolbar=yes,status=yes,location=yes")
	}
//-->

<!-- 
	if (parent.location.href == self.location.href) {
		// scegliere tra le due opzioni:
		// 1) crea link di riferimento da cliccare per ricaricare la pagina col frameset
		var alertFrameset = '<p style="margin:0;padding:0.15em 0.25em;border:none;border-top:1px solid #999;border-bottom:1px solid #999;height:4%;display:block;font-size:0.9em;line-height:1.4;font-family:Arial, Helvetica, sans-serif;color:#000;text-align:center;background-color:#FFC;">Questo &egrave; un <em>frame</em>. La pagina&nbsp;potrebbe non&nbsp;essere nel suo&nbsp;<a href="/index.htm?' + location.pathname + '" target="_top" title="carica la pagina completa" lang="en">frameset</a>.<br /><span lang="en">This is a <em>frame</em>. The page&nbsp;might not&nbsp;be within its&nbsp;<a href="/index.htm?' + location.pathname + '" target="_top" title="load the whole page">frameset</a>.</span></p>';
  		document.write(alertFrameset);
		document.close();
		
		// 2) ricarica la pagina col frameset automaticamente
		//window.location.href = '/index.htm?' + location.pathname + '';
	}
//-->

<!--
	// based on 'Referencing that is browser specific', 
	// found at 'http://www.howtocreate.co.uk/tutorials/index.php?tut=0&part=13'
	function bookmarkThis(title, url){
		// Gecko (Netscape 6 etc.) - add to Sidebar 
		if (window.sidebar && window.sidebar.addPanel) {
			window.sidebar.addPanel(title, url, "");}
		// IE Win32 or iCab 
		else if (window.external && (navigator.platform == 'Win32' || (window.ScriptEngine && ScriptEngine().indexOf('InScript') + 1))) {
			window.external.AddFavorite(url, title);}
		// Opera 6+ - add as sidebar panel to Hotlist 
		else if (window.opera && window.print) {
			return true;}
		// NS4 & Escape (adds current page, not target page) 
		else if (document.layers) {
			window.alert('Clicca OK e premi \'Ctrl+D\' per aggiungere la pagina ai favoriti');}
		else {window.alert('Utilizzate il browser per aggiungere la pagina ai favoriti');}
		// Altri browser (adds current page, not target page) 
		return;
	}
//-->

<!-- 
//	based on Peter-Paul Koch's TOC script
//	http://www.quirksmode.org/

	window.onload = function () {
		// se il browser supporta gli oggetti DOM
		if (document.getElementById) {
			// lancio la funzione per cambiare lo stile ai link esterni
			// al termine della quale lancio "createTOC()"
			cambiaLinkEsterni('http://','cestim'); // 'http://','cestim.' ('cestim_' temp)
		}
	}
	
	function createTOC(IDrootToBeTOCed) {
		// in ie5.2/mac, per evitare ogni crash interrompo la funzione
		// (http://www.quirksmode.org/about/makingof.html#bugridden)
		var bugRiddenCrashPronePieceOfJunk = (navigator.userAgent.indexOf('MSIE 5') != -1 && navigator.userAgent.indexOf('Mac') != -1
); 
		if (bugRiddenCrashPronePieceOfJunk) {
			var ieMacAlert = '<p style="margin:0;padding:0.15em 0.25em;border:none;border-top:1px solid #999;border-bottom:1px solid #999;height:1%;display:block;font-size:0.9em;line-height:1.4;font-family:Arial, Helvetica, sans-serif;color:#000;text-align:center;background-color:#FFC;">Ai visitatori con&nbsp;<em>Explorer 5.2</em>&nbsp;per Mac: l\'indice riassuntivo della pagina&nbsp;<strong>potrebbe mancare</strong>.<br /><span lang="en">For users with&nbsp;<em>Explorer 5.2</em>&nbsp;on Mac: this page table of contents&nbsp;<strong>could be missing</strong>.</span></p>';
  			document.write(ieMacAlert);
			document.close();
			return;
		}
		
		// trovo la 'root' da esaminare e creo 
		// l'array completo dei nodi che contiene
		if (document.getElementById) {
			var pth = document.getElementById(IDrootToBeTOCed);
			var c = pth.childNodes;
		} // ie6/win, moz
		else if (document.all) {
			var pth = document.all[IDrootToBeTOCed];
			var c = document.all[IDrootToBeTOCed].childNodes;
		} // ie5-5x/win
		
		
		var y = document.createElement('div'); // creo il div dell'indice
		y.id = 'toc'; // gli assegno un ID
		var a = y.appendChild(document.createElement('h2')); // creo il titolo principale
		a.innerHTML = ''; // Ie5/Mac
		a.innerHTML = 'Indice scheda'; // il contenuto del titolo principale
		var z = y.appendChild(document.createElement('div')); // creo il div per i link
		
		
		// preparo l'array 'toBeTOCced' per i titoli da inserire
		var toBeTOCced = new Array();
		var cap = 0; // variabile quanti capitoli (per assegnare ID progressivo ad ogni capitolo)
		
		// controllo ogni nodo della 'root'
		for (var i=0;i<c.length;i++) {
			// se esiste gia' un indice, lo nascondo
			if (c[i].nodeName.indexOf('DIV') != -1 && c[i].className == 'indice') {
				c[i].style.display = "none"; continue;
			}
			// ricavo il titolo della pagina per il bookmark
			if (c[i].nodeName.indexOf('H1') != -1 && !titScheda) {
				var regExpS=/<\S[^>]*>/g;
				var titSchedaNo = c[i].innerHTML.replace(regExpS,"");
				var titScheda = titSchedaNo.replace("'","\\'");
			}
			// creo pulsanti torna, bookmark (etc), sotto ogni capitolo
			if (c[i].nodeType != 1) continue; // per Netscape e moz
			if (c[i].nodeName.indexOf('DIV') != -1 && c[i].className == 'capitolo') {
				// incremento la variabile quanti capitoli
				cap += 1;
				// assegno un ID progressivo al capitolo
				c[i].id = 'capitolo'+cap; 
				// ricavo il titolo del capitolo per il bookmark
				var isThisTitle = c[i].childNodes;
				for (itt=0;itt<isThisTitle.length;itt++) {
					if (isThisTitle[itt].nodeType != 1) continue; // per Netscape e moz
					if (isThisTitle[itt].nodeName.indexOf('H2') != -1) {
						// assegno un ID progressivo al titolo del capitolo
						isThisTitle[itt].id = c[i].id+'h2'; 
						var regExpT=/<\S[^>]*>/g;
						var titCapNo = isThisTitle[itt].innerHTML.replace(regExpT,"");
						var titCap = titCapNo.replace("'","\\'"); break;
					}
				}
				
				// filetto separatore capitoli
				var autoHR = document.createElement("hr");
				// contenitore link pulsanti
				var pback = document.createElement("p");
				pback.className = "torna";
				// link torna
				var backlink = document.createElement("strong");
				var backlinkA = document.createElement("a");
				backlinkA.setAttribute("href", "#toc");
				backlinkA.setAttribute("title", "indice scheda");
				backlinkA.style.fontWeight = "bold";
				//backlinkA.style.color = "#000";
				backlinkA.appendChild(document.createTextNode("Indice scheda"));
				backlink.appendChild(backlinkA);
				// link bookmark
				var bookmlink = document.createElement("a");
				bookmlink.setAttribute("rel", "sidebar");
				bookmlink.setAttribute("href", "javascript:bookmarkThis('CESTIM - "+titScheda+" - "+titCap+"', '"+location.href+"')");
				bookmlink.setAttribute("title", "aggiungi ai preferiti");
				//bookmlink.style.color = "#000";
				bookmlink.appendChild(document.createTextNode("Preferiti"));
				// link stampa
				var stampalink = document.createElement("a");
				stampalink.setAttribute("href", "javascript:linkStampa(\'capitolo"+cap+"\')");
				stampalink.setAttribute("title", "stampa");
				//stampalink.style.color = "#000";
				stampalink.appendChild(document.createTextNode("Stampa"));
				// inserisco i link al contenitore pulsanti
				pback.appendChild(stampalink);
				pback.appendChild(document.createTextNode(" | "));
				pback.appendChild(bookmlink);
				pback.appendChild(document.createTextNode(" | "));
				pback.appendChild(backlink);
				// inserisco il filetto separatore
				pth.insertBefore(autoHR,c[i].nextSibling);
				// inserisco il contenitore dei pulsanti
				pth.insertBefore(pback,c[i].nextSibling);
			}
		
			// prima quelli fuori dai div 'capitolo'
			var u = c[i].nodeName; // ricavo il nome del nodo
			// se h1 o h2, ricomincia
			if (u.indexOf('H1') != -1 || u.indexOf('H2') != -1 || u.indexOf('HR') != -1) continue;
			// se h3, h4, h5 o h6, aggiungo a 'toBeTOCced'
			else if (c[i].nodeName.indexOf('H') != -1) {
				// NOTA: in alternativa al metodo 'push', che non esiste in ie5, 
				// definisco la funzione 'push' per aggiungere il nodo a 'toBeTOCced'
				if(!Array.prototype.push) {
					Array.prototype.push = function() {
						for(var j=0;j<arguments.length;j++){
							this[this.length] = arguments[j]; 
						}
						return this.length;
					}
				}
				// la richiamo
				toBeTOCced.push(c[i]); // ie5x+
				// assegno un ID al titolo trovato
				c[i].id = 'extra'+i;
			}
			
			// poi quelli dentro ai div 'capitolo'
			else if (c[i].nodeName.indexOf('DIV') != -1 && c[i].className != 'indice') {
				var x = c[i].childNodes; // i nodi che contiene
				// controllo ogni nodo
				for (var h=0;h<x.length;h++) {
					
					// se titolo, aggiungo a 'toBeTOCced'
					if (x[h].nodeName.indexOf('H') != -1) {
						// NOTA: in alternativa al metodo 'push', che non esiste in ie5, 
						// definisco la funzione 'push' per aggiungere il nodo a 'toBeTOCced'
						if(!Array.prototype.push) {
							Array.prototype.push = function() {
								for(var g=0;g<arguments.length;g++){
									this[this.length] = arguments[g]; 
								}
								return this.length;
							}
						}
						// la richiamo
						toBeTOCced.push(x[h]); // ie5x+
					}
				}
			}			
		}
		
		// se non ci sono titoli, non creo l'indice
		//if (toBeTOCced.length < 2) return;
		
		
		
		// per ogni titolo trovato...
		for (var i=0;i<toBeTOCced.length;i++) {
			
			// 1) ...creo un link per l'indice
			var b = document.createElement('a');
			// gli scrivo dentro il titolo, privo di elementi html
			var regExp=/<\S[^>]*>/g;
			b.innerHTML = toBeTOCced[i].innerHTML.replace(regExp,"");
			// gli assegno l'attributo 'title'
			b.setAttribute("title", toBeTOCced[i].innerHTML.replace(regExp,""));
			/*// gli assegno un URL-ancora progressivo
			b.href = '#link' + i;*/
			
			
			// :: MODIFICATO 061205 (inizio) ::
			
			/* 
			PROBLEMA: col link progressivo se si cambia l'ordine dei capitoli 
			al caricamento della pagina cambiano gli 'id'-ancora dei titoli.
			
			SOLUZIONE (parziale): 
			1)	se c'e' gia' un'ancora nel titolo, ricavo il suo 'name' o 'id' 
				e lo assegno al link nell'indice;
			2)	altrimenti ricavo il testo del titolo, elimino i caratteri 'non lettera, numero, underscore' 
				e lo assegno (in minuscolo e solo le prime 60 lettere) al link dell'indice.
				
			PRO: 
			- modificando l'ordine dei capitoli nella pagina non cambiano gli 'id'-ancora dei titoli;
			- se presenti, si utilizzano al posto degli 'id'-ancora le ancore contenute nel titolo.
			CONTRO
			- se non esiste gia' un'ancora nel titolo, viene assegnato al titolo un 'id'-ancora basato sul suo testo.
			Per questo, se si modifichera' il testo del titolo, cambiera' anche il relativo 'id'-ancora, 
			con la conseguenza che il vecchio link non sara' piu' utilizzabile.
			*/
			
			var hChilds = toBeTOCced[i].childNodes; // i nodi che contiene il titolo
			// la variabile vuota che conterra' il 'name' o l''id'
			var txtNomeAncora = "";
			// controllo ogni nodo
			for (var hNumChild=0;hNumChild<hChilds.length;hNumChild++) {
				// se trovo un'ancora nel titolo, e ha un attributo 'name' (o 'id')
				if (hChilds[hNumChild].nodeName.indexOf('A') != -1 && (hChilds[hNumChild].name!=0 || hChilds[hNumChild].id!=0) != false) {
					// se ha un attributo 'name'
					if (hChilds[hNumChild].name!=0) {
						// lo ricavo
						txtNomeAncora = hChilds[hNumChild].name; //alert("name = "+txtNomeAncora);
						// e assegno al link un URL-ancora uguale al 'name' dell'ancora trovata
						b.href = '#'+txtNomeAncora;
						break; // interrompo il ciclo
					}
					// se ha un attributo 'id' (e non ha l'attributo 'name')
					if (hChilds[hNumChild].id!=0) {
						// lo ricavo
						txtNomeAncora = hChilds[hNumChild].id; //alert("id = "+txtNomeAncora);
						// e assegno al link un URL-ancora uguale all''id' dell'ancora trovata
						b.href = '#'+txtNomeAncora;
						break; // interrompo il ciclo
					}
					break; // interrompo il ciclo 
				}
				// se al termine del ciclo non e' stata trovata alcuna ancora nel titolo
				if (hNumChild==hChilds.length-1) {
					// pattern cerca 'non lettera, numero o underscore'
					var regExpW=/[^\w]/g; 
					// le prime 60 lettere del titolo, ripulito da caratteri 'non lettera, numero o underscore'
					var txtNomeAncora=((toBeTOCced[i].innerHTML.replace(regExp,"")).replace(regExpW,"")).toLowerCase().slice(0,59);
					// assegno al titolo come 'id' la variabile col testo appena ripulito
					toBeTOCced[i].setAttribute("id", txtNomeAncora);
					// assegno al link un URL-ancora uguale all''id' (appena assegnato) al titolo
					b.href = '#'+txtNomeAncora;
				}
			}
			
			// :: MODIFICATO 061205 (fine) ::
			
			
			// 2) ...creo un elemento blocco per il link
			// se il titolo e' provvisto di ID, allora e' esterno al capitolo
			if (toBeTOCced[i].id.indexOf('extra') != -1) {
				// se h3, creo blocco h3 e aggiungo il link
				if (toBeTOCced[i].nodeName == 'H3') {
					var tmp = document.createElement('h3');
					var q = tmp.appendChild(b);
					z.appendChild(tmp);
					tmp.className += ' extraH3';
				}
				// se h4, creo blocco h4 e aggiungo il link
				if (toBeTOCced[i].nodeName == 'H4') {
					var tmp = document.createElement('h4');
					var q = tmp.appendChild(b);
					z.appendChild(tmp);
					tmp.className += ' extraH4';
				}
				// se h5, creo blocco h5 e aggiungo il link
				if (toBeTOCced[i].nodeName == 'H5') {
					var tmp = document.createElement('h5');
					var q = tmp.appendChild(b);
					z.appendChild(tmp);
					tmp.className += ' extraH5';
				}
				// se h6, creo blocco h6 e aggiungo il link
				if (toBeTOCced[i].nodeName == 'H6') {
					var tmp = document.createElement('h6');
					var q = tmp.appendChild(b);
					z.appendChild(tmp);
					tmp.className += ' extraH6';
				}
			}
			// altrimenti se il titolo e' interno al capitolo
			else if (toBeTOCced[i].nodeName == 'H2') {
				// creo blocco p e aggiungo il link
				var tmp = document.createElement('p');
				var q = tmp.appendChild(b);
				z.appendChild(tmp);
				tmp.className = 'N';
			}
			else if (toBeTOCced[i].nodeName == 'H3') {
				// creo blocco p e aggiungo il link
				var tmp = document.createElement('p');
				var q = tmp.appendChild(b);
				z.appendChild(tmp);
				tmp.className = 'NN';
			}
			else if (toBeTOCced[i].nodeName == 'H4') {
				// creo blocco p e aggiungo il link
				var tmp = document.createElement('p');
				var q = tmp.appendChild(b);
				z.appendChild(tmp);
				tmp.className = 'NNN';
			}
			else if (toBeTOCced[i].nodeName == 'H5') {
				// creo blocco p e aggiungo il link
				var tmp = document.createElement('p');
				var q = tmp.appendChild(b);
				z.appendChild(tmp);
				tmp.className = 'NNNN';
			}
				
			// 3) ...creo ancora
			var tmp2 = document.createElement('a');
			// gli assegno un ID progressivo
			tmp2.id = 'link' + i;
			
			// 4) ...inserisco l'ancora nella pagina
			toBeTOCced[i].parentNode.insertBefore(tmp2,toBeTOCced[i]);
		}
		
		
		// inserisco il nodo con l'indice completo
		/*for (var f = 0;f<=c.length;f++) {
			if (c[f].nodeType != 1) continue; // per Netscape e moz
			if (c[f].nodeName.indexOf('DIV') != -1 && c[f].className == 'capitolo') {
				pth.insertBefore(y,c[f]);
				break;
			}
		}*/
		
		
		// inserisco il nodo con l'indice completo e la data dell'ultimo aggiornamento
		// cerco il primo capitolo
		for (var da = 0;da<=c.length;da++) {
			if (c[da].nodeType != 1) continue; // per Netscape e moz
			if (c[da].className == 'capitolo' || c[da].className == 'appendice') {
				// creo il nodo per la data
				var pdata = document.createElement('p');
				pdata.setAttribute('align', 'center');
				pdata.style.margin = "0px";
				pdata.style.padding = "0px";
				var bdata = document.createElement('strong');
				bdata.innerHTML = ''; // Ie5/Mac
				bdata.innerHTML = 'Ultimo aggiornamento: ';
				var sdata = document.createElement("span");
				sdata.innerHTML = ''; // Ie5/Mac
				sdata.innerHTML = lastMod(document); // scrivo la data
				// assegno un ID all'elemento che contiene la data
				sdata.id = 'datamod';
				pdata.appendChild(bdata);
				pdata.appendChild(sdata);
				
				// cerco il nodo precedente al primo capitolo
				// ciclando tutti i nodi precedenti al primo capitolo
				var yu=da;
				while (yu>=0) {
					yu--;
					
					// se e' un nodo elemento oppure un nodo testo
					if (c[yu].nodeType == 1 || c[yu].nodeType == 3) {
						// se e' un nodo titolo
						if (c[yu].nodeName.indexOf('H') != -1) { //alert("trovato h");
							// e se e' un nodo titolo 'h1'
							if(c[yu].nodeName == 'H1') { //alert("... ed č un h1");
								pth.insertBefore(y,c[yu+1]); // inserisci dopo di H1
								pth.insertBefore(pdata,c[yu+1]); // inserisco il nodo con la data
								break; // fermo il ciclo
							}
							// cerco il nodo precedente al nodo titolo 'h' appena trovato
							// ciclando tutti i nodi precedenti al nodo titolo 'h' appena trovato
							yuS = yu-1; // :NOTA: per via dell'ancora che precede i titoli (creata via js)
							while (yuS>=0) {
								yuS--
								// se non e' un nodo elemento, salta e continua
								if (c[yuS].nodeType != 1) {
									continue;
								}
								//alert("marginBottom"+yuS);
								//c[yuS].style.marginBottom = "0px"; // azzero la sua proprieta' 'margin-bottom'
								//c[yuS].style.border = "1px solid red"; // gli assegno un bordo rosso
								break; // fermo il ciclo
							}
							// inserisco l'indice, prima del nodo titolo 'h1'
							pth.insertBefore(y,c[yu-1]); // :NOTA: '-1' per via dell'ancora che precede i titoli (creata via js)
							// inserisco il nodo con la data
							pth.insertBefore(pdata,c[yu-1]); // :NOTA: '-1' per via dell'ancora che precede i titoli (creata via js)
							break; // fermo il ciclo
						}
						
						// se il nome del nodo e' 'div'
						else if (c[yu].nodeName.indexOf('DIV') != -1) { //alert("div-indice (probabilmente!)");
							// cerco il nodo precedente al nodo 'div' appena trovato
							// ciclando tutti i nodi precedenti al nodo 'div' appena trovato
							yuS = yu;
							while (yuS>=0) {
								yuS--
								// se non e' un nodo elemento, salta e continua
								if (c[yuS].nodeType != 1) {
									continue;
								}
								//alert("marginBottom"+yuS);
								c[yuS].style.marginBottom = "0px"; // azzero la sua proprieta' 'margin-bottom'
								//c[yuS].style.border = "1px solid red"; // gli assegno un bordo rosso
								break; // fermo il ciclo
							}
							pth.insertBefore(y,c[yu]); // inserisco l'indice, prima di DIV
							pth.insertBefore(pdata,c[yu]); // inserisco il nodo con la data
							break; // fermo il ciclo
						}
						
						// altrimenti
						else { //alert("nč div nč h1");
							var insSt = "0"; // imposto variabile status inserimento nodi
							
							// ========================================================
							// ciclando tutti i nodi precedenti al nodo precedente del primo capitolo
							yuS2 = yu;
							while (yuS2>=0) {
								yuS2--
								// se e' un nodo titolo ed e' diverso da 'h1'
								if (c[yuS2].nodeName.indexOf('H') != -1 && c[yuS2].nodeName != 'H1') { //alert("trovato h (non h1), che precede");
									// cerco il nodo precedente al nodo titolo, diverso da 'h1', appena trovato
									// ciclando tutti i nodi precedenti al nodo titolo, diverso da 'h1', appena trovato
									yuS = yuS2-1; // :NOTA: per via dell'ancora che precede i titoli (creata via js)
									while (yuS>=0) {
										yuS--
										// se non e' un nodo elemento, salta e continua
										if (c[yuS].nodeType != 1) {
											continue;
										}
										//alert("marginBottom"+yuS);
										c[yuS].style.marginBottom = "0px"; // azzero la sua proprieta' 'margin-bottom'
										//c[yuS].style.border = "1px solid red"; // gli assegno un bordo rosso
										break; // fermo il ciclo
									}
									// inserisco l'indice, dopo questo nodo
									pth.insertBefore(y,c[yuS2-1]); // :NOTA: per via dell'ancora che precede i titoli (creata via js)
									// inserisco il nodo con la data
									pth.insertBefore(pdata,c[yuS2-1]); // :NOTA: per via dell'ancora che precede i titoli (creata via js)
									insSt = "1"; //alert("insSt = 1"); // cambio valore variabile status inserimento nodi
									break; // fermo il ciclo
								}
								// all'ultimo passaggio del ciclo (con 'yuS2=0')...
								if (yuS2==0) { //alert("no h");
									break; // fermo il ciclo
								}
							}
							// ========================================================
							
							// se il valore variabile status inserimento nodi, non e' 
							// cambiato (cioe' non e' stato trovato alcun titolo precedente, diverso da 'h1')
							if (insSt == "0") {
								// cerco il nodo precedente al nodo del primo capitolo
								// ciclando tutti i nodi precedenti al nodo del primo capitolo
								yuS = da;
								while (yuS>=0) {
									yuS--
									// se non e' un nodo elemento, salta e continua
									if (c[yuS].nodeType != 1) {
										continue;
									}
									//alert("marginBottom"+yuS);
									c[yuS].style.marginBottom = "0px"; // azzero la sua proprieta' 'margin-bottom'
									//c[yuS].style.border = "1px solid red"; // gli assegno un bordo rosso
									break; // fermo il ciclo
								}
								pth.insertBefore(y,c[da]); // inserisco l'indice, dopo il nodo del primo capitolo
								pth.insertBefore(pdata,c[da]); // inserisco il nodo con la data
								break; // fermo il ciclo
							}
							break; // fermo il ciclo
						}
					}
				}
				// fermo il ciclo che cerca il primo capitolo
				break;
			}
		}
		
		
		// link 'Mostra solo questo frame'
		if (top.location.href != self.location.href) {
			var freeF = document.createElement("p");
			freeF.className = "liberaframe";
			var freeFlink = document.createElement("a");
			freeFlink.setAttribute("href", location.href);
			freeFlink.setAttribute("title", "mostra solo questo frame");
			freeFlink.setAttribute("target", "_top");
			freeFlink.appendChild(document.createTextNode("[Mostra solo questo frame]"));
			// inserisco i link al contenitore pulsanti
			freeF.appendChild(freeFlink);
			// inserisco il filetto separatore
			pth.insertBefore(freeF,c[0]);
		}
		
		// al termine punto la finestra sull'ancora dell'URL di ingresso (se richiesta)
		var loc = document.location.href;
		if (loc.indexOf('#') != -1) {
			var whichA = loc.slice(loc.indexOf('#')); // ricavo l'ancora finale
			
			
			// :: MODIFICATO 100106 (inizio) ::
			
			/* 
			PROBLEMA: arrivando alla pagina da un link con ancora 
			(es: 'nome-scheda.htm#nome-ancora'), sparisce il frame 
			della testata.
			
			SOLUZIONE: 
			1)	nella riga seguente sostituire 'top.location.href = whichA;' 
			    con 'self.location.href = whichA;'.
			PRO: 
			- 100%.
			
			CONTRO:
			- 0.
			*/
			
			self.location.href = whichA; // punto sull'ancora
			
			// :: MODIFICATO 100106 (inizio) ::
			
		}
		
	}
//-->


<!-- //	Cambia lo stile ai link esterni
	function cambiaLinkEsterni(seHTTP, tranneQuestoHTTP) {
		var totLink = document.links.length; //alert("totLink: "+totLink); // totale link da controllare
		// controllo ogni link
		for (var i=0;i<totLink;i++) { 
			document.links[i].setAttribute("title",document.links[i].href); // aggiungo tooltip
			// procedo solo se contiene "HTTP://"
			if(document.links[i].getAttribute("href").lastIndexOf(seHTTP) != -1) {
				var ifIP = document.links[i].getAttribute("href"); // l'URL completo da controllare
				ifIP = ifIP.replace("http://", "") // tolgo "HTTP://"
				ifIP = ifIP.replace(ifIP.slice(ifIP.indexOf("/")), ""); // tengo solo fino al primo "/"
				ifIP = ifIP.split(".", 10); // elimino i "." e metto le sottostringhe in un array
				var ifIPOk= "";
				for (u=0;u<ifIP.length;u++) {
					ifIPOk = ifIPOk+ifIP[u]; // concateno i singoli pezzi in un'unica stringa (senza i punti)
				}
				var IPRegExpObj = /\d{4,}/; // pattern per controllare se ci sono piu' di 4 numeri... (num IP)
				// se ci sono pių di 4 numeri e se 
				// nella stringa non compare il dominio di questo sito
				if (ifIPOk.match(IPRegExpObj) || document.links[i].getAttribute("href").lastIndexOf(tranneQuestoHTTP) == -1) {
					// e se non e' un link 'javascript' o un'ancora "#"
					// allora cambio lo stile al link
					if (document.links[i].getAttribute("href").lastIndexOf("javascript:") == -1 || document.links[i].getAttribute("href") != "#") {
						//document.links[i].style.fontWeight = "bolder";  grassetto
						//document.links[i].style.color = "#04306F";  colore
						//document.links[i].style.textDecoration = "underline";  sottolineato
						document.links[i].setAttribute("title","Link esterno: \""+document.links[i].href+"\""); // aggiungo tooltip (link esterno)
						document.links[i].setAttribute("target","_blank"); // apri in una nuova finestra
					}
				}
			} 
			
			// se non ci sono piu' link da cambiare, 
			// lancio la funzione "createTOC()"
			if (i==totLink-1) {
				// lancio la funzione che crea l'indice, 
				// con nome ID dell'elemento da esaminare
				createTOC('pagina');
			}
		} 
		linkLeggeri("pagina", "capitolo", "link-leggero");
	}
//-->

<!--
	function linkLeggeri(idParent, classEl, nuovoStile) {
		if (idParent==null) { idParent = "pagina"; }
		if (classEl==null) { classEl = "capitolo"; }
		if (nuovoStile==null) { nuovoStile = "link-leggero"; }
		// se il browser supporta gli oggetti DOM
		if (document.getElementById) {
			// tutti i figli dell''idParent'
			var pagChilds = document.getElementById(idParent).childNodes;
			// per ogni figlio
			for (var nPC=0;nPC<pagChilds.length;nPC++) { if (pagChilds[nPC].nodeType != 1) { continue; } // per Netscape e moz
				// se ha classe 'classEl'
				if (pagChilds[nPC].className == classEl) {
					// tutti i tag 'P' contenuti
					var parA = pagChilds[nPC].getElementsByTagName('p');
					// per ogni tag 'P'
					for (var numP=0;numP<parA.length;numP++) {
						// tutti i tag 'A' contenuti
						var linkA = parA[numP].getElementsByTagName('a');
						// per ogni tag 'A'
						for (var numL=0;numL<linkA.length;numL++) {
							// se non e' il primo
							if(numL>0) { 
								// assegna stile 'nuovoStile'
								linkA[numL].className = nuovoStile; // OK: IE, Moz, FF, NN, Op
								//linkA[numL].setAttribute("class", nuovoStile); // NO: IE
							}
						}
						
					}
					// break; fermo il ciclo
				}
			}
		}
	}
//-->

<!--
//	based on Peter-Paul Koch's 'Last modified date' script
//	http://www.quirksmode.org/
	function lastMod(pathF) {
		var x = new Date (pathF.lastModified);
		Modif = new Date(x.toGMTString());
		Year = takeYear(Modif);
		Month = Modif.getMonth();
		Day = Modif.getDate();
		Mod = (Date.UTC(Year,Month,Day,0,0,0))/86400000;
		x = new Date();
		today = new Date(x.toGMTString());
		Year2 = takeYear(today);
		Month2 = today.getMonth();
		Day2 = today.getDate();
		now = (Date.UTC(Year2,Month2,Day2,0,0,0))/86400000;
		daysago = now - Mod;
		if (daysago < 0) return '';
		unit = 'giorni';
		if (daysago > 730) {
			daysago = Math.floor(daysago/365);
			unit = 'anni';
		} 
		else if (daysago > 60) {
			daysago = Math.floor(daysago/30);
			unit = 'mesi';
		}
		else if (daysago > 14) {
			daysago = Math.floor(daysago/7);
			unit = 'settimane'
		}
		var towrite = 'pagina modificata ';
		if (daysago == 0) towrite += 'oggi';
		else if (daysago == 1) towrite += 'ieri';
		else towrite += daysago + ' ' + unit + ' fa';
		return towrite;
	}
	
	
	function takeYear(theDate) {
		x = theDate.getYear();
		var y = x % 100;
		y += (y < 38) ? 2000 : 1900;
		return y;
	}
//-->

<!--
//	based on Peter-Paul Koch's 'Image replacement' script
//	http://www.quirksmode.org/ 
//	onload run the function init()
	function init() {
		var W3CDOM = (document.createElement && document.getElementsByTagName);
		if (!W3CDOM) return;
		var test = new Image();
		var tmp = new Date();
		var suffix = tmp.getTime();
		test.src = 'pix/fir_assumptions.gif?'+suffix;
		test.onload = imageReplacement;
	}
	
	function imageReplacement() {
		replaceThem(document.getElementsByTagName('h3'));
	}
	
	function replaceThem(x) {
		var replace = document.createElement('img');
		for (var i=0;i<x.length;i++) {
			if (x[i].id) {
				var y = replace.cloneNode(true);
				y.src = 'pix/' + x[i].id + '.gif';
				y.alt = x[i].firstChild.nodeValue;
				x[i].replaceChild(y,x[i].firstChild);
			}
		}
	}
//-->