// JavaScript Document

// Crée un objet requête et fait en sorte qu'il fonctionne avec tous les navigateurs modernes

var pagerreur = "../../messages/noajax.php";

function creerRequete() {
	var requete = null;
	try {
		requete = new XMLHttpRequest();
	}	catch (essaimicrosoft) {
		try {
		requete = new ActiveXObject ("Msxml2.XMLHTTP");
		}	catch (autremicrosoft) {
			try {
			requete = new ActiveXObject ("Microsoft.XMLHTTP");
			}	catch (echec) {
				requete = null;
				}
			}
		}
	if (requete == null) {
		//alert("Votre navigateur n'est pas compatible avec AJAX !");
		window.document.location = pagerreur;
	} else {
		return requete;
	}
}

// Fonctions DOM
// Retourne l'élément div "id"
function $(id) {
	return document.getElementById(id);
}

// Prend un élément et remplace tout le texte qu'il contient par celui qui est fourni
function remplacerTexte(el, texte) {
	document.getElementById(el).innerHTML = texte;
}

// Efface le texte contenu dans l'élément passé à la fonction
function effacerTexte (el) {
	document.getElementById(el).innerHTML = "";
}
// Retourne le texte de l'élément passé à la fonction
function getTexte (el) {
	var texte = "";
	if (el != null) {
		if (el.childNodes) {
			for (var i = 0; i < el.childNodes.length; i++) {
				var noeudFils = el. childNodes[i];
				if (noeudFils.nodeValue != null) { // nodeValue est null quand le noeud n'est pas un noeud de texte
					texte = texte + noeudFils.nodeValue;  // Prend nodeValue de tous les noeuds de texte autrement dit le texte et l'ajoute au texte existant
				}
			}
		}
	}
	return texte; // Contient tout le texte de l'élément quand la fonction se termine
}
// Informations sur la navigateur 
function BrowserInfo()
{
  this.name = navigator.appName;
  this.codename = navigator.appCodeName;
  this.version = navigator.appVersion.substring(0,4);
  this.platform = navigator.platform;
  this.javaEnabled = navigator.javaEnabled();
  this.screenWidth = screen.width;
  this.screenHeight = screen.height;
}


// Envoie une requête et affiche les messages d'attente dans le DOM (« idtexte »)
var requeteTexte = "";
function faireRequeteTexte(url, idtexte) {
	var req = creerRequete();
	req.open("GET", url, true);
	req.onreadystatechange = actualiserMsg;
	req.send(null);
	function actualiserMsg() {
		remplacerTexte(idtexte, "Chargement des données en cours…");
		if (req.readyState == 4) {
			if (req.status == 200) {
				remplacerTexte(idtexte, "");
			    requeteTexte = req.responseText;
				//return req.responseText;
			} else {
				erreur = "Pas de donnée ou erreur dans le chargement des données !";
				remplacerTexte(idtexte, erreur);
				requeteTexte = null;
				//return null;
			}
		}
	}
}

// Fonctions spécifiques du site

// Vérifie identifiant et mot de passe de l'espace adhérent
var compteur = 3;
var message = "message";

function verifLog() {
	var objetJson = eval('(' + requeteTexte + ')');
	var test = false;
	var inLogin = $("idlogin").value;
	var inPass = $("idpass").value;
	for (i=0 ; i < objetJson.login.length; i++) {
		if (inLogin == objetJson.login[i].id && inPass == objetJson.login[i].motdepasse) {
			test = true;
			break;
		}
	}
	if (test) {	
		window.document.location = "nouvelles2.html";
	}
	else
	{
	compteur=--compteur;
	remplacerTexte(message, "Identifiant ou mot de passe incorrect. Encore " + compteur + " essai(s).");
	if (compteur == 0) {
		remplacerTexte(message, "");
		compteur = 3;
		window.document.location = "../../index.php";
		}
	}
}

// Valide un formulaire avant envoi
var mailDest = "";

function validerForm(labels) {
	var msg = "";
	var ok = true;
	for (var i=0; i < document.forms[0].length; i++) {
		if (document.forms[0].elements[i].value == "" || document.forms[0].elements[i].value == null) {
				if (document.forms[0].elements[i].getAttribute("required") != null) {
					msg += "[" + labels[i] + "] ";
					ok = false;
				}
			}
		}
		if (!ok) {
			msg = "Valeur requise pour : " + msg;
			remplacerTexte("message", msg);
			} else {
			document.forms[0].submit();
			}
}

// Réinitialise un formulaire
function initForm(form) {
	document.forms[0].reset();
	remplacerTexte("message", " ");
	//document.forms[0].elements[0].value = mailDest;
}

// Date du jour
var aujourdhui = new Date();
var mois = new Array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
var jour = new Array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
var choixAnnee = aujourdhui.getFullYear();
var choixMois = mois[aujourdhui.getMonth()]+ " " + choixAnnee;
var textedate = jour[aujourdhui.getDay()] + " " + aujourdhui.getDate() + " " + mois[aujourdhui.getMonth()].toLowerCase() + " " + aujourdhui.getFullYear();

// Variable globale mémorisant l'élément à masquer
var idDetail = "detail0";

function montrerDetail(id) {
if (document.getElementById(id).style.display == "none") // si non visible
	{
	document.getElementById(idDetail).style.display = "none"; // on masque l'id précédent
	document.getElementById(id).style.display = "block"; // on l'affiche
	idDetail = id; // on mémorise l'id
	}
	else
	{
	document.getElementById(id).style.display = "none"; // sinon on le masque
	}
}
