//############################################//
// Emmanuel GOURET - 07/02/2007 - 11h59.com   //
// Tous droits réservés ~ All rights reserved //
//############################################//

//***********
// Objet HTTP
//***********

function objHTTP(){

	var self=this;
	this.parent=null;
	
	//*********************
	// propriétés publiques
	//*********************

	this.strPage='';
	this.strFonctionRetour='';
	this.boolRetourXml=false;
	
	//*******************
	// propriétés privées
	//*******************

	var HttpRequest=false;

	//*******************
	// méthodes publiques
	//*******************

	this.charger=function(){
		if(arguments.length>=1){
			self.strPage=arguments[0];
		}
		if(arguments.length>=2){
			self.strFonctionRetour=arguments[1];
		}
		if(arguments.length>=3){
			self.boolRetourXml=arguments[2];
		}
		if(window.XMLHttpRequest){
			HttpRequest=new XMLHttpRequest();
			if(HttpRequest.overrideMimeType){
				HttpRequest.overrideMimeType('text/xml');
			}
		}
		else if(window.ActiveXObject){
			try{
				HttpRequest=new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(e){
				try{
					HttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch(e){
				}
			}
		}
		if(!HttpRequest){
			return false;
		}
		HttpRequest.onreadystatechange=_retour;
		HttpRequest.open('GET',self.strPage,true);
		HttpRequest.send(null);
		return true;
	}

	//*****************
	// méthodes privées
	//*****************
 
	var _retour=function(){
		var xmlDocument=null;
		if(HttpRequest.readyState==4){
			if(HttpRequest.status==200){
				if(self.boolRetourXml){
					xmlDocument=HttpRequest.responseXML;
					if(self.parent!=null) eval('self.parent.'+self.strFonctionRetour+'(true,xmlDocument)');
					else eval(self.strFonctionRetour+'(true,xmlDocument)');
				}
				else{
					texte=HttpRequest.responseText;
					if(self.parent!=null) eval('self.parent.'+self.strFonctionRetour+'(true,texte)');
					else eval(self.strFonctionRetour+'(true,texte)');
				}
			}
			else{
				if(self.parent!=null) eval('self.parent.'+self.strFonctionRetour+'(false,"")');
				else eval(self.strFonctionRetour+'(false,"")');
			}
		}
	}

}
