// JavaScript Document
var xhr = null; 

function getXhr(){
	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&eacute; par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr = false; 
	} 
}

// Node cleaner
function go(c){
	if(!c.data.replace(/\s/g,''))
		c.parentNode.removeChild(c);
}

function clean(d){
	var bal=d.getElementsByTagName('*');

	for(i=0;i<bal.length;i++){
		a=bal[i].previousSibling;
		if(a && a.nodeType==3)
			go(a);
		b=bal[i].nextSibling;
		if(b && b.nodeType==3)
			go(b);
	}
	return d;
} 

/**
* M&eacute;thode qui sera appel&eacute;e sur le onchange de chaque select
*/
function gophp(page, newselect, zonecible, listeactuelle){
	getXhr();
	// On d&eacute;fini ce qu'on va faire quand on aura la r&eacute;ponse
	xhr.onreadystatechange = function(){
		document.getElementById(zonecible).style.visibility = "visible";
		document.getElementById(zonecible).innerHTML = "<b>Chargement en cours ...</b>";
		// On ne fait quelque chose que si on a tout re&ccedil;u et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200){
			reponse = clean(xhr.responseXML.documentElement);
			//leselect = xhr.responseText;
			
			/* R&eacute;cup&eacute;rer la liste des types de commerce */
			var items = reponse.getElementsByTagName("element");
			
			var html = '';
			html += 'Choisissez un type de commerce  ';

			/* Nombre de type different */
			count = items.length;
			if(count == 0){
				html = 'Aucun point de vente n\'est disponible dans cette r&eacute;gion';
			}
			else
			{
			html += '<select name="' + newselect + '" id="' + newselect + '">'; /* Pr&eacute;sentation HTML de la liste des types de commerces */
							
			for(i = 0; i < count; i++) { /* POUR CHAQUE type */
				html += '<option value="' + items[i].getElementsByTagName("idelement")[0].firstChild.nodeValue + '">';
				html += items[i].getElementsByTagName("nomelement")[0].firstChild.nodeValue;
				html += '</option>';
			}
			//html += '<option value="0">Toutes les activit&eacute;s</option>';
			html += '</select><br /><br /> ';
			html += '<div style="text-align:center;"><input type="submit" value="Afficher les r&eacute;sultats"></div>';
			}
			
			// On se sert de innerHTML pour rajouter les options a la liste
			document.getElementById(zonecible).innerHTML = html;
			document.getElementById(zonecible).style.visibility = "visible";
		}
		else {
			//document.getElementById(zonecible).innerHTML = "<b>Chargement en cours ...</b>";
		}
	}

	// Ici on va voir comment faire du post
	xhr.open("POST",page,true);
	// ne pas oublier &ccedil;a pour le post
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// ne pas oublier de poster les arguments
	// ici, l'id de la region
	sel = document.getElementById(listeactuelle);
	id = sel.options[sel.selectedIndex].value;
	xhr.send("id="+id);
}

/**
* M&eacute;thode qui sera appel&eacute;e sur le onchange de chaque select
*/
function gophp2(page){
	getXhr();
	// On d&eacute;fini ce qu'on va faire quand on aura la r&eacute;ponse
	xhr.onreadystatechange = function(){
		document.getElementById('resultat').innerHTML = '<legend>R&eacute;sultat </legend><br /><b style="text-align:center;">Chargement en cours ...</b>';
		document.getElementById('resultat').style.visibility = "visible";
		// On ne fait quelque chose que si on a tout re&ccedil;u et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200){
			reponse = clean(xhr.responseXML.documentElement);
			//leselect = xhr.responseText;
			
			/* R&eacute;cup&eacute;rer la liste des types de commerce */
			var items = reponse.getElementsByTagName("element");
			
			var html = '<legend>R&eacute;sultat </legend><br />';

			/* Nombre de type different */
			count = items.length;
			if(count == 0){
				html += 'Aucun Element Disponible';
			}
			else
			{
			/* Pr&eacute;sentation HTML de la liste des resultats */
							
			for(i = 0; i < count; i++) { /* POUR CHAQUE resultat */
				html += '<div class="resultat" style="padding:5px;">';
				html += '<span class="texteVert">' + items[i].getElementsByTagName("nom")[0].firstChild.nodeValue + '</span><br />';
				if(items[i].getElementsByTagName("nom2")[0].firstChild) {
					html += items[i].getElementsByTagName("nom2")[0].firstChild.nodeValue + '<br />';
				}
				if(items[i].getElementsByTagName("adresse")[0].firstChild) {
					html += items[i].getElementsByTagName("adresse")[0].firstChild.nodeValue + '<br />';
				}
				if(items[i].getElementsByTagName("cp")[0].firstChild) {
					html += items[i].getElementsByTagName("cp")[0].firstChild.nodeValue;
				}
				if(items[i].getElementsByTagName("ville")[0].firstChild) {
					html += ' ' + items[i].getElementsByTagName("ville")[0].firstChild.nodeValue + '<br />';
				}
				if(items[i].getElementsByTagName("url")[0].firstChild) {
					html += 'Web : <a href="http://' + items[i].getElementsByTagName("url")[0].firstChild.nodeValue + '" target="_blank">' + items[i].getElementsByTagName("url")[0].firstChild.nodeValue + '</a><br />';
				}
				if(items[i].getElementsByTagName("email")[0].firstChild) {
					html += 'Email : <a href="mailto:' + items[i].getElementsByTagName("email")[0].firstChild.nodeValue + '">' + items[i].getElementsByTagName("email")[0].firstChild.nodeValue + '</a><br />';
				}
				if(items[i].getElementsByTagName("com1")[0].firstChild) {
					//html += 'Commentaires : <br />- ' + items[i].getElementsByTagName("com1")[0].firstChild.nodeValue + '<br />';
					if(items[i].getElementsByTagName("com2")[0].firstChild) {
					//html += '- ' + items[i].getElementsByTagName("com2")[0].firstChild.nodeValue + '<br />';
					}
					if(items[i].getElementsByTagName("com3")[0].firstChild) {
					//html += '- ' + items[i].getElementsByTagName("com3")[0].firstChild.nodeValue + '<br />';
					}
				}
				html += '</div><br />';
			}
			html += '</fieldset><br /><br />';
			}
			
			// On se sert de innerHTML pour rajouter les options a la liste
			document.getElementById('resultat').innerHTML = html;
			//document.getElementById(zonecible).style.visibility = "visible";
		}
		else {
			//document.getElementById(zonecible).innerHTML = "<b>Chargement en cours ...</b>";
		}
	}

	// Ici on va voir comment faire du post
	xhr.open("POST",page,true);
	// ne pas oublier &ccedil;a pour le post
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// ne pas oublier de poster les arguments
	// ici, l'id de la region
	sel = document.getElementById('region');
	region = sel.options[sel.selectedIndex].value;
	sel2 = document.getElementById('activite');
	activite = sel2.options[sel2.selectedIndex].value;
	xhr.send("region="+region+"&activite="+activite);
}