//création de l'objet
var AJAX =
	{
		//création de l'objet XMLHttpRequest
		creationXHR : function()
			{
				return new XMLHttpRequest();
			}, 
			
		//envoi des données
		envoiDonnees : function (_objetXHR, _methodeEnvoi, _fichier, _typeContenu, _donneesEnvoyees)
			{
				//création de la requête
				_objetXHR.open(_methodeEnvoi, _fichier, true);
				
				//test du type de contenu = type MIME
				switch (_typeContenu)
					{
						case "txt":
						_typeContenu = "text/plain";
						break;
						
						case "xml":
						_typeContenu = "text/xml";
						break;
						
						case "json":
						_typeContenu = "application/json";
						break;
						
						case "url":
						_typeContenu = "application/x-www-form-urlencoded";
						break;
					}
				
				_objetXHR.setRequestHeader("Content-type", _typeContenu);
				
				//exécution de la requête
				//test de la méthode d'envoi
				switch (_methodeEnvoi)
					{
						case "get":
						_objetXHR.send(null);
						break;
						
						case "post" :
						_objetXHR.send(_donneesEnvoyees);
						break;
					}
			}, 

		receptionDonnees : function(_objetXHR, _modeReception, _fonctionReception)
			{
				//événement
				_objetXHR.onreadystatechange = function()
					{
						//readyState à 4 : requête terminée et réponse disponible
							if (_objetXHR.readyState == 4)
								{
									//status à 200 : le fichier est trouvé
									if(_objetXHR.status == 200)
										{
											//test du mode de réception
											switch(_modeReception)
												{
													case "txt":
													_fonctionReception(_objetXHR.responseText);
													break
													
													case "xml":
													_fonctionReception(_objetXHR.responseXML);
													break;
													
													case "json":
													/*
														une réponse en JSON doit être analysée en JS avec la fonction eval
													*/
													//eval ("(JSON)")
													_fonctionReception(eval("(" + _objetXHR.responseText + ")"));
													break;
												}
										}
								}
					}
			}
	}
