// 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 getListeOffres() {
	var selectRegion = document.getElementById("region");
	var region = selectRegion.options[selectRegion.selectedIndex].value;
	var selectSecteur = document.getElementById("secteur");
	var secteur = selectSecteur.options[selectSecteur.selectedIndex].value;
	if(document.getElementById("poste").value != "") {
	 	var poste = document.getElementById("poste").value;
	} else {
		var poste = "null";
	}
	if(document.getElementById("profil").value != "") {
		var profil = document.getElementById("profil").value;
	} else {
		var profil = "null";
	}
	creerRequete();
	var url = "lib/getListeOffres.php";	//?region="+region+"&secteur="+secteur+"&poste="+poste+"&profil="+profil
	//alert(url);
	requete.open("POST", url, true);
  requete.onreadystatechange = listeOffres;
	requete.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	requete.send("region="+region+"&secteur="+secteur+"&poste="+poste+"&profil="+profil);	// send(null) pour une requête GET
}


function listeOffres() {
	if(requete.readyState == 4) {
		alert("le serveur est prêt");
		if(requete.status == 200) {
			
			alert("Le statut de ma requête est 200 : tout est OK !");
			var docText = requete.responseText;
			alert(docText);			// test des requêtes (voir getListeOffres.php ligne17)
			/*
			
      //-- Récupère les offres depuis la réponse XML --//
			var docXML = requete.responseXML;
			alert(docXML);
			var idXML = docXML.getElementsByTagName("ID");						// <- object HTML collection
			var offreXML = docXML.getElementsByTagName("offre");			// <- object HTML collection
			var id = new Array();
			var offre = new Array();
			for(i=0; i<idXML.length; i++) {
				id[i] = idXML[i].firstChild.data;												// récupération de l'ID des offres et stockage dans un tableau
			}
			for(i=0; i<offreXML.length; i++) {
				offre[i] = offreXML[i].firstChild.data;									// récupération du nom des offres et stockage dans un tableau
			}
			//-- DOM  <div id="resultatOffre"> --//
			var divOffre = document.getElementById("ajax");
			while(divOffre.hasChildNodes()) {													// si l'élément divOffre a des enfants, on les supprime
				divOffre.removeChild(divOffre.firstChild);
			}
			var noeudElement = document.createElement("ul");					// création de la liste des offres
			noeudElement.id = "listeOffre";
			noeudElement.style.display = "block";
			var li = new Array();
			var a = new Array();
			var txtLi = new Array();									// ???
			for(j=0; j<offreXML.length; j++) {												// création des éléments de la liste
				li[j] = document.createElement("li");
				a[j] = document.createElement("a");
				a[j].href = "#";
				a[j].onclick = "getOffre("+id[j]+")";
				txtLi[j] = document.createTextNode(offre[j]);
				lien[j] = a[j].appendChild(txtLi[j]);										// a[j].firstChild.nodeValue = offre[j] ???
				li[j].appendChild(lien[j]);
			}

			for(k=0; k<offreXML.length; k++) {
				noeudElement.appendChild(li[k]);
			}*/
    } 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 getOffre(id) {
	creerRequete();
	var url = "getOffre.php?id="+id;
	//alert(url);
	requete.open("GET", url, true);
  requete.onreadystatechange = detailOffre;
	requete.send(null);
}

function detailOffre() {
	if(requete.readyState == 4) {
    if(requete.status == 200) {
			alert("detailOffre");
    } 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);
      }
		}
	}
}