
function getXMLHTTP() {
   var http_request;
   if (window.XMLHttpRequest) { // Mozilla, Safari,...
      http_request = new XMLHttpRequest();
      if (http_request.overrideMimeType) {
         http_request.overrideMimeType('text/xml');
      }
   } else if (window.ActiveXObject) { // IE
      try {
         http_request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
         try {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (e) {}
      }
   }
   if (!http_request) {
      alert('Impossibile creare una sessione XMLHTTP');
      return false;
   } else {
      return http_request;
   }
}

function clearForm() {

   var objnome = document.getElementById('nome');
   var objcognome = document.getElementById('cognome');
   var objazienda = document.getElementById('azienda');
   var objprofessione = document.getElementById('professione');
   var objcitta = document.getElementById('citta');
   var objemail = document.getElementById('email');
   var objtelefono = document.getElementById('telefono');
   var objfax = document.getElementById('fax');
   var objobj = document.getElementById('obj');
   var objmessaggio = document.getElementById('messaggio');
   var objinvia = document.getElementById('invia');
   var objerr = document.getElementById('err');
   
   objinvia.disabled = false;
   objnome.disabled = false;
   objcognome.disabled = false;
   objazienda.disabled = false;
   objemail.disabled = false;
   objtelefono.disabled = false;
   objfax.disabled = false;
   objobj.disabled = false;
   objmessaggio.disabled = false;
   objprofessione.disabled = false;
   objcitta.disabled = false;

   objnome.value = '';
   objcognome.value = '';
   objazienda.value = '';
   objemail.value = '';
   objtelefono.value = '';
   objfax.value = '';
   objobj.value = 0;
   objmessaggio.value = '';
   objprofessione.value = '';
   objcitta.value = '';

   objerr.style.backgroundColor = '';
   objerr.innerHTML = '&nbsp;';
}

function doSendEmail() {
   var renum = /^[\d]+$/;
   
   var objnome = document.getElementById('nome');
   var objcognome = document.getElementById('cognome');
   var objazienda = document.getElementById('azienda');
   var objprofessione = document.getElementById('professione');
   var objcitta = document.getElementById('citta');
   var objemail = document.getElementById('email');
   var objtelefono = document.getElementById('telefono');
   var objfax = document.getElementById('fax');
   var objobj = document.getElementById('obj');
   var objmessaggio = document.getElementById('messaggio');
   
   var objinvia = document.getElementById('invia');
   
   var objerr = document.getElementById('err');

   if (http_request.readyState == 4) {
      if (http_request.status == 200) {
         if(!renum.test(http_request.responseText)) {
            objerr.innerHTML = '<p class="error">E-mail inviata correttamente. Le risponderemo appena possibile!</p>';
            setTimeout("mooAccordion.clearAndToggle(mooStretch[0], 0); mooTogs[0].className = 'stretchtoggle'; clearForm()",2000);

         } else {
            objinvia.disabled = false;
            objnome.disabled = false;
            objcognome.disabled = false;
            objazienda.disabled = false;
            objemail.disabled = false;
            objtelefono.disabled = false;
            objfax.disabled = false;
            objobj.disabled = false;
            objmessaggio.disabled = false;
            objprofessione.disabled = false;
            objcitta.disabled = false;
            
            objerr.style.backgroundColor = '#FFFF99';
            objerr.innerHTML = '<p class="error">Si &egrave; verificato un errore nell\'invio dell\'email!</p>';
         }
      } else {
         alert('Si è verificato un problema con la richiesta dei dati.');
      }
   }
}

function sendEmail() {

   var ok = true;

   var objnome = document.getElementById('nome');
   var objcognome = document.getElementById('cognome');
   var objazienda = document.getElementById('azienda');
   var objprofessione = document.getElementById('professione');
   var objcitta = document.getElementById('citta');
   var objemail = document.getElementById('email');
   var objtelefono = document.getElementById('telefono');
   var objfax = document.getElementById('fax');
   var objobj = document.getElementById('obj');
   var objmessaggio = document.getElementById('messaggio');
   
   var objinvia = document.getElementById('invia');
   
   var objerr = document.getElementById('err');
   
   var remail = /^([\w\-\+\.]+)@([\w\-\+\.]+)\.([\w\-\+\.]+)$/;
   var re = /^([\s]+)$/;
   var retel = /^[\d\/\-\.\+]+$/;
   var reobj = /[\d]+/;
   
   var errfinale = '<ul class="error">';
   
   if (objnome.value=='' || re.test(objnome.value)) {
      errfinale += '<li>Il campo <q>nome</q> è obbligatorio!</li>';
      objnome.style.backgroundColor = '#FFFF99';
      ok = false;
   } else {
      objnome.style.backgroundColor = '';
   }
   if (objcognome.value=='' || re.test(objcognome.value)) {
      errfinale += '<li>Il campo <q>nome</q> è obbligatorio!</li>';
      objcognome.style.backgroundColor = '#FFFF99';
      ok = false;
   } else {
      objcognome.style.backgroundColor = '';
   }
   if (!remail.test(objemail.value)) {
      errfinale += '<li>Il campo <q>e-mail</q> deve contenere un indirizzo email valido!</li>';
      objemail.style.backgroundColor = '#FFFF99';
      ok = false;
   } else {
      objemail.style.backgroundColor = '';
   }
   if (objtelefono.value!='' && !retel.test(objtelefono.value)) {
      errfinale += '<li>Inserire un numero valido nel campo <q>telefono</q>!</li>';
      objtelefono.style.backgroundColor = '#FFFF99';
      ok = false;
   } else {
      objtelefono.style.backgroundColor = '';
   }
   if (objfax.value!='' && !retel.test(objfax.value)) {
      errfinale += '<li>Inserire un numero valido nel campo <q>fax</q>!</li>';
      objfax.style.backgroundColor = '#FFFF99';
      ok = false;
   } else {
      objfax.style.backgroundColor = '';
   }
   if (!reobj.test(objobj.value) || objobj.value < 1 || objobj.value > 11) {
      errfinale += '<li>Scegliere un oggetto!</li>';
      objobj.style.backgroundColor = '#FFFF99';
      ok = false;
   } else {
      objobj.style.backgroundColor = '';
   }
   if (objmessaggio.value=='' || re.test(objmessaggio.value)) {
      errfinale += '<li>Inserire un messaggio!</li>';
      objmessaggio.style.backgroundColor = '#FFFF99';
      ok = false;
   } else {
      objmessaggio.style.backgroundColor = '';
   }
   errfinale += '</ul>';

   if(ok) {
      objinvia.disabled = true;
      
      objnome.disabled = true;
      objcognome.disabled = true;
      objazienda.disabled = true;
      objemail.disabled = true;
      objtelefono.disabled = true;
      objfax.disabled = true;
      objobj.disabled = true;
      objmessaggio.disabled = true;
      objprofessione.disabled = true;
      objcitta.disabled = true;
      
      objerr.style.backgroundColor = '#FFFF99';
      objerr.innerHTML = '<p class="error">Invio in corso...</p>';
      
      var requestUrl = url+'?invia=true&ajax=true&nome='+objnome.value+'&cognome='+objcognome.value+'&citta='+objcitta.value+'&professione='+objprofessione.value+'&email='+objemail.value+'&fax='+objfax.value+'&telefono='+objtelefono.value +'&obj='+objobj.value+'&azienda='+objazienda.value+'&messaggio='+objmessaggio.value;
         
      http_request = getXMLHTTP();
      if (http_request) {
         http_request.onreadystatechange = doSendEmail;
         http_request.open('GET', requestUrl, true);
         http_request.send(null);
      }
   } else {
      objerr.style.backgroundColor = '#FFFF99';
      objerr.innerHTML = errfinale;
   }

   return false;
}





















