function getXhr()
{
	var xhr;
	if (window.XMLHttpRequest)
		xhr = new XMLHttpRequest();
	else if (window.ActiveXObject)
	{
		try
		{
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xhr;
}

function evalResponse(element)
{
	var scripts = element.getElementsByTagName("script");
	for (var i = 0; i < scripts.length; ++i)
		eval(scripts[i].innerHTML);
}

function rechargerElement(idElement, page, params)
{
	var xhr = getXhr();
	xhr.onreadystatechange = function()
	{
		element = document.getElementById(idElement);
		try
		{
			if (xhr.readyState == 4)
			{
				if (xhr.status == 200)
				{
					element.innerHTML = xhr.responseText;
					evalResponse(element);
				}
				else
					erreurChargement(element);
			}
		}
		catch (e)
		{
			erreurChargement(element);
		}
	}
	xhr.open(params != null ? "POST" : "GET", page, true);
	xhr.send(params);
	return true;
}

function erreurChargement(element)
{
	element.innerHTML += "<br /><span style=\"color: red;\">Erreur de chargement</span>";
}
