var cts = true;

// crea l'oggetto per la comunicazione AJAX con il server
// compatibile con tutti i browser che supportano AJAX
function crea_http_req() {
    var req = false;
    if (typeof XMLHttpRequest != "undefined")
        req = new XMLHttpRequest();
    if (!req && typeof ActiveXObject != "undefined") {
        try {
            req=new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e1) {
            try {
                req=new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e2) {
                try {
                    req=new ActiveXObject("Msxml2.XMLHTTP.4.0");
                } catch (e3) {
                    req=null;
                }
            }
        }
    }

    if(!req && window.createRequest)
        req = window.createRequest();

    if (!req) alert("Il browser non supporta AJAX");

    return req;
}

// l'oggetto per comunicare con il server
var http_req = null;

// invia i dati del form al server
function submitContattaciForm() {
    if (cts)
    {
        cts = false;
        var dati_post = "nome=" +
                        encodeURIComponent(document.getElementById("nomeContattaci").value) +
                        "&telefono=" +
                        encodeURIComponent(document.getElementById("telefonoContattaci").value) +
                        "&email=" +
                        encodeURIComponent(document.getElementById("emailContattaci").value) +
                        "&richiesta=" +
                        encodeURIComponent(document.getElementById("richiestaContattaci").value) +
                        "&controllo=" +
                        encodeURIComponent(document.getElementById("controlloContattaci").value);
        http_req = crea_http_req();
        http_req.onreadystatechange = gestisci_risposta;
        http_req.open('POST', 'submitContattaci.php', true);
        http_req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        http_req.setRequestHeader("Content-length", dati_post.length);
        http_req.setRequestHeader("Connection", "close");
        http_req.send(dati_post);
    }
}

// recupero e gestisco la risposta inviata dal server
function gestisci_risposta() {
    if(http_req.readyState == 4) {
        var esito = http_req.responseText;
        switch(esito)
		{
        	case "ACK":
				alert("Messaggio inviato correttamente");
				clearForm(document.getElementById("preventivoForm"));
				break;
        	case "CM":
            	alert("Prego compilare i campi obbligatori");
				break;
			default:
				alert(esito);
		}
		cts = true;
    }
}

function clearForm(oForm) { 
	var formElements = new Array();
	formElements[0] = document.getElementById("nomeContattaci");
	formElements[1] = document.getElementById("telefonoContattaci");
	formElements[2] = document.getElementById("emailContattaci");
	formElements[3] = document.getElementById("richiestaContattaci");
	formElements[4] = document.getElementById("controlloContattaci");
	
	var index;

	for(i=0; i<formElements.length; i++)
	{
		field_type = formElements[i].type.toLowerCase();
		switch(field_type)
		{
			case "text": 
			case "password": 
			case "textarea":
	    	case "hidden":	
				formElements[i].value = formElements[i].defaultValue;
			break;
			case "radio":
			case "checkbox":
				formElements[i].checked = formElements[i].defaultChecked;
			break;
			case "select-one":
			case "select-multi":
				index = 0;
				for(j = 0; j < formElements[i].childNodes.length; j++)
				{
					if(formElements[i].childNodes[j].tagName == "OPTION")
					{
						if(formElements[i].childNodes[j].defaultSelected)
							break;
						index++;
					}
				}
            	formElements[i].selectedIndex = index;
			break;
			default: 
			break;
		}
    }
}

