// JavaScript Document
var requete = null;

function creerRequete() {
	try {
		requete = new XMLHttpRequest();
	} catch(essaiMicrosoft) {
		try {
			requete = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(autreMicrosoft) {
			try {
				requete = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(echec) {
				requete = null;
			}
		}
	}
	
	if(requete == null) {
		alert("Impossible de créer l'object requête !");
	}
}


function getEnseignes() {
	var champ = document.getElementById("pays2");
	var pays = champ.options[champ.selectedIndex].value;
	if(pays != "") {
		creerRequete();
		var url = "lib/getEnseignes.php?pays="+pays;
		//alert(url);
		requete.open("GET", url, true);
		requete.onreadystatechange = actualiserPage;
		requete.send(null);
	} else {
		effacer();
	}
}


function actualiserPage() {
	if(requete.readyState == 4) {
    if(requete.status == 200) {
      /* Récupère les enseignes du pays sélectionné depuis la réponse XML */
			var docXML = requete.responseXML;
			var enseigneXML = docXML.getElementsByTagName("enseigne");	// <- object HTML collection
			var enseigne = new Array();
			for(i=0; i<enseigneXML.length; i++) {
				enseigne[i] = enseigneXML[i].firstChild.data;		// récupération du nom des enseignes et stockage dans un tableau (OK)
			}
			/* DOM  <select id="enseigne"> */
			var spanEnseigne = document.getElementById("spanEnseigne");
			while(spanEnseigne.hasChildNodes()) {
				spanEnseigne.removeChild(spanEnseigne.firstChild);
			}/*
			if(spanEnseigne.childNodes) {													// si l'élément spanEnseigne a des enfants, on les supprime
				for(h=0; h<spanEnseigne.childNodes.length; h++) {
					var noeudFils = spanEnseigne.childNodes[h];
					spanEnseigne.removeChild(noeudFils);
					alert("noeudFils -> "+noeudFils);
				}
			}*/
			var noeudElement = document.createElement("select");	// création de l'élément select
			noeudElement.id = "enseigne";
			noeudElement.className = "textnoir";
			noeudElement.name = "enseigne";
			noeudElement.size = "1";
			var option = new Array();
			var txtOption = new Array();
			for(j=0; j<enseigneXML.length; j++) {									// création des options du select
				option[j] = document.createElement("option");
				option[j].setAttribute("value", enseigne[j]);
				txtOption[j] = document.createTextNode(enseigne[j]);
				option[j].appendChild(txtOption[j]);
				//alert(txtOption[j]);
			}
			var optionFin = document.createElement("option");
			optionFin.setAttribute("value", "Sans préférence");
			var txtOptionFin = document.createTextNode("Sans préférence");
			optionFin.appendChild(txtOptionFin);
			for(k=0; k<enseigneXML.length; k++) {
				noeudElement.appendChild(option[k]);
				//alert(option[k]);
			}
			noeudElement.appendChild(optionFin);
			spanEnseigne.appendChild(noeudElement);
    } else {
      var message = requete.getResponseHeader("Status");
      if ((message.length == null) || (message.length <= 0)) {
        alert("Erreur! Le statut de la requête est " + requete.status);
      } else {
        alert(message);
      }
		}
	}
}


function effacer() {
	var spanEnseigne = document.getElementById("spanEnseigne");
	while(spanEnseigne.hasChildNodes()) {
		spanEnseigne.removeChild(spanEnseigne.firstChild);
	}
	var txt = document.createTextNode("Veuillez sélectionner un pays.");
	spanEnseigne.appendChild(txt);
}
