//Gestione AJAX
// funzione per assegnare l'oggetto XMLHttpRequest
// compatibile con i browsers più recenti e diffusi
function GetXMLHttpRequest() 
{
 var XHR = null,
 browserUtente = navigator.userAgent.toUpperCase();

 // browser standard con supporto nativo
 // non importa il tipo di browser
 if(typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")
      XHR = new XMLHttpRequest();

 // browser Internet Explorer
 // Ã¨ necessario filtrare la versione 4
 else if(
    window.ActiveXObject &&
    browserUtente.indexOf("MSIE 4") < 0
 ) 
 
 {
  // la versione 6 di IE ha un nome differente
  // per il tipo di oggetto ActiveX
  if(browserUtente.indexOf("MSIE 5") < 0)
   XHR = new ActiveXObject("Msxml2.XMLHTTP");

  // le versioni 5 e 5.5 invece sfruttano lo stesso nome
  else
   XHR = new ActiveXObject("Microsoft.XMLHTTP");
 }

 return XHR;
}

function SendMail()
{
 var Sender = document.getElementById('txtSender').value;
 var Email = document.getElementById('txtEmail').value;
 var Body = document.getElementById('txtBody').value;
 var Argument = document.getElementById('hdnArgument').value;
 
 //Controllo Campi
 if (Sender.length = 0)
 	{
	 alert('Inserire il proprio nome e cognome.')
	 return false
	}
	
 if (Email.length = 0)
 	{
	 alert('Inserire la propria casella di posta elettronica')
	 return false
	}
 
 if (!CheckMail(Email))
 	{
	 alert('Inserire un\'indirizzo email valido.')
	 return false
	}
	
 if (Email.length = 0)
 	{
	 alert('Inserire il testo della propria richiesta.')
	 return false
	}
	
   //Settaggio Richiesta Server
  document.getElementById("divResponse").innerHTML = 'Invio in corso...';
  xmlHttp = GetXMLHttpRequest();
  xmlHttp.onreadystatechange = function () //Gestore Chiamata
          {
           if(xmlHttp.readyState == 4) 
              {
               if(xmlHttp.status == 200)
                  {
                   GetResult('SI',xmlHttp.responseText);
                  }
               else
                  {
                   alert('Errore nell\'invio dell\'email.')
                   return
                  }
           }
          }
  xmlHttp.open ("POST", "sendmail.aspx" , true);
  xmlHttp.setRequestHeader("content-type", "application/x-www-form-urlencoded");
  
  var strData = "Sender=" + Sender + "&Email=" + Email + "&Argument=" + Argument + "&Body=" + Body;
  xmlHttp.send(strData);	
}

function CheckMail(EmailAddr)
   {
   Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
   if (Filtro.test(EmailAddr))
      return true;
   else
      {
      return false;
      }
   }
   
function GetResult(strControlText,strResponse)
{
 var DivResponse = document.getElementById("divResponse");
 if (strResponse.indexOf('Sent') > -1)
 	{
	  Clean()
	  DivResponse.innerHTML = "Email inviata correttamente. <br/> Grazie per averci contattato."
	  return
	}
 else
 	{
	  DivResponse.innerHTML = "Email non inviata. <br/> Errore nel sistema di invio mail"
	  return
	}
}

function Clean()
{
 document.getElementById('txtSender').value = '';
 document.getElementById('txtEmail').value = '';
 document.getElementById('txtBody').value = '';
 document.getElementById("divResponse").innerHTML = '';
}
