function disparaitre(target,temps){

	// On fait disparaître lentement la cible
	Effect.Fade(target,{duration:temps});

}
	
function apparaitre(target,temps){

	// On fait apparaître lentement la cible
	Effect.Appear(target,{duration:temps});

}

function contenu(target,results){
	
	// On affiche le nouveau contenu
	document.getElementById(target).innerHTML = results;
		
}

function charge(url,target){

	time = Math.floor((new Date()).getTime() / 1000);

	url = url + '&ts=' + time;

	// Temps de transition
	var temps = 200;
	var spec_temps = (temps / 1000);

	disparaitre(target,spec_temps);

	// XMLHttpRequest natif
	if (window.XMLHttpRequest){
		
		req = new XMLHttpRequest();
		req.onreadystatechange = function(){ ChargeDone(target,temps); };
		req.open("GET", url, true);
		req.send(null);

	// Version IE / Windows ActiveX
	}else if(window.ActiveXObject){

		req = new ActiveXObject("Microsoft.XMLHTTP");

        if(req){
			req.onreadystatechange = function(){ ChargeDone(target,temps); };
			req.open("GET", url, true);
			req.send();
		}

	}

}    

function ChargeDone(target,temps){

	var spec_temps = (temps / 1000);

	// Si la réponse est chargée
	if(req.readyState == 4){

		// Seulement si "OK"
		if(req.status == 200){

			disparaitre(target,0);

			results = req.responseText;
			document.getElementById(target).innerHTML = results;

			setTimeout("apparaitre('" + target + "','" + spec_temps + "');",200);

		}else{

			document.getElementById(target).innerHTML = "Erreur de chargement...\n" +
			req.statusText;

		}

	}

}