function init(){
var httpRequest = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		httpRequest = new XMLHttpRequest();
		if (httpRequest.overrideMimeType) {
			httpRequest.overrideMimeType('text/xml');
			// Voir la note ci-dessous à propos de cette ligne
		}
	}
	else if (window.ActiveXObject) { // IE
		try {
			httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {}
		}
	}
	if (!httpRequest) {
            alert('Abandon :( Impossible de créer une instance XMLHTTP');
            return false;
        }
return httpRequest;
}

function split(chaine,reg,methode){
	var reg=new RegExp(reg,methode);
	var tableau=chaine.split(reg);
	return tableau;
}

function charge_contenu(element,mode,type,contenu,page,var_post,display,effect,tps){
	if(!display)var display=0;
	if(!effect)var effect=0;
	//fonction affichage
	var load = function (){
		if (httpRequest.readyState == 4) {
			contenu='Une erreur est survenue.';
			if (httpRequest.status == 200)contenu=httpRequest.responseText;
			if (httpRequest.status == 206)contenu='<img src="fonction/load.gif"/><br/>En cours de chargement';
			if (httpRequest.status == 304)contenu='Pas de modification';
			if( httpRequest.status == 401)contenu='Acces interdit.';
			if( httpRequest.status == 404)contenu='Page introuvable';
			if( httpRequest.status == 416)contenu='Requete incorrecte';
			if( httpRequest.status == 500)contenu='Erreur serveur interne';
			if( httpRequest.status == 0)contenu='Une erreur est survenue.';
		}
		if(httpRequest.readyState == 3)contenu='<img src="fonction/load.gif"/><br/>Veuillez patientez pendant le chargement.';
		if(httpRequest.readyState == 2)contenu='<img src="fonction/load.gif"/><br/>Votre requête bien envoyee.';
		if(httpRequest.readyState == 1)contenu='<img src="fonction/load.gif"/><br/>Recuperation des informations.';
		if(httpRequest.readyState == 0)contenu='<img src="fonction/load.gif"/><br/>En cours d\'initialisation.';
		el.innerHTML=contenu;
	}
	var variable='';
	if(!contenu)var contenu='';
	var i;
	//splitage du var_post
	if(var_post!=''){
		var tab_var=split(var_post,'[&]+','g');
		for (i=0;i<=tab_var.length-1;i++){
			variable=variable+tab_var[i]+"="+get(tab_var[i]).value;
			if(i<tab_var.length-1){
				variable+="&";
			}
		}
	}
	//récupération de l'élement html
	var el=get(element);
	//si texte
	if(type=='text'){
		el.innerHTML=contenu;
		if(display=="1" || display==1)affiche(element,effect);
	}else{
		//si page externe
		if(type == 'page'){
			httpRequest=init();
			httpRequest.onreadystatechange = function() { load();};
			//si method GET
			if(mode=='GET'){
				if(var_post)
					page=page+"?"+variable;
			}
			//envoie page
			httpRequest.open(mode, page, true);
			//method=post
			if(mode=='POST'){
				httpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				httpRequest.send(variable);
			}else{
				httpRequest.send(null);
			}
			//affiche avec ou sans effet
			if(display=="1" || display==1){
				affiche(element,effect);
				if(tps)
				masque(element,tps);
			}
		}
	}
}
