var xmlDoc;
var parser;
var ns4 = (document.layers)? true:false;         //NS 4
var ie4 = (document.all)? true:false;         //IE 4
var dom = (document.getElementById)? true:false;   //NS 6 ou IE 5

// Récupération de l'objet XHR
function getXhr(){
	var xhr;
	xhr = new XMLHttpRequestSupport();
	parser = new DOMParserSupport();
	return xhr;  	
}
	
// Suggestion du nombre de page
function suggererPage(nomZoneLib,nomZoneSugg,div,nomEnseigne, nomDateDebut, nomDateFin){
	//  Récupération des objets passé en paramètre le champ texte et 
	// la liste déroulante
	var zoneLib = document.getElementById(nomZoneLib);
    var zoneSugg = document.getElementById(nomZoneSugg);
    var zoneEnseigne = document.getElementById(nomEnseigne);
    var zoneDateDebut = document.getElementById(nomDateDebut);
    var zoneDateFin = document.getElementById(nomDateFin);
    	
    // Vérification que le champ texte et la liste déroulante existe
   	if(zoneLib != undefined && zoneSugg != undefined){
    	// Récupération du XHR	
	    var xhr = getXhr();
		contenuPrecedent = zoneLib.value;
	   	xhr.onreadystatechange = function (){
	   		document.getElementById(div).style.visibility="hidden"; 
	   		if(xhr.readyState == 4 && xhr.status == 200){
	   				
				// Récupération de la réponse XML de la recherche 
      			var XML = xhr.responseText;
      			xmlDoc = parser.parseFromString(XML,"text/xml");
      			// Vide la liste déroulante
      			zoneSugg.options.length = 0;
      			// Si il n'y a pas de résultat
 				if(XML==""||XML==null){
 					document.getElementById(div).style.visibility="hidden"; 
 				}								
 				else{     			
      				document.getElementById(div).style.visibility="visible";
      				var monTabNbPage = xmlDoc.getElementsByTagName("NbPage");
      				// Si il n'y a pas de resultat
      				if(monTabNbPage==null||monTabNbPage.length==0){
      					document.getElementById(div).style.visibility="hidden"; 
      				}
      				else{
      					// Adapter la taille de la liste en fonction du nombre de
      					// résultat 
      					// zoneSugg.size=monTabNbPage.length+1;
      				//	if(monTabNbPage.length==1){
      					//	if(zoneLib.value == ""){
      					//	zoneLib.value = monTabNbPage[0].childNodes[0].nodeValue;
      					//	}
      					//	document.getElementById(div).style.visibility="hidden"; 
      					//}
      					zoneSugg.style.height = "";
      					 	  	if(monTabNbPage.length == 1){
      						zoneSugg.size=monTabNbPage.length+1;
      						zoneSugg.options[0] = new Option(monTabNbPage[0].childNodes[0].nodeValue ,monTabNbPage[0].childNodes[0].nodeValue);
      						
      						zoneSugg.style.height = "20px";
      						}
      					else{
      						// Récupération du nombre de page
      						for (var i=0; i<monTabNbPage.length; i++) {
      							// Ajout dans la liste déroulante
      							zoneSugg.options[i] = new Option(monTabNbPage[i].childNodes[0].nodeValue ,monTabNbPage[i].childNodes[0].nodeValue);
      						}
      						
      							//Limitation de la taille du select
      						  	if(monTabNbPage.length >=5){
      							zoneSugg.size = 5;
      							} else zoneSugg.size=monTabNbPage.length;
      					}
      					zoneSugg.options[0].selected = true;
      					zoneSugg.style.width = "105px";
      				}
      			}
      			return;
      					
      		}
 
      					

	   	}
	   				
	   	//Requete AJAX
	   
	   	xhr.open("POST","service/suggestion?Suggestion=Page&NumEnseigne="+zoneEnseigne.value+"&DateDebut="+zoneDateDebut.value+"&DateFin="+zoneDateFin.value,true);
	   	xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=UTF-8"); 	
	   	var qstr = "data=" + zoneLib.value;
	   	xhr.send(qstr);
	}
}
	   			
	   			// Suggestion de la 1ère ville de magasin
	function suggererPremMag(nomZoneLib,nomZoneSugg,div,nomEnseigne, nomDateDebut, nomDateFin, nomNbPage, dernierMag){
	
		//  Récupération des objets passé en paramètre le champ texte et 
		// la liste déroulante
		var zoneLib = document.getElementById(nomZoneLib);
    	var zoneSugg = document.getElementById(nomZoneSugg);
    	var zoneEnseigne = document.getElementById(nomEnseigne);
    	var zoneDateDebut = document.getElementById(nomDateDebut);
    	var zoneDateFin = document.getElementById(nomDateFin);
    	var zoneNbPage = document.getElementById(nomNbPage);
    	//var zoneDernierMag = null;
    	//if(document.getElementById(dernierMag)){
    	var zoneDernierMag = document.getElementById(dernierMag);
    	//}
    	
   		// Vérification que le champ texte et la liste déroulante existe
   		if(zoneLib != undefined && zoneSugg != undefined)
    	{
    		
	    	
	    	
	    		// Récupération du XHR	
	    		var xhr = getXhr();
				contenuPrecedent = zoneLib.value;
	   			xhr.onreadystatechange = function ()
	   			{
	   			
	   			document.getElementById(div).style.visibility="hidden"; 
	   			
	   				if(xhr.readyState == 4 && xhr.status == 200)
	   				{
	   							// Récupération de la réponse XML de la recherche 
      			var XML = xhr.responseText;
      			xmlDoc = parser.parseFromString(XML,"text/xml");
      						  	
      						  	// Vide la liste déroulante
      						  	zoneSugg.options.length = 0;
      						  	
      						  	// Si il n'y a pas de résultat
 								if(XML==""||XML==null){
 								document.getElementById(div).style.visibility="hidden"; 
 								}								
 								else{     			
      						  	document.getElementById(div).style.visibility="visible";
      						  	var monTabPremMag = xmlDoc.getElementsByTagName("PremierMagasin");
      						  	
      						  	// Si il n'y a pas de resultat
      						  	if(monTabPremMag==null||monTabPremMag.length==0){
      						  	document.getElementById(div).style.visibility="hidden"; 
      						  	}
      						  	else{
      						  	// Adapter la taille de la liste en fonction du nombre de
      						  	// résultat 
      						  	
      						    //zoneSugg.size=monTabPremMag.length+1;
      						   // if(monTabPremMag.length==1){
      						    //if(zoneLib.value == ""){
      						   // zoneLib.value = monTabPremMag[0].childNodes[0].nodeValue;
      						   // }
      						   // document.getElementById(div).style.visibility="hidden"; 
      						   // }
      						   zoneSugg.style.height = "";
      						   	  	if(monTabPremMag.length == 1){
      						zoneSugg.size=monTabPremMag.length+1;
      						zoneSugg.options[0] = new Option(monTabPremMag[0].childNodes[0].nodeValue ,monTabPremMag[0].childNodes[0].nodeValue);
      				
      						zoneSugg.style.height = "20px";
      						}
      						    else{
      						    // Récupération du nombre de page
      						  	for (var i=0; i<monTabPremMag.length; i++) {
      							
      							// Ajout dans la liste déroulante
      							zoneSugg.options[i] = new Option(monTabPremMag[i].childNodes[0].nodeValue ,monTabPremMag[i].childNodes[0].nodeValue);
      						  	
      						  	}
      						  	
      						  	//Limitation de la taille du select
      						  	if(monTabPremMag.length >=10){
      							zoneSugg.size = 10;
      							} else zoneSugg.size=monTabPremMag.length;
      						  	}
      						  	zoneSugg.options[0].selected = true;
      						  	}
      						  	}
      						return;
      				
      					}
      					

	   				}
	   				
	   		    //Requete AJAX
	   		    var reg=new RegExp("%", "g");
	   			var drMag = zoneDernierMag.value;
	   			drMag = drMag.replace(reg,"%25");
	   			drMag = encodeURIComponent(drMag);
	   			var nbP = zoneNbPage.value;
	   			if(isNaN(nbP)) nbP = "";
	   			
	   			xhr.open("POST","service/suggestion?Suggestion=PremierMag&NumEnseigne="+zoneEnseigne.value+"&DateDebut="+zoneDateDebut.value+"&DateFin="+zoneDateFin.value+"&NbPage="+nbP+"&dernierMag="+drMag,true);
	   			xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=UTF-8");
	   			var qstr = "data=";
	   			xhr.send(qstr);
	   			}
	   			}
	   			
	   				// Suggestion de la dernière ville de magasin
	function suggererDernMag(nomZoneLib,nomZoneSugg,div,nomEnseigne, nomDateDebut, nomDateFin, nomNbPage, nomPremMag)
	{
	
		//  Récupération des objets passé en paramètre le champ texte et 
		// la liste déroulante
		var zoneLib = document.getElementById(nomZoneLib);
    	var zoneSugg = document.getElementById(nomZoneSugg);
    	var zoneEnseigne = document.getElementById(nomEnseigne);
    	var zoneDateDebut = document.getElementById(nomDateDebut);
    	var zoneDateFin = document.getElementById(nomDateFin);
    	var zoneNbPage = document.getElementById(nomNbPage);
    	var zonePremMag = document.getElementById(nomPremMag);
    	
    	
   		// Vérification que le champ texte et la liste déroulante existe
   		if(zoneLib != undefined && zoneSugg != undefined)
    	{
    		
	    	
	    	
	    		// Récupération du XHR	
	    		var xhr = getXhr();
				contenuPrecedent = zoneLib.value;
	   			xhr.onreadystatechange = function ()
	   			{
	   			
	   			document.getElementById(div).style.visibility="hidden"; 
	   			
	   				if(xhr.readyState == 4 && xhr.status == 200)
	   				{
	   							// Récupération de la réponse XML de la recherche 
      			var XML = xhr.responseText;
      			xmlDoc = parser.parseFromString(XML,"text/xml");
      						  	
      						  	// Vide la liste déroulante
      						  	zoneSugg.options.length = 0;
      						  	
      						  	// Si il n'y a pas de résultat
 								if(XML==""||XML==null){
 								document.getElementById(div).style.visibility="hidden"; 
 								}								
 								else{     			
      						  	document.getElementById(div).style.visibility="visible";
      						  	var monTabDernMag = xmlDoc.getElementsByTagName("DernierMagasin");
      						  	
      						  	// Si il n'y a pas de resultat
      						  	if(monTabDernMag==null||monTabDernMag.length==0){
      						  	document.getElementById(div).style.visibility="hidden"; 
      						  	}
      						  	else{
      						  	// Adapter la taille de la liste en fonction du nombre de
      						  	// résultat 
      						  	
      						   // zoneSugg.size=monTabDernMag.length+1;
      						   // if(monTabDernMag.length==1){
      						   // if(zoneLib.value == ""){
      						  //  zoneLib.value = monTabDernMag[0].childNodes[0].nodeValue;
      						  //  }
      						  //  document.getElementById(div).style.visibility="hidden"; 
      						  //  }
      						  zoneSugg.style.height = "";
      						  	if(monTabDernMag.length == 1){
      						zoneSugg.size=monTabDernMag.length+1;
      						zoneSugg.options[0] = new Option(monTabDernMag[0].childNodes[0].nodeValue ,monTabDernMag[0].childNodes[0].nodeValue);
      			
      						zoneSugg.style.height = "20px";
      					}	
      						    else{
      						    // Récupération du nombre de page
      						  	for (var i=0; i<monTabDernMag.length; i++) {
      							
      							// Ajout dans la liste déroulante
      							zoneSugg.options[i] = new Option(monTabDernMag[i].childNodes[0].nodeValue ,monTabDernMag[i].childNodes[0].nodeValue);
      						  	}
      						  		//Limitation de la taille du select
      						  	if(monTabDernMag.length >=10){
      							zoneSugg.size = 10;
      							} else zoneSugg.size=monTabDernMag.length;
      						  	}
      						  	zoneSugg.options[0].selected = true;
      						  	}
      						  	}
      						return;
      				
      					}
      						
	   				}
	   				
	   		    //Requete AJAX
	   		    var reg=new RegExp("%", "g");
	   			var prMag = zonePremMag.value
	   			//alert(prMag);
	   			prMag = prMag.replace(reg,"%25");
	   			prMag = encodeURIComponent(prMag);
	   			
	   			var nbP = zoneNbPage.value;
	   			if(isNaN(nbP)) nbP = "";
	   			
	   			xhr.open("POST","service/suggestion?Suggestion=DernierMag&NumEnseigne="+zoneEnseigne.value+"&DateDebut="+zoneDateDebut.value+"&DateFin="+zoneDateFin.value+"&NbPage="+nbP+"&PremierMagasin="+prMag,true);
	   			xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=UTF-8");
	   			var qstr = "data=";
	   			//var qstr = ";
	   			//qstr = encodeURIComponent(qstr);
	   			//alert(xhr);
	   			xhr.send(qstr);
	   			}
	   			}
	   			
	   			   				// Suggestion du Titre
	function suggererTitre(nomZoneLib,nomZoneSugg,div)
	{
	
		//  Récupération des objets passé en paramètre le champ texte et 
		// la liste déroulante
		var zoneLib = document.getElementById(nomZoneLib);
    	var zoneSugg = document.getElementById(nomZoneSugg);
    	
    	
    	
   		// Vérification que le champ texte et la liste déroulante existe
   		if(zoneLib != undefined && zoneSugg != undefined)
    	{
    		
	    	
	    	
	    		// Récupération du XHR	
	    		var xhr = getXhr();
				contenuPrecedent = zoneLib.value;
	   			xhr.onreadystatechange = function ()
	   			{
	   			
	   			document.getElementById(div).style.visibility="hidden"; 
	   			
	   				if(xhr.readyState == 4 && xhr.status == 200)
	   				{
	   					// Récupération de la réponse XML de la recherche 
      			var XML = xhr.responseText;
      			xmlDoc = parser.parseFromString(XML,"text/xml");
      						  	
      						  	// Vide la liste déroulante
      						  	zoneSugg.options.length = 0;
      						  	
      						  	// Si il n'y a pas de résultat
 								if(XML==""||XML==null){
 								document.getElementById(div).style.visibility="hidden"; 
 								}								
 								else{     			
      						  	document.getElementById(div).style.visibility="visible";
      						  	var monTabTitre = xmlDoc.getElementsByTagName("Titre");
      						  	
      						  	// Si il n'y a pas de resultat
      						  	if(monTabTitre ==null||monTabTitre.length==0){
      						  	document.getElementById(div).style.visibility="hidden"; 
      						  	}
      						  	else{
      						  	zoneSugg.style.height = "";
      						  	// Adapter la taille de la liste en fonction du nombre de
      						  	// résultat 
      						  	//Un seul resultat
      					if(monTabTitre.length == 1){
      						zoneSugg.size=monTabTitre.length+1;
      						zoneSugg.options[0] = new Option(monTabTitre[0].childNodes[0].nodeValue ,monTabTitre[0].childNodes[0].nodeValue);
      			
      						zoneSugg.style.height = "20px";
      					}	
      						   // zoneSugg.size=monTabTitre.length+1;
      						   // if(monTabTitre .length==1){
      						   // zoneLib.value = monTabTitre[0].childNodes[0].nodeValue;
      						    //document.getElementById(div).style.visibility="hidden"; 
      						   // }
      						    else{
      						    // Récupération du nombre de page
      						  	for (var i=0; i<monTabTitre.length; i++) {
      							
      							// Ajout dans la liste déroulante
      							zoneSugg.options[i] = new Option(monTabTitre[i].childNodes[0].nodeValue ,monTabTitre[i].childNodes[0].nodeValue);
      						  	}
      						  	
      						  	//Limitation de la taille du select
      							if(monTabTitre.length >=3){
      								zoneSugg.size = 3;
      								//zoneSugg.style.height = "20px";
      								
      							}
      							else zoneSugg.size = monTabTitre.length;
      							
      						  	}
      						  	zoneSugg.options[0].selected = true;
      						  	zoneSugg.style.width = "315px";
      						  	}
      						  	}
      						return;
      				
      					}
      					
	   				}
	   				
	   		    //Requete AJAX
	   			xhr.open("POST","service/suggestion?Suggestion=Titre",true);
	   			xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=UTF-8");
	   			var qstr = "";
	   			xhr.send(qstr);
	   			}
	   			}
	   			
	  // Permet de mettre le nombre de page dans le champ nbPage
	function modifChampPros(select,champ,div){
	
	var zoneLib = document.getElementById(champ);
	
	zoneLib.value = document.getElementById(select).value;
	
	document.getElementById(div).style.visibility="hidden";
	 zoneLib.focus();
	
	}
	// Faire disparaitre la div passée en paramètre
	function enleverSuggestions(){

	document.getElementById("suggestionPage").style.visibility="hidden";
	document.getElementById("suggestionPremMag").style.visibility="hidden";
	document.getElementById("suggestionDernMag").style.visibility="hidden";

	}   		
	   		 