//<script>
/*--------------------------*/
var vgCampoErrore = "";

function VerificaMail(Campo) {
    return VerificaCampo(Campo, /^\w+([\.\-]\w+)*@\w+([\.\-]\w+)*\.\w+$/, "L'indirizzo di e-mail deve essere nel formato nome@dominio.com");
}
/*--------------------------*/

function VerificaCampo(Campo, MatchStr, ErrorStr) {
    var vbGood = true;
    var    vsResult;

    // copia il valore passato in una stringa
    vsValore = new String(Campo.value);
    vbGood = ((vsValore == "") || (vsValore.search(MatchStr) != -1));

    // verifica se c'e' un campo in errore
    if ((vgCampoErrore != "") && (vgCampoErrore == Campo.name)) {
        // verifica se togliere l'errore
        if (vbGood)
            vgCampoErrore = "";
        else
            Campo.focus();
    }

    // altrimenti ...
    else if ((vgCampoErrore == "") && (!vbGood)) {
        // visulizza il messaggio
        if (ErrorStr != "")
            alert("Il valore <" + Campo.value + "> non e' valido.\n" + ErrorStr);
        else
            alert("Il valore <" + Campo.value + "> non e' valido.");

        // imposta il nome del campo di errore
        vgCampoErrore = Campo.name;
        Campo.focus();
    }

    // ritorna il risultato della verifica
    return vbGood;
}
/*--------------------------*/
function VerificaCampi(ListaCampi, ListaDescrizioni) {
	var CampiOb;

	// crea il vettore dei campi da controllare
	CampiOb = ListaCampi.split(":");
	NomeCampi = ListaDescrizioni.split(":");
	
	NomeForm = document.forms[0];
	
	// se uno dei campi e' vuoto visualizza l'errore
	// e torna falso
	for (i=0; i < CampiOb.length; i++) {
		if (NomeForm[CampiOb[i]].value == "" &&
		    NomeForm[CampiOb[i]].type != "submit" &&
		    NomeForm[CampiOb[i]].type != "reset" &&
		    NomeForm[CampiOb[i]].type != "button" &&
		    NomeForm[CampiOb[i]].type != "hidden" &&
		    NomeForm[CampiOb[i]].type != "select") {
		
			alert("Il campo " + NomeCampi[i] + " è vuoto!");
			NomeForm[CampiOb[i]].focus();
			return false;
	}
	
	if (NomeForm[CampiOb[i]].type == "select")
	    if (NomeForm[CampiOb[i]].options.selectedIndex == "" ||
	        NomeForm[CampiOb[i]].options.selectedIndex == -1) {
			
			alert("Il campo " + NomeCampi[i] + " è vuoto!");
			NomeForm[CampiOb[i]].focus();
			return false;
	    }
	}
	// i campi richiesti sono ok!
	return true;
}
/*--------------------------*/
function countChars(campo, caratteri, contatore){
    var theForm = document.forms[0];
    var campoControllo = eval ('theForm.' + campo);
    var campoContatore = eval ('theForm.' + contatore);
    var textLength = campoControllo.value.length;    
    var arrValue = campoControllo.value.split("?");
    var adjustedLength = (arrValue.length - 1) + textLength;
    var returnValue;
    
   if (adjustedLength > caratteri){
      alert("Puoi inserire solo " + caratteri + " caratteri per questo campo!");
      returnValue = campoControllo.value.substr(0, caratteri-1);
      campoControllo.value = returnValue;
   }     

    campoContatore.value = caratteri - adjustedLength;
    
}
/*--------------------------*/
function invia(){
	with (document.forms[0]) {
		if(!legge.checked){
			alert('Devi approvate la legge 675/96!');
			return;
		}// fine if
		if (!VerificaCampi("nome:cognome:via:citta:provincia:cap:email:telefono","Nome:Cognome:Via:Citta:Provincia:Cap:Email:Telefono")){
               	return;
		}// fine if
		if (!VerificaMail(email)){
                    	return;
		}// fine if
		procedi.value = 'Procedi';
		submit();
	}// fine with
}// fine funzione
/*--------------------------*/
function apriFinestra(name,larghezza,altezza){

//var larghezza = 600;
//var altezza = 500;

var x = (screen.width -larghezza)/2

var y = (screen.height - altezza)/2

var finestra=window.open(name,'ingrandimento','width=' + larghezza +',height=' + altezza + ', toolbar=no, directories=no, location=no, status=no, menubar=no, copyhistory=no, scrollbars=yes, resizable=yes')

finestra.moveTo(x,y);

finestra.focus();

}
/*--------------------------*/