var	ajax = assegnaXMLHttpRequest(),
	num_el_menu=4,
	menuA = new Array(),
	menuLi = new Array();
	
function displayMenu()
{
	for(var a = num_el_menu, b = menuA.length; a < b; a++)
		menuLi[a].style.display= 'none';
}

function assegnaMenu()
{
	var 	divHeader;
	if(ajax) {
		divHeader = prendiElementoDaId("header");
		menuLi = divHeader.getElementsByTagName("li");
		menuA = divHeader.getElementsByTagName("a");
		if(document.location.href.indexOf("?cliente=") >= 0) {
			for(var a = 0, b = menuA.length; a < b; a++) {
				if(menuA[a].href === document.location.href)
					{
						menuLi[a].className = "current";
						menuLi[a].style.display= 'block';
					}
			};
		}
		else
			menuLi[0].className = "current";
	};
};

function linkServer(link)
{
	link = link.split("cliente=")[1];
	return ("php/" + link + ".php?ajax=true");
};

function cambiaPagina(link)
{
	var 	corpoPagina = prendiElementoDaId("info");
	if(ajax && ajax.readyState === readyState.INATTIVO) {
		corpoPagina.innerHTML =
		"<img src=\"immagini/indicatore.gif\" width=\"20\" height=\"21\" alt=\"caricamento dati\" />" +
		"   caricamento dati ...";
		for(var a = 0, b = menuLi.length; a < b; a++) {
			if(menuA[a] === link) {
				menuLi[a].className = "current";
				displayMenu();
				menuLi[a].style.display= 'block';
				menuA[a].blur();
				ajax.open("get", linkServer(menuA[a].href), true);
				ajax.setRequestHeader("connection", "close");
				ajax.onreadystatechange = function() {
					if(ajax.readyState === readyState.COMPLETATO) {

						if(statusText[ajax.status] === "OK")
							if (ajax.responseText=="no")
							{
								alert("Sessione scaduta");
								location.reload();
							}
							else 
								corpoPagina.innerHTML =ajax.responseText;

						else
							corpoPagina.innerHTML =
							"Impossibile effettuare l'operazione richiesta.<br />" +
							"Errore riscontrato: " + statusText[ajax.status];

						ajax = assegnaXMLHttpRequest();
					};
				};
				ajax.send(null);
			}
			else
				menuLi[a].className = "";
		};
	};
	return !ajax;
};

function Classi(link)
{
	var azione=link.action;
		azione = azione.split("azione=")[1];
	var risultato=true,
		corpoPagina = prendiElementoDaId("info"),
		bottone = prendiElementoDaId("modifica"),
		oggetti = prendiElementoDaId("oggetti"),
		oggetti_del = prendiElementoDaId("oggetti_del"),
		poststr,
		poststr_del,
		nome_classe=prendiElementoDaId("nome_classe"),
		qta_integer= prendiElementoDaId("qta_integer"),
		qta_float= prendiElementoDaId("qta_float"),
		qta_string= prendiElementoDaId("qta_string"),
		qta_key= prendiElementoDaId("qta_key"),
		qta_vector= prendiElementoDaId("qta_vector"),
		qta_rotation= prendiElementoDaId("qta_rotation");
		bottone.disabled = true;
		bottone.style.color = "#555";
		bottone.value = "caricamento in corso...";
		risultato = false;
		for(var i = 0; i < oggetti.options.length; ++i) 
		{
			if ( oggetti.options[i].selected == true ) 
			{
				poststr += "&oggetti[]=" + encodeURI ( oggetti.options[i].value );
			}
		}
		if (azione=="modifica_classe")
			for(var i = 0; i < oggetti_del.options.length; ++i) 
			{
				if ( oggetti_del.options[i].selected == true ) 
				{
					poststr_del += "&oggetti_del[]=" + encodeURI ( oggetti_del.options[i].value );
				}
			}
		if(ajax && qta_integer && qta_float &&  qta_string && qta_key && qta_vector && qta_rotation)
		{
			ajax.open("post", ("php/"+azione+".php?ajax=true&elabora=si"), true);
			ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
			ajax.setRequestHeader("connection", "close");
			ajax.onreadystatechange = function()
			{
				if(ajax.readyState === readyState.COMPLETATO)
				{
					if(statusText[ajax.status] === "OK")
						corpoPagina.innerHTML =ajax.responseText;
					else
						corpoPagina.innerHTML =
						"Impossibile effettuare l'operazione richiesta.<br />" +
						"Errore riscontrato: " + statusText[ajax.status];
					ajax = assegnaXMLHttpRequest();
				}
			}
			ajax.send(
			"nome_classe=" + escape(nome_classe.value) +
			"&qta_integer=" + escape(qta_integer.value) +
			"&qta_float=" + escape(qta_float.value) +
			"&qta_string=" + escape(qta_string.value) +
			poststr +
			"&qta_key=" + escape(qta_key.value) +
			"&qta_vector=" + escape(qta_vector.value) +
			"&qta_rotation=" + escape(qta_rotation.value) +
			poststr_del
			);
		}
	return risultato;
}

function invio_dati()
{
	var	risultato = true,
		corpoPagina = prendiElementoDaId("info"),
		bottone = prendiElementoDaId("modifica"),
		canale = prendiElementoDaId("canale"),
		qta_integer= prendiElementoDaId("qta_integer").value,
		qta_float= prendiElementoDaId("qta_float").value,
		qta_string= prendiElementoDaId("qta_string").value,
		qta_key= prendiElementoDaId("qta_key").value,
		qta_vector= prendiElementoDaId("qta_vector").value,
		qta_rotation= prendiElementoDaId("qta_rotation").value,
		prima_virgola=0,
		i,
		totale="";
		bottone.disabled = true;
		bottone.style.color = "#555";
		bottone.value = "caricamento in corso...";
		
		for (i=1; i<=qta_integer; i++)
		{
			totale+=prendiElementoDaId("integer_"+i).value;
			if (i!=qta_integer)
				totale+=", ";
		}
		if (qta_integer==0)
			prima_virgola++;
		for (i=1; i<=qta_float; i++)
		{
			if (i==1 && prima_virgola!=1)
				totale+=", ";
			totale+=prendiElementoDaId("float_"+i).value;
			if (i!=qta_float)
				totale+=", ";
			if (prima_virgola==1)
				prima_virgola++;
		}
		if (qta_float==0)
			prima_virgola++;
		for (i=1; i<=qta_string; i++)
		{
			if (i==1 && prima_virgola!=2)
				totale+=", ";
			totale+=prendiElementoDaId("string_"+i).value;
			if (i!=qta_string)
				totale+=", ";
			if (prima_virgola==1)
				prima_virgola++;
		}
		if (qta_string==0)
			prima_virgola++;
		for (i=1; i<=qta_key; i++)
		{
			if (i==1 && prima_virgola!=3)
				totale+=", ";
			totale+=prendiElementoDaId("key_"+i).value;
			if (i!=qta_key)
				totale+=", ";
			if (prima_virgola==1)
				prima_virgola++;
		}
		if (qta_key==0)
			prima_virgola++;
		for (i=1; i<=3*(qta_vector); i++)
		{
			if (i==1 && prima_virgola!=4)
				totale+=", ";
			totale+=prendiElementoDaId("vector_"+i).value;
			if (i!=3*(qta_vector))
				totale+=", ";
			if (prima_virgola==1)
				prima_virgola++;
		}
		if (qta_vector==0)
			prima_virgola++;
		for (i=1; i<=4*(qta_rotation); i++)
		{
			if (i==1 && prima_virgola!=5)
				totale+=", ";
			totale+=prendiElementoDaId("rotation_"+i).value;
			if (i!=4*(qta_vector))
				totale+=", ";
		}
		if(ajax)
		{
			risultato = false;
			ajax.open("post", ("php/invio_dati.php?ajax=true&elabora=si"), true);
			ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
			ajax.setRequestHeader("connection", "close");
			ajax.onreadystatechange = function()
			{
				if(ajax.readyState === readyState.COMPLETATO)
				{
					if(statusText[ajax.status] === "OK")
						corpoPagina.innerHTML =ajax.responseText;
					else
						corpoPagina.innerHTML =
						"Impossibile effettuare l'operazione richiesta.<br />" +
						"Errore riscontrato: " + statusText[ajax.status];
					ajax = assegnaXMLHttpRequest();
				}
			}
			ajax.send(
			"totale=" + escape(totale) +
			"&canale=" + escape(canale.value)
			);
		}
	return risultato;
}

function Utente(link)
{
	var azione=link.action;
		azione = azione.split("azione=")[1];
	var	risultato = false,
		corpoPagina = prendiElementoDaId("info"),
		bottone = prendiElementoDaId("modifica"),
		nome = prendiElementoDaId("nome"),
		cognome = prendiElementoDaId("cognome"),
		mail = prendiElementoDaId("email"),
		nome_avatar = prendiElementoDaId("nome_avatar"),
		ID = prendiElementoDaId("ID"),
		username = prendiElementoDaId("username"),
		password_old = prendiElementoDaId("password_old"),
		password = prendiElementoDaId("password"),
		password_conf = prendiElementoDaId("password_conf");
		bottone.disabled = true;
		bottone.style.color = "#555";
		bottone.value = "caricamento in corso...";
	if (password.value!=password_conf.value)
	{
		alert ("La password di conferma non coincide con la password scelta");
		bottone.value = "Le password inserite sono diverse";
	}
	else
	{
		var re1=/^[a-zA-Z\s\']{1,20}$/,
			p = new RegExp(re1),
			m1 = p.exec(nome.value),
			m2 = p.exec(cognome.value),
		re1=/^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9-]+\.[a-zA-Z]{0,4}$/;
		p = new RegExp(re1);
		var m3 = p.exec(mail.value);
		re1=/^[a-zA-Z\s\']{1,40}$/;
		p = new RegExp(re1);
		var	m4 = p.exec(nome_avatar.value);
		re1=/^[0-9a-zA-Z-]{36,40}$/;
		p = new RegExp(re1);
		var m5 = p.exec(ID.value);
		re1=/^[\#-\&0-9@a-zA-Z_\-]{1,12}$/;
		p = new RegExp(re1);
		var m6 = p.exec(username.value),
			m7 = p.exec(username.value);
		
		if (m1 && m2 && m3 && m4 && m5 && m6 && m7)
		{
			var	ajax = assegnaXMLHttpRequest();
			ajax.open("get", ("php/controllo_ID_PW.php?password="+password.value+"&ID_avatar="+ID.value+"&password_old="+password_old.value+""), true);
			ajax.setRequestHeader("connection", "close");
			ajax.onreadystatechange = function()
			{
				if(ajax.readyState === readyState.COMPLETATO)
				{
					if(statusText[ajax.status] === "OK")
					{
						if (ajax.responseText=="OK")
						{
							var	ajax_1 = assegnaXMLHttpRequest();
							ajax_1.open("post", ("php/"+azione+".php?ajax=true&elabora=si"), true);
							ajax_1.setRequestHeader("content-type", "application/x-www-form-urlencoded");
							ajax_1.setRequestHeader("connection", "close");
							ajax_1.onreadystatechange = function() 
							{
								if(ajax_1.readyState === readyState.COMPLETATO)
								{
									if(statusText[ajax_1.status] === "OK")
									{
										bottone.style.color = "#000";
										bottone.value = "aggiungi cliente";
										bottone.disabled = false;
										corpoPagina.innerHTML =ajax_1.responseText;
									}
									
									else
										corpoPagina.innerHTML =
										"Impossibile effettuare l'operazione richiesta.<br />" +
										"Errore riscontrato: " + statusText[ajax_1.status];
									ajax_1 = assegnaXMLHttpRequest();
								};
							};
							ajax_1.send(
								"nome=" + escape(nome.value) +
								"&cognome=" + escape(cognome.value) +
								"&email=" + escape(mail.value) +
								"&nome_avatar=" + escape(nome_avatar.value) +
								"&ID=" + escape(ID.value) +
								"&username=" + escape(username.value) +
								"&password=" + escape(password.value)
							);
						}
						else
						{
							alert("Sono presenti degli errori\nassicurarsi di aver inserito correttamente le password e l'ID dell'avatar");
							bottone.disabled = true;
							bottone.style.color = "#555";
							bottone.value = "Sono presenti degli errori!!";
						}
						ajax = assegnaXMLHttpRequest();
					}
				}
			}
			ajax.send(null);
		}
		else
		{
			alert("Sono presenti degli errori\nassicurarsi di aver inserito tutti i dati");
			bottone.disabled = true;
			bottone.style.color = "#555";
			bottone.value = "Sono presenti degli errori!!";
		}
	}
	return risultato;
};

function elimina_account_classe(link)
{
	var azione=link.action;
		azione = azione.split("azione=")[1];
	var	risultato = true,
		corpoPagina = prendiElementoDaId("info");
	if (ajax)
	{
		corpoPagina.innerHTML =
		"<img src=\"immagini/indicatore.gif\" width=\"20\" height=\"21\" alt=\"caricamento dati\" />" +
		"   caricamento dati ...";
		risultato = false;
		ajax.open("get", ("php/"+azione+".php?ajax=true&elabora=si"), true);
		ajax.setRequestHeader("connection", "close");
		ajax.onreadystatechange = function()
		{
			if(ajax.readyState === readyState.COMPLETATO)
			{
				if(statusText[ajax.status] === "OK")
				{
					if (ajax.responseText=="account")
					{
						alert("Eliminazione effettuata con successo\ngrazie per aver usato la nostra applicazione");
						location.reload();
					}
					else
						corpoPagina.innerHTML =ajax.responseText;
				}
				else
					corpoPagina.innerHTML =
					"Impossibile effettuare l'operazione richiesta.<br />" +
					"Errore riscontrato: " + statusText[ajax.status];
				ajax = assegnaXMLHttpRequest();
			}
		}
		ajax.send(null);
	}
	return risultato;
}

function seleziona_classe(link)
{
	var azione=link.action;
		azione = azione.split("azione=")[1];
	var	risultato = false,
	corpoPagina = prendiElementoDaId("info"),
	bottone = prendiElementoDaId("modifica"),
	nome_classe = prendiElementoDaId("nome_classe");
	bottone.disabled = true;
	bottone.style.color = "#555";
	bottone.value = "caricamento in corso...";
	if(ajax && nome_classe && nome_classe.value!="")
	{
		ajax.open("post", ("php/"+azione+".php?ajax=true&elabora=si"), true);
		ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
		ajax.setRequestHeader("connection", "close");
		ajax.onreadystatechange = function()
		{
			if(ajax.readyState === readyState.COMPLETATO)
			{
				if(statusText[ajax.status] === "OK")
				{
					corpoPagina.innerHTML =ajax.responseText;
				}
				else
					corpoPagina.innerHTML =
					"Impossibile effettuare l'operazione richiesta.<br />" +
					"Errore riscontrato: " + statusText[ajax.status];
				ajax = assegnaXMLHttpRequest();
			}
		}
		ajax.send("nome_classe=" + escape(nome_classe.value));
	}
	else
	{
		bottone.disabled = false;
		bottone.style.color = "#000";
		bottone.value = "Conferma";
	}
	return risultato;
}

function elimina_oggetti()
{
	var	risultato = true,
		oggetti = prendiElementoDaId("oggetti"),
		bottone = prendiElementoDaId("modifica"),
		poststr,
		corpoPagina = prendiElementoDaId("info");
		bottone.disabled = true;
		bottone.style.color = "#555";
		bottone.value = "caricamento in corso...";
	for(var i = 0; i < oggetti.options.length; ++i) 
		{
			if ( oggetti.options[i].selected == true ) 
			{
				poststr += "&oggetti[]=" + encodeURI ( oggetti.options[i].value );
			}
		}
	if (ajax)
	{
		risultato = false;
		ajax.open("post", ("php/elimina_oggetti.php?ajax=true&elabora=si"), true);
		ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
		ajax.setRequestHeader("connection", "close");
		ajax.onreadystatechange = function()
		{
			if(ajax.readyState === readyState.COMPLETATO)
			{
				if(statusText[ajax.status] === "OK")
				{
					corpoPagina.innerHTML =ajax.responseText;
				}
				else
					corpoPagina.innerHTML =
					"Impossibile effettuare l'operazione richiesta.<br />" +
					"Errore riscontrato: " + statusText[ajax.status];
				ajax = assegnaXMLHttpRequest();
			}
		}
		ajax.send(poststr);
	}
	return risultato;
}

function distruggi_sessione(link)
{
	var azione=link.href;
	azione = azione.split("azione=")[1];
	
	var	risultato = true,
	corpoPagina = prendiElementoDaId("info");
	
	if(ajax)
	{
		corpoPagina.innerHTML =
		"<img src=\"immagini/indicatore.gif\" width=\"20\" height=\"21\" alt=\"caricamento dati\" />" +
		"   caricamento dati ...";
		risultato = false;
		ajax.open("get", ("php/distruggi_sessione.php"), true);
		ajax.setRequestHeader("connection", "close");
		ajax.onreadystatechange = function()
		{
			if(ajax.readyState === readyState.COMPLETATO) {
				ajax = assegnaXMLHttpRequest();
				prendiElementoDaId('li_'+azione).getElementsByTagName('a')[0].onclick();
			};
		}
		ajax.send(null);
	}
	return risultato;
}

function info_oggetto()
{
	var	risultato = true,
		corpoPagina = prendiElementoDaId("info"),
		bottone = prendiElementoDaId("modifica"),
		canale = prendiElementoDaId("canale");
		bottone.disabled = true;
		bottone.style.color = "#555";
		bottone.value = "caricamento in corso...";
		if(ajax && canale)
		{
			risultato = false;
			ajax.open("post", ("php/info_oggetto.php?ajax=true&elabora=si"), true);
			ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
			ajax.setRequestHeader("connection", "close");
			ajax.onreadystatechange = function()
			{
				if(ajax.readyState === readyState.COMPLETATO)
				{
					if(statusText[ajax.status] === "OK")
						corpoPagina.innerHTML =ajax.responseText;
					else
						corpoPagina.innerHTML =
						"Impossibile effettuare l'operazione richiesta.<br />" +
						"Errore riscontrato: " + statusText[ajax.status];
					ajax = assegnaXMLHttpRequest();
				}
			}
			ajax.send("canale=" + escape(canale.value));
		}
	return risultato;
}

function visualizza_edita_classe_istanziatore()
{
	var	risultato = true,
		corpoPagina = prendiElementoDaId("info");
		if(ajax)
		{
			corpoPagina.innerHTML =
			"<img src=\"immagini/indicatore.gif\" width=\"20\" height=\"21\" alt=\"caricamento dati\" />" +
			"   caricamento dati ...";
			risultato = false;
			ajax.open("get", ("php/edita_classe_istanziatore.php?ajax=true"), true);
			ajax.setRequestHeader("connection", "close");
			ajax.onreadystatechange = function()
			{
				if(ajax.readyState === readyState.COMPLETATO)
				{
					if(statusText[ajax.status] === "OK")
						corpoPagina.innerHTML =ajax.responseText;
					else
						corpoPagina.innerHTML =
						"Impossibile effettuare l'operazione richiesta.<br />" +
						"Errore riscontrato: " + statusText[ajax.status];
					ajax = assegnaXMLHttpRequest();
				}
			}
			ajax.send(null);
		}
	return risultato;
}

function edita_classe_istanziatore()
{
	var risultato=false,
		corpoPagina = prendiElementoDaId("info"),
		bottone = prendiElementoDaId("modifica"),
		nome_classe=prendiElementoDaId("nome_classe"),
		PRIM_TYPE=prendiElementoDaId("PRIM_TYPE"),
		PRIM_COLOR_X=prendiElementoDaId("PRIM_COLOR_X"),
		PRIM_COLOR_Y=prendiElementoDaId("PRIM_COLOR_Y"),
		PRIM_COLOR_Z=prendiElementoDaId("PRIM_COLOR_Z"),
		PRIM_SIZE_X=prendiElementoDaId("PRIM_SIZE_X"),
		PRIM_SIZE_Y=prendiElementoDaId("PRIM_SIZE_Y"),
		PRIM_SIZE_Z=prendiElementoDaId("PRIM_SIZE_Z"),
		PRIM_PHYSICS=prendiElementoDaId("PRIM_PHYSICS"),
		PRIM_MATERIAL=prendiElementoDaId("PRIM_MATERIAL"),
		nome_integer= prendiElementoDaId("nome_integer"),
		val_integer= prendiElementoDaId("val_integer"),
		nome_float= prendiElementoDaId("nome_float"),
		val_float= prendiElementoDaId("val_float"),
		nome_string= prendiElementoDaId("nome_string"),
		val_string= prendiElementoDaId("val_string"),
		nome_key= prendiElementoDaId("nome_key"),
		val_key= prendiElementoDaId("val_key"),
		nome_vector= prendiElementoDaId("nome_vector"),
		val_vector_X= prendiElementoDaId("val_vector_X"),
		val_vector_Y= prendiElementoDaId("val_vector_Y"),
		val_vector_Z= prendiElementoDaId("val_vector_Z"),
		nome_rotation= prendiElementoDaId("nome_rotation"),
		val_rotation_X= prendiElementoDaId("val_rotation_X"),
		val_rotation_Y= prendiElementoDaId("val_rotation_Y"),
		val_rotation_Z= prendiElementoDaId("val_rotation_Z"),
		val_rotation_S= prendiElementoDaId("val_rotation_S");
		bottone.disabled = true;
		bottone.style.color = "#555";
		bottone.value = "caricamento in corso...";
		if(ajax)
		{
			ajax.open("post", ("php/edita_classe_istanziatore.php?ajax=true&elabora=si"), true);
			ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
			ajax.setRequestHeader("connection", "close");
			ajax.onreadystatechange = function()
			{
				if(ajax.readyState === readyState.COMPLETATO)
				{
					if(statusText[ajax.status] === "OK")
						corpoPagina.innerHTML =ajax.responseText;
					else
						corpoPagina.innerHTML =
						"Impossibile effettuare l'operazione richiesta.<br />" +
						"Errore riscontrato: " + statusText[ajax.status];
					ajax = assegnaXMLHttpRequest();
				}
			}
			ajax.send(
			"nome_classe=" + escape(nome_classe.value) +
			"&PRIM_TYPE=" + escape(PRIM_TYPE.value) +
			"&PRIM_COLOR_X=" + escape(PRIM_COLOR_X.value) +
			"&PRIM_COLOR_Y=" + escape(PRIM_COLOR_Y.value) +
			"&PRIM_COLOR_Z=" + escape(PRIM_COLOR_Z.value) +
			"&PRIM_SIZE_X=" + escape(PRIM_SIZE_X.value) +
			"&PRIM_SIZE_Y=" + escape(PRIM_SIZE_Y.value) +
			"&PRIM_SIZE_Z=" + escape(PRIM_SIZE_Z.value) +
			"&PRIM_PHYSICS=" + escape(PRIM_PHYSICS.value) +
			"&PRIM_MATERIAL=" + escape(PRIM_MATERIAL.value) +
			"&nome_integer=" + escape(nome_integer.value) +
			"&val_integer=" + escape(val_integer.value) +
			"&nome_float=" + escape(nome_float.value) +
			"&val_float=" + escape(val_float.value) +
			"&nome_string=" + escape(nome_string.value) +
			"&val_string=" + escape(val_string.value) +
			"&nome_key=" + escape(nome_key.value) +
			"&val_key=" + escape(val_key.value) +
			"&nome_vector=" + escape(nome_vector.value) +
			"&val_vector_X=" + escape(val_vector_X.value) +
			"&val_vector_Y=" + escape(val_vector_Y.value) +
			"&val_vector_Z=" + escape(val_vector_Z.value) +
			"&nome_rotation=" + escape(nome_rotation.value) +
			"&val_rotation_X=" + escape(val_rotation_X.value) +
			"&val_rotation_Y=" + escape(val_rotation_Y.value) +
			"&val_rotation_Z=" + escape(val_rotation_Z.value) +
			"&val_rotation_S=" + escape(val_rotation_S.value)
			);
		}
	return risultato;
}

function seleziona_classe_istanziatore()
{
	var	risultato = false,
	corpoPagina = prendiElementoDaId("info"),
	bottone = prendiElementoDaId("modifica"),
	nome_classe = prendiElementoDaId("nome_classe");
	bottone.disabled = true;
	bottone.style.color = "#555";
	bottone.value = "caricamento in corso...";
	if(ajax && nome_classe && nome_classe.value!="")
	{
		ajax.open("post", ("php/utilizzo_classe_istanziatore.php?ajax=true"), true);
		ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
		ajax.setRequestHeader("connection", "close");
		ajax.onreadystatechange = function()
		{
			if(ajax.readyState === readyState.COMPLETATO)
			{
				if(statusText[ajax.status] === "OK")
				{
					corpoPagina.innerHTML =ajax.responseText;
				}
				else
					corpoPagina.innerHTML =
					"Impossibile effettuare l'operazione richiesta.<br />" +
					"Errore riscontrato: " + statusText[ajax.status];
				ajax = assegnaXMLHttpRequest();
			}
		}
		ajax.send("nome_classe=" + escape(nome_classe.value));
	}
	else
	{
		bottone.disabled = false;
		bottone.style.color = "#000";
		bottone.value = "Conferma";
	}
	return risultato;
}

function elimina_classe_istanziatore()
{
	var	risultato = false,
		corpoPagina = prendiElementoDaId("info"),
		bottone_elimina = prendiElementoDaId("elimina");
	corpoPagina.innerHTML =
			"<img src=\"immagini/indicatore.gif\" width=\"20\" height=\"21\" alt=\"caricamento dati\" />" +
			"   eliminazione classe in corso...";
	if(ajax)
	{
		ajax.open("get", ("php/utilizzo_classe_istanziatore.php?ajax=true&azione=elimina"), true);
		ajax.setRequestHeader("connection", "close");
		ajax.onreadystatechange = function()
		{
			if(ajax.readyState === readyState.COMPLETATO)
			{
				if(statusText[ajax.status] === "OK")
				{
					corpoPagina.innerHTML =ajax.responseText;
				}
				else
					corpoPagina.innerHTML =
					"Impossibile effettuare l'operazione richiesta.<br/>" +
					"Errore riscontrato: " + statusText[ajax.status];
				ajax = assegnaXMLHttpRequest();
			}
		}
		ajax.send(null);
	}
	return risultato;
}

function aggiungi_oggetto_istanziatore()
{
	var	risultato = false,
		bottone_aggiunta = prendiElementoDaId("aggiunta"),
		corpoPagina = prendiElementoDaId("info"),
		nome_oggetto = prendiElementoDaId("nome_oggetto");
	
	bottone_aggiunta.disabled = true;
	bottone_aggiunta.style.color = "#555";
	bottone_aggiunta.value = "attendere...";
	
	if(ajax)
	{
		ajax.open("get", ("php/esistenza_oggetto.php?nome="+nome_oggetto.value+""), true);
		ajax.setRequestHeader("connection", "close");
		ajax.onreadystatechange = function()
		{
			if(ajax.readyState === readyState.COMPLETATO)
			{
				if(statusText[ajax.status] === "OK")
				{
					if (ajax.responseText=="esiste")
					{
						corpoPagina.innerHTML =
							"<img src=\"immagini/indicatore.gif\" width=\"20\" height=\"21\" alt=\"caricamento dati\" />" +
							"   creazione dell'oggetto in corso...";
						var	ajax_1 = assegnaXMLHttpRequest();
						ajax_1.open("post", ("php/utilizzo_classe_istanziatore.php?ajax=true&azione=aggiungi"), true);
						ajax_1.setRequestHeader("content-type", "application/x-www-form-urlencoded");
						ajax_1.setRequestHeader("connection", "close");
						ajax_1.onreadystatechange = function()
						{
							if(ajax_1.readyState === readyState.COMPLETATO)
							{
								if(statusText[ajax_1.status] === "OK")
								{
									corpoPagina.innerHTML =ajax_1.responseText;
								}
								else
									corpoPagina.innerHTML =
									"Impossibile effettuare l'operazione richiesta.<br />" +
									"Errore riscontrato: " + statusText[ajax.status];
								ajax_1 = assegnaXMLHttpRequest();
							}
						}
						ajax_1.send("nome_oggetto=" + escape(nome_oggetto.value));
					}
					else
					{
						alert ("E' già presente un oggetto con lo stesso nome");
						bottone_aggiunta.style.color = "#000";
						bottone_aggiunta.value = "Conferma Creazione Oggetto";
						bottone_aggiunta.disabled = false;
					}
					ajax = assegnaXMLHttpRequest();
				}
			}
		}
		ajax.send(null);
	}
		
	return risultato;
}

function invio_dati_istanziatore()
{
	var	risultato = false,
		corpoPagina = prendiElementoDaId("info"),
		canale = prendiElementoDaId("canale"),
		val_integer= prendiElementoDaId("val_integer"),
		val_float= prendiElementoDaId("val_float"),
		val_string= prendiElementoDaId("val_string"),
		val_key= prendiElementoDaId("val_key"),
		val_vector_X= prendiElementoDaId("val_vector_X"),
		val_vector_Y= prendiElementoDaId("val_vector_Y"),
		val_vector_Z= prendiElementoDaId("val_vector_Z"),
		val_rotation_X= prendiElementoDaId("val_rotation_X"),
		val_rotation_Y= prendiElementoDaId("val_rotation_Y"),
		val_rotation_Z= prendiElementoDaId("val_rotation_Z"),
		val_rotation_S= prendiElementoDaId("val_rotation_S");
	corpoPagina.innerHTML =
			"<img src=\"immagini/indicatore.gif\" width=\"20\" height=\"21\" alt=\"caricamento dati\" />" +
			"   eliminazione classe in corso...";
	if(ajax)
	{
		ajax.open("post", ("php/utilizzo_classe_istanziatore.php?ajax=true&azione=invia"), true);
		ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded");
		ajax.setRequestHeader("connection", "close");
		ajax.onreadystatechange = function()
		{
			if(ajax.readyState === readyState.COMPLETATO)
			{
				if(statusText[ajax.status] === "OK")
				{
					corpoPagina.innerHTML =ajax.responseText;
				}
				else
					corpoPagina.innerHTML =
					"Impossibile effettuare l'operazione richiesta.<br />" +
					"Errore riscontrato: " + statusText[ajax.status];
				ajax = assegnaXMLHttpRequest();
			}
		}
		ajax.send("val_integer=" + escape(val_integer.value) +
			"&val_float=" + escape(val_float.value) +
			"&val_string=" + escape(val_string.value) +
			"&val_key=" + escape(val_key.value) +
			"&val_vector_X=" + escape(val_vector_X.value) +
			"&val_vector_Y=" + escape(val_vector_Y.value) +
			"&val_vector_Z=" + escape(val_vector_Z.value) +
			"&val_rotation_X=" + escape(val_rotation_X.value) +
			"&val_rotation_Y=" + escape(val_rotation_Y.value) +
			"&val_rotation_Z=" + escape(val_rotation_Z.value) +
			"&val_rotation_S=" + escape(val_rotation_S.value) +
			"&canale=" + escape(canale.value)
			);
	}
	return risultato;
}