﻿	function makeRequest(url, method, postvar, action)
	{
		var http_request = false;

		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)
				{
					msgBox("Problems instantiating the http_request variable. ");
				}
    			}
		}

		http_request.onreadystatechange = function()
		{
			stateChange(http_request, action);
		};

		if(method == "POST")
		{
			http_request.open("POST", url + "?time=" + new Date().getTime(), true);
			http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
			http_request.send(postvar);
		}
		else
		{
			http_request.open("GET", url + "?time=" + new Date().getTime() + "&" + postvar, true);
			http_request.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
			http_request.send(null);
		}
	}

	function stateChange(http_request, action)
	{
		var request = http_request;
		
		if(request != null)
		{
			if(request.readyState == 4)
			{
				switch (action)
				{
					case "emailMandata":						
						// Cosa devo fare quando la pagina richiesta è stata caricata?
						if(trim(request.responseText) == "0"){
							document.getElementById("ajax-loader").style.display = "none";
							document.getElementById("result-mail").innerHTML = "<b style='color: #ff0000'>Errore! </b>Compila i campi in modo corretto";
						}else if(trim(request.responseText) == "1"){
							document.getElementById("ajax-loader").style.display = "none";
							document.getElementById("result-mail").innerHTML = "<b style='color: #111111'>Grazie! </b>La mail è stata inviata con successo :-)";
						}else{ 
							document.getElementById("ajax-loader").style.display = "none";
							document.getElementById("result-mail").innerHTML = "<b style='color: #ff0000'>Errore! </b>Si è verificato un errore sconosciuto"; 
						}
						break;
					/*case "qualcosachevuoitu":
						// Gestione della risposta ad un'altra azione											

						break;*/
					default:
						break;
				}
			}
			else
			{
				switch(action)
				{
					// Gestioni degli errori
					// quando non riesce a chiamare la pagina per motivi sconosciuti

					case "emailMandata":
						// Cosa devo fare?
						
						break;
					/*case "qualcosachevuoitu":
						// Cosa devo fare?
						break;*/
					default:
						break;
				}
			}
		}
		else
		{
	
		}
	}