var timeout1=null;

function isItAllowed()
{
clearTimeout(timeout1);
timeout1 = setTimeout(function()
{
	loadData();
	clearTimeout(timeout1);
}
,300);
}

function remplissage(remplissageInput, url)
{
	document.getElementById('foo').value = remplissageInput;
	document.getElementById('urlCodeNraSearch').value = url;
	document.getElementById('cnt-list-couv').className='masquer';
}


function afficherResultats(elements)
{
		var divSuggestion = document.getElementById("cnt-list-couv");
		var zoneResultats = document.getElementById("zoneResultatsNra");
		var strongEmphase = document.createElement("h4");
		strongEmphase.appendChild(document.createElement("br"));

		// Création du bouton cliquable afin de masquer le menu déroulant
		divSuggestion.className = "suggestions";
		blocUl = document.createElement("ul");
		var emphase = document.createElement("em");
		if(elements.length > 0)
		{
			for(i=0;i<elements.length; i++)
			{

				if(i==0)
				{
					var nombreResultats = elements[i].getAttribute("count");
					if(nombreResultats>1)
					var plurals = "s";

					else
					var plurals="";
					
					var nombreResultats = elements[i].getAttribute("count");
					if(nombreResultats>50)
					strongEmphase.appendChild(document.createTextNode("Liste des Noeuds de Raccordement"));
					//strongEmphase.appendChild(document.createTextNode("La liste des Noeuds de raccordement est trop longue pour être affichée dans sa globalité"));
					
					else
					strongEmphase.appendChild(document.createTextNode(nombreResultats+" noeud"+plurals+" de raccordement"));
					document.getElementById("titreResultatsListeNRA").appendChild(strongEmphase);
				}

				// Création des liens du moteur de recherche
				// Inclusion du texte
				var emph = document.createElement('em');
				var strong = document.createElement("strong");				
				if(elements[i].getAttribute("communes"))
				listeCommunes = document.createTextNode(" ("+elements[i].getAttribute("communes")+")");
				else
				listeCommunes = document.createTextNode("");

				emph.appendChild(listeCommunes);
				var nomCommuneTmp = elements[i].getAttribute("nomCommune");
				var codeCourtTmp = elements[i].getAttribute("codeCourt");
				var nomCommune = document.createTextNode(nomCommuneTmp);
				var pertinence = document.createTextNode(elements[i].getAttribute("pertinence"));
				//var listeCommunes = document.createTextNode(listeCommunesEmph);
				var localisation = document.createTextNode(elements[i].getAttribute("localisation"));
				var pertinence = document.createTextNode(elements[i].getAttribute("pertinence"));
				var codeLong = document.createTextNode(elements[i].getAttribute("codeLong")+" ");
				var codeCourt = document.createTextNode(elements[i].getAttribute("codeCourt")+" ");
				var codeLongEtCourt = document.createTextNode(elements[i].getAttribute("codeCourt").toUpperCase()+" ("+elements[i].getAttribute("codeLong").toUpperCase()+")");
				var nomDept = elements[i].getAttribute("nomDept");
				var remplissageInput = (elements[i].getAttribute("nomCommune")) ? elements[i].getAttribute("nomCommune").toLowerCase() : elements[i].getAttribute("codeCourt");

				var url = "/fr/haut-debit/"+nomDept+"/"+elements[i].getAttribute("codeCourt").toLowerCase()+"-"+elements[i].getAttribute("codeLong").toLowerCase()+".html";
				var fillForm = 'javascript:document.getElementById("foo").value="'+remplissageInput+'"; document.getElementById("urlCodeNraSearch").value="'+url+'";document.getElementById("cnt-list-couv").className="masquer"; return false;';

				var egt = document.createElement('li');
				egt.setAttribute("onclick", fillForm);
				//egt.setAttribute("onMouseOver", "this.style.cursor='pointer'" );
				var lnk = document.createElement('a');
				lnk.setAttribute("href", 'javascript:remplissage("'+remplissageInput+'","'+url+'")');
				lnk.setAttribute("title", "fiche du NRA "+nomCommuneTmp.toUpperCase());
				if(elements[i].getAttribute("nomCommune"))
					lnk.appendChild(nomCommune);

				else
					lnk.appendChild(localisation);

				egt.appendChild(lnk);
				egt.appendChild(document.createTextNode(" "));

				strong.appendChild(codeLongEtCourt);
				egt.appendChild(strong);
				egt.appendChild(emph);
				zoneResultats.appendChild(egt);
			}
				var egt = document.createElement('li');
				var bold = document.createElement("strong");
				if(nombreResultats>50)
				{
					bold.appendChild(document.createTextNode("La liste des Noeuds de raccordement est trop longue pour être affichée dans sa globalité"));
					egt.appendChild(bold);
					zoneResultats.appendChild(egt);
				}
		}

		else
		{
			var egt = document.createElement('li');
			var strong = document.createElement("strong");
			var zoneCommunes = document.getElementById("zoneResultats2");
			if(zoneCommunes == null)
			var noResults = true;
			
			else
			var noResults = false;
			
			if(!noResults)
			var unknown = document.createTextNode("Aucun NRA ne correspond à votre requête.");
			
			else
			var unknown = document.createTextNode("Aucune commune ni aucun NRA ne correspond à votre requête.");
			
			strong.appendChild(unknown);
			egt.appendChild(strong);
			document.getElementById('zoneResultats').appendChild(egt);
		}
}

function afficherResultatspassCommunes(elements, foo)
{
		var zoneResultats = document.getElementById('zoneResultats2');
		var divSuggestion = document.getElementById("cnt-list-couv");
		divSuggestion.className = "suggestions";

		blocUl = document.createElement("ul");
		var emphase = document.createElement("em");
		listeRepartiteurs ="";
		
		if(elements.length > 0)
		{
			for(i=0;i<elements.length; i++)
			{
				// Création des liens du moteur de recherche
				// Inclusion du texte
				var emph = document.createElement('em');
				var strong = document.createElement("h4");
				var strong2 = document.createElement("em");
				var h3 = document.createElement('h3');

				var pfx = elements[i].getAttribute("pfx");
				var nomUrl =  elements[i].getAttribute("nom");
				var nom = (pfx != "") ? pfx.toUpperCase() +" "+elements[i].getAttribute("nom") : elements[i].getAttribute("nom");
				var nomUrl = elements[i].getAttribute("communeNomUrl");
				var nomDept = elements[i].getAttribute("nomDept");
				var zip = elements[i].getAttribute("zip");
				listeRepartiteurs += elements[i].getAttribute("listeRepartiteurs");

				if(i==0)
				{
					var nombreResultats = elements[i].getAttribute("count");
					if(nombreResultats>1)
					var plurals = "s";

					else
					var plurals="";

					if(nombreResultats>50)
					strong.appendChild(document.createTextNode("Liste des communes"));
					
					else
					strong.appendChild(document.createTextNode(nombreResultats+" commune"+plurals+" trouvée"+plurals));
					document.getElementById('titreResultatsListeCommunes').appendChild(strong);
				}

				var nomPfxUrl = (pfx) ? pfx+"-"+nomUrl.toLowerCase() : nomUrl.toLowerCase() ;
				var url = "/fr/haut-debit/"+nomDept+"/"+nomUrl+".html";
				var fillForm = "javascript:document.getElementById('foo').value='"+nom+"'; document.getElementById('urlSearch').value='"+url+"';document.getElementById('cnt-list-communes').className='masquer'; return false;";

				var egt = document.createElement('li');
				egt.setAttribute("onclick", fillForm);
			//	egt.setAttribute("onMouseOver", "this.style.cursor='pointer'" );
				var lnk = document.createElement('a');
				lnk.setAttribute("href", "javascript:void(0);");
				lnk.setAttribute("onclick", "javascript:remplissage('"+nomUrl+"','"+url+"')");
				lnk.setAttribute("title", "fiche descriptive de la commune de "+nom);
				lnk.appendChild(document.createTextNode(nom));
				egt.appendChild(lnk);
				strong2.appendChild(document.createTextNode(" ("+zip+")"));
				egt.appendChild(strong2);
				document.getElementById('zoneResultats').appendChild(egt);
			}

				listeRepartiteurs = listeRepartiteurs.split(",");
				var egt = document.createElement('li');
				var bold = document.createElement("strong");
				if(nombreResultats>50)
				{
					bold.appendChild(document.createTextNode("Le nombre de communes correspondant à votre requête est très important. Il ne peut donc pas être affiché dans sa globalité"));
					egt.appendChild(bold);
					document.getElementById('zoneResultats').appendChild(egt);
				}
		}
}

// Déclaration de la fonction qui lance la recherche
function loadData()
{
	document.getElementById("urlCodeNraSearch").value = "";
	var zoneResultats = document.getElementById("zoneResultats");
	if(zoneResultats.hasChildNodes())
	{
		while(zoneResultats.hasChildNodes())
		{
			zoneResultats.removeChild(zoneResultats.firstChild);
		}
	}
	
	var zoneResultatsNra = document.getElementById("zoneResultatsNra");
	if(zoneResultatsNra.hasChildNodes())
	{
		while(zoneResultatsNra.hasChildNodes())
		{
			zoneResultatsNra.removeChild(zoneResultatsNra.firstChild);
		}
	}
	
	var titreResultatsListeCommunes = document.getElementById("titreResultatsListeCommunes");
	if(titreResultatsListeCommunes.hasChildNodes())
	{
		while(titreResultatsListeCommunes.hasChildNodes())
		{
			titreResultatsListeCommunes.removeChild(titreResultatsListeCommunes.firstChild);
		}
	}
	
	var titreResultatsListeNRA = document.getElementById("titreResultatsListeNRA");
	if(titreResultatsListeNRA.hasChildNodes())
	{
		while(titreResultatsListeNRA.hasChildNodes())
		{
			titreResultatsListeNRA.removeChild(titreResultatsListeNRA.firstChild);
		}
	}

	ajaxConnect("passCommunes");
	ajaxConnect("passNra");
}

function ajaxConnect(connexion)
{
	var reponse = "";
	if(window.XMLHttpRequest) // FIREFOX
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return(false);

	var codeDept  = nomDept = ''; // Initialisation à zéro pour permettre des recherches sur toute la France
	foo = document.getElementById('foo').value;

	if(connexion == "passNra")
	fichier = "/fr/haut-debit/include/search.php?foo="+foo;

	else if(connexion == "passCommunes")
	fichier = "/fr/haut-debit/include/searchCommune.php?foo="+foo+"&codeDept="+codeDept+"&nomDept="+nomDept;

	if(foo.length < 3)
		document.getElementById("cnt-list-couv").className = "masquer";

	else
	{
		xhr_object.open("GET", fichier, false);
		xhr_object.send(null);
		if(xhr_object.readyState == 4)
		{
			var obj = xhr_object.responseXML;
			var elements = obj.getElementsByTagName("marker");

				if(connexion == "passNra")
				afficherResultats(elements);

				else
				afficherResultatspassCommunes(elements, foo);
		}

		else return(false);
	}
}
