/* fichier lanceur.js 
*	-> détecte le chemin relatif depuis la page vers le rep de stockage des objets (general_objets) => variable rep_objets
*	-> inclu le fichiers automat.js qui prend en charge la suite du bizness de script
*	. est appelé par lien dans toutes les pages
*	. fct principale = lanceur(rep_base) est lancée par <body onload> dans toute les pages avec comme arguments:
*		rep_base = nom du répertoire de base du site
*		par ex si votre site est dans http://protosvt.free.fr/intranet1/g1/site01
*		=> rep_base sera "site01"
*		si votre site est dans http://intranet => rep_base sera "intranet"
*/


/* A CONFIGURER OBLIGATOIREMENT: 	
*	REP_OBJETS est le nom du répertoire de stockage des objets pour tout le site (= general_objets par ex), 
*	!! il doit être situé à la racine du site !! (c'est à dire dans rep_base)
*/
rep_objets = "general_objets";


/* fct LANCEUR() démarre les fcts successives du bizness de scripts
*/
function lanceur(rep_base) {
	chem_base = (genere_chemin(rep_base)[0]); // chem_base est le chemin relatif du répertoire du site
	chem_obj = (genere_chemin(rep_base)[1]); // chem_obj est le chemin relatif du rep_objet
	test_DOM ();	      // empèche le lancement de automat.js pour éviter les erreurs si le navigateur est trop vieux pour supporter cette version de JavaScript

	integre_script("tete_pied.js");
	integre_script("automat.js");

/* OPTION A CONFIGURER SI VOUS VOULEZ INTEGRER D'AUTRES FICHIERS .JS
*	la ligne suivante vous permet d'intégrer un fichier de script supplémentaire
*	ce fichier DOIT être stocké dans le répertoire défini + haut comme rep_objets (general_objets par ex)
*	vous pouvez intégrer de cette manière autant de fichiers .js centralisés que vous le souhaitez
*/	
//	integre_script("votre_fichier_de_script.js");
	
}

/* fct GENERE_CHEMIN(rep_base) défini la variable globale chem_obj = le chemin relatif du répertoire des objets */
function genere_chemin(rep_base) {
	chem = document.location.pathname.toLowerCase();	//à partir URL de la page décompte de tous les niveaux depuis la racine
	(document.location.protocol=="file:") && (navigator.appName.indexOf("Microsoft") != -1) ? separ="\\" : separ="/";	// choix du séparateur / ou \ en fct du protocole file ou http
	chem_obj = rep_objets.toLowerCase();	// par défaut chem_obj est le nom du rep_objet => cas ou la page appelante est à la racine du site 
	chem = document.location.pathname.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 séparateur / ou \ en fct du protocole file ou http
	pos_char = chem.indexOf(separ + rep_base + separ);
	chem = chem.substring(pos_char + 1);	// chem sans le / initial
	nbe_separ = "";
	nbe_separ = (chem.split(separ).length)-1;	// nbe de séparateur = nbe de morceaux du split - 1 
	prefix = "";
	for (i= 1; i < nbe_separ ; i++) {
		prefix = "../" + prefix;	// ajoute un ../ par niveau de ss-rep détecté jusqu'a rep_base  
	}
	chem_base = prefix;	// 
	chem_obj = prefix + chem_obj + "/"; 	// compose le chemin avec en + un séparateur final 
	return [chem_base, chem_obj];
}

/* fct INTEGRE_SCRIPT(nom_script , id_script) intègre le script nom_script !!doit comprendre chem_obj si script dans rep_objets!!  */
function integre_script(nom_fich_script) {		// nom_script = nom du fichier de script !!avec son extension et le chemin!! à intégrer 
	a_integrer = document.createElement("script");
	a_integrer.setAttribute("langage", "JavaScript");
	a_integrer.setAttribute("src", chem_obj + nom_fich_script);
	document.body.insertBefore(a_integrer, document.body.firstChild);
}

/* fct TEST_DOM() teste si le navigateur supporte suffisament de DOM pour être compatible avec automat.js */
function test_DOM () {
	if (document.createElement) {
		return;
	}
	else {
		alert("votre navigateur est trop ancien pour assurer un fonctionnement correct des éléments automatiques de cette page, veuillez le mettre à jour");
	}
}

