/* TETEPIED.JS 
*	. script centralisé dans le dossier general_objets du site
*	. crée en-tete et pied de page pour navigation entre les parties
*	à partir des tableaux tab_zones_disc[ ] et tab_zones_generales[ ]
*	2 variables ont étés définies par le script de départ lanceur.js et sont à votre disposition:
*		=> chem_base qui correspond au chemin relatif du répertoire de base du site (chemin sans / à la fin)
*		=> chem_obj qui correspond au chemin relatif du répertoire objet du site (par ex general_objets)
*	la fonction genere_pied() fait appel à la fonction date_maj() qui renvoie
*	la date de dernière modification de la page en cours
*	
*	A MODIFIER: 
*		les tableaux tab_zones_disc[ ] et tab_zones_generales[ ] pour que la liste des parties soit adaptée à votre intranet
*		le contenu de genere_tete() et de genere_pied() pour obtenir un en-tête et un pied de page correspondant à votre site
*		le fichier automat.css pour la configuration des styles de ces éléments (faites un truc un peu plus joli...)
*/



//////////////////// Tableaux des sous-parties de l'intranet //////////////

/* TAB_ZONES_DISC[] stocke les paires:
*	 [titre de la matière , nom du dossier dans la racine , couleur dominante de la zone]
*	TAB_ZONES_GENERALES[] stocke la même chose pour les zones non-disciplines 
*/
tab_zones_disc = [
			["Allemand" , "allemand"],
			["Lettres" , "lettres"],
			["SVT" , "svt"],
			["Technologie" , "techno"]
		 ];
tab_zones_generales = [
			["CDI" , "cdi"],
			["Vie Scolaire" , "vie_scolaire"],
			["Administration" , "administratif"],
			["Foyer" , "foyer"],
			["Productions élèves" , "productions_eleves"],
			["Aide" , "aides"]
		      ];


////////////// Fonctions pour création en-tete et pied de page /////////

/* fonction CREE_TABLEAU_ZONES() contient la boucle qui génère le tableau 
*	des zones à partir des tableaux TAB_ZONES_DISCPLINES[] et TAB_ZONES_GENRALES[] 
*	Cette fonction renvoie le code HTML complet du tableau à insérer dans l'en-tete 
*/
function genere_tete() {
	htmlt = '<table class="tabTete" style="width: 100%"><tr>';	   // style="width: 100%" pour contourner bogue Netscape dans l'interprétation de la CSS
	htmlt += '<td style="text-align: left;"><a href="' + chem_base + 'index.htm"><img src="' + chem_obj + 'logo_intranet.png" style="border: 0px; "></a></td>';
	htmlt += '<td><table class="tabTete"><tr><td>';
	for (i in tab_zones_generales) {
		htmlt += '<td><a href="' + chem_base + tab_zones_generales[i][1] + '/index.htm">' + tab_zones_generales[i][0] + '</a></td>';
	}
	htmlt += '</tr></table><table class="tabTete"><tr>';
	for (i in tab_zones_disc) {
		htmlt += '<td ><a href="' + chem_base + tab_zones_disc[i][1] + '/index.htm">' + tab_zones_disc[i][0] + '</a></td>';
	}
	htmlt += '</tr></table></td></tr></table>';

// si on veut intégrer la fonction supplémentaire integre_menu_sspartie() pour créer le menu des sous-parties	
	htmlt += integre_menu_sspartie();		

	return htmlt;
}


/* fonction GENERE_PIED() retourne le code HTML de ce que l'on souhaite comme pied de page */
function genere_pied () {
	htmlp = '<table class="tabPied"><tr><td>Dernière maj le ';
	htmlp += date_maj();
	htmlp += '</td></tr></table>';
	return htmlp;
}



/* fct DATE_MAJ() retourne la date de dernière maj */
function date_maj () {    // logo = affichage du logo à gauche et de la bordure bleue sup (0 || 1), disp = valeur du display de depart 0=>none || 1=>block)
    date_maj = "";
    if (navigator.appName.indexOf("Microsoft") != -1) {    // traitement de la date de maj en fct du navigateur
        date_maj = document.lastModified.match(/[0-9\/]+/);
    }
    else {
        jour_date_maj = document.lastModified.match(/\d{2}/);
        mois_date_maj = document.lastModified.match(/\s[a-zA-Z]+/);
        tab_mois = [[" December","12"],[" November","11"],[" October","10"],[" September","09"],[" August","08"],[" July","07"],[" June","06"],[" May","05"],[" April","04"],[" March","03"],[" February","02"],[" January","01"]];
        for (i in tab_mois) {
            if (tab_mois[i][0] == mois_date_maj) {
                mois_date_maj = tab_mois[i][1];
            }
        }
        annee_date_maj = document.lastModified.match(/\d{4}/);
        date_maj = jour_date_maj + "/" + mois_date_maj + "/" + annee_date_maj;
    }
    return (date_maj);
}



///////////////////////// FONCTIONS SUPPLEMENTAIRES ////////////////////////////////

/* tableaux des sous-parties des diciplines
*/
tab_allemand =[ ["Grammaire", "grammaire"], ["Vocabulaire", "vocabulaire"]];
tab_lettres = [ ["Dossier de Prof1", "prof1"], ["Dossier de Prof2", "prof2"], ["Dossier de Prof3", "prof3"]];
tab_svt = [["Planétologie", "planetologie"], ["Géologie", "geologie"], ["Ecologie", "ecologie"]];
tab_techno =  [["Travaux de 6eme", "6eme"], ["Travaux de 5eme", "5eme"], ["Travaux de 4eme", "4eme"], ["Travaux de 3eme", "3eme"]];

tab_admin = [["Gestion des notes", "gestion_notes"], ["Informations pour les profs", "gestion_personnel"], ["Planning de réservation", "planning"]];
tab_eleves = [["Productions de l'élève1", "eleve1"], ["Productions de l'élève2", "eleve2"]]; 

/* TAB_ZONES_DISC_2[] stocke les quadruplets
* [titre de la matière , nom du dossier dans la racine , couleur dominante de la zone, [["Titre ss-partie", nom du dossier de la ss-partie], ...] ]
*  le 4eme élément est un le nom du tableau utilisé pour déterminer les sous-parties de la discipline
*  il est facultatif => le script testera son existence avant de s'en servir 
*	 ces tableaux sont organisés comme tab_zones_disc[ [titre de la matière , nom du dossier dans la racine], ...]
* pour simplifier la recherche du dossier en cours, les zones générales (CDI, administratif....) sont également intégrées dans ce tableau
*/
tab_zones_disc_2 = [
			["Allemand" , "allemand" , "#F9FE1B", tab_allemand ],
			["Lettres" , "lettres" , "#F7BF17", tab_lettres],
			["SVT" , "svt" , "#EE761E", tab_svt ],
			["Techno" , "techno" , "#E43D1F", tab_techno],
			["CDI" , "cdi" , "#34B86C" ],
			["Vie Scolaire" , "vie_scolaire" , "#38D3B0"],
			["Administration" , "administratif" , "#39A3C6", tab_admin ],
			["Foyer" , "foyer" , "#80FF00"],
			["Productions élèves" , "productions_eleves" , "#2772C5", tab_eleves],
			["Aide" , "aides" , "#F413D2"]
		      ];


/* fct DETECTE_REP() détecte le répertoire de niveau 1 en cours,
*  détermine le chemin relatif depuis la page jusqu'à ce dossier
*  crée la variable url_rep qui permet d'y accéder
*  crée la variable nom_disc avec le nom de la discipline
*  crée la variable coul_disc avec la teinte dominante de la discipline
*  crée la variable tab_ssparties qui correspond au tableau des sous-parties de la discipline
*/
function detecte_ssrep() {
		    chem = document.URL.toLowerCase();    //à partir URL de la page extraction sous-chaine depuis rep_base jusqu'a fin
        (document.location.protocol=="file:") && (navigator.appName.indexOf("Microsoft") != -1) ? separ="\\" : separ="/";    /* choix du separateur / ou \ en fct du protocole file ou http*/
        tab_reps = (chem.split(separ));
			url_rep= "";
        nom_disc = "";
			coul_disc = "";
			tab_ssparties = "";
        premier_ssrep = tab_reps[tab_reps.length - 1];
			if (premier_ssrep.search(/.htm/) != -1) {   // si l'URL se finit par un nom de fichier
			   premier_ssrep = tab_reps[tab_reps.length - 2];
			}
			for (i = (tab_reps.length - 1); i >= 0 ; i--) {   
            var nom_rep = separ + tab_reps[i] + separ;
				  for (j in tab_zones_disc_2) {  
	                if ((separ + tab_zones_disc_2[j][1].toLowerCase() + separ) == nom_rep) {
	                    pos_char = chem.indexOf(separ + tab_zones_disc_2[j][1] + separ) + tab_zones_disc_2[j][1].length +1;
	                    url_rep = chem.substring(0 , pos_char) + '/';
						  nom_disc = tab_zones_disc_2[j][0];
						  coul_disc = tab_zones_disc_2[j][2];
						  tab_ssparties = tab_zones_disc_2[j][3];
                  }
	            }
			}
			return url_rep;
}    
chem_rep_obj_local = detecte_ssrep() + '/' + 'objets/';

/* fct INTEGRE_ZONE_CSS() permet d'intégrer le fichier zone.css dans le ss-rep "objets" de la discipline
*/
function integre_zone_css() {
    chem_css = chem_rep_obj_local + "zone.css";
    a_integrer = document.createElement("link");
    a_integrer.setAttribute("rel", "stylesheet");
    a_integrer.setAttribute("href", chem_css );
    document.body.appendChild(a_integrer);
}
integre_zone_css();

/* fct integre_menu_sspartie() permet d'ajouter à l'en-tête un tableau avec le menu des sous-parties
*	 elle est lancée par la ligne de code "htmlt += integre_menu_sspartie();" à la fin de la fonction integre_tete()
*/
function integre_menu_sspartie() {
			 htms = '';
			 htms += '<table class="tabTete" style="background-color: ' + coul_disc + '; width: 100%;"><tr><td>';
			 if (tab_ssparties == '') {
			 	return;
			 }
			 for (i in tab_ssparties) {
			 		htms += '<td><a href="' + url_rep + tab_ssparties[i][1] + '/index.htm">' + tab_ssparties[i][0] + '</a></td>';
			 }
			 htms += '</tr></table>';
			 document.body.style.marginTop = (hteur_entete + 30) + "px";
    	return htms;			 
}

