	var xmlHL;
	
	function noError(e){
		return true;
	}
	window.onerror = noError;
	
	function getObj(ref){
		return document.getElementById(ref);
	}
	
	function getXMLattribute(o,val){
		var i=0;
		while(o.childNodes[i] && o.childNodes[i].nodeName!=val){
			i++
		}
		return o.childNodes[i];
	}

	function splitTags(str){ // split la liste de tags sans tenir compte de la hierarchie
		var objLcl = new Object();
		str = str.replace("/>","/><>");
		var strLcl = str.split("<");
		
		for(var i=1;i<strLcl.length;i++){
			if(i%2==1){
				var oPropName = strLcl[i].substr(0,strLcl[i].indexOf(' ')<strLcl[i].indexOf('>')?strLcl[i].indexOf(' '):strLcl[i].indexOf('>'));
				if(oPropName!=''){
				//	alert('objLcl.'+oPropName+'=\''+strLcl[i].substr(strLcl[i].indexOf('>')+1,strLcl[i].length-1)+'\';');
					eval('objLcl.'+oPropName+'=\''+strLcl[i].substr(strLcl[i].indexOf('>')+1,strLcl[i].length-1)+'\';');
				}
			}
		}
		
		return objLcl;
	}
	
	function TreatXML(xml,typ,car,mot,boi){
	switch(typ)
			{
			case "getCarrosseries" :
					while(xml.indexOf('<list xsi:type="ns2:CarrosserieEntry">')!=-1)xml = xml.replace('<list xsi:type="ns2:CarrosserieEntry">','-$-');
					while(xml.indexOf('</list>')!=-1)xml = xml.replace('</list>','-$-');
					break;
					
			case "getMoteurs" :
					while(xml.indexOf('<list xsi:type="ns2:MoteurEntry">')!=-1)xml = xml.replace('<list xsi:type="ns2:MoteurEntry">','-$-');
					while(xml.indexOf('</list>')!=-1)xml = xml.replace('</list>','-$-');
					break;

			case "getBoites" :
					while(xml.indexOf('<list xsi:type="ns2:BoiteEntry">')!=-1)xml = xml.replace('<list xsi:type="ns2:BoiteEntry">','-$-');
					while(xml.indexOf('</list>')!=-1)xml = xml.replace('</list>','-$-');
					break;

			case "getPrixBase" :
								while(xml.indexOf('<list xsi:type="xsd:string">')!=-1)xml = xml.replace('<list xsi:type="xsd:string">','-$-');
								while(xml.indexOf('</list>')!=-1)xml = xml.replace('</list>','-$-');
								while(xml.indexOf('-$--$-')!=-1)xml = xml.replace('-$--$-','-$-');	
								break;								
			}
		itemsList = xml.split('-$-');
			switch(typ)
			{
			case "getCarrosseries" :
						len = itemsList.length -1 
					break;

			case "getMoteurs" :
						len = itemsList.length -1 
					break;

			case "getBoites" :
						len = itemsList.length -1 
					break;

			case "getPrixBase" :
						len = itemsList.length
								break;								
			}
		var ItemsArray = new Array();
		for(var i=0; i<len; i++){
			switch(typ)
			{
			case "getPrixBase" :
				ItemsArray[ItemsArray.length] = itemsList[i];
				break
			default:
			if(i%2==1){
				ItemsArray[ItemsArray.length] = splitTags(itemsList[i]);
			}
		}
		
		}
		
		var sortBool = true;
		while(sortBool){
			sortBool=false;
			for(var i=0;i<ItemsArray.length-1;i++){
				if(ItemsArray[i].libelle > ItemsArray[i+1].libelle){
					sortBool = true;
					var tmpSwitch = ItemsArray[i];
					ItemsArray[i] = ItemsArray[i+1];
					ItemsArray[i+1] = tmpSwitch;
				}
			}
		}
		
		writeList(ItemsArray,typ);
		
	}
	
	var typService = "";
	
	function GetSOAPxml(typ,car,mot,boi){
		if(typService==""){
			alert("unspecified service type");
			return false;
		}
		var xmlhttp = false;
		if(window.XMLHttpRequest) {// Firefox    
			xmlhttp = new XMLHttpRequest();    
		} else if(window.ActiveXObject) {// Internet Explorer    
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");    
		} else { // XMLHttpRequest non supporté par le navigateur 
			if(lang=='f')alert("Votre navigateur n'est pas compatible avec cette page...");
			if(lang=='n')alert("Dit pagina werkt niet met uw browser");    
			return;    
		}

		xmlhttp.open("GET", XMLrequest + "?lang="+lang+"&typService="+typService+"&process="+typ+"&car="+car+"&mot="+mot+"&boi="+boi,true);
				
		xmlhttp.send("variable for firefox");
		xmlhttp.onreadystatechange=function() {
			if (xmlhttp.readyState==4) {
				setTimeout('TreatXML(\''+xmlhttp.responseText+'\',\''+typ+'\',\''+car+'\',\''+mot+'\',\''+boi+'\')',100);
				//getObj('Carrosseries').innerHTML += "<br><br>redirectSOAP.asp?process="+typ+"&car="+car+"&mot="+mot+"&boi="+boi
			}
		}
	}
	

/*
	getObj('Carrosseries').innerHTML="";
	getObj('Moteurs').innerHTML="";
	getObj('Boites').innerHTML="";
	getObj('PrixBase').innerHTML="";


	getCarrosseries
	getMoteurs
	getBoites
	getPrixBase
*/
