var xmlHttp = createXmlHttpRequestObject();

function createXmlHttpRequestObject() {
var xmlHttp;
	try	{
		xmlHttp = new XMLHttpRequest();
	}
	catch(e) 
	{
		var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
										'MSXML2.XMLHTTP.5.0',
										'MSXML2.XMLHTTP.4.0',
										'MSXML2.XMLHTTP.3.0',
										'MSXML2.XMLHTTP',
										'Microsoft.XMLHTTP');
		for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) {
			try	{
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			}
			catch (e) {} 
		}
	}

	if (!xmlHttp)
		alert("Erreur lors de la création : Objet XMLHttpRequest.");
	else
	return xmlHttp;
}



function process() {
	name = encodeURIComponent(document.getElementById("selWilaya").value);
	
	if (document.getElementById("optLocation").checked) {
		type = "location";
	} else { 
		type = "vente";
	}
	
	if (xmlHttp) {
		try	{
			xmlHttp.open("GET", "psannonces.php?region="+name+"&type="+type, true);
			xmlHttp.onreadystatechange = handleRequestStateChange;
			xmlHttp.send(null);
		}
		catch (e) {
			alert("Impossible de se connecter au serveur:\n" + e.toString());
		}
	}
}

function handleRequestStateChange() {
	if (xmlHttp.readyState == 4) {
		if (xmlHttp.status == 200) {
			try	{
				handleServerResponse();
			}
			catch(e) {
				alert("Erreur lors de la lecture des données: " + e.toString());
			}
		}
		else
		{
			alert("Un problème est survenu lors de la réception des données:\n" + xmlHttp.statusText);
		}
	}
}

function handleServerResponse() {
	var typeArray = new Array("Villa(s)","Appartement(s)","Studio(s)","Duplex(s)","Maisons de maitre","Bungalow(s)","Immeuble(s)",
								"Hôtel(s)","Locaux commerciaux","Terrain(s)","Terrains agricoles","Hangar(s)","Depot(s)","façade(s)","Showroom(s)","Usine(s)","Parking(s)","Fermes(s)", "Station(s) d'essence");	
	var typeValueArray = new Array("Villas","Appartement","Studio","Duplex","maisonmaitre","Bungalow","Immeuble","Hotel","Locaux",
								   "Terrains","Terrainsagri","Hangars","Depot","Facade","Showroom","Usine","Parking","Ferme","stationessence");
	var xmlResponse = xmlHttp.responseXML;
	
	if (!xmlResponse || !xmlResponse.documentElement)
		throw("Structure XML invalide:\n" + xmlHttp.responseText);
	
	var rootNodeName = xmlResponse.documentElement.nodeName;
		if (rootNodeName == "parsererror") throw("Structure XML invalide");
	
	xmlRoot = xmlResponse.documentElement;
	var aType = xmlRoot.firstChild;

	oSelect = document.getElementById("selType");
	oSelect.options.length = 0;
	oSelect.options[0] =  new Option("Selectionner...","Selectionner",false,false);
	for (var i = 0; i < aType.childNodes.length; i++) {
		var oCurrentChild = aType.childNodes[i].firstChild;	
		oSelect.options[i+1] = new Option(typeArray[i] + " - (" + oCurrentChild.nodeValue + ")",typeValueArray[i],false,false);
		if (oCurrentChild.nodeValue != 0)
			oSelect.options[i+1].style.color = "red";
	}
}