function getHTTPObject()
{
	var xmlhttp = false;
	
	// On essaye de rÃ©cupÃ©rer l'objet XMLHTTPRequest selon le navigateur (IE, Firefox...)
	try
	{
		// Internet Explorer
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e)
	{
		try
		{
			// Autres navigateurs
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (E)
		{
			// Sinon l'objet XMLHTTPRequest n'existe pas
			xmlhttp = false;
		}
	}
	
	// Si l'objet XMLHTTPRequest existe, on en crÃ©e une instance
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
	{
		try
		{
			xmlhttp = new XMLHttpRequest();
		}
		
		catch (e)
		{
			xmlhttp = false;
		}
	}
		
	return xmlhttp;
}


function change(changed,f,idcat)
{
	if (changed == 1) // Mise à jour des modèles des constructeurs
	{
		var xhr_Modele = getHTTPObject();
		majListe('listModele', xhr_Modele, 'majModeleBatAMot.php', 1,f,0);
	}
	if (changed == 2) // Mise à jour des modèles des moteurs
	{
		var xhr_Modele = getHTTPObject();
		majListe('listModele', xhr_Modele, 'majMoteur.php', 1,f,0);
	}
	if (changed == 3) // Mise à jour des modèles de bateau pour dépot annonce donc tt afficher
	{
		var xhr_Modele = getHTTPObject();
		majListe('listModele', xhr_Modele, 'majModeleDepotBatAMot.php', 1,f,0);
	}
	if (changed == 4) // Mise à jour des modèles de bateau d'une categorie particuliere
	{
		var xhr_Modele = getHTTPObject();
		majListe('listModele', xhr_Modele, 'majModeleBatAMotTyp.php', 1,f,idcat);
	}
	if (changed == 5) // Mise à jour des modèles des constructeurs dont l'annonce est publié
	{
		var xhr_Modele = getHTTPObject();
		majListe('listModele', xhr_Modele, 'majModeleBatAMot2.php', 1,f,0);
	}					
}

function majListe(liste, xhr_maj, fichier, changed,f,idcat)
{
	url = 'modules/' + fichier + 
	'?idmarque='+ escape(f.listMarque.value) + 
	'&liste=' 	+ escape(liste) +
	'&idcat='	+ escape(idcat);
	xhr_maj.onreadystatechange = function()
	{
		if (xhr_maj.readyState == 1 || xhr_maj.readyState == 2)
		{
			f.elements[liste].options.length = 0;
			f.elements[liste].options[f.elements[liste].options.length] = new Option('Chargement ...', '0');
		}
		if (xhr_maj.readyState == 4)
		{
			eval(xhr_maj.responseText);
		}
	}
	xhr_maj.open("GET",	url, true);
	xhr_maj.send(null);
}
