$().ready(function() { // funzione eseguita quando la pagina è pronta.

$("#wg-loader").hide(); // nascondiamo il loader

function processXmlWG(responseXML){
    var message = $('message', responseXML).text();   // valore del nodo message
    var status  = $('status', responseXML).text(); // valore del nodo status
    $("#wg-loader").hide(); // nascondiamo il loader 
    if (status != "error") // se non è un errore
    {
      $('#submitForm').clearForm();  // clear del form
      $("#wg-submitResponse").html(message); // scrittura del messaggio
    }
    else 
    // caso di errore (molto raro perchè è un crash del server oppure l'invio di un form non validato)
    {
     $("#wg-submitResponse").html(message); 
     $("#send").show();
    }
}

// settiamo le regole di validazione per il form con id submitForm
$("#submitForm").validate({
   submitHandler: function(form) {    // quanto il form è validato viene eseguita questa funzione (per l'invio effettivo del post)
        $("#send").hide();  // nascondiamo il pulsante INVIA
        $("#wg-loader").show();  // mostriamo il loader
        document.getElementById("tracking").src = "./tracking.html";  // questo è complesso.. serve per google ADWORDS (per ora ignorare)
        $(form).ajaxSubmit({dataType: 'xml', success: processXmlWG}); // diciamo di fare il submit del form in AJAX in modalità XML e 
	                                                                  // che il risultato debba essere elaborato dalla funzione processXmlWG
		return false;

	},
		// regole di validazione sono abbastanza intuitive direi...
		rules: {
			nome: "required",
			cognome: "required",			
			telefono: {
			    required: true,
				number:true,
                minlength: 8,
                maxlength: 15
			},
  	        email: {
				required: true,
				email: true
			},
			informativa_accettata: "required"
		},
		errorPlacement: function(error, element) {

                 error.prependTo( element.parent("div").next("div") );

        },

		// messaggi di errore da mostrare in caso di validazione non andata a buon fine
		// NOTA in questo caso l'unica cosa che appare è per Informativa perchè il form è piccolo e non c'è spazio per altro
		// ma in altre situazioni è possibile far apparire scritte tipo "Specificare un email valida"
		messages: {  
			nome: "",
			cognome: "",
			telefono: "",
            email: "",
            informativa_accettata: "Richiesto: "
		}
   });
});
