/**
 * Lister les départements d'une région avec un objet
 * XMLHTTPRequest.
 */
/* Création de la variable globale qui contiendra l'objet XHR */
var requete = null;
/**
 * Fonction privée qui va créer un objet XHR.
 * Cette fonction initialisera la valeur dans la variable globale définie
 * ci-dessus.
 */
function creerRequete()
{
    try
    {
        /* On tente de créer un objet XmlHTTPRequest */
        requete = new XMLHttpRequest();
    }
    catch (microsoft)
    {
        /* Microsoft utilisant une autre technique, on essays de créer un objet ActiveX */
        try
        {
            requete = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch(autremicrosoft)
        {
            /* La première méthode a échoué, on en teste une seconde */
            try
            {
                requete = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch(echec)
            {
                /* À ce stade, aucune méthode ne fonctionne... mettez donc votre navigateur à jour ;) */
                requete = null;
            }
        }
    }
    if(requete == null)
    {
        alert('Impossible de créer l\'objet requête,\nVotre navigateur ne semble pas supporter les object XMLHttpRequest.');
    }
}
/**
 * Fonction privée qui va mettre à jour l'affichage de la page.
 */
function refreshStatus() {
	
	var blocRecherche = document.getElementById('main_2cols_left');
	blocRecherche.innerHTML = requete.responseText.replace();
	
}

/**
 * Fonction publique appelée par la page affichée.
 * Cette fonction va initialiser la création de l'objet XHR puis appeler
 * le code serveur afin de récupérer les données à modifier dans la page.
 */
function rechercher() {
	
   /* À cet endroit précis, on peut faire apparaître un message d'attente */
	var blocMessage = document.getElementById('main_2cols_left');
//	blocMessage.style.visibility = "visible";
	blocMessage.innerHTML = "<div style=\"text-align:center; padding:50px;\">Recherche en cours, veuillez patienter...</div>";
	
	/* On récupère les variables */
	
	genre = document.getElementById('genre').value;
	achat = document.getElementById('achat').value;
	location_var = document.getElementById('location').value;
	location_temporaire = document.getElementById('location_temporaire').value;
	decors = document.getElementById('decors').value;
	
	if(document.getElementById('prix_min')) { if(document.getElementById('prix_min').value == '') { prix_min = 0; } else { prix_min = document.getElementById('prix_min').value; } } else { prix_min = 0; }
	if(document.getElementById('prix_max')) { if(document.getElementById('prix_max').value == '') { prix_max = 999999999999; } else { prix_max = document.getElementById('prix_max').value; } } else { prix_max = 999999999999; }
	
	if(document.getElementById('annee_construction_min')) { if(document.getElementById('annee_construction_min').value == '') { annee_construction_min = 0; } else { annee_construction_min = document.getElementById('annee_construction_min').value; } } else { annee_construction_min = 0; }
	if(document.getElementById('annee_construction_max')) { if(document.getElementById('annee_construction_max').value == '') { annee_construction_max = 9999; } else { annee_construction_max = document.getElementById('annee_construction_max').value; } } else { annee_construction_max = 9999; }
	
	if(document.getElementById('superficie_min')) { if(document.getElementById('superficie_min').value == '') { superficie_min = 0; } else { superficie_min = document.getElementById('superficie_min').value; } } else { superficie_min = 0; }
	if(document.getElementById('superficie_max')) { if(document.getElementById('superficie_max').value == '') { superficie_max = 999999999999; } else { superficie_max = document.getElementById('superficie_max').value; } } else { superficie_max = 999999999999; }
	
	if(document.getElementById('nombre_pieces_min')) { if(document.getElementById('nombre_pieces_min').value == '') { nombre_pieces_min = 0; } else { nombre_pieces_min = document.getElementById('nombre_pieces_min').value; } } else { nombre_pieces_min = 0; }
	if(document.getElementById('nombre_pieces_max')) { if(document.getElementById('nombre_pieces_max').value == '') { nombre_pieces_max = 999999999999; } else { nombre_pieces_max = document.getElementById('nombre_pieces_max').value; } } else { nombre_pieces_max = 999999999999; }
	
	if(document.getElementById('filtres_bdd')) { filtres = document.getElementById('filtres_bdd').value; } else { filtres = ''; }
	
	
	
	/* On crée l'objet XHR */
	creerRequete();
	/* Définition du fichier de traitement */
	var url = 'xhr/afficher_resultats.xhr.php?genre='+genre+'&achat='+achat+'&location='+location_var+'&location_temporaire='+location_temporaire+'&decors='+decors+'&prix_min='+prix_min+'&prix_max='+prix_max+'&annee_construction_min='+annee_construction_min+'&annee_construction_max='+annee_construction_max+'&superficie_min='+superficie_min+'&superficie_max='+superficie_max+'&nombre_pieces_min='+nombre_pieces_min+'&nombre_pieces_max='+nombre_pieces_max+'&filtres='+filtres;
	
	/* Envoi de la requête à la page de traitement */
	requete.open('GET', url, true);
	/* On surveille le changement d'état de la requête qui va passer successivement de 1 à 4 */
	requete.onreadystatechange = function() {
		/* Lorsque l'état est à 4 */
		if(requete.readyState == 4) {
			/* Si on a un statut à 200 */
			if(requete.status == 200) {
				/* Mise à jour de l'affichage, on appelle la fonction apropriée */
				setTimeout("refreshStatus()",300);
//					refreshStatus(id_brief);
			}
		}
	};
	requete.send(null);
}
