function xhrInit(url)
{
	var xhr_object = null; 

	if(window.XMLHttpRequest)
	  xhr_object = new XMLHttpRequest(); 
	else if(window.ActiveXObject)
	  xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
	else
	{
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
		return; 
	}

	xhr_object.open("POST", url, true); 
	xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	return (xhr_object); 
}

function xhrSend(xhr_object, data, fonc, xml)
{
	xhr_object.onreadystatechange = function()
	{
		if (xhr_object.readyState == 4)
		{
			if (xml)
			{
				var tmp = xhr_object.responseXML.documentElement;
				if (tmp.getElementsByTagName('error').length)
					alert(tmp.getElementsByTagName('error')[0].firstChild.data);
				else
					fonc(tmp);
			}
			else
			{
				var tmp = xhr_object.responseText;
				fonc(tmp);
			}
		}
	}
	xhr_object.send(data);
}

function xhrInitSend(url, data, fonc, xml)
{
	var xhr_object = xhrInit(url);
	
	xhr_object.onreadystatechange = function()
	{
		if (xhr_object.readyState == 4)
		{
			if (xml)
			{
				var tmp = xhr_object.responseXML.documentElement;
				if (tmp.getElementsByTagName('info').length)
					alert(tmp.getElementsByTagName('info')[0].firstChild.data);
				if (tmp.getElementsByTagName('error').length)
					alert(tmp.getElementsByTagName('error')[0].firstChild.data);
				else if (fonc != null)
					fonc(tmp);
			}
			else
			{
				var tmp = xhr_object.responseText;
				if (fonc != null)
					fonc(tmp);
			}
		}
	}
	xhr_object.send(data);
}
