
// cree un objet HTTP pour faire une requete avec la gestion des différents navigateurs.

function getHTTP()
	{
	var http;

	if(window.XMLHttpRequest)            // Firefox, Konqueror, Opera
		http = new XMLHttpRequest;
	else if(window.ActiveXObject)        // Internet Explorer
		http = new ActiveXObject("Microsoft.XMLHTTP");
	else
		alert("XMLHttpRequest (AJAX) non supporte");

	return http;
	}

/******************************************************************************/
/*
 * modifie le contenu de l'objet id par le retour de l'url mentionne
 */

function url_update (url,id)
  {
  if(e(id))
	{

	var http = new getHTTP();

	http.open("GET", url , true);
	http.onreadystatechange = function ()
	  {
	  if (http.readyState == 4 && http.status==200)
		{
		e(id).innerHTML = http.responseText;
		}
	  }
	http.send(null);
	}
  else
	{
	alert("l'id <"+id+"> n'est pas definit");
	return ;
	}
  }

/******************************************************************************/
/*
 * modifie la valeur de l'objet id par le retour de l'url mentionne
 */

function url_update_value (url,id)
	{
	var http = new getHTTP();

	http.open("GET", url , true);
	http.onreadystatechange = function ()
		{
	  if (http.readyState == 4 && http.status==200)
		  {
		  e(id).value = http.responseText;
	    }
		};
	http.send(null);
	}

/******************************************************************************/
/*
 * fixe le contenu d'une combobox avec le retour de l'url specifiee.
 *
 * le retour de l'URL peut etre de 2 types :
 * - 
 */

function insert_url_in_select(url,sel)
	{
	//alert('OK');
	var http = new getHTTP();

	http.open("GET", url , true);
	http.onreadystatechange = function ()
		{
		if (http.readyState == 4 && http.status==200)
			{
			var tab = http.responseText.split('\n'); 

			for( i in tab)
				{
				if(tab[i] != '')
					{
					var t = tab[i].split(' ');
					var o;

					// si il y a 2 mots, on considère que c'est la paire key/text
					if(t.length==2)
						{
						o = new Option(t[1],t[0],false,false);
						}
					// sinon, la key et le text sont la ligne entière.
					else
						{
						o = new Option(tab[i],tab[i],false,false);
						}

					sel.options[sel.options.length] = o;
					}
				}
			}
		};
	http.send(null);
	}

/*
 -------- raccourcit d'ecriture -------
 */ 
function e(id)
	{
	//alert('OK');
	return document.getElementById(id);
	}




