var page_act=-1;
var page_max=0;
var region=new Array();
var corrRegion=new Array();
var lastcat;
 corrRegion={'1':'Guadeloupe','2':'Martinique','3':'Guyane','4':'Réunion','11':'Ile-de-France','21':'Champagne-Ardenne','22':'Picardie','23':'Haute-Normandie','24':'Centre','25':'Basse-Normandie','26':'Bourgogne','31':'Nord-Pas-de-Calais','41':'Lorraine','42':'Alsace','43':'Franche-Comté','52':'Pays de la Loire','53':'Bretagne','54':'Poitou-Charente','72':'Aquitaine','73':'Midi-Pyrénées','74':'Limousin','82':'Rhône-Alpes','83':'Auvergne','91':'Languedoc-Roussillon','93':'Provence-Alpes-Côte d\'Azur','94':'Corse'};

function open_ext_link()
{
  var liens=document.getElementsByTagName('a');
  for (var i=0;i<liens.length;++i)
  {
    if (liens[i].className=='lien_ext')
    {
      liens[i].title = 'S\'ouvre dans une nouvelle fenêtre';
      liens[i].onclick = function()  { window.open(this.href,'','menubar=yes,location=yes,resizable=yes,toolbar=yes,scrollbars=yes,width=720,height=720'); return false; };
    }
  }
}  
window.onload = open_ext_link;

function verifForm()
{

var motclef=document.recharticle.motclef.value;
  if (motclef == "" )
  {
  
    alert("Vous n'avez pas saisi de mot clef!");
 
	return false;
 }
 return true;
  

      if (champ.value.length<3) {
        {
         alert("Recherche trop large, saisissez plus de caractères!");
		 
        return false;
      }
  
return true;
}
}

 
function recherche(cat,filtre)
{
	if (cat)
	{ var typeRech="ct"; var champRech=cat; lastcat=cat; }
	else
	{
		var typeRech=(document.forms['recherche'].elements['rs_mc'][0].checked)?"rs":"mc";
		var champRech=document.forms['recherche'].elements['champ'].value;
		lastcat="";
	}
	xmlHttp = GetXmlHttpObject();
	if (xmlHttp == null)
	{
		alert("Votre navigateur ne supporte pas les requêtes HTTP.");
		return false;
	} 
	var url="recherche.php?typeRech="+typeRech+"&champRech="+champRech;
	if (filtre) url+="&filtre="+filtre;
	xmlHttp.open("GET", url , false); 
	xmlHttp.send(null);
		
	affiche_resultat(xmlHttp.responseText);
}

function affiche_resultat(resultat)
{
	
	page_act=-1;
	//var resSociete=recherche();
	var cadre=document.getElementById('resultat_recherche');
	for (var i=cadre.childNodes.length-1;i>-1;i--) cadre.removeChild(cadre.childNodes[i]);
	if (resultat)
	{
		var enrSociete=resultat.split('=');
		var nbEnregistrement=enrSociete.length;
		page_max=Math.ceil(nbEnregistrement/10);
		var message=document.createElement('div');
		//message.style.display='block';
		var message_texte=document.createTextNode(nbEnregistrement+" réponse"+((nbEnregistrement>1)?"s ":""));
		message.appendChild(message_texte);
		message.setAttribute('id','mess_rech');
		if (nbEnregistrement>10) 
		{
			var restr=document.createElement('a');
			var restr_texte=document.createTextNode("filtrer par zone");
			restr.appendChild(restr_texte);
			restr.setAttribute('href','javascript:affCritRestr()');
			restr.style.marginLeft="20px";
			message.appendChild(restr);
		}
	
		cadre.appendChild(message);
		var liste_lien_top=liste_lien_page(nbEnregistrement);
		if (liste_lien_top) cadre.appendChild(liste_lien_top);
		
		var tabSociete=new Array;
		for (var i=0;i<enrSociete.length;i++) tabSociete[i]=enrSociete[i].split('#');
		for (var j=0;j<nbEnregistrement;j++)
		{
			if (tabSociete[j][0]!='')
			{
				var titre_lien=document.createElement('a');
				titre_lien.setAttribute('href','http://'+tabSociete[j][0]); // site web
				titre_lien.setAttribute('class','lien_ext');
				titre_lien.setAttribute('className','lien_ext');
			}
			else 
			{
				var titre_lien=document.createElement('span');
				titre_lien.setAttribute('class','titre');
				titre_lien.setAttribute('className','titre');
			}
			titre_lien.style.display='block';
	
			var titre_lien_texte=document.createTextNode(tabSociete[j][1]); // raison_sociale
			titre_lien.appendChild(titre_lien_texte);
		
			var sep=document.createElement('hr');
			var ret=document.createElement('br');
	
			var mail=document.createElement('a');
			mail.style.display='block';
			mail.setAttribute('href','mailto:'+tabSociete[j][2]);
			var mail_texte=document.createTextNode(tabSociete[j][2]); //mail
			mail.appendChild(mail_texte);
		
			var adresse1=document.createElement('span');
			adresse1.style.display="block";
			var adresse1_texte=document.createTextNode(tabSociete[j][3]); //adresse1
			adresse1.appendChild(adresse1_texte);
	
			if (tabSociete[j][4]!='')
			{
				var adresse2=document.createElement('span');
				adresse2.style.display="block";
				var adresse2_texte=document.createTextNode(tabSociete[j][4]); //adresse2
				adresse2.appendChild(adresse2_texte);
			}	
			var cp_ville=document.createElement('span');
			cp_ville.style.display="block";
			var cp_ville_texte=document.createTextNode(tabSociete[j][5]+' '+tabSociete[j][6]); //code_postal+ville
			cp_ville.appendChild(cp_ville_texte);
	
			var tel=document.createElement('span');
			tel.style.display="block";
			var tel_texte=document.createTextNode(tabSociete[j][7].replace(/(?!..$)(..)/g,"$1.")); //telephone
			tel.appendChild(tel_texte);
	
			var fax=document.createElement('span');
			fax.style.display="block";
			var fax_texte=document.createTextNode(tabSociete[j][8].replace(/(?!..$)(..)/g,"$1.")); //fax
			fax.appendChild(fax_texte);
	
			var desc=document.createElement('p');	
			desc.style.marginBottom="2em"; 
			var desc_texte=document.createTextNode(tabSociete[j][9]); //descriptif
			desc.appendChild(desc_texte);
			
			var blocRes=document.createElement('div');
			blocRes.className="resultat"+(j+1);
						
		 	blocRes.appendChild(titre_lien);
			blocRes.appendChild(sep);
			blocRes.appendChild(mail);
			blocRes.appendChild(adresse1);
			if (tabSociete[j][4]!='') blocRes.appendChild(adresse2);
			blocRes.appendChild(cp_ville);
			blocRes.appendChild(tel);
			blocRes.appendChild(fax);
			blocRes.appendChild(desc);
			cadre.appendChild(blocRes);
			
			//stockage des régions
			var isRegFlag=0;
			for (var m=0;m<region.length;m++)
				if (tabSociete[j][10]==region[m]) isRegFlag=1;			
			
			if (isRegFlag==0&&tabSociete[j][10]!='') region.push(tabSociete[j][10]);
			
		}
			
		var liste_lien_bottom=liste_lien_page(nbEnregistrement);
		if (liste_lien_bottom) { cadre.appendChild(liste_lien_bottom); page(1); }
	}
	else
	{
		var message=document.createElement('span');
		message.style.display='block';
		var message_texte=document.createTextNode("Aucun résultat ne correspond à votre recherche. Vous pouvez peut-être la formuler autrement, ou essayer l'un des annuaires accessibles par le lien ci contre (liens utiles/annuaires).");
		message.appendChild(message_texte);
		cadre.appendChild(message);
	}
	window.location="#rech";
}

function GetXmlHttpObject()
{ 
	var objXMLHttp=null;
	if (window.XMLHttpRequest)
		objXMLHttp=new XMLHttpRequest();
	else if (window.ActiveXObject)
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
	return objXMLHttp;
} 

function tagChange(num,sens,text)
{
	var cadre=document.getElementById('resultat_recherche');
	var liste=cadre.getElementsByTagName('ul');
	
	
	// a-->span
	if (sens==0)
	{
		
		for (var i=0;i<2;i++)
		{
			var spanmode=document.createElement('li');
			spanmode.style.display='inline';
			spanmode.style.margin="8px";
			spanmode.appendChild(document.createTextNode(text));
			liste[i].replaceChild(spanmode,liste[i].childNodes[num]); 
		}
	}
	else // span-->a
	{
		for (var i=0;i<2;i++)
		{
			var amode=document.createElement('li');
			amode.style.display='inline';
			amode.style.margin="8px";
			var amode_lien=document.createElement('a');
			amode_lien.appendChild(document.createTextNode(text));
			if (num=="0") (navigator.userAgent.indexOf('MSIE')!=-1)?amode_lien.onclick=function(){ page("-1"); }:amode_lien.setAttribute('onclick','javascript:page("-1");');
			else if (num==page_max+1) (navigator.userAgent.indexOf('MSIE')!=-1)?amode_lien.onclick=function(){ page("0"); }:amode_lien.setAttribute('onclick','javascript:page("0");');
			else (navigator.userAgent.indexOf('MSIE')!=-1)?amode_lien.onclick=function(){ page(this.innerText); }:amode_lien.setAttribute('onclick','javascript:page('+num+');');
			amode_lien.setAttribute('href','#rech');
			amode.appendChild(amode_lien);
			
			liste[i].replaceChild(amode,liste[i].childNodes[num]); 
		}
	}
}
function page(num)
{
	
	if ( num=="-1" ) num=page_act-1; 
	if ( num=="0" ) num=page_act+1;
	var cadre=document.getElementById('resultat_recherche');
	var resultat=cadre.childNodes;
	
	for (var i=(resultat[1].className=="liste")?2:1;i<resultat.length-1;i++) 
		resultat[i].style.display=(Math.ceil(resultat[i].className.substr(8,3)/10)==num)?'block':'none'; 
	
	if (page_act==-1) { tagChange(0,0,'précédent'); tagChange(1,0,1); page_act=1; return; }
		
	for (var i=0;i<2;i++) 
	{ 
		// on réactive les liens de l'ancienne page
		tagChange(page_act,1,page_act);
		if (page_act==1) tagChange(0,1,'précédent');
		if (page_act==page_max) tagChange(page_max+1,1,'suivant');
		// on désactive les liens de la nouvelle page
		tagChange(num,0,num);
		if (num==1) tagChange(0,0,'précédent');
		if (num==page_max) {  tagChange(page_max+1,0,'suivant'); }
		
	}
	page_act=parseInt(num);
	open_ext_link;
}

function liste_lien_page(nbEnregistrement)
{
	if (nbEnregistrement>10)
	{
		var liste=document.createElement('ul');
		liste.className="liste";
	
		var item=document.createElement('li');
		var lien=document.createElement('a');
		var lien_texte=document.createTextNode('précédent');
		item.style.display='inline';
		item.style.margin="8px";
		lien.appendChild(lien_texte);
		(navigator.userAgent.indexOf('MSIE')!=-1)?lien.onclick=function(){ page("-1"); }:lien.setAttribute('onclick','javascript:page("-1");');
		lien.setAttribute('href','#rech');
		
		item.appendChild(lien);
		liste.appendChild(item);
	
		for (var k=1;k<=Math.ceil(nbEnregistrement/10);k++)
		{ 
			var item=document.createElement('li');
			var lien=document.createElement('a');
			var lien_texte=document.createTextNode(k);
			item.style.display='inline';
			item.style.margin="8px";
			lien.appendChild(lien_texte);
			(navigator.userAgent.indexOf('MSIE')!=-1)?lien.onclick=function(){ page(this.innerText); }:lien.setAttribute('onclick','javascript:page("'+k+'");');
			//lien.onclick=function(){ page(parseInt(k)); };
			lien.setAttribute('href','#rech');
		
			item.appendChild(lien);
			liste.appendChild(item);
		}
		var item=document.createElement('li');
		var lien=document.createElement('a');
		var lien_texte=document.createTextNode('suivant');
		item.style.display='inline';
		item.style.margin="8px";
		lien.appendChild(lien_texte);
		(navigator.userAgent.indexOf('MSIE')!=-1)?lien.onclick=function(){ page("0"); }:lien.setAttribute('onclick','javascript:page("0");');
		lien.setAttribute('href','#rech');
		
		item.appendChild(lien);
		liste.appendChild(item);
	
		return liste; 
	}
	else return false;
}
function affCritRestr ()
{
 var mess_rech=document.getElementById('mess_rech');
 var boite_sel=document.createElement('div');
 boite_sel.style["float"]='left';
 //boite_sel.style.left='200px';
 //boite_sel.style.height="100px";
 //boite_sel.style.width="100px";
 
 boite_sel.style.border="1px solid #444444";
 region.sort();
 //boite_sel.appendChild(document.createTextNode(region[0]+' '+region[1]+' '+region[2]));
 var select=document.createElement('p');
 select.appendChild(document.createTextNode('Choisissez parmi ces régions'));
 boite_sel.appendChild(select);
 for (var i=0;i<region.length;i++)
 { var label=document.createElement('label');
 label.appendChild(document.createTextNode(corrRegion[String(region[i])]));
 var checkBox=document.createElement('input');
 checkBox.setAttribute('name',region[i]);
 checkBox.setAttribute('type','checkbox');
 var br=document.createElement('br');
 boite_sel.appendChild(checkBox);
 boite_sel.appendChild(label);
 boite_sel.appendChild(br);
 }
 var btnFiltrer=document.createElement('input');
 //btnFiltrer.setAttribute('type','button');
 
 btnFiltrer.setAttribute('type','submit');
 
 btnFiltrer.setAttribute('value','Filtrer');
 //(navigator.userAgent.indexOf('MSIE')!=-1)?btnFiltrer.onclick=function(){ filtrereg(); }:btnFiltrer.setAttribute('onclick','javascript:filtrereg();');
 //btnFiltrer.setAttribute('onclick','filtrereg();');
 btnFiltrer.onclick=filtrereg;
 boite_sel.appendChild(btnFiltrer);
 mess_rech.replaceChild(boite_sel,mess_rech.lastChild);
 
}
function filtrereg()
{
	var listereg='';
	var truc=document.getElementById('mess_rech').getElementsByTagName('div')[0].getElementsByTagName('input');
	var sep="";
		for (var i=0;i<truc.length;i++) 
		{ if (truc[i].checked) { listereg+=sep+truc[i].name; sep='_'; } }
	// il faut détruire Boitesel
	//document.getElementById('mess_rech').removeChild(truc[0].parentNode);
recherche(lastcat,listereg);
}