	function getXhr(){
		var xhr = null; 
		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é par le navigateur 
			alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
				xhr = false; 
		} 
	   return xhr;
	}
				
	// 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;
	}
	
	function effacerListe(id) {
		var ok = document.getElementById(id).length;
	
		for (var i =ok; i>0; --i) 
	 		document.getElementById(id).options[i] = null;
	 		
	 	document.getElementById(id).selectedIndex = 0;	
	 	
	}

			function getRef() {
				var sel = document.getElementById('idTypeCat');
				var idTypeCat = sel.options[sel.selectedIndex].value;
				
				if (idTypeCat > 0) 
				{
					var xhr = getXhr();
					// On défini ce qu'on va faire quand on aura la réponse
					xhr.onreadystatechange = function(){
						// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
						if(xhr.readyState == 4 && xhr.status == 200){
							reponse = clean(xhr.responseXML.documentElement);
							var nom = reponse.getElementsByTagName('nom');
							var valeur = reponse.getElementsByTagName('valeur');
							
							effacerListe('idRef');
							//effacerListe('idPict');
							
							for (var i =0; i<nom.length; ++i) {
								var option = new Option(nom[i].firstChild.nodeValue,valeur[i].firstChild.nodeValue);
								document.getElementById('idRef').options[(document.getElementById('idRef').length)] = option;
							}
						}
						else
							effacerListe('idRef');
					}	
									
					xhr.open("GET","/pictures/ajax/idCat/"+ idTypeCat +"/",true);
					xhr.send(null);
				}
				else {
					effacerListe('idRef');
					//effacerListe('idPict');	
				}
			}
			
			function getImg() {
				var sel = document.getElementById('idRef');
				var idRef = sel.options[sel.selectedIndex].value;
				
				if (idRef > 0) 
				{
					var xhr = getXhr();
					// On défini ce qu'on va faire quand on aura la réponse
					xhr.onreadystatechange = function(){
						// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
						if(xhr.readyState == 4 && xhr.status == 200){
							reponse = clean(xhr.responseXML.documentElement);
							var nom = reponse.getElementsByTagName('nom');
							var valeur = reponse.getElementsByTagName('valeur');
							
							effacerListe('idPict');
							
							for (var i =0; i<nom.length; ++i) {
								var option = new Option(nom[i].firstChild.nodeValue,valeur[i].firstChild.nodeValue);
								document.getElementById('idPict').options[(document.getElementById('idPict').length)] = option;
							}
						}
					}	
					
					var sel2 = document.getElementById('idTypeCat');
					var idTypeCat = sel2.options[sel2.selectedIndex].value;
						
					xhr.open("GET","/pictures/ajax/idCat/"+ idTypeCat +"/idRef/"+ idRef +"/",true);
					xhr.send(null);
				}
				else {
					effacerListe('idPict');
				}
			}
			
			function clickPartner(id) {
				if (id > 0) 
				{
					var xhr = getXhr();			
					xhr.open("GET","/partenaires/out/id/"+ id +"/",true);
					xhr.send(null);
				}
				return false;
			}