var isWorking = false;// est-ce que le canal est occupé

function getHTTPObject() {
	if(window.XMLHttpRequest) // Firefox 
		   xhr_object = new XMLHttpRequest(); 
	else if(window.ActiveXObject) // Internet Explorer 
		   xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
	else { // XMLHttpRequest non supporté par le navigateur 
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
		return; 
	}
	return xhr_object;
	}

var http = getHTTPObject();// on crée un objet HTTP
var resch;
var ch;
var table;
var gotfocus;

function treatquery(){
	// la requête
        if (!isWorking && http) {
		if (gotfocus.name=="artiste"){
			ch = document.getElementById('artiste').value;
			table = "artiste";
			resch = "res";
			// on ajoute ici la fonction de gestion multi artiste :
			var position = ch.lastIndexOf(" / ");
			if (position > 0){
				// on reprend ch a partir de sa nouvelle position :
				var total = ch.length;
				var fin = total-position;

				// on met au format sans espace :
				ch = ch.substr(position+3,fin);
				}
			else {
				// on test si le format est respecté :
                        	if (ch.lastIndexOf("/") > 0){
					ch = ch.replace("/"," / ");
					alert("Vous devez respecter le format : \"espace slash espace\" ( \" / \") entre les artistes");
					}
				if (ch.lastIndexOf(",") > 0){
                                        ch = ch.replace(","," / ");
                                        alert("Vous devez respecter le format : \"espace slash espace\" ( \" / \") entre les artistes");
                                        }
				if (ch.lastIndexOf("-") > 0){
                                        ch = ch.replace("-"," / ");
                                        alert("Vous devez respecter le format : \"espace slash espace\" ( \" / \") entre les artistes");
                                        }
				}
			}
		else if (gotfocus.name=="salle"){
			ch = document.getElementById('salle').value;
			table = "salle";
			resch = "res2";
			}	
		if (ch.length>2){
      			http.open("GET", "../fonctions/treat.php?table=" + escape(table) + "&ch=" + escape(ch), true);
			http.onreadystatechange = handleHttpResponse;
			isWorking = true;
		        http.send(null);
			}
       		if ((ch.length<3) && (document.getElementById(resch).style.visibility == 'visible'))
			{
       			document.getElementById(resch).style.visibility = 'hidden';
			}
		}
	}

function handleHttpResponse() {
	// traitement de la demande
	if (http.readyState == 4) {
       		if (http.responseText.indexOf('invalid') == -1) { 
			var DocumentXML = http.responseXML;
       			var res = DocumentXML.getElementsByTagName('name').item(0).firstChild.data;
			var resids = DocumentXML.getElementsByTagName('ids').item(0).firstChild.data;
			var elements = res.split(";");
			var elementids = resids.split(";");
       			var result;
           		if (elements[0] != ''){
         			result = "<br />";
       				for (var i=0;i<elements.length;i++){
               				result = result + "<a style=\"text-decoration:none;color:red;\" href=\"javascript:setQuery('" + elements[i] + "','" + elementids[i] + "');\">" + elements[i] + "</a><br />";
					isWorking = false;
             				}
         			document.getElementById(resch).innerHTML = result;
				//alert(result);
				document.getElementById(resch).style.visibility = 'visible';
           			}
       			else 
				{
				result = "pas de resultat";
				document.getElementById(resch).innerHTML = result;
				document.getElementById(resch).style.visibility = 'hidden';
        		   	isWorking = false;
				}
			}
	     	}
	}

function setQuery(ch2,id){
	// on recupere la sous chaine epurée de la saisie manuelle
	var longueurSaisie = ch.length;
	var longueurChamp = document.getElementById(table).value.length;
     	var position = longueurChamp-longueurSaisie;
	ch = document.getElementById(table).value.substring(0,position);
	ch = ch.concat(ch2);
	document.getElementById(table).value = ch;
	document.getElementById(resch).style.visibility = 'hidden';
     
	// on fait la meme pour les id contenant les artistes ou le lieu :
//	id = id + " ; ";

  	if (table == "artiste"){
//		alert("<input type=\"hidden\" name=\"idartiste\" value='"+id+"'/>");
//		document.getElementById("dividartiste").innerHTML = "<input type=\"hidden\" name=\"idartiste\" value='"+id+"'/>";
//		document.getElementById(idartiste).value = id;
		}
     	else {
		document.formulaireAnnonce.idsalle.value = id;
     		}	
	}


