function setAjaxRequest(arr_param) {
/*
arr_param = new Array();
	0 = url
	1 = id form
	2 = function to launch after or false
	
*/
	http = getHTTPObject();
	var url = arr_param[0];
	oForm = (document.all?document.all(arr_param[1]):document.getElementById(arr_param[1]));
	add_url = '';
	for(o=0;o<oForm.length;o++)
	{
		oInput = oForm.elements[o];
		if(oInput.type != 'submit' && oInput.type != 'button')
		{
			if(oInput.type == 'checkbox')
			{
				if(oInput.checked == true)
					add_url += oInput.name+'='+oInput.value+'&';
			}
			else
			{
				if(oInput.value=='')
					add_url += oInput.name+'=false&';
				else
					add_url += oInput.name+'='+oInput.value+'&';
			}
		}
	}
	if(add_url.match(/&$/))
	{
		add_url = add_url.replace(/&$/,'');
	}
	add_url += '&func='+arr_param[2];
	var fullurl = url+add_url;
	http.open("POST", url, true);
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	http.onreadystatechange = handleStateChange;
	http.send(add_url);
}
function setAjaxRequestWithoutForm(arr_param) {
/*
arr_param = new Array();
	0 = url
	1 = array(values)
	2 = function to launch after or false
	
*/
	http = getHTTPObject();
	var url = arr_param[0];
	var nbElmnt = arr_param[1].length;
	add_url = '';
	for(a=0;a<nbElmnt;a++)
	{
		add_url += arr_param[1][a][0]+'='+arr_param[1][a][1]+'&';
	}
	/*
	for(o=0;o<oForm.length;o++)
	{
		oInput = oForm.elements[o];
		if(oInput.type != 'submit' && oInput.type != 'button')
		{
			if(oInput.type == 'checkbox')
			{
				if(oInput.checked == true)
					add_url += oInput.name+'='+oInput.value+'&';
			}
			else
				add_url += oInput.name+'='+oInput.value+'&';
		}
	}*/
	if(add_url.match(/&$/))
	{
		add_url = add_url.replace(/&$/,'');
	}
	add_url += '&func='+arr_param[2];
	var fullurl = url+add_url;
	http.open("POST", url, true);
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	http.onreadystatechange = handleStateChange;
	http.send(add_url);
}
function setTabularAjaxRequest(arr_param)
{
	http = getHTTPObject();
	var url = arr_param[0];
	list = arr_param[1];
	add_url = '';
	for(o=0;o<(list.length-1);o++)
	{
		oTable = (document.all?document.all(list[o]):document.getElementById(list[o]));
		cRows = oTable.rows;
		for(p=0;p<cRows.length;p++)
		{
			cCells = cRows[p].cells;
			for(q=1;q<cCells.length;q++)
			{
				replace_str = list[o].replace(/tbl_/,'');
				add_url += replace_str+'-'+cCells[q].id+'='+cCells[q].innerHTML+'&';
			}
		}
	}
	if(add_url.match(/&$/))
	{
		add_url = add_url.replace(/&$/,'');
	}
	add_url += '&func='+arr_param[2];
	var fullurl = url+add_url;
	http.open("POST", url, true);
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	http.onreadystatechange = handleStateChange;
	http.send(add_url);
}
function getAjaxRequest(arr_param) {
/*
arr_param = new Array();
	0 = url
	1 = string - parametres de l'url
	2 = function to launch after or false
	
*/
	trace('XMLObject requisite');
	http = getHTTPObject();
	var url = arr_param[0];
	add_url = arr_param[1];
	if(url.match(/\?/))
	{
		if(add_url!='')
			add_url = '&'+add_url;
		add_url = '&func='+arr_param[2];
	}
	else
	{
		if(add_url!='')
			add_url = '?'+add_url+'&func='+arr_param[2];
		else
			add_url = '?func='+arr_param[2];
	}
	if(add_url.match(/&$/))
	{
		add_url = add_url.replace(/&$/,'');
	}
	var fullurl = url+add_url;
	http.open("GET", fullurl, true);
	http.onreadystatechange = handleStateChange;
	http.send('');
}
function handleStateChange() {
	if (http.readyState == 4) {
		XMLResponse = http.responseXML.getElementsByTagName('response')[0];
	 	//if (XMLResponse.getAttribute("error") != '') {
			//var field = http.responseXML.getElementsByTagName('response')[0].getAttribute('id');
			//alert(XMLResponse.getAttribute("error"));
		//}
		//else
		//{
			trace('XMLResponse received');
			func = XMLResponse.getAttribute("function");
			trace('Return function = '+func);
			if(func!=(false|undefined|null|''))
				eval(func)(http);
		//}
	}
}
function getHTTPObject() {
/*
	var xmlhttp;
	if (window.XMLHttpRequest)
	{
		xmlhttp = new XMLHttpRequest();

		// évite un Bug du navigateur Safari :
		if (xmlhttp.overrideMimeType) xmlhttp.overrideMimeType("text/xml");
	}
	else if (window.ActiveXObject)
	{
		try
		{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e){}
		}
	}
		/*@cc_on
		@if (@_jscript_version >= 5)
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
	      try {
	        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	      } catch (E) {
	        xmlhttp = false;
	      }
	    }
	  @else
	  xmlhttp = false;
	  @end @
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try 
		{
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
		xmlhttp = false;
		}
	}*/
	if(window.XMLHttpRequest) {
    	try {
			xmlhttp = new XMLHttpRequest();
        } catch(e) {
			xmlhttp = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		xmlhttp = false;
        	}
		}
    }
	
	return xmlhttp;
}