<!--
/**
 * Renvoye un objet de gestion pour AJAX, ou faux si non géré. 
 **/
	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...");
			xhr = false;
		}
		
		return xhr;
	}
                                                             
/**
 * Charge une page sans perdre celle en cours
 * 	bloc					: l'id du bloc html où sera envoyé la réponse du serveur
 * 	page					: l'uri de la page à charger
 * 	[pageErreur]	: page optionnelle afficher en cas d'erreur de la première
 * 	[method]			: methode de transfert, GET par defaut
 * 	[formID]			: le nom du formulaire pour récupérer ses champs    
 **/
	function ajaxLoad(bloc, page, pageErreur, method, formID)
	{	
		var xhr = getXhr() ;
		if (method == null) method = "GET";
		
		if (xhr)
		{
			var messagePost; messagePost = '';
			
			// Si on est en methode POST, on sauve le formulaire
			if (formID)
			{
				if (formID == true) formName = document.forms[0];
				else formName = document.formID;

				var i; i = -1;
				while (formName.elements[i++ +1])
					messagePost+= formName.elements[i].name + '=' + encodeURIComponent(formName.elements[i].value) + '&';
				messagePost+= 'ajax=1'; // On ajoute la var ajax à vrai, pour gérer dans les prochainnes page
			}

			// Si le bloc est caché, on le rend visible
			if (document.getElementById(bloc).style.display != 'block')
			{
				document.getElementById(bloc).style.display = 'block';
				
				// On place le bloc à hauteur de la souris
				document.getElementById(bloc).style.top = sourisY + 'px';
			}
				
			// Indication à l'utilisateur que la page est en cours de chargement
			document.getElementById(bloc).innerHTML = '<br />'
				+ '<div class="blocAjax-Chargement">'
				+ ' <img src="./images/loading_32.gif" alt="" /> Chargement de la page - En cours'
				+ '</span>';
			
			// Fonction appeller lors de la requete open               
			xhr.onreadystatechange = function()
				{
				
//					if (xhr.readyState == 3) alert(xhr.getAllResponseHeaders());
				
					// 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)
					{
						// Succes
						
						// Si le bloc utilisé, est un bloc "par dessus", on met un en-tete pour pvr le "fermer"  
						if (bloc.substring(0, 15) == 'blocAjax-Dessus')
							document.getElementById(bloc).innerHTML =
								'<div class="blocAjaxTitre"><div class="croix" onclick="document.getElementById(\'' + bloc
								+ '\').style.display = \'none\';return false;">&times;</div>'
								+ '<a href="" onclick="document.getElementById(\'' + bloc
								+ '\').style.display = \'none\';return false;">Fermer la fen&ecirc;tre</a>'
								+ '</div>';
						else document.getElementById(bloc).innerHTML = '';
						
						document.getElementById(bloc).innerHTML+= xhr.responseText;
					}
					else
						return false;
				}
//			alert(method + " - " + page);
			xhr.open(method, page, true);
			if (messagePost)
			{
  	    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    	  xhr.setRequestHeader("Content-length", messagePost.length);
	      xhr.setRequestHeader("Connection", "close");

				xhr.send(messagePost);
			}
			else xhr.send(null);
			
			return true;
		}
		else
		{
			// Chargement de la page alternative dans le cas où Ajax ne fonctionne pas.
			if (pageErreur == null) document.getElementById(bloc).innerHTML = "<span>Votre navigateur ne supporte pas les objets XMLHTTPRequest...</span>";
			else document.location.href = pageErreur ;
			
			return false;
		}
	}
	
	function blocLoad(bloc, data)
	{
			// Si le bloc est caché, on le rend visible
			if (document.getElementById(bloc).style.display != 'block')
			{
				document.getElementById(bloc).style.display = 'block';
				
				// On place le bloc à hauteur de la souris
				document.getElementById(bloc).style.top = sourisY + 'px';
			}
			
			if (bloc.substring(0, 15) == 'blocAjax-Dessus')
				document.getElementById(bloc).innerHTML =
					'<div class="blocAjaxTitre"><div class="croix" onclick="document.getElementById(\'' + bloc
					+ '\').style.display = \'none\';return false;">&times;</div>'
					+ '<a href="" onclick="document.getElementById(\'' + bloc
					+ '\').style.display = \'none\';return false;">Fermer la fen&ecirc;tre</a>'
					+ '</div>';
		else document.getElementById(bloc).innerHTML = '';
		
		document.getElementById(bloc).innerHTML+= '<pre>' + decodeURIComponent(data) + '</pre>';
		
		return false;
	}
//-->