function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

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_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else 
countfield.value = maxlimit - field.value.length;
}


//******************************
//
//	  Messaggi di allarme
//
//*****************************


function alert_and_continue(path, messaggio) {
   
   var del = confirm(""+messaggio+"");

	 if (del==true) {
	    comando=path;
 	 	window.open(comando,"_self");
	 }
   return false;
}



//************************************
function roll(msg) {
window.status = msg
return true
}


//************************************
function isBlank( cArg )
{
while ( cArg.length > 0 && cArg.charAt( cArg.length - 1 ) == " " ) {
	cArg = cArg.substring( 0, cArg.length - 1 );
	}
return cArg == "";
}


//*************************************
function evidenzia(oggetto, flag) {

if (flag == 1) {
	oggetto.style.backgroundColor = "#404080"
} else {
	oggetto.style.backgroundColor = "#6A6BA9"
}

}


//*************************************
function DataOdierna() {
var Oggi = new Date()
var GiorniDellaSettimana = new Array("Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato")
var Mesi = new Array("Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre")
var GiornoDellaSettimana
var GiornoDelMese
var Mese
var Anno
var Ore
var Minuti
var Secondi


GiornoDellaSettimana = GiorniDellaSettimana[Oggi.getDay()]
GiornoDelMese = Oggi.getDate()
Mese = Mesi[Oggi.getMonth()]
Anno = Oggi.getFullYear()
Ore = Oggi.getHours()
Minuti = Oggi.getMinutes()
Secondi = Oggi.getSeconds()


return GiornoDellaSettimana + " " + GiornoDelMese + " " + Mese + " " + Anno // + " " + Ore + ":" + Minuti + ":" + Secondi

}


//*************************************
var arrayOpzioni	//ciascun elemento dell'array arrayOpzioni deve essere un array con le opzioni corrispondenti al rispettivo valore nella select di origine (src)

function sincronizzaSelect(src, dest) {
var i;
var opt;
var l;

// Azzera la select correlata
l = dest.options.length
for (i=0;i<l;i++) {
	dest.options[0]=null;
}

// Carica la select correlata con i nuovi valori
for (i=0;i<arrayOpzioni[src.selectedIndex].length;i++) {
	opt = new Option (arrayOpzioni[src.selectedIndex][i]);
	opt = new Option (arrayOpzioni[src.selectedIndex][i][0]);
	opt.value = arrayOpzioni[src.selectedIndex][i][1]
	dest.options[i] = opt;
}

}



//*************************************
function winpopup(URL, width, height) {
if(width == null) { width = "" }
if(height == null) { height = "" }
var w = window.open(URL, "winpopup", "toolbar=no,location=no,directories=no,status=no,menubar=no,width=" + width + ",height=" + height + ",scrollbars=auto")
}


//*************************************
// Genera il tag mailto e l'indirizzo di e-mail in modo da evitare spamming
function formatEmailAddr(name, domain) {
document.write('<a href=\"mailto:' + name + '@' + domain + '\">');
document.write(name + '@' + domain + '</a>');

}


//*************************************
// Visualizza o meno un elemento (DIV) sulla pagina
function visualizzaOnOff(ID) {
	var oggetto = document.getElementById(ID);
	
	if (oggetto.style.display == "none") {
		oggetto.style.display = "block"
	} else {
		oggetto.style.display = "none"
	}
}



function toggleLayer( whichLayer )
{
  var elem, vis;
  if( document.getElementById ) // this is the way the standards work
    elem = document.getElementById( whichLayer );
  else if( document.all ) // this is the way old msie versions work
      elem = document.all[whichLayer];
  else if( document.layers ) // this is the way nn4 works
    elem = document.layers[whichLayer];
  vis = elem.style;
  // if the style.display value is blank we try to figure it out here
  if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
    vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
  vis.display = (vis.display==''||vis.display=='block')?'none':'block';
}


function hideLayer( whichLayer )
{
  var elem, vis;
  if( document.getElementById ) // this is the way the standards work
    elem = document.getElementById( whichLayer );
  else if( document.all ) // this is the way old msie versions work
      elem = document.all[whichLayer];
  else if( document.layers ) // this is the way nn4 works
    elem = document.layers[whichLayer];
  vis = elem.style;
  // if the style.display value is blank we try to figure it out here
  if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
    vis.display = 'none';
  vis.display = 'none';
}

//*************************************
// Scambia immagini
function cambiaImmagine(objImmagine, NuovaImmagine) {
	objImmagine.src= NuovaImmagine
}

function visualizzaOnOff2(menu) {
	var display = menu.style.display;
	var uls = document.getElementsByTagName("ul");
	for (i=0;i<uls.length;i++) {
		if(uls[i].className=="sottomenu")uls[i].style.display = "none";
	}
	menu.style.display = (display == "block") ? "none" : "block";
}

