/******************************************************************************************/
/* LIBRAIRIE JavaScript : Utils.js                                                        */
/* DESCRIPTION : cette librairie contient des fonctions realisant des controles de base   */
/*               et des operations sur les chaines de caracteres alphanumeriques          */
/* AUTEUR      : J. Chiavassa, le 22/02/2001                                              */
/******************************************************************************************/

var aServeur="www.santesport.gouv.fr";

/******************************************************************************************/
/* FONCTION Fget_maj                                                                      */
/* DESCRIPTION : conversion des chaintes de caracteres minuscules en majuscules.          */
/*               Les caracteres accentues sont perdus. Par exemple, e accent grave        */
/*               devient E                                                                */
/* AUTEUR      : J. Chiavassa, le 22/02/2001                                              */
/******************************************************************************************/
function Fget_maj(anInput)
{
var longueur=anInput.value.length;

var aResult=new String();
aResult = anInput.value;

var code = new String();

for (i = 0; i <= longueur - 1; i++)
 {
  code = anInput.value.charCodeAt(i);
  if ( (code >= 224) || ( (code >= 192) && (code <= 221) ) )
        {
         if ( ( (code >= 224) && (code <= 229) ) || ( (code >= 192) && (code <= 197) ) )
                {
                 aChaine1 = anInput.value.substring(0,i);
                 aChaine2 = anInput.value.substring(i+1, longueur);
                 aResult = aChaine1+'a'+aChaine2;
                }
        else if ( (code == 231) || (code == 199) )
                {
                 aChaine1 = anInput.value.substring(0,i);
                 aChaine2 = anInput.value.substring(i+1, longueur);
                 aResult = aChaine1+'c'+aChaine2;
                }
        else if ( ( (code >= 232) && (code <= 235) ) || ( (code >= 200) && (code <= 203) ) )
                {
                 aChaine1 = anInput.value.substring(0,i);
                 aChaine2 = anInput.value.substring(i+1, longueur);
                 aResult = aChaine1+'e'+aChaine2;
                }
        else if ( ( (code >= 236) && (code <= 239) ) || ( (code >= 204) && (code <= 207) ) )
                {
                 aChaine1 = anInput.value.substring(0,i);
                 aChaine2 = anInput.value.substring(i+1, longueur);
                 aResult = aChaine1+'i'+aChaine2;
                }
        else if ( ( (code >= 242) && (code <= 246) ) || ( (code >= 210) && (code <= 214) ) )
                {
                 aChaine1 = anInput.value.substring(0,i);
                 aChaine2 = anInput.value.substring(i+1, longueur);
                 aResult = aChaine1+'o'+aChaine2;
                }
        else if (  ( (code >= 249) && (code <= 252) ) || ( (code >= 217) && (code <= 220) ) )
                {
                 aChaine1 = anInput.value.substring(0,i);
                 aChaine2 = anInput.value.substring(i+1, longueur);
                 aResult = aChaine1+'u'+aChaine2;
                }
        else if ( (code == 253) || (code == 255) || (code == 221 ) )
                {
                 aChaine1 = anInput.value.substring(0,i);
                 aChaine2 = anInput.value.substring(i+1, longueur);
                 aResult = aChaine1+'y'+aChaine2;
                }
        else if  (code == 241)
                {
                 aChaine1 = anInput.value.substring(0,i);
                 aChaine2 = anInput.value.substring(i+1, longueur);
                 aResult = aChaine1+'n'+aChaine2;
                }
        }
}
return aResult.toUpperCase();
}

/******************************************************************************************/
/* FONCTION FIsNotNull                                                                    */
/* DESCRIPTION : si le champ de formulaire a une valeur égale à "" alors on retourne      */
/*               false sinon true                                                         */
/* AUTEUR      : J. Chiavassa, le 22/02/2001                                              */
/******************************************************************************************/
function FIsNotNull (anInput)
{
 var bRes = new Boolean(); 	
 bRes = false;
 
 var aRegExp =/^\s*$/;
 var anArray = anInput.value.match(aRegExp);
 
 if (anInput.value != "" && anArray == null )
 	bRes = true;
 
 return bRes;
}

/******************************************************************************************/
/* FONCTION chargeFicheCategorie                                                          */
/* DESCRIPTION : appelle l'URL FICHE_CATEGORIE.asp avec les parametres fournis par        */
/*               l'appelant                                                               */
/* ENTREES     : aTargetFrame : frame d'affichage                                         */
/*               aIdCategorie : numero d'id dans CATEGORIE (colonne ID_CATEGORIE)         */
/* AUTEUR      : J. Chiavassa, le 26/03/2001                                              */
/******************************************************************************************/
function chargeFicheCategorie(aRechercheClasse, aIdCategorie, aIdClasse)
{
 var aUrl = new String();
 // Si on est dans la recherche par classe, il faut pouvoir sauvegarder l'id de classe pour la partie
 // haute de l'écran...
 
 if (aRechercheClasse == "oui")
     aUrl = "/PAGES/ANNUAIRE/RE_ANN_EC2.asp?TYPE=CATEGORIE&ID_CATEGORIE=" + aIdCategorie + "&ID_CLASSE=" + aIdClasse;
 else if (aRechercheClasse == "administration")
         aUrl = "/PAGES/ANNUAIRE/FICHE_CATEGORIE.asp?MENU=administration&ID_CATEGORIE=" + aIdCategorie;
 else
     aUrl = "/PAGES/ANNUAIRE/FICHE_CATEGORIE.asp?MENU=oui&ID_CATEGORIE=" + aIdCategorie;
 if (aRechercheClasse == "administration")
    top.fraDetail.location = aUrl;
 else
    top.location = aUrl;
 
}

/******************************************************************************************/
/* FONCTION chargeFicheClasse                                                             */
/* DESCRIPTION : appelle l'URL FICHE_CLASSE.asp avec les parametres fournis par           */
/*               l'appelant                                                               */
/* ENTREES     : aTargetFrame : frame d'affichage                                         */
/*               aIdCategorie : numero d'id dans CLASSE (colonne ID_CLASSE)               */
/* AUTEUR      : J. Chiavassa, le 26/03/2001                                              */
/******************************************************************************************/
function chargeFicheClasse(aRechercheClasse, aIdClasse1, aIdClasse2)
{
 var aUrl = new String();
 if (aRechercheClasse == "oui")
     aUrl = "/PAGES/ANNUAIRE/RE_ANN_EC2.asp?TYPE=CLASSE&ID_CLASSE=" + aIdClasse1;
 else if (aRechercheClasse == "administration")
         aUrl = "/PAGES/ANNUAIRE/FICHE_CLASSE.asp?MENU=administration&ID_CLASSE=" + aIdClasse1;   
 else
     aUrl = "/PAGES/ANNUAIRE/FICHE_CLASSE.asp?MENU=oui&ID_CLASSE=" + aIdClasse1;
 
  if (aRechercheClasse == "administration")
     top.fraDetail.location = aUrl;
  else
    top.location = aUrl;

}

/******************************************************************************************/
/* FONCTION chargeFicheSubstance                                                          */
/* DESCRIPTION : appelle l'URL FICHE_SUBSTANCE.asp avec les parametres fournis par        */
/*               l'appelant                                                               */
/* ENTREES     : aTargetFrame : frame d'affichage                                         */
/*               aIdSubstance : numero d'id dans SUBSTANCE (colonne ID_SUBSTANCE)         */
/* AUTEUR      : J. Chiavassa, le 26/03/2001                                              */
/******************************************************************************************/
function chargeFicheSubstance(aRechercheClasse, aIdSubstance, aIdClasse)
{
 var aUrl = new String();
   
 if (aRechercheClasse == "oui")
     aUrl = "/PAGES/ANNUAIRE/RE_ANN_EC2.asp?TYPE=SUBSTANCE&ID_SUBSTANCE=" + aIdSubstance + "&ID_CLASSE=" + aIdClasse;
 else if (aRechercheClasse == "administration")
         aUrl = "/PAGES/ANNUAIRE/FICHE_SUBSTANCE.asp?MENU=administration&ID_SUBSTANCE=" + aIdSubstance;
 else
     aUrl = "/PAGES/ANNUAIRE/FICHE_SUBSTANCE.asp?MENU=oui&ID_SUBSTANCE=" + aIdSubstance;

 if (aRechercheClasse == "administration")
    top.fraDetail.location = aUrl;
 else
    top.location = aUrl;
}

/******************************************************************************************/
/* FONCTION chargeFicheMedoc                                                              */
/* DESCRIPTION : appelle l'URL FICHE_MEDOC.asp avec les parametres fournis par            */
/*               l'appelant                                                               */
/* ENTREES     : aTargetFrame : frame d'affichage                                         */
/*               aIdMedoc : numero d'id dans MEDOC (colonne ID_MEDOC)                     */
/* AUTEUR      : J. Chiavassa, le 26/03/2001                                              */
/******************************************************************************************/
function chargeFicheMedoc(aRechercheClasse, aIdMedoc, aIdClasse)
{
 var aUrl = new String();
 if (aRechercheClasse == "oui")
     aUrl = "/PAGES/ANNUAIRE/RE_ANN_EC2.asp?TYPE=MEDOC&ID_MEDOC=" + aIdMedoc + "&ID_CLASSE=" + aIdClasse;
  else if (aRechercheClasse == "administration")
         aUrl = "/PAGES/ANNUAIRE/FICHE_MEDOC.asp?MENU=administration&ID_MEDOC=" + aIdMedoc;
 else
     aUrl = "/PAGES/ANNUAIRE/FICHE_MEDOC.asp?MENU=oui&ID_MEDOC=" + aIdMedoc;
 if (aRechercheClasse == "administration")
    top.fraDetail.location = aUrl;
 else
    top.location = aUrl;
}

/******************************************************************************************/
/* FONCTION openPrepareMail                                                               */
/* DESCRIPTION : appelle le fichier prepare_envoi.asp  dans une nouvelle fenêtre qui est  */
/*               totalement modale                                                        */
/* AUTEUR      : J. Chiavassa, le 30/03/2001                                              */
/******************************************************************************************/
function openPrepareMail(aPath,aFic)
{
	var aUrl = new String();
	var aTitre = new String();
	var aProp = new String();
	
	// L'URL est l'appel a la page qui permet de saisir les informations
	// pour l'envoi de mail. On lui passe la valeur du chemin de la page.
	aUrl = "http://"+aServeur+"/pages/envoi/prepareEnvoi.asp?PATH=" + aPath + "&FIC=" + aFic;
	aTitre = "Envoi";
	aProp = "resizable=no,scrollbars=yes,status=non,toolbar=no,width=600,height=275";

        nvfenetre = window.open(aUrl,aTitre,aProp);
        nvfenetre.focus();

}

/******************************************************************************************/
/* FONCTION openDocument                                                                  */
/* DESCRIPTION : ouvre le fichier que l'utilisateur a selectionnee lors d'une recherche   */
/* ENTREES     : aDoc : chemin virtuel permettant l'ouverture du document dans le         */
/*                      navigateur                                                        */
/*               aPath : chemin physique menant au document, necessaire pour l'envoi par  */
/*                       courrier electronique                                            */
/* AUTEUR      : J. Chiavassa, le 30/03/2001                                              */
/******************************************************************************************/
function openDocument(aPath, aFic)
{
	top.location="http://"+aServeur+aPath+"?PATH="+aPath+"&FIC="+aFic;
}

/******************************************************************************************/
/* FONCTION openAide                                                                      */
/* DESCRIPTION : ouvre une fenêtre modale avec l'aide en ligne                            */
/* AUTEUR      : J. Chiavassa, le 11/05/2001                                              */
/******************************************************************************************/
function ouvrirAide(aPath)
{
	var aUrl = new String();
	var aTitre = new String();
	var aProp = new String();
	
	// L'URL est l'appel a la page qui permet de saisir les informations
	// pour l'envoi de mail. On lui passe la valeur du chemin de la page.
	aUrl = "http://"+aServeur+"/"+aPath;
	aTitre = "Aide";
	aProp = "resizable=no,scrollbars=yes,status=non,toolbar=no,width=600,height=400";

        nvfenetre = window.open(aUrl,aTitre,aProp);
        nvfenetre.focus();

}

/******************************************************************************************/
/* FONCTION verifLongueur                                                                 */
/* DESCRIPTION : verifie la taille d'un champ (utilise dans les textarea                  */
/* AUTEUR      : J. Chiavassa, le 24/08/2001                                              */
/******************************************************************************************/
function verifLongueur(aChamp, nLongueurMax)
{
 if (aChamp.value.length > nLongueurMax)
 	{
 		alert('Cette donnée ne peut excéder ' + nLongueurMax + ' caractères. Elle est tronquée automatiquement à cette taille.');
 		aChamp.value=aChamp.value.substring(0, nLongueurMax);
 	}
}

function FIsNotInvalid(anInput)
{
 var bRes = new Boolean(); 	
 bRes = false;
 
 var aRegExp =/^.$/;
 var anArray = anInput.value.match(aRegExp);
 
 if (anInput.value != "" && anArray == null )
 	bRes = true;
 
 return bRes;
}


function Ftest_mel(anInput)
{
 lTempValue = new Array(2);
 if (anInput.value != "")
    {
     lTempValue = anInput.value.split("@");
     
     if((anInput.value.indexOf("@",1) != -1) && (lTempValue[1]!="") && (lTempValue[0]!=""))
	{
	 //Lchaine = top.Fget_char(lTempValue[1])
	 //Lchaine = Lchaine.toLowerCase( );
	 //Lchaine = top.Fget_char(lTempValue[0]) + "@" + Lchaine;


	 anInput.value = lTempValue[0] + "@" + lTempValue[1];
	 Lchaine=Fget_maj(anInput);
	 anInput.value = Lchaine.toLowerCase();

	 //anInput.value = Lchaine;
	 return true;
	}
     else
	{
	  alert("Adresse Mel invalide");

	  anInput.value = "";
	  anInput.focus();
	 }
    }
}


function sendMail()
{
if (document.frmEnvoi.dest.value == "")
	{
	 alert("Saisissez l'adresse électronique du destinataire.");
	 return false;
	}
document.frmEnvoi.submit();
}