// recherche commune
function writediv(texte){
	document.getElementById('message').innerHTML = texte;
	document.getElementById('message').style.display='block';
}

// recherche ville
function writediv1(texte){
	document.getElementById('message1').innerHTML = texte;
	document.getElementById('message1').style.display='block';
}

function getXhr(){
	var xhr = null; 
	if(window.XMLHttpRequest) // Firefox et autres
	   xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject){ // Internet Explorer 
	   try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else { // XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr = false; 
	} 
	return xhr
}


// recherche de commune simple
function lister_ville(ville_name){

	var reception = document.getElementById('list_ville'); // div qui affichera les noms des communes si plusieurs resultats

	if(ville_name.length < 3){
		
		reception.style.display='none'; // on masque la liste
		writediv1('<span class=\"erreur\" style=\"font-weight:normal;\">minimum 3 caractères pour la recherche</span>');//on affiche le message d'erreur
	
	}else if(ville_name.length >= 3){
		
		var xhr=getXhr();
		
		//on définit l'appel de la fonction au retour serveur
		xhr.onreadystatechange = function() {
			reception.innerHTML = ''; // pour remettre à 0 le contenu de la div à chaque fois
			if (xhr.readyState==4 && xhr.status == 200) { // si retour ok
				var docXML= xhr.responseXML;
				var nom_com = docXML.getElementsByTagName("nom");
				var dep_com = docXML.getElementsByTagName("dep");
				var ch_com = docXML.getElementsByTagName("ch");
				for (i=0; i<nom_com.length; i++) {
					var name_opt = nom_com.item(i).firstChild.nodeValue+" ["+dep_com.item(i).firstChild.nodeValue+"]";
					var name_opt1 = name_opt.replace("'","\\'");
					var val_opt = ch_com.item(i).firstChild.nodeValue;
					reception.innerHTML += "<div style=\"width:98%; cursor:pointer; padding-left:2%;\" onmouseover=\"this.style.backgroundColor='#DD7C3B';\" onmouseout=\"this.style.backgroundColor='#FFFFCC'\" onclick=\"javascript:document.forms.form_drh.ville_siege.value='"+name_opt1+"'; document.getElementById('list_ville').style.display='none'; writediv1(''); document.getElementById('message1').style.display='none'; \">"+name_opt+"</div>";
					// on rajoute "..." en fin de liste pour indiquer qu'il y a + de résultats
					if(i == 9) { reception.innerHTML += "<div style=\"width:98%\">...</div>"; break; }
				}
				// si pas de résultat
				if(i<1){
					writediv1('<span class=\"erreur\" style=\"font-weight:normal;\">aucune commune trouvée</span>'); //on affiche un message
					reception.style.display='none'; // on masque la liste
				// sinon
				}else{
					writediv1('<span class=\"valid\" style=\"font-weight:normal;\">choisir une commune dans la liste<span>'); //on affiche un message
					reception.style.display='block'; // on affiche la liste
				}
			}
		};
		
		//on affiche le message d'attente
		writediv1('<span>recherche en cours...</span>');

		//on appelle le fichier pour le traitement
		// pas possible en serveur distant
		xhr.open("GET", "../drh/search.php?mot="+ville_name, true);
		xhr.send(null);
	}
}

// recherche de communes pour conservations hypotheques
function lister_commune(com_name){
	
	var reception = document.getElementById('list_com'); // div qui affichera les noms des communes si plusieurs resultats

	if(com_name.length < 3){
		
		reception.style.display='none'; // on masque la liste
		writediv('<span class=\"erreur\" style=\"font-weight:normal;\">minimum 3 caractères pour la recherche</span>');//on affiche le message d'erreur
	
	}else if(com_name.length >= 3){
		
		var xhr=getXhr();
		
		//on définit l'appel de la fonction au retour serveur
		xhr.onreadystatechange = function() {
			reception.innerHTML = ''; // pour remettre à 0 le contenu de la div à chaque fois
			if (xhr.readyState==4 && xhr.status == 200) { // si retour ok
				var docXML= xhr.responseXML;
				var nom_com = docXML.getElementsByTagName("nom");
				var dep_com = docXML.getElementsByTagName("dep");
				var ch_com = docXML.getElementsByTagName("ch");
				for (i=0; i<nom_com.length; i++) {
					var name_opt = nom_com.item(i).firstChild.nodeValue+" ["+dep_com.item(i).firstChild.nodeValue+"]";
					var name_opt1 = name_opt.replace("'","\\'");
					var val_opt = ch_com.item(i).firstChild.nodeValue;
					reception.innerHTML += "<div style=\"width:98%; cursor:pointer; padding-left:2%;\" onmouseover=\"this.style.backgroundColor='#DD7C3B';\" onmouseout=\"this.style.backgroundColor='#FFFFCC'\" onclick=\"javascript:document.forms.form_drh.id_ch.value='"+val_opt+"'; document.forms.form_drh.commune.value='"+name_opt1+"'; document.getElementById('list_com').style.display='none'; writediv(''); document.getElementById('message').style.display='none'; \">"+name_opt+"</div>";
					// on rajoute "..." en fin de liste pour indiquer qu'il y a + de résultats
					if(i == 9) { reception.innerHTML += "<div style=\"width:98%\">...</div>"; break; }
				}
				// si pas de résultat
				if(i<1){
					writediv('<span class=\"erreur\" style=\"font-weight:normal;\">aucune commune trouvée</span>'); //on affiche un message
					reception.style.display='none'; // on masque la liste
				// sinon
				}else{
					writediv('<span class=\"valid\" style=\"font-weight:normal;\">choisir une commune dans la liste<span>'); //on affiche un message
					reception.style.display='block'; // on affiche la liste
				}
			}
		};
		
		//on affiche le message d'attente
		writediv('<span>recherche en cours...</span>');

		//on appelle le fichier pour le traitement
		// pas possible en serveur distant
		xhr.open("GET", "../drh/search.php?mot="+com_name, true);
		xhr.send(null);
	}
}

