function remplirChamp(txt)
{
	if(is_ie)
	{
		document.getElementById('contenu').style.filter = 'revealTrans(Transition = ' + parseInt(22*Math.random()) + ')';
		document.getElementById('contenu').filters[0].Apply();
	}
	document.getElementById('contenu').innerHTML = txt.responseText;
	if(is_ie)
	{
		document.getElementById('contenu').filters[0].Play();
	}
}

adresse_page = '';

function getXhr()
{
	var xhr = null;
	if(window.XMLHttpRequest)
	{
		xhr = new XMLHttpRequest();
	}
	else if(window.ActiveXObject)
	{
		try
		{
			xhr = new ActiveXObject('Msxml2.XMLHTTP');
		}
		catch(e)
		{
			xhr = new ActiveXObject('Microsoft.XMLHTTP');
		}
	}
	else
	{
		alert('Votre navigateur ne supporte pas les objets XMLHTTPRequest...');
		xhr = false;
	}
	return xhr;
}

function update_page(page)
{
	var xhr = getXhr();
	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
		}
	};
	xhr.open('GET', 'update_page.php?page=' + page, true);
	xhr.send(null);
}

function affiche_page(page, form)
{
	update_page(page);
	var xhr = getXhr();
	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			if(adresse_page != page)
			{
				adresse_page = page;
				remplirChamp(xhr);
			}
		}
	};
	if(affiche_page.arguments.length == 2)
	{
		form_get = getDataFromForm(form);
	}
	else
	{
		form_get = '';
	}
	xhr.open('POST', page);
	xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xhr.send(form_get);
}

function getDataFromForm(Form)
{
	var data = '';
	var key = 0;
	for(key = 0; key < Form.elements.length; ++key)
	{
		if(Form.elements[key].type.toLowerCase() == 'radio')
		{
			if(Form.elements[key].checked)
			{
				data += escape(Form.elements[key].name) + '=' + escape(Form.elements[key].value) + '&';
			}
		}
		else
		{
			var currentValue = (Form.elements[key].tagName.toLowerCase() == 'select') ? getSelectValue(Form.elements[key]) : Form.elements[key].value;
			data += escape(Form.elements[key].name) + '=' + escape(currentValue) + '&';
		}
	}
	return data.substr(0, data.length-1);
}

function getSelectValue(select)
{
	var value = '';
	for(var i = 0; true; ++i)
	{
		if(select.options[i] != null)
		{
			if(select.options[i].selected)
			{
				value += select.options[i].value + ',';
			}
		}
		else
		{
			return value.substr(0, value.length-1);
		}
	}
}

