function verif_validation_news_cgu() {
	
	if (document.getElementById("checkbox_news_cgu").checked == false) {
		alert("Vous devez accepter les CGU pour valider.");
		return false; 
	} else {
		document.form_nouvelles_cgu.submit();
	}
}

function ie6_select_hidden() {
	showOrHideAllDropDowns('hidden');
}

function accueil_cgu_cancel() {
	showOrHideAllDropDowns('visible');
	document.getElementById("global-nouvelles_cgu").style.display='none';	
}

function accueil_mentions_legales_cancel() {
	var existe = document.getElementById("global-nouvelles_cgu") 
	if (!existe) {
		showOrHideAllDropDowns('visible');
	} else if ((existe) && (existe.style.display == 'none')) {
		showOrHideAllDropDowns('visible');
	}
	document.getElementById("global_mentionsLegales").style.display='none';	
}

function accueil_mentions_legales_display() {
	showOrHideAllDropDowns('hidden');
	document.getElementById("global_mentionsLegales").style.display='block';	
}

function forgetPassword_submit() {
	var email = document.getElementById("email_auth").value;
	document.getElementById("forgetPasseword_email").value = email;
	document.getElementById("forgetPassword_form").submit();
}


function infobulle(action){
	if(action=='afficher'){
		document.getElementById("info-mdp").style.display='block';
	}else{
		document.getElementById("info-mdp").style.display='none';	
	}	
}

function preloadImage(src) {
    preloaded = document.createElement('img');
	preloaded.src = src;
}


function showOrHideAllDropDowns(newState) {
     
	var elements = document.documentElement.getElementsByTagName('select');
   
	for (var i=0; i<elements.length; i++) {
		elements[i].style.visibility = newState;
	}
} 


function hasEmpty (myObject, message) {

	//alert(message);
	if (myObject.value == "") {
		if (message != "") {
			alert (message);
		}
		return true;
	} else {
		return false;
	}
}


///////////////////////////////////////////
// Aide à la saisie : numero de telephone
///////////////////////////////////////////

function testPhone(nphone) {
   //var test_phone = new RegExp(/^[+\-() .0-9\/]*$/);
   var test_phone = new RegExp(/^[+]?[0-9]*$/);
   if (test_phone.test(nphone) && nphone.length <= 16){
      return true;
   }else{
      return false;
   }
}

/////////////////////////////////
// Aide à la saisie : code postal
/////////////////////////////////

function testCodePostal(cp) {
   var test_cp = new RegExp(/^[0-9]*$/);
   if (test_cp.test(cp) && cp.length <= 16){
      return true;
   }else{
      return false;
   }
}

///////////////////////////
// Aide à la saisie : email
///////////////////////////

function checkEmail(emailAddr) {
	
	// longeur max
   	if ( emailAddr.length > 128 ){
    	return false;
	}
		
	var i;
	
	// Recherche de @
	i = emailAddr.indexOf("@");
	if (i == -1) {
		return false;
	}
	
	// Séparation du nom de l'utilisateur et du nom de domaine.
	var username = emailAddr.substring(0, i);
	var domain = emailAddr.substring(i + 1, emailAddr.length)

	// Recherche des espaces au début du nom de l'utilisateur.
	i = 0;
	while ((username.substring(i, i + 1) == " ") && (i < username.length)) {
		i++;
	}
	// Les enlève s'il en trouve.
	if (i > 0) {
		//username = username.substring(i, username.length);
		return false;
	}

	// Recherche d'espaces à la fin du nom de domaine.
	i = domain.length - 1;
	while ((domain.substring(i, i + 1) == " ") && (i >= 0)) {
		i--;
	}
	// Les enlève s'il en trouve.
	if (i < (domain.length - 1)) {
		//domain = domain.substring(0, i + 1);
		return false;
	}

	// Vérifie que le nom de l'utilisateur et du domaine ne soit pas vide.
	if ((username == "") || (domain == "")) {
		return false;
	}
	
	// Vérifie s'il n'y a pas de caractères interdits dans le nom de l'utilisateur.
	var ch;
	for (i = 0; i < username.length; i++) {
		ch = (username.substring(i, i + 1)).toLowerCase();
		if (!(((ch >= "a") && (ch <= "z")) || 
			((ch >= "0") && (ch <= "9")) ||
			(ch == "_") || (ch == "-") || (ch == "."))) {
				return false;
		}
	}
	
	// Vérifie s'il n'y a pas de caractères interdits dans le nom de domaine
	for (i = 0; i < domain.length; i++) {
		ch = (domain.substring(i, i + 1)).toLowerCase();
		if (!(((ch >= "a") && (ch <= "z")) || 
			((ch >= "0") && (ch <= "9")) ||
			(ch == "_") || (ch == "-") || (ch == "."))) {
				return false;
		}
	}

// Ajouter ci-dessous de nouveaux noms de domaine.
// Voir tous les noms de domaine sur http://www.toulouse-renaissance.net/c_outils/c-nom-domaine.htm
//
var aSuffix = new Array("com","net","int","aero","biz","museum","name","info","coop","pro","eu","edu","org","gov","mil","bj","dz","de","ad","be","ca","bf","bi","cm","cf","cg","cd","ci","dj","fr","ga","gp","gf","lu","mg","ml","ma","mq","mr","mc","nc","pf","re","pm","sn","ch","td","tf","tn");
	var bFoundSuffix = false;
	i = 0;
	while (i < aSuffix.length) {
		if (("." + aSuffix[i]) == domain.substring(domain.length - aSuffix[i].length - 1, domain.length)) {
			return true;
		}
		i++;
	}
	// Si le nom de domaine est inconnu  : return false
	return false;
	
}	







/////////////////////////// 
//	Fonction qui verifie qu'une chaine contient un minimum de le nombre de lettres, 
//  de chiffres et des autres characteres
//	@param nbAlphaMin Le nombre de lettre minimum
//	@param nbNumMin   Le nombre de chiffre minimum
//	@param nbOtherMin Le nombre de chiffre minimum
//	@param chaine      La chaine a valider	
//	@return Retourne  vrai si test est valide		
///////////////////////////
function checkCharacters(nbAlphaMin, nbNumMin, nbOtherMin, chaine){

  var chars = chaine.split("");

  var regexAlpha = new RegExp("([^a-zA-Z])");
  var regexNum = new RegExp("([^0-9])");
  
  var nbAlpha = 0;
  var nbNum = 0;
  var nbOther = 0;

  for(i=0 ; i < chars.length ; i++){
  	var element = chars[i];
    if( !regexAlpha.test(element) ){ nbAlpha++; }
    else
    if( !regexNum.test(element) ){ nbNum++; }
    else
    { nbOther++}
  }
  
  //alert(chaine + " => " + nbAlpha + "c | " + nbNum+"n | " + nbOther+"o");
  
  if( nbAlpha < nbAlphaMin || nbNum < nbNumMin || nbOther < nbOtherMin){
  	return false;
  }else{
    return true;
  }
}


/////////////////////////// 
//	Fonction qui verifie qu'une chaine contient des caractères autorizé, 
//  (pour les champs password)
//	@param nbAlphaMin Le nombre de lettre minimum
//	@param nbNumMin   Le nombre de chiffre minimum
//	@param nbOtherMin Le nombre de chiffre minimum
//	@param chaine      La chaine a valider	
//	@return Retourne  vrai si test est valide		
///////////////////////////
function checkValidCharacters(chaine){

  var chars = chaine.split("");

  var regexOkChar = new RegExp("([^a-zA-Z0-9\-\.\_])");
  
  var nbOkChar = 0;
  var nbKoChar = 0;  

  for(i=0 ; i < chars.length ; i++){
  	var element = chars[i];
    if( !regexOkChar.test(element) ){ nbOkChar++; }
    else
    { nbKoChar++; }
  }
  
  if( nbKoChar > 0 ){
  	return false;
  }else{
    return true;
  }
}

/////////////////////////// 
//	Fonction qui verifie qu'une date est valide, 
//	@param jj Le jour
//	@param mm Le mois
//	@param aaaa L'année
//	@return Retourne vrai si la date est valide		
///////////////////////////
function isDateValid(jj,mm,aaaa) {

  /* tester les champs */
  if (jj=="" || mm=="" || aaaa==""){
    return false;
  }
  if (jj.length > 2 || mm.length > 2 || aaaa.length > 4){
    return false;
  }  
  if ( isNaN(parseInt(jj)) || isNaN(parseInt(mm)) || isNaN(parseInt(aaaa))){
    return false;
  }

  /* Creation de la date correspondante (nb: les mois = 0 à 11) */
  var newDate = new Date(eval(aaaa),eval(mm)-1,eval(jj));

  /* Mise de l'année sur 4 chiffres (si sur 2 chiffres) */
  var annee = newDate.getYear();
  if ((Math.abs(annee)+"").length < 4){
  	annee = annee + 1900;
  }

  /* Vérification de la date générée */
  return (
             (newDate.getDate() == eval(jj))
          && (newDate.getMonth() == eval(mm-1))
          && (annee == eval(aaaa) )
         ) ; 
}


/////////////////////////// 
//	Fonction qui verifie qu'une date correspond a un age minimum, 
//	@param jj Le jour
//	@param mm Le mois
//	@param aaaa L'année
//  @parem ageMin Nombre d'années minimum requi
//	@return Retourne vrai si la date est valide		
///////////////////////////
function isAgeMinValid(jj,mm,aaaa,ageMin) {

  /* tester les champs */
  if (jj=="" || mm=="" || aaaa=="" || ageMin==""){
    return false;
  }
  if (jj.length > 2 || mm.length > 2 || aaaa.length > 4){
    return false;
  }  
  if ( isNaN(parseInt(jj)) || isNaN(parseInt(mm)) || isNaN(parseInt(aaaa)) || isNaN(parseInt(ageMin)) ){
    return false;
  }

  /* Creation de la date correspondante (nb: les mois = 0 à 11) */
  var currentDate = new Date();

  /* Mise de l'année sur 4 chiffres (si sur 2 chiffres) */
  var anneeCourante = currentDate.getYear();
  if ((Math.abs(anneeCourante)+"").length < 4){
  	anneeCourante = anneeCourante + 1900;
  }
 
  var anneeMax = parseInt(aaaa) + parseInt(ageMin);
  var moisCourant = currentDate.getMonth() + 1; // (nb: les mois = 0 à 11)

  /* Vérification de la date */		
  return(    ( anneeCourante > anneeMax )
          || ( anneeCourante == anneeMax && moisCourant > mm )
          || ( anneeCourante == anneeMax && moisCourant == mm &&  currentDate.getDate() >= jj  ) );       


}

/////////////////////////// 
//	Fonction qui verifie qu'une date correspond a un age maximum, 
//	@param jj Le jour
//	@param mm Le mois
//	@param aaaa L'année
//  @parem ageMax Nombre d'années maximum requi
//	@return Retourne vrai si la date est valide		
///////////////////////////
function isAgeMaxValid(jj,mm,aaaa,ageMax) {

  /* tester les champs */
  if (jj=="" || mm=="" || aaaa=="" || ageMax==""){
    return false;
  }
  if (jj.length > 2 || mm.length > 2 || aaaa.length > 4){
    return false;
  }  
  if ( isNaN(parseInt(jj)) || isNaN(parseInt(mm)) || isNaN(parseInt(aaaa)) || isNaN(parseInt(ageMax)) ){
    return false;
  }

  /* Creation de la date correspondante (nb: les mois = 0 à 11) */
  var currentDate = new Date();

  /* Mise de l'année sur 4 chiffres (si sur 2 chiffres) */
  var anneeCourante = currentDate.getYear();
  if ((Math.abs(anneeCourante)+"").length < 4){
  	anneeCourante = anneeCourante + 1900;
  }
 
  var anneeMin = parseInt(anneeCourante) - parseInt(ageMax) -1;
  var moisCourant = currentDate.getMonth() + 1; // (nb: les mois = 0 à 11)

  /* Vérification de la date */	
  return(    ( aaaa > anneeMin )
          || ( aaaa == anneeMin && moisCourant < mm )
          || ( aaaa == anneeMin && moisCourant == mm &&  currentDate.getDate() < jj  ) );       


}

////////////////////////////////////
// Fonction de controle du 
// formulaire d'authentification
////////////////////////////////////
function authentification_form_check_submit() {
	
	if( authentification_form_check()== true ){
		document.getElementById('authentification_form').submit() ;
	}
}

function authentification_form_check() {

	///////////////////
	// Controle de l'email
		
	if (hasEmpty(document.forms['authentification_form'].email_auth, "Veuillez entrer une adresse e-mail")){
		document.forms['authentification_form'].email_auth.focus();
		return false;
	}
	
	if ( document.forms['authentification_form'].email_auth.value == "e-mail" ){
		alert("Veuillez entrer une adresse e-mail");
		document.forms['authentification_form'].email_auth.focus();
		return false;
	}	
	
	if (!checkEmail(document.forms['authentification_form'].email_auth.value)){
		alert('Adresse e-mail non valide');
		document.forms['authentification_form'].email_auth.focus();
		return false;
	}
	
	///////////////////
	// Controle du password
		
	if (hasEmpty(document.forms['authentification_form'].password_auth, "Veuillez entrer un password")){
		document.forms['authentification_form'].password_auth.focus();
		return false;
	}
	
	if ( document.forms['authentification_form'].password_auth.value == "password" ){
		alert("Veuillez entrer un password");
		document.forms['authentification_form'].password_auth.focus();
		return false;
	}

	var today= new Date();
	var offset=today.getTimezoneOffset();
	document.getElementById('authentification_form').offsettime.value = offset ;

	return true;		
}

////////////////////////////////////
// remplacer le type du champs input "Password" : text => password
function initPwd(){
	var _oldInput = document.getElementById('password_auth');
	var _parent = _oldInput.parentNode;
	

	var _newInput = document.createElement('input');
	_newInput.name = 'password_auth';
	_newInput.id = 'password_auth';
	_newInput.type = 'password';
	_newInput.maxlength = 14;

	_parent.replaceChild(_newInput, _oldInput);

	// utilisation d'un setTimeout pour IE6/7
	setTimeout(function() {document.getElementById('password_auth').focus();}, 1);
}


////////////////////////////////////
// Fonction de controle du 
// formulaire d'inscription
////////////////////////////////////
function inscription_beta_form_check_submit() {
	if(inscription_beta_form_check()== true ){
		document.getElementById('inscription_beta_form').submit();
	}
}

function inscription_beta_form_check() {

	///////////////////
	// Controle de l'email
		
	if (hasEmpty(document.forms['inscription_beta_form'].email, "Veuillez entrer une adresse e-mail")){
		document.forms['inscription_beta_form'].email.focus();
		return false;
	}
	
	if (!checkEmail(document.forms['inscription_beta_form'].email.value)){
		alert('Adresse e-mail non valide');
		document.forms['inscription_beta_form'].email.focus();
		return false;
	}	

	///////////////////
	// Controle du pseudo
	
	if (hasEmpty(document.forms['inscription_beta_form'].nickname, "Veuillez choisir un pseudo")){
		document.forms['inscription_beta_form'].nickname.focus();
		return false;
	}	
	
	if (document.forms['inscription_beta_form'].nickname.value.length>10){
		alert("Veuillez choisir un pseudo de moins de 11 caract\350res.");
		document.forms['inscription_beta_form'].nickname.focus();
		return false;
	}		
		
	if (document.forms['inscription_beta_form'].nickname.value.length<3){
		alert("Veuillez choisir un pseudo avec au moins 3 caract\350res.");
		document.forms['inscription_beta_form'].nickname.focus();
		return false;
	}	

	if (!checkValidCharacters(document.forms['inscription_beta_form'].nickname.value)) {
		alert("Votre pseudo ne doit contenir que des caract\350res alphanumériques sans accents, \"-\", \".\" et \"_\".");
		document.forms['inscription_beta_form'].nickname.focus();
		return false;
	}
	
    // Pas de ';' dans le pseudo
    var regexOkCharPseudo = new RegExp("[;]");
    if (regexOkCharPseudo.test(document.forms['inscription_beta_form'].nickname.value)){
       alert("Votre pseudo ne peut pas contenir le caract\350re \"\;\"");
       document.forms['account_data_creation_form'].nickname.focus();
       return false;
    }

    // Pas de caractere avec accent
    var regexOkCharPseudo = new RegExp("[\x80-\xFF]");
    if (regexOkCharPseudo.test(document.forms['inscription_beta_form'].nickname.value)){
       alert("Votre pseudo ne peut pas contenir de caract\350re accentu\351");
       document.forms['account_data_creation_form'].nickname.focus();
       return false;
    }

    // Pas de repetition des caracteres speciaux
    var regexOkCharPseudo = new RegExp("([\x21-\x2F|\x3A-\x40|\x5B-\x60|\x7B-\x7E])\\1");
    if (regexOkCharPseudo.test(document.forms['inscription_beta_form'].nickname.value)){
       alert("Les caract\350res sp\351ciaux ne peuvent pas \352tre doubl\351s");
       document.forms['account_data_creation_form'].nickname.focus();
       return false;
    }    	

	///////////////////
	// Controle du password
	
	if (document.forms['inscription_beta_form'].password1.value == document.forms['inscription_beta_form'].nickname.value){
		alert ("Votre mot de passe doit être différent de votre pseudo");
		document.forms['inscription_beta_form'].password1.focus();
		return false;
	}
	if (hasEmpty(document.forms['inscription_beta_form'].password1, "Veuillez choisir un mot de passe")){
		document.forms['inscription_beta_form'].password1.focus();
		return false;
	}
	if (document.forms['inscription_beta_form'].password1.value.length<5){
		alert("Veuillez choisir un mot de passe d'au moins 5 caract\350res.");
		document.forms['inscription_beta_form'].password1.focus();
		return false;
	}
	if (document.forms['inscription_beta_form'].password1.value.length>14){
		alert("Veuillez choisir un mot de passe de moins de 15 caract\350res.");
		document.forms['inscription_beta_form'].password1.focus();
		return false;
	}
	
	// Contrôle de la présence de chiffres.
    var regexChiffreOkPassword = /\d/i;
    if (!regexChiffreOkPassword.test(document.forms['inscription_beta_form'].password1.value)) {
       alert("Votre mot de passe ne contient pas de chiffres");
       document.forms['inscription_beta_form'].password1.focus();
       return false;
    }
      
     	
	///////////////////
	// Controle de la date de naissance
	
	if ((document.forms['inscription_beta_form'].jour.value.toString() == '0') 
		|| (document.forms['inscription_beta_form'].mois.value.toString() == '0') 
		|| (document.forms['inscription_beta_form'].annee.value.toString() == '0')) {
			
			alert('Veuillez renseigner votre date de naissance.');
			document.forms['inscription_beta_form'].jour.focus();
			return false;
		
	}

	
	var jj = document.forms['inscription_beta_form'].jour.value;
	var mm = document.forms['inscription_beta_form'].mois.value;
	var aaaa = document.forms['inscription_beta_form'].annee.value;
	
	if( isDateValid(jj,mm,aaaa) == false ){
		alert("Cette date n'existe pas. Veuillez renseigner votre date de naissance.");
		document.forms['inscription_beta_form'].jour.focus();
		return false;
	}
	
	// Verification de la date anniversaire de 18 ans minimum
	var ageMin = 18;
	if( isAgeMinValid(jj,mm,aaaa,ageMin) == false ){
		alert("Votre date de naissance est invalide.\n\nVous devez avoir plus de "+ageMin+" ans pour vous inscrire sur le site");
		document.forms['inscription_beta_form'].jour.focus();
		return false;
	}
	
	// Verification de la date anniversaire de 99 ans max
	var ageMax = 99;
	if( isAgeMaxValid(jj,mm,aaaa,ageMax) == false ){
		alert("Votre date de naissance est invalide.\n\nVous devez avoir moins de "+(ageMax+1)+" ans pour vous inscrire sur le site");
		document.forms['inscription_beta_form'].jour.focus();
		return false;
	}	

	///////////////////
	// Controle du sexe

	if (document.forms['inscription_beta_form'].sexe[0].checked == false
	 && document.forms['inscription_beta_form'].sexe[1].checked == false
	 ){
	 	alert("Veuillez choisir un sexe");
		document.forms['inscription_beta_form'].sexe[0].focus();
		return false;
	}
	
		///////////////////
	// Controle du sexe recherché

	if (document.forms['inscription_beta_form'].genderSearch[0].checked == false
	 && document.forms['inscription_beta_form'].genderSearch[1].checked == false
	 ){
	 	alert("Veuillez choisir un sexe recherché");
		document.forms['inscription_beta_form'].genderSearch[0].focus();
		return false;
	}
	
	
	///////////////////
	// Controle du code postal	
			
	if (document.getElementById("idCountry").value == 1) {

		if (hasEmpty(document.forms['inscription_beta_form'].codePostal, "Veuillez saisir le code postal")){
			document.forms['inscription_beta_form'].codePostal.focus();
			return false;
		}
		
		if (!testCodePostal(document.forms['inscription_beta_form'].codePostal.value)) {
			alert ("Veuillez saisir un code postal valide");
			document.forms['inscription_beta_form'].codePostal.focus();
			return false;
		}
		
		if (!ControlZipcode()) {
			return false;
		}		
	}
	
	if (document.forms['inscription_beta_form'].cgu_acceptees.checked != true){
		alert("Vous devez accepter les Conditions G\351n\351rales d'Utilisation.");
		document.forms['account_creation_form'].cgu_acceptees.focus();
		return false;
	}

	// Récupération et affectation du décalage horaire (par rapport à GMT) de l'utilisateur
	var today= new Date();
	var offset=today.getTimezoneOffset();
	document.getElementById('inscription_beta_form').offsettime.value = offset ;
			 
	return true;
}

function inscription_select_limite_hauteur(){
	var optionsDiv = document.createElement('div'); 
	optionsDiv.style.width = document.getElementById("annee").style.width + 1 + 'px';
	if(document.getElementById("annee").options.length > 9){
		optionsDiv.style.height = '100px';
		optionsDiv.style.overflow = 'auto';
	}
}


function selectPaysCodePostal(){

	if (document.getElementById("idCountry").value != 1) {
		document.getElementById('codePostal').value='';
		document.getElementById('codePostal').disabled=true;
		document.getElementById("ville").options.length = 0;
		var newElement = new Option("Ma ville","",false,false);
		document.getElementById("ville").options[0] = newElement;
		document.getElementById('ville').disabled=true;
	} else {
		document.getElementById('codePostal').disabled = false;		
	}	

}


function GetTownListByZipcode(event){
	if ( event.keyCode != 13){
		var zipcode=document.getElementById("inscription_beta_form").codePostal.value;
		if (zipcode.length==5) {
			var url = "getAjax.php?zipcode="+zipcode+"&action=zipcode";		
			// initialisation de la requete	
		  	var xhr_object = initRequete();
		
			// création de l'url
		 	xhr_object.open("GET", url, false);
		  	xhr_object.send(null);
		  	// récupération de la liste des réseaux
		  	var reponse;
		  	if(xhr_object.readyState == 4)
		  		reponse = xhr_object.responseText;	
	  		if(reponse==zipcode){
	  			alert("Aucune ville ne correspond à ce code postal");
	  		}else{
				reponse = reponse.split("+++sep+++");
				document.getElementById("ville").options.length=0;
				document.getElementById("ville").style.width="200px";
				for(var i=0; i<(reponse.length)-1 ;i++){
					option = reponse[i].split("***sep***");
					var newElement = new Option(option[1], option[0] + "|" + option[1] + "|" + option[2], false, false);
					document.getElementById("ville").options[i] = newElement;
				}
				document.getElementById("ville").disabled=false;
			}
		} else {
			document.getElementById("ville").options.length=0;
			var newElement = new Option("Ma ville","",false,false);
			document.getElementById("ville").options[0] = newElement;
			document.getElementById('ville').disabled=true;
		}
	}
}	

function ControlZipcode() {
	var zipcode=document.getElementById("inscription_beta_form").codePostal.value;
	if (zipcode.length==5) {
		var url = "getAjax.php?zipcode="+zipcode+"&action=zipcode";		
		// initialisation de la requete	
	  	var xhr_object = initRequete();
	
		// création de l'url
	 	xhr_object.open("GET", url, false);
	  	xhr_object.send(null);
	  	// récupération de la liste des réseaux
	  	var reponse;
	  	if(xhr_object.readyState == 4)
	  		reponse = xhr_object.responseText;	
  		if(reponse==zipcode){
  			alert("Aucune ville ne correspond à ce code postal");
  			return false;
  		}else{
			return true;
		}
	} else {
		document.getElementById("ville").options.length=0;
		var newElement = new Option("Ma ville","",false,false);
		document.getElementById("ville").options[0] = newElement;
		document.getElementById('ville').disabled=true;	
		alert("Vous devez saisir un code postal à 5 chiffres.");
	}
}	



/* 
  Initialisation de l'objet XMLHTTPrequest
 */ 
function initRequete(){
  var xhr_object = null;
  // Firefox
  if(window.XMLHttpRequest) {
  	xhr_object = new XMLHttpRequest();
  }
  // Internet Explorer
  else if(window.ActiveXObject) {
  	xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
  }
  // XMLHttpRequest non supporte par le navigateur
  else { 
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    return;
  }
  return xhr_object;	
}
