function XHRConnection(){var conn=false;var debug=false;var datas=new String();var areaId=new String();var xmlObj;var xmlLoad;try{conn=new XMLHttpRequest();}
catch(error){if(debug){alert('Erreur lors de la tentative de création de l\'objet \nnew XMLHttpRequest()\n\n'+error);}
try{conn=new ActiveXObject("Microsoft.XMLHTTP");}
catch(error){if(debug){alert('Erreur lors de la tentative de création de l\'objet \nnew ActiveXObject("Microsoft.XMLHTTP")\n\n'+error);}
try{conn=new ActiveXObject("Msxml2.XMLHTTP");}
catch(error){if(debug){alert('Erreur lors de la tentative de création de l\'objet \nnew ActiveXObject("Msxml2.XMLHTTP")\n\n'+error);}
conn=false;}}}
this.setDebugOff=function(){debug=false;};this.setDebugOn=function(){debug=true;};this.resetData=function(){datas=new String();datas='';};this.appendData=function(pfield,pvalue){datas+=(datas.length==0)?pfield+"="+escape(pvalue):"&"+pfield+"="+escape(pvalue);};this.setRefreshArea=function(id){areaId=id;};this.createXMLObject=function(){try{xmlDoc=document.implementation.createDocument("","",null);xmlLoad='onload';}
catch(error){try{xmlDoc=new ActiveXObject("Microsoft.XMLDOM");xmlLoad='onreadystatechange ';}
catch(error){if(debug){alert('Erreur lors de la tentative de création de l\'objet XML\n\n');}
return false;}}
return xmlDoc;}
this.setXMLObject=function(obj){if(obj==undefined){if(debug){alert('Paramètre manquant lors de l\'appel de la méthode setXMLObject');}
return false;}
try{xmlObj=obj;}
catch(error){if(debug){alert('Erreur lors de l\'affectation de l\'objet XML dans la méthode setXMLObject');}}}
this.loadXML=function(xml,callBack){if(!conn)return false;if(xmlObj&&xml){if(typeof callBack=="function"){if(xmlLoad=='onload'){xmlObj.onload=function(){callBack(xmlObj);}}
else{xmlObj.onreadystatechange=function(){if(xmlObj.readyState==4)callBack(xmlObj)}}}
xmlObj.load(xml);return;}}
this.sendAndLoad=function(Url,httpMode,callBack){httpMode=httpMode.toUpperCase();conn.onreadystatechange=function(){if(conn.readyState==4&&conn.status==200){if(typeof callBack=="function"){callBack(conn);return;}
else if(areaId.length>0){try{document.getElementById(areaId).innerHTML=conn.responseText;}
catch(error){if(debug){alert('Echec, '+areaId+' n\'est pas un objet valide');}}
return;}}};switch(httpMode){case"GET":try{Url=(datas.length>0)?Url+"?"+datas:Url;conn.open("GET",Url);conn.setRequestHeader("Content-Type","application/x-www-form-urlencoded; Charset=iso-8859-1");conn.send(null);}
catch(error){if(debug){alert('Echec lors de la transaction avec '+Url+' via la méthode GET');}
return false;}
break;case"POST":try{conn.open("POST",Url);conn.setRequestHeader("Content-Type","application/x-www-form-urlencoded; Charset=iso-8859-1");conn.send(datas);}
catch(error){if(debug){alert('Echec lors de la transaction avec '+Url+' via la mthode POST');}
return false;}
break;default:return false;break;}
return true;};return this;}