/* ----- ----- ----- Variables globales et lieu d'utilisation ----- ----- ----- */
var timeout; var click= false; //pour distinguer simple et double clic; utilisé par "clicoudouble_accueil"

var articleaffiche=1; //l'article affiché (par défaut le premier, c'est à dire l'éditorial); utilisé par "demander_article"

var requetecontenu; //la requette XMLHttpRequest pour la zone "contenu"; utilisé par "demander_article" et "afficher_article"
var requeteresultatsrecherche; //la requette XMLHttpRequest pour la zone "resultatsrecherche"; utilisé par "effectuer_recherche" et "afficher_resultats_recherche"

//code pour la assurer compatibilité avec tous les navigateurs (récents):
if (navigator.appName == "Microsoft Internet Explorer") { var XMLHTTPREQUEST="new ActiveXObject(\"Microsoft.XMLHTTP\")"; }
else { var XMLHTTPREQUEST="new XMLHttpRequest ()"; }





/* ----- ----- ----- Lieux d'appels des procédures et fonctions ----- ----- -----
+ deployer_ou_replier_rubrique
	- menu.html: clic sur une rubrique
	- sommaire.html: lorsque appelé avec en paramètre un identifiant de rubrique (voir en ligne)
	
+ demander_article
	- editorial.html: clic sur un article de la liste des derniers articles publiés
	- menu.html: clic sur un article du menu
	- recherche.html: clic sur un article de la liste des résultats de la recherche
	- sommaire.html: lorsque appelé avec en paramètre un identifiant d'article (voir en ligne)
	
+ effectuer_recherche
	- menu.html: validation (touche "Entrée") de la recherche
	
+ fermer_recherche
	- menu.html: clic sur le bouton fermer à côté de la zone de saisie de la recherche
	
+ clicoudouble_accueil
	- menu.html: clic ou double-clic sur "Accueil"





/* ----- ----- ----- Code des procédures et fonctions ----- ----- ----- */
function deployer_ou_replier_rubrique  (obj) { //déploie ou replie une rubrique et mémorise son état dans "tablstmenu"
	if (document.getElementById(obj).style.display == "block") { document.getElementById(obj).style.display= "none"; }
	else	{ document.getElementById(obj).style.display= "block"; }
}



function demander_article (id) { //affiche l'article demandé (en tâche de fond) et le met en évidence dans le menu
	if (articleaffiche != "1") document.getElementById("art"+articleaffiche).style.fontStyle= "normal";
	document.getElementById("art"+id).style.fontStyle= "italic";
	articleaffiche= id;
	
	requetecontenu= eval (XMLHTTPREQUEST);
	requetecontenu.onreadystatechange= function () {
		if (requetecontenu.readyState == 4) document.getElementById("contenu").innerHTML= requetecontenu.responseText;
		document.getElementsByTagName ("body")[0].style.cursor= "auto";
	}
	requetecontenu.open ("GET", "spip.php?article" + id, true);
	requetecontenu.send (null);
	document.getElementsByTagName ("body")[0].style.cursor= "wait";
}



function clicoudouble_accueil () { //affiche la page d'accueil (simple clic) ou l'espace privé (double clic)
	if (click) { //en cas de double-clic
		clearTimeout (timeout);
		location.href= "ecrire"; }
	else {
		click= true;
		setTimeout ("click=false", 500);
		timeout= setTimeout ("location.href='spip.php'", 500); }
}



function effectuer_recherche () { //effectue la recherche (en tache de fond)
	data= document.barrerecherche.recherche.value;
	pos= data.indexOf(" "); //remplacer les espaces (séparant les différents mots de la recherche) par des "+"
	while (pos != -1) {
		data= data.substring(0,pos) + "+" + data.substring(pos+1,data.length);
		pos= data.indexOf(" ");
	}
	
	requeteresultatsrecherche= eval (XMLHTTPREQUEST);
	requeteresultatsrecherche.onreadystatechange= function () {
		if (requeteresultatsrecherche.readyState == 4) {
			document.getElementById("resultatsrecherche").innerHTML= requeteresultatsrecherche.responseText;
			document.getElementById("resultatsrecherche").style.display= "block";
			document.getElementsByTagName ("body")[0].style.cursor= "auto";
		}
	}
	requeteresultatsrecherche.open ("GET", "spip.php?page=recherche&recherche=" + data, true);
	requeteresultatsrecherche.send (null);
	document.getElementsByTagName ("body")[0].style.cursor= "wait";

	return false; //pour annuler le "submit" (recherche en tâche de fond)
}



function fermer_recherche () {
	document.getElementById("resultatsrecherche").style.display= "none";
	document.barrerecherche.hidden.focus();
}
