// verifFormulaire.js

// Cette fonction vérifie si une référence a  été saisie.
// Si c'est le cas, on vérifie qu'elle existe en base de données puis on affiche la page du annonce correspondant
// sinon on verifie que les champs obligatoires pour faire une recherche sont remplis puis, si c'est le cas, lance la recherche.
function verifformulaire(){
	//TODO : cette fonctionalité doit etre changer, on ne veux pas de traitement particulier pour les recherches par reference.
	
	var reference = parseInt(document.getElementById('champReference').value); // on récupère la valeur de la reference
	
	if (!isNaN(reference)){ // si la reference saisie est un nombre, on vérifie qu'elle existe dans la base de donnees
	
		var xhr = getXhr();
		xhr.onreadystatechange = function(){
			if(xhr.readyState == 4 && xhr.status == 200){
			
				var existe = xhr.responseText;
				
				if (existe == 1){ // si la reference saisie existe, on affiche directement la page correspondante au annonce aillant la meme reference
					
					// redirection sur la page de consultation du annonce correspondant a la reference saisie
					location.href='../pages/pageannonce.php?noannonce='+reference;
					
				}else{ // sinon on affiche un message alertant l'utilisateur qu'aucun annonce ne correspond à la référence saisie
					// affichage d'un message d'alerte
					alert(aucun_annonce_reference);
				}
			}
		}
		xhr.open("POST","../fonctions/verifReference.php",true);
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xhr.send("reference="+reference);
				
	}else{ // sinon on verifie que les champs obligatoires pour une recherche ont annonce été remplis
	
		// récupération de la valeur du select région
		var selectRegion = document.getElementById('selectRegion');
		var noregion = selectRegion.options[selectRegion.selectedIndex].value;
		
		if(noregion>0){ // Modif 27/01/11 : Si on a pas choisi de région, il ne peut pas y avoir de département
			var selectDepartement = document.getElementById('selectDepartement');
			var nodepartement = selectDepartement.options[selectDepartement.selectedIndex].value;
			if (nodepartement == "-1"){
				nodepartement = "";
			}
		}
		// vérification si au moins un type de annonce est sélectionné
		var listetypesannonce = document.getElementById("critereAucentre").getElementsByTagName("input");
		var bool = false; // booléen initialisé a 'false'
		for(i=0;i<listetypesannonce.length;i++){
			if(listetypesannonce[i].checked == true){ // si au moins un type de annonce est sélectionné, on passe le booléen bool à 'true'
				bool = true;
			}
		}
		if (noregion < 0){ // si aucune localisation n'a pas été choisie, on affiche un message d'erreur
			alert(choix_localisation);
		}else if (!bool){ // sinon si le type de annonce n'a pas été choisi, alors on affiche un message d'erreur
			alert(choix_typeannonce);
		}else{ // si tout est ok, alors on lance la recherche
		
			if(nodepartement != ''){
				coordonneescentredepartement(nodepartement);
			}else{
				// on replace la carte sur la région saisie au cas où qu'elle ai été déplacée manuellement
				coordonnescheflieuregion(noregion);
			}
			
			// suppression des marqueurs déjà existants
			supprimerlesmarqueurs();
			// recherche dans la base de donnees des annonces correspondant aux criteres saisis
			verifcriteresrecherche();
			// on affiche le résultat de la recherche à la place des dernières annonces
			if(!isdefined(map)) afficherresultatrecherche();
			
		}
	}
}
