/**
 * Renvoi un objet de gestion pour AJAX, ou faux si non géré par le navi.
 **/

function getXhr()
{
	var xhr = null;
	
	// Firefox et autres
	if(window.XMLHttpRequest) xhr = new XMLHttpRequest();
	
	// Internet Explorer
	else if(window.ActiveXObject)
	{
		try
		{
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else
	{ // XMLHttpRequest non supporté par le navigateur
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest ...\nCertainnes pages de ce site peuvent avoir des problèmes d'affichage.");
		xhr = false;
	}
	
	return xhr;
}

function simpleAjax(url, funcOk, funcErr, postParam)
{
	// Création d'un élément ajax
	var xhr = getXhr();
	
	if (!xhr) return false;
	
	// On défnit la fonction de callback pour les changements d'état
  xhr.onreadystatechange = function t_xhr_orsc()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if (xhr.readyState == 4 && xhr.status == 200) funcOk(xhr.responseText);
		else if (xhr.readyState == 4 && funcErr) funcErr();
	}
	
	// on execute la requete
	if (!postParam)
	{
		xhr.open("get", url, true);
		xhr.send(null);
	}
	else
	{
		xhr.open("post", url, true);
	
		xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xhr.setRequestHeader("Content-length", postParam.length);
		xhr.setRequestHeader("Connection", "close");
		xhr.send(postParam);
	}
	
	return true;
}

function createBoxByUrl(url, numPhoto, className)
{
	var div       = document.createElement("div");
	div.id				= "bloc_formulaire_temp";
	div.className = "box " + className;
	div.style.cssText      = "z-index:100000000000000000;"; 				
	div.style.top = sourisY + "px";
	div.style.display = "none";


	if (document.getElementById(div.id)) document.body.removeChild(document.getElementById(div.id));		

	div.innerHTML = '<div class="close_box"><a href="#" onclick="document.body.removeChild(document.getElementById(\'' + div.id + '\'));return false;">fermer la boite volante</a></div>'


	document.body.appendChild(div);

	// Création d'un élément ajax
	xhr = getXhr();

	if (!xhr) return false;

	// On défnit la fonction de callback pour les changements d'état
  xhr.onreadystatechange = function()
	{
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if (xhr.readyState == 4 && xhr.status == 200)
		{
			div.innerHTML+= xhr.responseText;
			
			// Afficher le message dans sa zone et sa zone caché
			document.body.appendChild(div);
			
			div.style.display = "block";
			div.style.left         = ((document.body.offsetWidth - div.offsetWidth) /2) + "px";
		}
	}
	
	// on execute la requete
	xhr.open("post", url, true);
	params = "num_photo=" + numPhoto + "";

	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xhr.setRequestHeader("Content-length", params.length);
	xhr.setRequestHeader("Connection", "close");
	xhr.send(params);

	return true;
}
