/* Variables globales */
var nbArticleParPage = 2;

/* Affiche un calque quelconque */
function afficherCalque(nomId){
desactiverTousLesCalques();
var nomnav = navigator.appName;
var calque = document.getElementById(nomId);
if (nomnav == 'Microsoft Internet Explorer'){
	calque.style.display="block";
}
else{
	calque.style.visibility="visible";
	calque.style.height="auto";
}
}

/* Masque un calque quelconque */
function masquerCalque(nomId){
var nomnav = navigator.appName;	
var calque = document.getElementById(nomId);
if (nomnav == 'Microsoft Internet Explorer'){
	calque.style.display="none";
}
else{
	calque.style.visibility="hidden";
	calque.style.height = "0";
	
}
}

/* permet de modifier tous les calques */
function desactiverTousLesCalques(){
	masquerCalque('ajouterArticle');
	masquerCalque('supprimerArticle');
	masquerCalque('modifierArticle');
	masquerCalque('ajouterUtilisateur');
	masquerCalque('supprimerUtilisateur');
	masquerCalque('modifierUtilisateur');	
	masquerCalque('ajouterCategorie');
	masquerCalque('supprimerCategorie');
	masquerCalque('ajouterLien');
	masquerCalque('supprimerLien');
	masquerCalque('modifierLien');	
	masquerLigne('ajaxNomArticleModif');
	masquerLigne('ajaxNomArticleSupp');
	masquerLigne('cheminvideo');
	masquerLesLignes(['cheminimage','formatimage','posimage']);
	masquerLigne('cheminpdf');
}

/* Affiche la ligne d'un tableau*/
function afficherLigne(nomId){
var nomnav = navigator.appName;
var ligne = document.getElementById(nomId);
if (nomnav == 'Microsoft Internet Explorer'){
	ligne.style.display="block";
}
else{
	ligne.style.display="table-row";
}
}

/* Masque la ligne d'un tableau */
function masquerLigne(nomId){
var nomnav = navigator.appName;	
var ligne = document.getElementById(nomId);
if (nomnav == 'Microsoft Internet Explorer'){
	ligne.style.display="none";
}
else{
	ligne.style.display="none";
}
}


/*  affiche les articles selon la categorie et le numero de la page */
function afficherArticlesParPage(numeroPageAAfficher, nbArticleParPage, nomCategorie){
	var ajaxRequest;  // The variable that makes Ajax possible!
	
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){			
			//on affiche la ligne contenant le resultat
			//document.getElementById('FirstDiv').innerHTML ="";
			var tmp = document.getElementById('contientContent');			
			tmp.innerHTML = ajaxRequest.responseText;
			//numeroDeLaPage = numeroPageAAfficher;
		}
	}	
	
	var requete = "?numeropage=" + numeroPageAAfficher +"&nbarticleparpage=" + nbArticleParPage + "&nomcategorie=" + nomCategorie;
	ajaxRequest.open("GET", "chercher-page.php" + requete, true);
	ajaxRequest.send(null); 
}

/*  menu deroulant en ajax */
function ajaxFunction(menu, type){

	var ajaxRequest;  // The variable that makes Ajax possible!
	
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){			
			//on affiche la ligne contenant le resultat
			//si c une modification
			if(type == 'modification'){
				afficherLigne('ajaxNomArticleModif');	
				var tmp = document.getElementById('unecolonnemodif');
				tmp.innerHTML = ajaxRequest.responseText;
			}
			if(type == 'suppression'){
				afficherLigne('ajaxNomArticleSupp');	
				var tmp = document.getElementById('unecolonnesupp');
				tmp.innerHTML = ajaxRequest.responseText;
			}
		}
	}	
	//var categorie = document.getElementById('id').value;
	var categorie = menu.options[menu.selectedIndex].value;
	var requete = "?categorie=" + categorie +"&type="+type;
	ajaxRequest.open("GET", "ajax-exemple.php" + requete, true);
	ajaxRequest.send(null); 
}

/*  verification des menus deroulants des formulaires */
function validationMenuModif(formulaire){
	
	var message = "";	
	var valeur = formulaire.categoriepourmodifarticle.options[formulaire.categoriepourmodifarticle.selectedIndex].value;
	
	if(valeur == "pasdecategoriemodifarticle"){
		message+="Veuillez choisir une categorie";
	}	
	
	if(message == "")
		return(true);
	else{
		alert(message);
		return(false);		
	}	
}

/*  verification des menus deroulants des formulaires */
function validationMenuSup(formulaire){

var message = "";	
var valeur = formulaire.categoriepoursupparticle.options[formulaire.categoriepoursupparticle.selectedIndex].value;

if(valeur == "pasdecategoriesupparticle"){
		message+="Veuillez choisir une categorie";
	}	
	
	if(message == "")
		return(true);
	else{
		alert(message);
		return(false);		
	}	
	
}

/*  verification des champs texte des formulaires */
function validationChampsAjoutArticle(formulaire){	
	if(formulaire.nom.value == ''){
		alert("Veuillez entrer un nom pour cet article");
		return false;
	}	
	return true;
}

/*  verification des champs texte des formulaires */
function validationChampsAjoutCategorie(formulaire){	
	if(formulaire.nomnewcategorie.value == ''){
		alert("Veuillez entrer un nom de categorie");
		return false;
	}	
	return true;
}

/*  verification des champs texte des formulaires */
function validationChampsAjoutLien(formulaire){	
	if(formulaire.nomnewlien.value == ''){
		alert("Veuillez entrer le nom du lien");
		return false;
	}
	if(formulaire.adressenewlien.value == ''){
		alert("Veuillez entrer une adresse pour ce lien");
		return false;
	}	
	return true;
}

/*  verification des champs texte des formulaires */
function validationChampsAjoutUser(formulaire){	
	if(formulaire.nomnewutilisateur.value == ''){
		alert("Veuillez entrer un nom utilisateur");
		return false;
	}
	if(formulaire.prenomnewutilisateur.value == ''){
		alert("Veuillez entrer un prenom utilisateur");
		return false;
	}
	if(formulaire.loginnewutilisateur.value == ''){
		alert("Veuillez entrer un login utilisateur");
		return false;
	}	
	if(formulaire.mdpnewutilisateur.value == ''){
		alert("Veuillez entrer un mot de passe utilisateur");
		return false;
	}	
	if(formulaire.confirmermdpnewutilisateur.value == ''){
		alert("Veuillez confirmer le mot de passe utilisateur");
		return false;
	}	
	
	return true;
}


/*  verification des champs texte des formulaires */
function validationChampsContact(formulaire){	
	if(formulaire.nom.value == ''){
		alert("Veuillez entrer votre nom");
		return false;
	}
	if(formulaire.prenom.value == ''){
		alert("Veuillez entrer votre prenom");
		return false;
	}	
	if(formulaire.email.value == ''){
		alert("Veuillez entrer votre email");
		return false;
	}		
	return true;
}


/*  supprime un noeud enfant */
function suppression_element() {
var noeud=document.getElementsByTagName("ol")[0].firstChild;
disparu = document.getElementsByTagName("ol")[0].removeChild(noeud);
alert(disparu.firstChild.nodeValue);
}

/*  masque plusieurs lignes */
function masquerLesLignes(tableauLigne){
	for(var i=0; i < tableauLigne.length; i++)
		masquerLigne(tableauLigne[i]);
}

/*  affiche plusieurs lignes */
function afficherLesLignes(tableauLigne){
	for(var i=0; i < tableauLigne.length; i++)
		afficherLigne(tableauLigne[i]);
}



/*
Avec un tableau associatif, on y accedera ainsi :

    var MonTableau = new Array();

    MonTableau["nom"] = "Goldorak";// On accéde à l'élement "nom"

    document.write(MonTableau["nom"]);// Sortie -> Goldorak

C'est tableau sont dans certains cas plus commodes a utiliser.
Pour parcourir un tableau de ce type à l'aide d'une boucle, il faut utiliser la boucle for...in :

    var Vainqueurs = new Array();
    
    Vainqueurs["Grenoble- La Bastille (prologue)"] = "Alberto Lopez de Munain";
    Vainqueurs["Grenoble - Lyon"] = "Frédéric Guesdon";
    Vainqueurs["Châtillon sur Chalaronne - Saint Etienne"] = "Fabrice Gougot";
    Vainqueurs["Saint Etienne - Saint Etienne (contre la montre)"] = "Lance Armstrong";
    Vainqueurs["Romans - Le mont Ventoux"] = "Tyler Hamilton";
    Vainqueurs["Beaumes de Venise - Dignes les Bains"] = "Tyler Hamilton";
    Vainqueurs["Digne les Bains - Briançon"] = "Inigo Cuesta";
    Vainqueurs["Saint Jean de Maurienne - Salanches"] = "Laurent Jalabet";

    for(Etape in Vainqueurs)
    document.write(Etape + " : " + Vainqueurs[Etape] + "<br>");

*/