/*FONCTION GENERALE DE DECLARATION POUR L'AJAX*/
var xhr = null;
function getXhr()
{
	if(window.XMLHttpRequest) // Firefox et autres
	xhr = new XMLHttpRequest();
	else if(window.ActiveXObject)
	{ // Internet Explorer 
		try
		{
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) 
		{
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else 
	{ // XMLHttpRequest non supporté par le navigateur 
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		xhr = false;
	}
}

//Envoi de données
function sendData(param, page, id_aff)
{
	if(document.all)
	{//Internet Explorer
		var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
	}//fin if
	else
	{
		//Mozilla
		var XhrObj = new XMLHttpRequest();
	}//fin else
	//définition de l'endroit d'affichage:
	var content = document.getElementById(id_aff);
	XhrObj.open("POST", page);
	//Ok pour la page cible
	XhrObj.onreadystatechange = function()
	{
		if (XhrObj.readyState == 4 && XhrObj.status == 200)
			content.innerHTML = XhrObj.responseText ;
	}

	XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	XhrObj.send(param);
}

//Passage de la liste 1 à la liste 2
function go_1(lien, id, id_send)
{
	getXhr();

	var lien = lien; // correspond au lien qui appelera la deuxieme liste
	var id = id; // correspond à l'id de la première liste déroulante
	var id_send = id_send; // correspond à l'id du deuxieme select

	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			leselect = xhr.responseText;
			// On se sert de innerHTML pour rajouter les options a la liste
			document.getElementById(id_send).innerHTML = leselect;
		}
	}

	// Ici on va voir comment faire du post
	xhr.open("POST",lien,true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// ne pas oublier de poster les arguments
	// ici, l'id de l'auteur
	sel = document.getElementById(id);
	idgo_1 = sel.options[sel.selectedIndex].value;
	xhr.send("idGo_1="+idgo_1);
}


//Passage de la liste 2 à la liste 3
function go_2(lien, id, id_send)
{
	getXhr();

	var lien = lien; // correspond au lien qui appelera la deuxieme liste
	var id = id; // correspond à l'id de la première liste déroulante
	var id_send = id_send; // correspond à l'id du deuxieme select

	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			leselect = xhr.responseText;
			// On se sert de innerHTML pour rajouter les options a la liste
			document.getElementById(id_send).innerHTML = leselect;
		}
	}

	// Ici on va voir comment faire du post
	xhr.open("POST",lien,true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// ne pas oublier de poster les arguments
	// ici, l'id de l'auteur
	sel = document.getElementById(id);
	idgo_2 = sel.options[sel.selectedIndex].value;
	xhr.send("idGo_2="+idgo_2);
}

//Passage de la liste 3 à la liste 4
function go_3(lien, id, id_send)
{
	getXhr();

	var lien = lien; // correspond au lien qui appelera la deuxieme liste
	var id = id; // correspond à l'id de la première liste déroulante
	var id_send = id_send; // correspond à l'id du deuxieme select

	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			leselect = xhr.responseText;
			// On se sert de innerHTML pour rajouter les options a la liste
			document.getElementById(id_send).innerHTML = leselect;
		}
	}

	// Ici on va voir comment faire du post
	xhr.open("POST",lien,true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// ne pas oublier de poster les arguments
	// ici, l'id de l'auteur
	sel = document.getElementById(id);
	idgo_3 = sel.options[sel.selectedIndex].value;
	xhr.send("idGo_3="+idgo_3);
}

//Passage de la liste 4 à la liste 5
function go_4(lien, id, id_send)
{
	getXhr();

	var lien = lien; // correspond au lien qui appelera la deuxieme liste
	var id = id; // correspond à l'id de la première liste déroulante
	var id_send = id_send; // correspond à l'id du deuxieme select

	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			leselect = xhr.responseText;
			// On se sert de innerHTML pour rajouter les options a la liste
			document.getElementById(id_send).innerHTML = leselect;
		}
	}

	// Ici on va voir comment faire du post
	xhr.open("POST",lien,true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// ne pas oublier de poster les arguments
	// ici, l'id de l'auteur
	sel = document.getElementById(id);
	idgo_4 = sel.options[sel.selectedIndex].value;
	xhr.send("idGo_4="+idgo_4);
}
