// JavaScript Document

/************************************************************************/
/*																		*/
/*									NIVEAU 1							*/
/*																		*/
/************************************************************************/


function niveau1_recherche(txt)
{
	fermer_calque('recherche2');
	fermer_calque('recherche3');
	fermer_calque('recherche-resultats');
	fermer_calque('filtre-partenaire');
	document.rechercher_niveau1.recherche_niveau2.selectedIndex = 0; 
	document.rechercher_niveau1.recherche_niveau3.selectedIndex = 0; 
	document.rechercher_filtre.recherche_filtre.selectedIndex = 0; 
	document.getElementById('resultats').innerHTML = "";
	
	var xhr=null;
	
    if (window.XMLHttpRequest)
	{
        xhr = new XMLHttpRequest();
    } 
	else
	{
		if (window.ActiveXObject)
		{
        	//xhr = new ActiveXObject("Microsoft.XMLHTTP");
			try { xhr = new ActiveXObject("Msxml2.XMLHTTP" );}
			catch(e)
			{
				try { xhr = new ActiveXObject("Microsoft.XMLHTTP" );}
				catch (e1) {xhr = null;}
			}  
    	}
	}
	
	//on définit l'appel de la fonction au retour serveur
	xhr.onreadystatechange = function() { recherche_liste_niveau2(xhr); };
	
	//on appelle le fichier reponse.txt
	alea = Math.round(Math.random() * 10000);
	//alert("ajax-recherche.php?alea="+alea+"&categorie=" + txt);
	xhr.open("GET", "includes/php/ajax-recherche.php?alea="+alea+"&categorie=" + txt, true);
	xhr.send(null);
}

function recherche_liste_niveau2(xhr)
{
	if (xhr.readyState==4 && xhr.status == 200)
	{
		var docXML= xhr.responseXML;
		var items = docXML.getElementsByTagName("recherche");
		var nbretours = items[0].childNodes.length;
		var nboption = 0;
		
		for(i=0 ; i<nbretours ; i++) {
			if(items[0].childNodes[i].nodeType == 1) nboption++;
		}
		

		if(nbretours != 0)
		{
			document.rechercher_niveau1.recherche_niveau2.options[0].value = 0;
			document.rechercher_niveau1.recherche_niveau2.options[0].text = "choisissez";

			document.rechercher_niveau1.recherche_niveau2.options.length = nboption + 1;
			cpt =0;
			for(i=0 ; i<nbretours ; i++)
			{
				if(items[0].childNodes[i].nodeType == 1) {
					
					var id = items[0].childNodes[i].getAttribute("id");
					var libelle = items[0].childNodes[i].firstChild.nodeValue;
					
					var j = cpt + 1;
					document.rechercher_niveau1.recherche_niveau2.options[j].value = id;
					document.rechercher_niveau1.recherche_niveau2.options[j].text = prepare_pour_xml(libelle);
					cpt++;
				}
			}
		}
		else
		{
			document.rechercher_niveau1.recherche_niveau2.options.length = 1;
			document.rechercher_niveau1.recherche_niveau2.options[0].value = 0;
			document.rechercher_niveau1.recherche_niveau2.options[0].text = "pas de correspondance.";
		}
	}
	afficher_calque('recherche2');
}




/************************************************************************/
/*																		*/
/*									NIVEAU 2							*/
/*																		*/
/************************************************************************/

function niveau2_recherche(txt)
{
	fermer_calque('recherche3');
	fermer_calque('recherche-resultats');
	fermer_calque('filtre-partenaire');
	document.rechercher_niveau1.recherche_niveau3.selectedIndex = 0; 
	document.rechercher_filtre.recherche_filtre.selectedIndex = 0; 
	document.getElementById('resultats').innerHTML = "";
	
	
	var xhr=null;
	
    if (window.XMLHttpRequest)
	{
        xhr = new XMLHttpRequest();
    } 
	else
	{
		if (window.ActiveXObject)
		{
        	//xhr = new ActiveXObject("Microsoft.XMLHTTP");
			try { xhr = new ActiveXObject("Msxml2.XMLHTTP" );}
			catch(e)
			{
				try { xhr = new ActiveXObject("Microsoft.XMLHTTP" );}
				catch (e1) {xhr = null;}
			}  
    	}
	}
	
	alea = Math.round(Math.random() * 10000);
	//on définit l'appel de la fonction au retour serveur
	xhr.onreadystatechange = function() { recherche_liste_niveau3(xhr, txt); };
	
	//on appelle le fichier reponse.txt
	xhr.open("GET", "includes/php/ajax-recherche.php?alea="+alea+"&categorie=" + txt, true);
	xhr.send(null);
}

function recherche_liste_niveau3(xhr, txt)
{
	if (xhr.readyState==4 && xhr.status == 200)
	{
		var docXML= xhr.responseXML;
		var items = docXML.getElementsByTagName("recherche");
		var nbretours = items[0].childNodes.length;
		var nboption = 0;
		var noresults = true;
		
		for(i=0 ; i<nbretours ; i++) {
			if(items[0].childNodes[i].nodeType == 1) nboption++;
		}

		if(nbretours != 0)
		{
			document.rechercher_niveau1.recherche_niveau3.options[0].value = 0;
			document.rechercher_niveau1.recherche_niveau3.options[0].text = "choisissez";
			
			document.rechercher_niveau1.recherche_niveau3.options.length = nboption + 1 ;
			cpt =0;
			for(i=0 ; i<nbretours ; i++)
			{
				if(items[0].childNodes[i].nodeType == 1) {
					noresults = false; 
					
					var id = items[0].childNodes[i].getAttribute("id");
					var libelle = items[0].childNodes[i].firstChild.nodeValue;
				
					var j = cpt + 1;
					document.rechercher_niveau1.recherche_niveau3.options[j].value = id;
					document.rechercher_niveau1.recherche_niveau3.options[j].text = prepare_pour_xml(libelle);
					cpt++;
				}
			}
		}
		
		if (noresults) {
			niveau3_recherche(txt);
		}
		else {
			afficher_calque('recherche3');
		}
	}
}




/************************************************************************/
/*																		*/
/*									NIVEAU 3							*/
/*																		*/
/************************************************************************/


function niveau3_recherche(txt)
{
	fermer_calque('filtre-partenaire');
	document.rechercher_filtre.recherche_filtre.selectedIndex = 0; 
	document.getElementById('resultats').innerHTML = "";

	var xhr=null;
	
    if (window.XMLHttpRequest)
	{
        xhr = new XMLHttpRequest();
    } 
	else
	{
		if (window.ActiveXObject)
		{
        	//xhr = new ActiveXObject("Microsoft.XMLHTTP");
			try { xhr = new ActiveXObject("Msxml2.XMLHTTP" );}
			catch(e)
			{
				try { xhr = new ActiveXObject("Microsoft.XMLHTTP" );}
				catch (e1) {xhr = null;}
			}  
    	}
	}
	
	alea = Math.round(Math.random() * 10000);
	//on définit l'appel de la fonction au retour serveur
	xhr.onreadystatechange = function() { recherche_resultats(xhr,txt); };
	
	//on appelle le fichier reponse.txt
	//alert("ajax-recherche-resultats.php?alea="+alea+"&categorie=" + txt);
	xhr.open("GET", "includes/php/ajax-recherche-resultats.php?alea="+alea+"&categorie=" + txt, true);
	xhr.send(null);
}


function recherche_resultats(xhr, txt)
{
	if (xhr.readyState==4 && xhr.status == 200)
	{
		var docXML= xhr.responseXML;
		var items = docXML.getElementsByTagName("resultats");
		var nbretours = items[0].childNodes.length;
		var nboption = 0;
		var noresults = true;
		var contenu = '';
		var liste_partenaires = new Array();
		
		for(i=0 ; i<nbretours ; i++) {
			if(items[0].childNodes[i].nodeType == 1) nboption++;
		}

		if(nbretours != 0)
		{
			cpt =0;
			
			for(i=0 ; i<nbretours ; i++)
			{
				if(items[0].childNodes[i].nodeType == 1) {
					noresults = false; 
					
					var secteur = items[0].childNodes[i].getAttribute('secteur');
					var offre_id = items[0].childNodes[i].getAttribute('id');
					var url_offre = items[0].childNodes[i].getAttribute('url_offre');
					var titre = prepare_pour_xml(items[0].childNodes[i].getAttribute('titre'));
					var sous_titre = prepare_pour_xml(items[0].childNodes[i].getAttribute('sous_titre'));
					var type_offres_id = items[0].childNodes[i].getAttribute('type_offres_id');
					var libelle_type_offres_id = prepare_pour_xml(items[0].childNodes[i].getAttribute('libelle_type_offres_id'));
					var contenu_listing = prepare_pour_xml(items[0].childNodes[i].firstChild.nodeValue);
					
					var partenaires_id = items[0].childNodes[i].getAttribute('partenaires_id');
					var partenaires_nom = prepare_pour_xml(items[0].childNodes[i].getAttribute('partenaire_nom'));
					
					//visuel
					var image = items[0].childNodes[i].getAttribute('visuel');
					if(!image.indexOf('offres/',0)) 
						chemin = 'upload/' + image;
					else if(!image.indexOf('promo/',0)) 
						chemin = 'upload/' + image;
					else chemin = 'upload/offres/' + image;
					/*tmp_img = image;
					lastidx = 0;
					nbdir = 0;
					param_image = "visuel=" + image.substr(tmp_img.lastIndexOf('/')+1, image.length);
					
					for(var j=0 ; j<image.length ; j++) {
						if(image.substr(j,1) == '/') {
							param_image += "&" + nbdir + "=" + image.substr(lastidx,tmp_img.indexOf('/'));
							tmp_img = image.substr(image.indexOf('/')+1, image.length);
							lastidx = j+1;
							nbdir++;
						}				
					}*/
					
					//liste_partenaires.push(Array(partenaires_id, partenaires_nom));
					
					//contenu = contenu + '<div><img src="images/recherche-separateur.gif" alt="" style="margin-top:10px;"></div>';
					contenu = contenu + '<img src="images/recherche-separateur.gif" alt="" style="margin-top:10px;">';
					contenu = contenu + '<div style="width:532px;margin-top:8px;">';
					
					contenu = contenu + '<br style="line-height:0px;">';
					//contenu = contenu + '<div style="float:left; width:78px;background:none"><a href="' + url_offre + '"><img src="image.php?' + param_image + '&hauteur=70&largeur=70&qualite=90" width="70" height="70" alt="' + titre + '" align="left" class="visuel"></a></div>';
					contenu = contenu + '<div style="float:left; width:78px;background:none"><a href="' + url_offre + '"><img src="' + chemin + '" width="70" height="70" alt="' + titre + '" align="left" class="visuel"></a></div>';
					
					contenu = contenu + '<div style="float:left; width:454px;">';
					
					if(type_offres_id != 0) {
						contenu = contenu + '<div class="type-right-categorie" style="background: url(images/' + secteur + '-categorie-type-right.gif) no-repeat;"></div><div class="type-middle-categorie" style="background:url(images/' + secteur + '-categorie-type-middle.gif) top left repeat-x;">' + libelle_type_offres_id + '</div><div class="type-left-categorie" style="background:url(images/' + secteur + '-categorie-type-left.gif) no-repeat"></div>';
					}
					
					contenu = contenu + '<div style="width:350px;">';
					contenu = contenu + '<p class="blanc-16" style="height: auto; padding-top: 2px;"><a href="' + url_offre + '" class="lien-blanc-no">' + titre + '</a></p>';
					contenu = contenu + '<p class="couleur' + secteur + '" style="padding-top:2px;"><a href="' + url_offre + '" class="lien-couleur' + secteur + '"><strong>' + sous_titre + '</strong></a></p>';
					contenu = contenu + '<a href="' + url_offre + '" class="lien-blanc-no' + secteur + '">' + contenu_listing + '</a>';
					contenu = contenu + '</div>';
					
					contenu = contenu + '<p align="right" style="padding-bottom:4px;">> <a href="' + url_offre + '" class="lien-blanc">En savoir plus</a></p>';
					contenu = contenu + '</div>';
					
					contenu = contenu + '</div> ';
					
					document.getElementById('resultats').innerHTML = contenu;
				}
			}
		}
		
		if (noresults) {
			contenu = contenu + '<img src="images/recherche-separateur.gif" alt="" style="margin-top:10px;">';
			contenu = contenu + '<p style="padding:10px;">Aucun r&eacute;sultat de recherche</p>';
			document.getElementById('resultats').innerHTML = contenu;
		}
		else {
			filtre_recherche(txt);
		}
	}
	
	window.focus();
	afficher_calque('recherche-resultats');
}


/************************************************************************/
/*																		*/
/*									NIVEAU FILTRE						*/
/*																		*/
/************************************************************************/

function filtre_recherche(txt)
{
//	fermer_calque('filtre-partenaire');
//	document.rechercher_filtre.recherche_filtre.selectedIndex = 0; 
	
	
	var xhr=null;
	
    if (window.XMLHttpRequest)
	{
        xhr = new XMLHttpRequest();
    } 
	else
	{
		if (window.ActiveXObject)
		{
        	//xhr = new ActiveXObject("Microsoft.XMLHTTP");
			try { xhr = new ActiveXObject("Msxml2.XMLHTTP" );}
			catch(e)
			{
				try { xhr = new ActiveXObject("Microsoft.XMLHTTP" );}
				catch (e1) {xhr = null;}
			}  
    	}
	}
	
	alea = Math.round(Math.random() * 10000);
	//on définit l'appel de la fonction au retour serveur
	xhr.onreadystatechange = function() { recherche_filtre_partenaires(xhr); };
	
	//on appelle le fichier reponse.txt
	//alert("ajax-recherche-filtre-partenaires.php?alea="+alea+"&categorie=" + txt);
	xhr.open("GET", "includes/php/ajax-recherche-filtre-partenaires.php?alea="+alea+"&categorie=" + txt, true);
	xhr.send(null);
}


function recherche_filtre_partenaires(xhr)
{
	if (xhr.readyState==4 && xhr.status == 200)
	{
		var docXML= xhr.responseXML;
		var items = docXML.getElementsByTagName("recherche");
		var nbretours = items[0].childNodes.length;
		var nboption = 0;
		var noresults = true;
		
		for(i=0 ; i<nbretours ; i++) {
			if(items[0].childNodes[i].nodeType == 1) nboption++;
		}

		if(nbretours != 0)
		{
			document.rechercher_filtre.recherche_filtre.options[0].value = 0;
			document.rechercher_filtre.recherche_filtre.options[0].text = "Tous les partenaires";
			
			document.rechercher_filtre.recherche_filtre.options.length = nboption + 1 ;
			cpt =0;
			for(i=0 ; i<nbretours ; i++)
			{
				if(items[0].childNodes[i].nodeType == 1) {
					noresults = false; 
					
					var id = items[0].childNodes[i].getAttribute("id");
					var nom = items[0].childNodes[i].firstChild.nodeValue;
				
					var j = cpt + 1;
					document.rechercher_filtre.recherche_filtre.options[j].value = id;
					document.rechercher_filtre.recherche_filtre.options[j].text = prepare_pour_xml(nom);
					cpt++;
				}
			}
		}
		
		if (noresults) {
			
		}
		else {
			afficher_calque('filtre-partenaire');
		}
	
		ajuster_calque_transparent();
	}
}




/************************************************************************/
/*																		*/
/*								NIVEAU FILTRE: RESULTATS				*/
/*																		*/
/************************************************************************/


function filtre_recherche_resultats(txt3)
{
	fermer_calque('recherche-resultats');
	document.getElementById('resultats').innerHTML = "";
	
	/*var txt=0;
	if(txt1==0) txt = txt2;
	else txt = txt1;
	alert(txt);*/
	
	var xhr=null;
	
    if (window.XMLHttpRequest)
	{
        xhr = new XMLHttpRequest();
    } 
	else
	{
		if (window.ActiveXObject)
		{
        	//xhr = new ActiveXObject("Microsoft.XMLHTTP");
			try { xhr = new ActiveXObject("Msxml2.XMLHTTP" );}
			catch(e)
			{
				try { xhr = new ActiveXObject("Microsoft.XMLHTTP" );}
				catch (e1) {xhr = null;}
			}  
    	}
	}
	
	//on appelle le fichier reponse.txt
	if(document.rechercher_niveau1.recherche_niveau3.options[document.rechercher_niveau1.recherche_niveau3.selectedIndex].value != 0) 
		var categ = document.rechercher_niveau1.recherche_niveau3.options[document.rechercher_niveau1.recherche_niveau3.selectedIndex].value;
	else {
		if(document.rechercher_niveau1.recherche_niveau2.options[document.rechercher_niveau1.recherche_niveau2.selectedIndex].value != 0) 
			var categ = document.rechercher_niveau1.recherche_niveau2.options[document.rechercher_niveau1.recherche_niveau2.selectedIndex].value;
		//else var categ = txt;
	}
	
	alea = Math.round(Math.random() * 10000);
	//on définit l'appel de la fonction au retour serveur
	xhr.onreadystatechange = function() { recherche_resultats(xhr, categ); };
	
	//alert("ajax-recherche-filtre-resultats.php?alea="+alea+"&categorie=" + categ+"&partenaire=" + txt3);
	
	if (txt3 == 0) xhr.open("GET", "includes/php/ajax-recherche-resultats.php?alea="+alea+"&categorie=" + categ, true);
	else xhr.open("GET", "includes/php/ajax-recherche-filtre-resultats.php?alea="+alea+"&categorie=" + categ+"&partenaire=" + txt3, true);
	xhr.send(null);
}







/************************************************************************/
/*																		*/
/*								FONCTIONS								*/
/*																		*/
/************************************************************************/

function prepare_pour_xml(texte){
	var contenu = texte;
	
	var reg=new RegExp("§", "g");
	contenu = contenu.replace(reg,'&');
	
	var reg2=new RegExp("£", "g");
	contenu = contenu.replace(reg2,"<");
	
	var reg3=new RegExp("¤", "g");
	contenu = contenu.replace(reg3,">");
	
	var reg4=new RegExp("µ", "g");
	contenu = contenu.replace(reg4,'"');
	//alert(contenu);
	
	return contenu;
}