




/* DESACTIVE DEPUIS LE 04/11/2005 !!! */




// -------------------------------------------------------------------------------------
// COMPATIBLE UNIQUEMENT AVEC "Microsoft Internet Explorer"
// -------------------------------------------------------------------------------------

// -------------------------------------------------------------------------------------
// Initialisation des variables
// -------------------------------------------------------------------------------------
var liveSearchReq = false;
var t = null;
var liveSearchLast = "";	
var isIE = false;
var num_tr = -1;
var couleur_onMouseOver = "#3E090B";
var couleur_onMouseOut 	= "#000000";

// -------------------------------------------------------------------------------------
// Avec IE, on a seulement à faire ça : Création de l'objet XMLHttpRequest
// -------------------------------------------------------------------------------------
if (window.XMLHttpRequest) 
{
	liveSearchReq = new XMLHttpRequest();
}

// -------------------------------------------------------------------------------------
// Gestion des évènements pour différents navigateurs
// -------------------------------------------------------------------------------------
function liveSearchInit() 
{	
	/*if (navigator.appName=="Microsoft Internet Explorer") 
	{
		if (navigator.userAgent.indexOf("Safari") > 0) 
		{
			document.getElementById('livesearch').addEventListener("keydown",liveSearchStart,false);
			document.getElementById('livesearch').addEventListener("keydown",liveSearchKeyPress,false);
			window.addEventListener("resize",place_calque_par_rapport_a_une_balise_HTML,false);	
		} 
		else if (navigator.product == "Gecko") 
		{		
			document.getElementById('livesearch').addEventListener("keypress",liveSearchStart,false);
			document.getElementById('livesearch').addEventListener("keypress",liveSearchKeyPress,false);
			document.getElementById('livesearch').addEventListener("blur",liveSearchHideDelayed,false);	
			window.addEventListener("resize",place_calque_par_rapport_a_une_balise_HTML,false);		
		} 
		else 
		{
			document.getElementById('livesearch').attachEvent('onkeydown',liveSearchStart);
			document.getElementById('livesearch').attachEvent('onkeydown',liveSearchKeyPress);
			window.attachEvent('onresize',place_calque_par_rapport_a_une_balise_HTML);
			window.document.attachEvent('onclick',cacher_resultat);
			isIE = true;
		}	
		// Permet de ne pas afficher la liste déroulante habituel du navigateur
		document.getElementById('livesearch').setAttribute("autocomplete","off");	
	}*/
}

// -------------------------------------------------------------------------------------
// Début de la recherche
// -------------------------------------------------------------------------------------
function liveSearchStart(event) 
{	
	if (t) 
	{
		window.clearTimeout(t);
	}
	t = window.setTimeout("liveSearchDoSearch("+event.keyCode+")",0);
}

// -------------------------------------------------------------------------------------
// Suite de la recherche (1/2)
// -------------------------------------------------------------------------------------
function liveSearchDoSearch(touche_presser) 
{
	// Si la touche pressée est différente de la flèche du haut et du bas
	if (touche_presser != 40 && touche_presser != 38)
	{		
		if (typeof liveSearchRoot == "undefined") 
		{
			liveSearchRoot = "";
		}
		if (typeof liveSearchRootSubDir == "undefined") 
		{
			liveSearchRootSubDir = "";
		}
		if (typeof liveSearchParams == "undefined") 
		{
			liveSearchParams = "";
		}		
		if (
				(liveSearchLast != document.forms.form_rechercher_celebrite.celebrite.value)
				||
				(liveSearchLast == document.forms.form_rechercher_celebrite.celebrite.value && liveSearchLast!="")
			) 
		{			
			if (liveSearchReq && liveSearchReq.readyState < 4) 
			{
				liveSearchReq.abort();
			}
			if (document.forms.form_rechercher_celebrite.celebrite.value == "") 
			{
				cacher_resultat();
				return false;
			}			
			if (window.XMLHttpRequest) 
			{
				// branch for IE/Windows ActiveX version
			}
			else if (window.ActiveXObject) 
			{
				liveSearchReq = new ActiveXObject("Microsoft.XMLHTTP");
			}			
			liveSearchReq.onreadystatechange=liveSearchProcessReqChange;
			// ----------------------------------------------------------------------------------------------------------------------------------------
			// La variable "aleatoire" est passée en paramètre lors de l'appel à la fonction "livesearch.php".
			// Comme à chaque appel les paramètres (et donc les URLs entières) sont différents, le script va chercher les données dans la base
			// à chaque appel. Si aléatoire=0 (donc une constante), le script va chercher dans la base une fois pour un mot clé demandé, puis si
			// le même mot clé est demandé une 2ème fois, il affiche ce qu'il a en cache. Le problème est que si entre temps les données de la base
			// ont été modifiées, elles ne s'affichent pas (il faut alors quitter le site et revenir).
			// ----------------------------------------------------------------------------------------------------------------------------------------
																aleatoire = Math.random();		
			// ----------------------------------------------------------------------------------------------------------------------------------------	
			liveSearchReq.open("GET", url_site + "/livesearch.php?celebrite=" + document.forms.form_rechercher_celebrite.celebrite.value + "&aleatoire=" + aleatoire + liveSearchParams); 	
			liveSearchLast = document.forms.form_rechercher_celebrite.celebrite.value;				
			liveSearchReq.send(null);	
			if (touche_presser == 13)
			{	
				cacher_resultat();
			}	
			
		}
	}	
}

// -------------------------------------------------------------------------------------
// Fin de la recherche (2/2)
// -------------------------------------------------------------------------------------
function liveSearchProcessReqChange() 
{
	if (liveSearchReq.readyState == 4) 
	{
		// Positionnement du calque
		place_calque_par_rapport_a_une_balise_HTML();
		// Apparition du calque
		document.getElementById("LSResult").style.display = "block";
		// Affichage du texte
		//alert(liveSearchReq.responseText);
		document.getElementById("LSShadow").innerHTML = liveSearchReq.responseText;
		// Disparition du calque si vide
		if (document.getElementById("LSResult").offsetHeight < 3 && document.getElementById("LSResult").offsetWidth < 3)
		{
			// Il n'y a rien dans le calque donc on le cache
			cacher_resultat();
		}
	}
}

// -------------------------------------------------------------------------------------
// Récupération du nombre de lignes de résultats générer à la volée
// -------------------------------------------------------------------------------------
function compter_tr()
{
	var i=0;
	var cpt = -1;
	do
	{
		var type_de_tag = "TR";	
		var motif = /tr_livesearch_/;		
		var t_groupe_de_TAG = document.getElementsByTagName(type_de_tag);
		if (t_groupe_de_TAG[i])
		{
			if(motif.test(t_groupe_de_TAG[i].id)==true)
			{
			   cpt++;                              	    
			}
		}
		i++;
	} while (t_groupe_de_TAG[i]);	
	return cpt;
}

// -------------------------------------------------------------------------------------
// Lorsqu'une touche est pressée (et que le focus est dans le champ de recherche)
// -------------------------------------------------------------------------------------
function liveSearchKeyPress(event) 
{			
	num_tr_max = compter_tr();
	
		
	if (num_tr_max > -1)
	{	
		if (event.keyCode == 40)
		{				
			// Flèche du bas
			if (num_tr > -1)
			{
				if (document.getElementById("tr_livesearch_"+num_tr))
				{
					document.getElementById("tr_livesearch_"+num_tr).style.backgroundColor = couleur_onMouseOut;
				}
			}
			num_tr++;				
			if (num_tr > num_tr_max)
			{	
				num_tr = -1;
			}
			if (document.getElementById("tr_livesearch_"+num_tr))
			{
				document.getElementById("tr_livesearch_"+num_tr).style.backgroundColor = couleur_onMouseOver;
			}
		}
		else if (event.keyCode == 38) 
		{
			// Flèche du haut
			if (document.getElementById("tr_livesearch_"+num_tr))
			{
				document.getElementById("tr_livesearch_"+num_tr).style.backgroundColor = couleur_onMouseOut;
			}
			num_tr--;
			if (num_tr < -1)
			{
				num_tr = num_tr_max;
			}
			if (document.getElementById("tr_livesearch_"+num_tr))
			{
				document.getElementById("tr_livesearch_"+num_tr).style.backgroundColor = couleur_onMouseOver;
			}
		}
		else if (event.keyCode == 13) 
		{
			// Bouton Entrée
			if (document.getElementById("LSResult").style.display == "none")
			{	
				if (num_tr > -1)
				{
					remplacer_valeur_dans_input(document.getElementById("div_lien_intitule_"+num_tr).innerHTML);
				}				
				//document.forms.form_rechercher_celebrite.submit();
				cacher_resultat();	
			}
			else
			{
				
				if (num_tr > -1)
				{
					if (document.getElementById("div_lien_intitule_"+num_tr))
					{
						remplacer_valeur_dans_input(document.getElementById("div_lien_intitule_"+num_tr).innerHTML);
						cacher_resultat();		
						//document.forms.form_rechercher_celebrite.submit();				
					}
				}
				else
				{
					//document.forms.form_rechercher_celebrite.submit();
					cacher_resultat();	
				}
			}
		}
		else if (event.keyCode == 9) 
		{
			// Bouton Tab
			if (num_tr > -1)
			{
				if (document.getElementById("div_lien_intitule_"+num_tr))
				{					
					remplacer_valeur_dans_input(document.getElementById("div_lien_intitule_"+num_tr).innerHTML);
					cacher_resultat();	
				}
			}
			else
			{
				cacher_resultat();
			}
		}
		else
		{
			num_tr = -1;
		}
	}
	else
	{	
		if (event.keyCode == 13) 
		{
			// Bouton Entrée
			cacher_resultat();
			//document.forms.form_rechercher_celebrite.submit();
		}
	}	
	if (num_tr_max == 0)
	{
		if (event.keyCode == 13) 
		{
			// Bouton Entrée
			cacher_resultat();
			//document.forms.form_rechercher_celebrite.submit();
		}
	}
	// Touche Echap
	if (event.keyCode == 27) 
	{
		cacher_resultat();
	} 	
}

// -------------------------------------------------------------------------------------
// Placer une valeur dans le champ de recherche
// -------------------------------------------------------------------------------------
function remplacer_valeur_dans_input(valeur)
{
	document.getElementById("livesearch").value = valeur;
	document.getElementById("livesearch").focus();
	document.getElementById("celebrite_ajax").value="oui";
}

// -------------------------------------------------------------------------------------
// Cache la liste des résultats
// -------------------------------------------------------------------------------------
function cacher_resultat()
{
	if (navigator.appName=="Microsoft Internet Explorer") 
	{
		document.getElementById("LSResult").style.display = "none";	
		num_tr=-1;
		if (t) 
		{
			window.clearTimeout(t);
		}
	}
	
}

// -------------------------------------------------------------------------------------
// Modifie le fond de couleur des lignes de résultats
// -------------------------------------------------------------------------------------
function tout_les_tr_en_out()
{
	var i=0;
	var cpt = -1;
	do
	{
		var type_de_tag = "TR";	
		var motif = /tr_livesearch_/;		
		var t_groupe_de_TAG = document.getElementsByTagName(type_de_tag);
		if (t_groupe_de_TAG[i])
		{
			if(motif.test(t_groupe_de_TAG[i].id)==true)
			{
			   t_groupe_de_TAG[i].style.backgroundColor=couleur_onMouseOut;
			   cpt++;                              	    
			}
		}
		i++;
	} while (t_groupe_de_TAG[i]);	
	return cpt;
}
// -------------------------------------------------------------------------------------
// Place le calque par rapport à la balise <input>
// -------------------------------------------------------------------------------------
function place_calque_par_rapport_a_une_balise_HTML()
{
	id_du_calque_a_placer = 'LSResult';
	id_de_la_balise_repere = 'calque_de_repere';
	x_relative_du_calque = 0;
	y_relative_du_calque = -10;
	x_repere_HTML = document.getElementById(id_de_la_balise_repere).offsetLeft;
	y_repere_HTML = document.getElementById(id_de_la_balise_repere).offsetTop;	
	hauteur_repere_HTML = document.getElementById(id_de_la_balise_repere).offsetHeight;	
	document.getElementById(id_du_calque_a_placer).style.left = x_repere_HTML +  x_relative_du_calque;
	document.getElementById(id_du_calque_a_placer).style.top  = y_repere_HTML + hauteur_repere_HTML + y_relative_du_calque;
}
