
function Ajax() {
	this.getValue = function(strObjForReturn, strUrlHtml, strUrlJs, data) {
		if ( (data == '') || (data == null) ){
			data = null;
		}
		this.connect(strObjForReturn, strUrlHtml, strUrlJs, data);
	}
	
	this.connect = function(strObjForReturn, strUrlHtml, strUrlJs, data) {
		var objAjax = this.getTransport();
		var strUrl = (strUrlHtml != '') ? strUrlHtml : strUrlJs;
		objAjax.open("GET", strUrl, true); 
		objAjax.onreadystatechange = function() {
			if (objAjax.readyState == 4) { // loading complete
				 if (objAjax.status == 200) { // server response: 200  means "file found/all kosher"// only works when viewing via a server, use 0 when testing without
					if (strObjForReturn != null) {
						if(strUrl==strUrlHtml){
							document.getElementById(strObjForReturn).innerHTML = objAjax.responseText;
							if(strUrlJs != ''){
								new Ajax().getValue(strObjForReturn, '', strUrlJs, '');
							}
						}else{ // if(strUrl==strUrlJs)
							 eval(objAjax.responseText);
						}
					}
					
				}else{
					return false;
					//alert('Requête AJAX ne peut être traiter.');
				}
			}else if (objAjax.readyState == 1){ // BRUNO Feb.08,2007 //--> loading
				if(strUrl==strUrlHtml){
					document.getElementById(strObjForReturn).innerHTML = "T&eacute;l&eacute;chargement en cours...."
				}
			}
		}
		objAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		objAjax.send(data);
	}
	
	this.getTransport = function(){
		var tmp = "";
		var e, ee, eee;
		try {
			tmp =  new ActiveXObject('Msxml2.XMLHTTP');
		} catch(e) {
			try {
				tmp =  new ActiveXObject('Microsoft.XMLHTTP');
			} catch(ee) {
				try {
					tmp =  new XMLHttpRequest();
				} catch(eee) {
					tmp =  false;
				}
			}
		}
		return tmp;
	}
	
}; // Ajax();


