function display(id){
	el =document.getElementById(id);
	if(el.style.display == 'none')
		el.style.display = 'block';
	else
		el.style.display = 'none';
}

function chiudiAlert() {
	document.getElementById('loader_container').style.display='none';	
}

function recupera_dati(lang){
		var err = "";
		var doc = document.commLogin;
		if(doc.email.value == doc.email.defaultValue ) {
			err="Il campo mail e' obbligatorio!";
		}

		if(err==""){
			var a=document.getElementById("log_action");
			a.value="recupera";
			doc.submit();
		} else {
			alert(err);
		}
}

function validaCommLogin(lang){
		var err = "";
		var doc = document.commLogin;
		if(doc.email.value == doc.email.defaultValue || doc.psw.value == doc.psw.defaultValue) {
			if(lang == "IT") err+="Tutti i campi sono obbligatori\n";
			else if(lang == "UK") err+="All fields are required\n";
			else if(lang == "DE") err+="Alle Felder sind erforderlich\n";
			else if(lang == "FR") err+="Tous les champs sont obligatoires\n";
			else if(lang == "ES") err+="Todos los campos son obligatorios\n";
		}

		if(err==""){
			var a=document.getElementById("log_action");
			a.value="login";
			doc.submit();
		} else {
			alert(err);
		}
}

function validaRegSubmit(){
		rexp=new RegExp("[^a-zA-Z0-9]","g");
		lang='IT';
		var err = "";
		var doc = document.commRegSubmit;
		if(doc.nome.value == '' || doc.cognome.value == '' || doc.ruolo.value == ''  || doc.email.value == ''  || doc.psw.value == '' || doc.cpsw.value == '' || doc.gg.value == "gg" || doc.mm.value == "mm" || doc.anno.value == "anno"){
			if(lang == "IT") err+="Compila tutti i campi\n";
			else if(lang == "UK") err+="All fields are required\n";
			else if(lang == "DE") err+="Alle Felder sind erforderlich\n";
			else if(lang == "FR") err+="Tous les champs sont obligatoires\n";
			else if(lang == "ES") err+="Todos los campos son obligatorios\n";
		}
		emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/;
		if (!emailRe.test(doc.email.value))
			err+="Il formato della email non e' valido.\n";
		
		var pw=doc.psw.value;

		if (pw!=doc.cpsw.value) 
			err+="Le due password digitate sono differenti\n";
		else
			if ((pw.length<5)||(pw.length>16)) err+="La password deve essere alfanumerica ed avere un minimo di 5 caratteri ed un massimo di 16\n";
				else
					if (rexp.test(pw)) err+="La password puo' contenere solo lettere o numeri\n";
	
		
		if(err==""){
			doc.submit();
		} else {
			alert(err);
		}
}
function validacambioPassword(){
		rexp=new RegExp("[^a-zA-Z0-9]","g");
		lang='IT';
		var err = "";
		var doc = document.commRegSubmit;
		if(doc.psw.value == doc.psw.defaultValue || doc.new_psw.value == doc.new_psw.defaultValue || doc.cnew_psw.value == doc.cnew_psw.defaultValue){
			if(lang == "IT") err+="Compila tutti i campi\n";
			else if(lang == "UK") err+="All fields are required\n";
			else if(lang == "DE") err+="Alle Felder sind erforderlich\n";
			else if(lang == "FR") err+="Tous les champs sont obligatoires\n";
			else if(lang == "ES") err+="Todos los campos son obligatorios\n";
		}
		var pw=doc.new_psw.value;

		if (pw!=doc.cnew_psw.value) 
			err+="Le due password digitate sono differenti\n";
		else
			if ((pw.length<5)||(pw.length>16)) err+="La password deve essere alfanumerica ed avere un minimo di 5 caratteri ed un massimo di 16\n";
				else
					if (rexp.test(pw)) err+="La password puo' contenere solo lettere o numeri\n";
	
		
		if(err==""){
			doc.submit();
		} else {
			alert(err);
		}
}

function validaCodice(lang){
		var err = "";
		var doc = document.commReg;

		if(doc.codice.value == doc.codice.defaultValue) {
			if(lang == "IT") err+="Tutti i campi sono obbligatori\n";
			else if(lang == "UK") err+="All fields are required\n";
			else if(lang == "DE") err+="Alle Felder sind erforderlich\n";
			else if(lang == "FR") err+="Tous les champs sont obligatoires\n";
			else if(lang == "ES") err+="Todos los campos son obligatorios\n";
		}

		if(err==""){
			doc.submit();
		} else {
			alert(err);
		}
}

function validaLogin(lang){
		var err = "";
		var doc = document.formLogin;
		if(doc.email.value == doc.email.defaultValue || doc.psw.value == doc.psw.defaultValue) {
			if(lang == "IT") err+="Tutti i campi sono obbligatori\n";
			else if(lang == "UK") err+="All fields are required\n";
			else if(lang == "DE") err+="Alle Felder sind erforderlich\n";
			else if(lang == "FR") err+="Tous les champs sont obligatoires\n";
			else if(lang == "ES") err+="Todos los campos son obligatorios\n";
			

		}

		if(err==""){
			doc.submit();
		} else {
			alert(err);
		}
}
function validaRegPrivato(lang){
		var err = "";
		//if(document.contatto.privacy.checked == false){
		if(!document.form.privacy.checked){
				if(lang == "IT") err+="Senza accettazione dell' Informativa per il trattamento dei dati personali non e' possibile proseguire con la Richiesta\n";
				else if(lang == "UK") err+="Without accepting the Data Processing of your Personal Dates it is not possible to complete your request.\n";
				else if(lang == "DE") err+="Ohne die Annahme der Datenverarbeitung Ihrer persönlichen Daten ist es nicht möglich, Ihre Anfrage.\n";
				else if(lang == "FR") err+="Sans accepter le traitement de vos données personnelles publiques, il n'est pas possible de traiter votre demande.\n";
				else if(lang == "ES") err+="Sin la aceptación de la elaboración de datos personales de sus fechas no es posible completar la solicitud.\n";
				
		}

		var doc = document.form;
		if(doc.nome.value == doc.nome.defaultValue || doc.email.value == doc.email.defaultValue || doc.cognome.value == doc.cognome.defaultValue) {
			if(lang == "IT") err+="I campi contrassegnati con * sono obbligatori\n";
			else if(lang == "UK") err+="*Required fields\n";
			else if(lang == "DE") err+="Die mit * gekennzeichneten Felder müssen ausgefüllt werden\n";
			else if(lang == "FR") err+="* indique un champ obligatoire\n";
			else if(lang == "ES") err+="Los campos marcados con el asterisco son obligatorios\n";
			
		} else if(doc.tipo[0].checked && doc.azienda.value == doc.azienda.defaultValue) {
			if(lang == "IT") err+="I campi contrassegnati con * sono obbligatori\n";
			else if(lang == "UK") err+="*Required fields\n";
			else if(lang == "DE") err+="Die mit * gekennzeichneten Felder müssen ausgefüllt werden\n";
			else if(lang == "FR") err+="* indique un champ obligatoire\n";
			else if(lang == "ES") err+="Los campos marcados con el asterisco son obligatorios\n";
		}

		if(err==""){
			doc.submit();
		} else {
			alert(err);
		}
}
function validaRivenditori(lang){
		var err = "";
		//if(document.contatto.privacy.checked == false){
		if(!document.form.privacy.checked){
				if(lang == "IT") err+="Senza accettazione dell' Informativa per il trattamento dei dati personali non e' possibile proseguire con la Richiesta \n";
				else if(lang == "UK") err+="Without accepting the Data Processing of your Personal Dates it is not possible to complete your request.\n";
				else if(lang == "DE") err+="Ohne die Annahme der Datenverarbeitung Ihrer persönlichen Daten ist es nicht möglich, Ihre Anfrage.\n";
				else if(lang == "FR") err+="Sans accepter le traitement de vos données personnelles publiques, il n'est pas possible de traiter votre demande.\n";
				else if(lang == "ES") err+="Sin la aceptación de la elaboración de datos personales de sus fechas no es posible completar la solicitud.\n";
		}

		var doc = document.form;
		if(doc.Email.value == doc.Email.defaultValue) {
			if(lang == "IT") err+="I campi contrassegnati con * sono obbligatori\n";
			else if(lang == "UK") err+="*Required fields\n";
			else if(lang == "DE") err+="Die mit * gekennzeichneten Felder müssen ausgefüllt werden\n";
			else if(lang == "FR") err+="* indique un champ obligatoire\n";
			else if(lang == "ES") err+="Los campos marcados con el asterisco son obligatorios\n";
		}

		if(err==""){
			doc.submit();
		} else {
			alert(err);
		}
}
function validaLavora(lang){
		var err = "";
		//if(document.contatto.privacy.checked == false){
		if(!document.form.privacy.checked){
				if(lang == "IT") err+="Senza accettazione dell' Informativa per il trattamento dei dati personali non &egrave; possibile proseguire con la Richiesta <br />";
				else if(lang == "UK") err+="Without accepting the Data Processing of your Personal Dates it is not possible to complete your request.\n";
				else if(lang == "DE") err+="Ohne die Annahme der Datenverarbeitung Ihrer persönlichen Daten ist es nicht möglich, Ihre Anfrage.\n";
				else if(lang == "FR") err+="Sans accepter le traitement de vos données personnelles publiques, il n'est pas possible de traiter votre demande.\n";
				else if(lang == "ES") err+="Sin la aceptación de la elaboración de datos personales de sus fechas no es posible completar la solicitud.\n";
		}

		var doc = document.form;
		if(doc.cognome.value == doc.cognome.defaultValue || doc.nome.value == doc.nome.defaultValue || doc.email.value == doc.email.defaultValue || doc.nazionalita.value == doc.nazionalita.defaultValue || doc.data_nascita.value == doc.data_nascita.defaultValue || doc.luogo_nascita.value == doc.luogo_nascita.defaultValue || doc.cap.value == doc.cap.defaultValue || doc.indirizzo.value == doc.indirizzo.defaultValue || doc.citta.value == doc.citta.defaultValue || doc.provincia.value == doc.provincia.defaultValue) {
			if(lang == "IT") err+="I campi contrassegnati con * sono obbligatori\n";
			else if(lang == "UK") err+="*Required fields\n";
			else if(lang == "DE") err+="Die mit * gekennzeichneten Felder müssen ausgefüllt werden\n";
			else if(lang == "FR") err+="* indique un champ obligatoire\n";
			else if(lang == "ES") err+="Los campos marcados con el asterisco son obligatorios\n";
		}

		
		if(err==""){
			doc.submit();
		} else {
			if(lang == "IT") titolo="Form contattaci";
			else titolo="Contact form";
			
			inner='<span class="BoldArancio" style="font-size: 14px;">' + titolo + '</span><br />&nbsp;<br />' + err + '<br />&nbsp;<br /><a href="javascript: chiudiAlert();"><img src="images/CHIUDI_' + lang + '.gif" border="0" /></a>';

			document.getElementById('loaderText').innerHTML = inner;
			document.getElementById('loader_container').style.display = 'block';
		}
}
function validaContatto(lang){
		var err = "";
		//if(document.contatto.privacy.checked == false){
		if(!document.form.privacy.checked){
				if(lang == "IT") err+="Senza accettazione dell' Informativa per il trattamento dei dati personali non &egrave; possibile proseguire con la Richiesta <br />";
				else if(lang == "UK") err+="Without accepting the Data Processing of your Personal Dates it is not possible to complete your request.\n";
				else if(lang == "DE") err+="Ohne die Annahme der Datenverarbeitung Ihrer persönlichen Daten ist es nicht möglich, Ihre Anfrage.\n";
				else if(lang == "FR") err+="Sans accepter le traitement de vos données personnelles publiques, il n'est pas possible de traiter votre demande.\n";
				else if(lang == "ES") err+="Sin la aceptación de la elaboración de datos personales de sus fechas no es posible completar la solicitud.\n";
		}

		var doc = document.form;
		if(doc.Cognome.value == doc.Cognome.defaultValue || doc.Nome.value == doc.Nome.defaultValue || doc.Email.value == doc.Email.defaultValue) {
			if(lang == "IT") err+="I campi contrassegnati con * sono obbligatori<br />";
			else if(lang == "UK") err+="*Required fields<br />";
			else if(lang == "DE") err+="Die mit * gekennzeichneten Felder müssen ausgefüllt werden<br />";
			else if(lang == "FR") err+="* indique un champ obligatoire<br />";
			else if(lang == "ES") err+="Los campos marcados con el asterisco son obligatorios<br />";
		}
		
		if(doc.TipoRichiesta.options[doc.TipoRichiesta.selectedIndex].value == 'Registrazione rivenditore' && doc.Azienda.value == doc.Azienda.defaultValue) {
			if(lang == "IT") err+="I campi contrassegnati con ** sono obbligatori<br />";
			else if(lang == "UK") err+="** Required fields<br />";
			else if(lang == "DE") err+="Die mit ** gekennzeichneten Felder müssen ausgefüllt werden<br />";
			else if(lang == "FR") err+="** indique un champ obligatoire<br />";
			else if(lang == "ES") err+="Los campos marcados con el ** son obligatorios<br />";
		}

		
		if(err==""){
			doc.submit();
		} else {
			if(lang == "IT") titolo="Form contattaci";
			else titolo="Contact form";
			
			inner='<span class="BoldArancio" style="font-size: 14px;">' + titolo + '</span><br />&nbsp;<br />' + err + '<br />&nbsp;<br /><a href="javascript: chiudiAlert();"><img src="images/CHIUDI_' + lang + '.gif" border="0" /></a>';

			document.getElementById('loaderText').innerHTML = inner;
			document.getElementById('loader_container').style.display = 'block';
		}
}
function validaRecuperaPassword(lang){
		var err = "";
		//if(document.contatto.privacy.checked == false){
		if(!document.form.privacy.checked){
				if(lang == "IT") err+="Senza accettazione dell' Informativa per il trattamento dei dati personali non &egrave; possibile proseguire con la Richiesta <br />";
				else if(lang == "UK") err+="Without accepting the Data Processing of your Personal Dates it is not possible to complete your request.\n";
				else if(lang == "DE") err+="Ohne die Annahme der Datenverarbeitung Ihrer persönlichen Daten ist es nicht möglich, Ihre Anfrage.\n";
				else if(lang == "FR") err+="Sans accepter le traitement de vos données personnelles publiques, il n'est pas possible de traiter votre demande.\n";
				else if(lang == "ES") err+="Sin la aceptación de la elaboración de datos personales de sus fechas no es posible completar la solicitud.\n";
		}

		var doc = document.form;
		if(doc.Cognome.value == doc.Cognome.defaultValue || doc.Nome.value == doc.Nome.defaultValue || doc.Azienda.value == doc.Azienda.defaultValue || doc.Telefono.value == doc.Telefono.defaultValue || doc.Email.value == doc.Email.defaultValue) {
			if(lang == "IT") err+="I campi contrassegnati con * sono obbligatori<br />";
			else if(lang == "UK") err+="*Required fields<br />";
			else if(lang == "DE") err+="Die mit * gekennzeichneten Felder müssen ausgefüllt werden<br />";
			else if(lang == "FR") err+="* indique un champ obligatoire<br />";
			else if(lang == "ES") err+="Los campos marcados con el asterisco son obligatorios<br />";
		}

		
		if(err==""){
			doc.submit();
		} else {
			if(lang == "IT") titolo="Form contattaci";
			else titolo="Contact form";
			alert(err);
			/*
			inner='<span class="BoldArancio" style="font-size: 14px;">' + titolo + '</span><br />&nbsp;<br />' + err + '<br />&nbsp;<br /><a href="javascript: chiudiAlert();"><img src="images/CHIUDI_' + lang + '.gif" border="0" /></a>';

			document.getElementById('loaderText').innerHTML = inner;
			document.getElementById('loader_container').style.display = 'block';
			*/
		}
}
/*function validaContatto(lang){
		var err = "";
		//if(document.contatto.privacy.checked == false){
		if(!document.form.privacy.checked){
				if(lang == "IT") err+="Senza accettazione dell� Informativa per il trattamento dei dati personali non � possibile proseguire con la Richiesta \n";
				else err+="Without accepting the Data Processing of your Personal Dates it is not possible to complete your request.\n";
		}

		var doc = document.form;
		if(doc.Nome.value == doc.Nome.defaultValue || doc.Email.value == doc.Email.defaultValue || doc.Telefono.value == doc.Telefono.defaultValue) {
			if(lang == "IT") err+="I campi contrassegnati con * sono obbligatori\n";
			else err+="*Required fields\n";
		}

		if(err==""){
			doc.submit();
		} else {
			alert(err);
		}
}*/

function nulla() {}

function validaPrenotazione(lang){
		var err = "";
		if(document.prenotazione.privacy.checked == false){
				if(lang == "IT") err+="Senza accettazione dell' Informativa per il trattamento dei dati personali non &egrave; possibile proseguire con la Richiesta <br />";
				else if(lang == "UK") err+="Without accepting the Data Processing of your Personal Dates it is not possible to complete your request.\n";
				else if(lang == "DE") err+="Ohne die Annahme der Datenverarbeitung Ihrer persönlichen Daten ist es nicht möglich, Ihre Anfrage.\n";
				else if(lang == "FR") err+="Sans accepter le traitement de vos données personnelles publiques, il n'est pas possible de traiter votre demande.\n";
				else if(lang == "ES") err+="Sin la aceptación de la elaboración de datos personales de sus fechas no es posible completar la solicitud.\n";
		}
		if(document.prenotazione.contratto.checked == false){
				if(lang == "IT") err+="Senza accettazione delle Condizioni Generali di Servizio non &egrave; possibile proseguire la Richiesta di Ordine.\n";
				else if(lang == "UK") err+="Without accepting the General Service Conditions it is not possible to complete your booking successfully.\n";
				else if(lang == "DE") err+="Ohne die Annahme des Allgemeinen Dienstes Bedingungen ist es nicht m�glich, Ihre Buchung erfolgreich.\n";
				else if(lang == "FR") err+="Sans accepter les Conditions g�n�rales du service, il n'est pas possible d'achever avec succ�s vos r�servations.\n";
				else if(lang == "ES") err+="Sin aceptar las condiciones del cuadro de servicios generales no es posible completar con �xito su reserva.\n";
				
		}

		var doc = document.prenotazione;
		if(doc.NOME.value == '' || doc.COGNOME.value == '' || doc.TELEFONO.value == '' || doc.EMAIL.value == '') {
			if(lang == "IT") err+="I campi contrassegnati con * sono obbligatori<br />";
			else if(lang == "UK") err+="*Required fields<br />";
			else if(lang == "DE") err+="Die mit * gekennzeichneten Felder müssen ausgefüllt werden<br />";
			else if(lang == "FR") err+="* indique un champ obligatoire<br />";
			else if(lang == "ES") err+="Los campos marcados con el asterisco son obligatorios<br />";

		} else {
			k=0;
			for(i=0; i < doc.Ntour.value ; i++) {
				if(document.forms['prenotazione'].elements['data_partenza_arrivo_'+i].value == "") k++;	
				if(document.forms['prenotazione'].elements['n_passeggeri_'+i].value == "") k++;
			}
			if(k>0) {
			if(lang == "IT") err+="I campi contrassegnati con * sono obbligatori<br />";
			else if(lang == "UK") err+="*Required fields<br />";
			else if(lang == "DE") err+="Die mit * gekennzeichneten Felder müssen ausgefüllt werden<br />";
			else if(lang == "FR") err+="* indique un champ obligatoire<br />";
			else if(lang == "ES") err+="Los campos marcados con el asterisco son obligatorios<br />";

			}
		}

		if(err==""){
			return true;
		} else {
			alert(err);
			return false;
		}
}

function controllo_frame(URL){
	if (window.top.document.title == window.document.title ) {
		location.replace(URL)
	}
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function popup(name,fin,width,height) 
{ 
var w=width; 
var h=height; 
var x=(screen.availWidth-w)/2; 
var y=(screen.availHeight-h)/2; 
var finestra=window.open(name,fin,'scrollbars=yes,resizable=yes,width='+w+',height='+h+',left='+x+',top='+y); 
} 

function popup_full(name,fin) 
{ 
var w=(screen.availWidth)-10; 
var h=(screen.availHeight)-35; 
var finestra=window.open(name,fin,'scrollbars=yes,resizable=yes,width='+w+',height='+h+',left=0,top=0'); 
} 

function popup_no(name,fin,width,height) 
{ 
var w=width; 
var h=height; 
var x=(screen.availWidth-w)/2; 
var y=(screen.availHeight-h)/2; 
var finestra=window.open(name,fin,',width='+w+',height='+h+',left='+x+',top='+y); 
} 

function controllaData(strData){
	re=/^\d{1,2}\/\d{1,2}\/\d{4}$/
	if(re.test(strData)){
		aData = strData.split('/')
		aData[0]=parseInt(aData[0],10)
		aData[1]=parseInt(aData[1],10)
		aData[2]=parseInt(aData[2],10)
		data = new Date(aData[2],aData[1]-1,aData[0])
		return (data.getDate()==aData[0] && data.getMonth()==(aData[1]-1) && data.getFullYear()==aData[2])
	}
	else return false
}

function ritorna_id(theForm,check){
  cont=0;
  cc=document.forms[theForm].elements[check];
  if(cc.length){
		for (var i=0;i<cc.length;i++){ 
			  var e = cc[i];
			  if(e.checked){
					ID=e.value;
					return ID;
					cont++;
			  }
		}
  } else {
	  if(cc.checked){
			ID=cc.value;
			return ID;
			cont++;
	  }
  }
  if(cont==0) {
		return ID=0;
   }
}


function popupFoto(fin,sezione, foto, titolo) { 
	var URL = sezione +"/"+ foto;
	searchWin=window.open(URL,fin,""+
	"width=100"+
	",height=100"+
	",top=0"+
	",left=0"+
	",scrollbar=no"+
	",status=no"+
	",menubar=no"+
	",toolbar=no"+
	",directories=no"+
	",location=no"+
	",resizable=no"+
	""); 
	searchWin.blur();
	pag = ""+
	"<title>"+titolo+"</title>\n"+
	"<META HTTP-EQUIV=\"imagetoolbar\" CONTENT=\"no\">\n"+
	"<scr"+"ipt>\n"+
	"window.focus();\n"+
	"function adatta(w,h) {\n"+
	"window.resizeTo(w,h);\n"+
		"window.moveTo(Math.round((screen.width-w)/2), Math.round((screen.height-h)/2));\n"+
	"}\n"+
	"</scr"+"ipt>\n"+
	"<body style=\"margin:0px;padding:0px;border:none 0px;\" scroll=\"no\">\n"+
	"<img src=\""+URL+"\" onload=\"adatta(this.width+6,this.height+57);\">\n"+
	"</body>\n"+
	""; 
	searchWin.document.open();
	searchWin.document.write(pag); 
	searchWin.document.close();
}

function number_format(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num)) num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10) cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) {
		num = num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));
	}
	return (((sign)?'':'-') + num + ',' + cents);
}

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 valido.\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 fra '+min+' e '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' sono richiesti.\n'; }
  } if (errors) alert('Si sono presentati i seguenti errori:\n'+errors);
  document.MM_returnValue = (errors == '');
}
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_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}
