
function initAjax(){
	//Create a boolean variable
	var xmlhttp = false;
	//Check if we are using IE.
	try {
		//If the javascript version is greater than 5.
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		//If not, then use the older active x object.
		try {
			//If we are using IE.
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			//Else we must be using a non-IE browser.
			xmlhttp = false;
		}
	}

	//If we are using a non-IE browser, create a JavaScript instance of the object.
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	return(xmlhttp);
}

function getFormValues(objForm){
	var data="";
	var debut=true;
	for(i=0;i<objForm.elements.length;i++){
		if(objForm.elements[i].value){
			if(!debut) data+= '&'; else debut=false;
			if(objForm.elements[i].type=='checkbox'){
				objForm.elements[i].value=objForm.elements[i].checked ? true : false ;
			};
			if(objForm.elements[i].type=='select-one'){
				//alert(objForm.elements[i].name + ' ' + objForm.elements[i].text + ' ' + objForm.elements[i].value );
			}
			data += (objForm.elements[i].name + '=' + objForm.elements[i].value)
		}
	}
	return(data);
}

function getFormElementValue(objForm,nomElt){
	for(i=0;i<objForm.elements.length;i++){
		if(objForm.elements[i].name==nomElt) return(objForm.elements[i].value);
	}
	return false;
}
/**
 * 
 * This effectively creates a queue of functions to be executed when the page loads. 
 * To add functions to this queue, I just need to write:
 * addLoadEvent(firstFunction);
 * addLoadEvent(secondFunction);
 */
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

function fenetreClose(idFenetre){
	var fenetre = document.getElementById(idFenetre);
	if(fenetre){
		fenetre.parentNode.removeChild(fenetre);
		}
}

function createxmlHttp() {
	//If, the activexobject is available, we must be using IE.
	var xmlhttp;
	if (window.ActiveXObject){
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		//Else, we can use the native Javascript handler.
		xmlhttp = new XMLHttpRequest();
	}
	return(xmlhttp);
}


function makeRequestPost(xmlhttp,serverPage, obj,data) {
	xmlhttp.open("POST", serverPage, true);
	
	xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xmlhttp.setRequestHeader("Content-length", data.length);
	xmlhttp.setRequestHeader("Connection", "close");
	
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			obj.innerHTML = xmlhttp.responseText;
			
		}
	}	
	xmlhttp.send(data);
}

function makerequest(xmlhttp,serverPage, obj) {
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			obj.innerHTML = xmlhttp.responseText;
		}
	}
	xmlhttp.send(null);
}

function makeRequestPostSync(xmlhttp,serverPage, obj,data) {
	xmlhttp.open("POST", serverPage, false);
	
	xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xmlhttp.setRequestHeader("Content-length", data.length);
	xmlhttp.setRequestHeader("Connection", "close");
	
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			obj.innerHTML = xmlhttp.responseText;
			
		}
	}	
	xmlhttp.send(data);
}