// contiene il riferimento all'oggetto XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject(); 


// funzione cross browser per creare l'istanza
function createXmlHttpRequestObject() {

	// variable che contiene il riferimento all'oggetto XMLHttpRequest da restituire
	var xmlHttp;

	// se il browser e' Internet Explorer 6 o piu vecchio
	if (window.ActiveXObject) {
		try {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {
			xmlHttp = false;
		}
	} else {
		try {
			xmlHttp = new XMLHttpRequest();
		} catch (e) {
			xmlHttp = false;
		}
	}

	// controlla se l'oggetto esiste o ritorna l'errore
	if (!xmlHttp) {
		alert("Errore nella creazione oggetto XMLHttpRequest");
	} else {
		return xmlHttp;
	}
}


document.addEventListener("DOMContentLoaded", function(){
	
	//var button = document.getElementById("to_do_submit");
	//button.addEventListener("click", sendToDo, false);
	
	document.querySelector('#to_do_submit').addEventListener("click", sendToDo, false);
	
}, false);

function sendToDo() {
	console.log("sendToDo");
	var request_type = "insert";
	var toDoText = document.getElementById('my-todo').value;
	document.getElementById('my-todo').value = "";
	
	if(xmlHttp) {
		xmlHttp.open("POST", "server/actions.php", true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	    xmlHttp.onreadystatechange = handleRequestStateChange;
	    var params = "text=" + escape(toDoText) + "&action=" + request_type;
		xmlHttp.send(params);
	}
}

function handleRequestStateChange(){
	console.log("handleRequestStateChange: " + xmlHttp.readyState);
	if (xmlHttp.readyState == 4) {
		// controllo che lo stato della richiesta sia OK
		if (xmlHttp.status == 200) {
			try {
				data = JSON.parse(xmlHttp.responseText);
			} catch(e){
				console.log("error");
			}
		
		}
		}
}
