$().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

			},

                indirizzo: "required",

                corso: "required",

  	        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: "",

            indirizzo: "",

            corso: "",

            email: "",

            informativa_accettata: "Richiesto: "

		}

   });

});
