/*****************************************************************************
 * Fichier global des fonctions javascripts utilisables dans les applications
 * web de Infodata. 
 *
 * Attention, toutes les fonctionnalités sont séparées en plusieurs fichiers 
 * sources différents, pour plus de clarté à la maintenance/lecture
 *
 *****************************************************************************/
 
/*------------------------------------------------------------------------------------------------------*
 * Vérification d'un chemin relatif pour le remplacer par un chemin absolu en fonction du chemin de ce
 * fichier (infodata.js). ça permet de mettre ce fichier dans un autre répertoire et que les autres 
 * scripts et fichiers css importés soient correctes.
 *
 * Ne corrige rien si le chemin passé est déjà un chemin absolu
 * 
 *
 * Input : path = chemin relatif du fichier à importer
 * Output : Chemin corrigé pour être comme celui de infodata.js
 *------------------------------------------------------------------------------------------------------*/
function inCheckPath(path){

	if(path[0] != '/' && !path.match("^http:*")){
	    // Si pas URL complete ou chemin absolu, on calcul la base pour le chemin relatif
    	var i, base, src = "infodata.js", scripts = document.getElementsByTagName("script");
    	
    	/*
    	 * On cherche le nom du fichier courant, infodata.js, dans la liste des scripts du document, 
         * Ce qui nous donne le chemin complet de ce fichier javascript, les autres relatifs à celui-ci
         */	
    	for (i=0; i<scripts.length; i++){
    	     if (scripts[i].src.match(src)){
    	        base = scripts[i].src.replace(src, "");
    	        break;
    	     }
    	}
    	path = base + path;
    }

   return path;	
}

/*------------------------------------------------------------------------------------------------------*
 * Importer un autre fichier Javascript depuis celui-ci, permet de gérer les dépendances entre fichiers
 * javascript.
 *
 * Input : path = chemin relatif du fichier à importer
 *------------------------------------------------------------------------------------------------------*/
function inImportScript(path){
   path = inCheckPath(path);
   document.write("<script src=\"" + path + "\"></" + "script>");    
}

/*------------------------------------------------------------------------------------------------------*
 * Importer un autre fichier CSS depuis celui-ci, permet de gérer les dépendances entre les scripts et
 * les styles des objets gérés dans ces scripts.
 *
 * Input : path = chemin relatif du fichier à importer
 *------------------------------------------------------------------------------------------------------*/
function inImportCSS(path){
   path = inCheckPath(path);
   
   document.write("<link rel=\"StyleSheet\" type=\"text/css\" href=\"" + path + "\">");    
}

/* 
 * Import des différents fichiers constituant les outils infodata
 * L'ordre des imports peut être important, à voir
 */
 // Anciennes fonctions
 inImportScript("globaltools_js/oldtools.js");
 
 // Anciennes fonctions mysav
 inImportScript("globaltools_js/mysav.js");
 
 // Fonctions globales Infodata, utiles a tous
 inImportScript("globaltools_js/globalfunction.js");
 
 // gestion globale des tags Infodata
 inImportScript("globaltools_js/globaltag.js");
 
 // Classe globale de gestion des communications http
 inImportScript("globaltools_js/inhttpclass.js");
 
 // Outils tiers pour formattage des zones numeriques
 inImportScript("globaltools_js/numberformat154.js");
 
 // Classe d'affichage d'un panneau d'attente pour utilisateur
 inImportScript("globaltools_js/waitpanelclass.js");
 inImportCSS("globaltools_js/waitpanel.css");
 
 // SimpleCalendar
 inImportScript("globaltools_js/simplecalendar/simplecalendar.js");
 inImportCSS("globaltools_js/simplecalendar/simplecalendar.css");
 
 