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(idElement)
{
	var scripts = document.getElementById(idElement).getElementsByTagName("script");
	for (var i = 0; i < scripts.length; ++i)
		eval(scripts[i].innerHTML);
}

function rechargerElement(idElement, page)
{
	var xhr = getXhr();
	xhr.onreadystatechange = function()
	{
		try
		{
			if (xhr.readyState == 4)
			{
				if (xhr.status == 200)
				{
					document.getElementById(idElement).innerHTML = xhr.responseText;
					evalResponse(idElement);
				}
				else
					erreurChargement(document.getElementById(idElement).getElementsByTagName("div")[0]);
			}
		}
		catch (e)
		{
			erreurChargement(document.getElementById(idElement).getElementsByTagName("div")[0]);
		}
	}
	xhr.open("GET", page, true);
	xhr.send(null);
}

function erreurChargement(element)
{
	element.innerHTML += "<br /><span style=\"color: red;\">Erreur de chargement</span>";
}