///javascript per il menu espandibile con massimo un livello aperto
prev="null";

function caricaMenu(){
if(document.getElementsByTagName && document.getElementById){
    document.getElementById("nav").className="jsenable";
    BuildList();
    }
}

function BuildList(){
var hs=document.getElementById("nav").getElementsByTagName("h3");

// verifica se c'è un h3 già aperto, nel qual caso lo memorizza come prev
for(var i=0;i<hs.length;i++){
        if( hs[i].parentNode.className=="show"){ prev=hs[i].parentNode;}
    }

// attribuisce a ogni pulsante h3 questa funzione la clik
for(var i=0;i<hs.length;i++){
    hs[i].onclick=function(){
		// verifica che l'h3 cliccato sia diverso da quello già aperto: nel qual caso lo apre
        if(this.parentNode.className!="show"){
            this.parentNode.className="show";
			// se c'è un precedente aperto diverso da quello corrente lo chiude
            if(prev&&prev!=this.parentNode) prev.className="hide";
			// memorizza il numero di indice del h3 aperto corrente
            prev=this.parentNode;
            }
			// altrimenti lo chiude
        else this.parentNode.className="hide";
        }
    }

}




// funziona macromedia per il controllo dei form
function MM_findObj(n, d) { //v4.01
  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' deve contenere un indirizzo e-mail.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' deve contenere un numero.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' deve contenere un numero tra '+min+' e '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' è necessario.\n'; }
  } if (errors) alert('I seguenti campi sono obbligatori:\n'+errors);
  document.MM_returnValue = (errors == '');
}



// funzioni che aprono e chiudono finestre popup
function apriFinestra(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
//  winame.focus();
}
function chiudiFinestra() { //v2.0
  window.close();
}


// funzione che intercetta tutti i link della pagina con class="_blank" 
// e li sostituisce con l'attributo target="_blank"
function intercetta() { 
    for (var i=0; i<document.links.length; i++)
        if (document.links[i].className=="_blank") {
            document.links[i].target="_blank";
        } 
}

// funzione che inizializza: chiama tutte le funzioni da eseguire al caricamento della pagina
function init(){
caricaMenu();
intercetta();
}

window.onload=init;

// tutorial javascript:
// http://scriptasylum.com/tutorials/pageevents.html