/*
strURL=url da caricare nel div
form_name=nome del form
div_id= id del div da caricare
num_campi= numero di campi nel form (form_field_0 -> form_field_n)
id1= id del div da nascondere temporeamente
id2= id del div da mostrare temporaneamente (attendere)
*/
function xmlhttpPost( strURL, form_name, div_id, num_campi, id1, id2 )
{

	/* funzioni per nascondere o visualizzare un div */
	var elemento1 = document.getElementById( id1 );
	var elemento2 = document.getElementById( id2 );
	elemento1.style.display = (elemento1.style.display == 'none') ? '' : 'none';
	elemento2.style.display = (elemento2.style.display == '') ? 'none' : '';


	var xmlHttpReq = false;
	var self = this;
	// Xhr per Mozilla/Safari/Ie7
	if (window.XMLHttpRequest)
	{
		self.xmlHttpReq = new XMLHttpRequest();
	}
	// per tutte le altre versioni di IE
	else if (window.ActiveXObject) {
		self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	self.xmlHttpReq.open('POST', strURL, true);
	self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	self.xmlHttpReq.onreadystatechange = function()
	{
		if (self.xmlHttpReq.readyState == 4)
		{
			updatepage(self.xmlHttpReq.responseText, div_id );
		}
	}
	self.xmlHttpReq.send( getquerystring( form_name, num_campi ) );
}

function getquerystring( form_name, num_campi )
{
	var form     = document.forms[form_name];
	var btn_form = form.btn_form.value;
	qstr = 'btn_form=' + escape(btn_form);  // NOTARE bene che non viene messo '?' prima della querystring
	
	for( i=1; i<=num_campi; i++ )
	{
		var f_id = 'form_field_' + i;
		var field = document.getElementById( f_id );
		var f_value = field.value;
		var f_name = field.name;
		qstr = qstr + '&' + f_name + '=' + f_value;  // NOTARE bene che non viene messo '?' prima della querystring
	}
	return qstr;
}

function updatepage( str, div_id )
{
	document.getElementById( div_id ).innerHTML = str;
}





// funzione da per popolarre un div ocn id = form

function UpdateDiv( method, url, bool )
{	
	if(window.XMLHttpRequest)
	{
		ReqDiv = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		ReqDiv = new ActiveXObject("Microsoft.XMLHTTP");
		if(!ReqDiv)
		{
			ReqDiv = new ActiveXObject("Msxml2.XMLHTTP");
		}
	}
	if(ReqDiv)
	{
		execfuncDiv( method, url, bool );
	}
	else
	{
		alert("Impossibilitati ad usare AJAX");
	}
}

		/*Se esiste ReqDiv fara' eseguire questa funzione
		che a sua volta chiamera'  una terza funzione*/

function execfuncDiv( method, url, bool )
{
	ReqDiv.onreadystatechange = handleResponseInnerDiv;
	ReqDiv.open( method, url, bool );
	ReqDiv.send(null);
}

function handleResponseInnerDiv()
{
	if(ReqDiv.readyState == 4)
	{
		if(ReqDiv.status == 200)
		{
			var target = document.getElementById( 'form' );
			target.innerHTML = ReqDiv.responseText;
		}
		else
		{
			//alert("Niente da fare, AJAX non funziona :(");
		}
	}
}
