////+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++////
////+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++////
////                                                                                     ////
////         Ensemble des fonctions développées par Reflet d'Expression ©2007            ////
////                                                                                     ////
////+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++////
////+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++////
////+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++////
//
//
//
//
//
// ******************************************************************************************************************
// Permet de rediriger vers une page de façon temporisée (avec possibilité d'afficher le temps restant).
// ******************************************************************************************************************
// Variables :
//    cible_tempo_redir_url : id de la cible.
//    url : page de la redirection.
//    tempo : valeur de la tempo en secondes.
// ******************************************************************************************************************
//   Appel du script : 
//   <script language=\"JavaScript\">
//   var tempo=15; // Nombre de secondes.
//   tempo_redir_url('toto.php?test_envoi=oui');
//   </script>;
//   Créer une cellule recevant l'affichage : <span name='cible_tempo_redir_url' id='cible_tempo_redir_url'></span>
// ******************************************************************************************************************
// Création : 26/03/2007.
// Derniére modif : 26/03/2007.
// ******************************************************************************************************************
function calcul_redir_url(url) { 
   if (tempo<=0) {tempo=0;} 
   if (tempo>0) {tempo=tempo-1;} 
   if (tempo<=9) {tempo="0"+tempo;} // Pout afficher sur 2 chiffres mini.
   var ChaineTempoRedirUrl=tempo+" secondes"; 
   document.getElementById('cible_tempo_redir_url').innerHTML=ChaineTempoRedirUrl; 
   if (tempo<=0) {clearInterval(timerRedir);document.location = url;} // Raz timer et redirection.
} 
function tempo_redir_url(url) {timerRedir=setInterval("calcul_redir_url('"+url+"')",1000);} 
// Fin de fonction.

// ******************************************************************************************************************
// Fonction pour demander une confirmation avant d'appeler une autre page.
// ******************************************************************************************************************
// Variables :
//    texte : Texte de la question à poser.
//    url : Adresse de la page à appeler si réponse OK.
// ******************************************************************************************************************
// Exemple dans un bouton :
// <input type="button" value="effacer !" class="bouton_form"
// onclick="change_url_confirmation('Êtes-vous sûre de vouloir effacer DEFINITIVEMENT la saisie ?',
// '".$_SERVER["PHP_SELF"]."?action=ajout');" />;
// ******************************************************************************************************************
// Création : 23/03/2007.
// Derniére modif : 23/03/2007.
// ******************************************************************************************************************
function change_url_confirmation(texte,url) 
{ 
var FenetreQuestion=confirm(texte);
        if (FenetreQuestion) {
                document.location.href=url;
        }
} 
// Fin de fonction.

// ******************************************************************************************************************
// Fonction pour demander une confirmation avant d'envoyer les données d'un formulaire.
// ******************************************************************************************************************
// Variables :
//    texte : Texte de la question à poser.
// ******************************************************************************************************************
// Exemple dans un formulaire.
//   Ecrire le bouton Submit comme ci-dessous:
//     <input type="submit" name="modif_base" value="MODIFIER"
//     onclick="return question_confirmation('Êtes-vous sure ?');">
// ******************************************************************************************************************
// Création : 07/02/2007.
// Derniére modif : 07/02/2007.
// ******************************************************************************************************************
function question_confirmation(texte) 
{ 
var FenetreQuestion=confirm(texte);
        if (FenetreQuestion) {
                return true ;
        } else {
                return false ;
        }
} 
// Fin de fonction.

// ******************************************************************************************************************
// Fonction pour limiter et indiquer le nombre de caractéres saisies dans un INPUT ou un TEXTAREA.
// ******************************************************************************************************************
// Variables :
//    ZoneTexte : Propriété de la zone de saisie du texte.
//    NbrCaractMaxi : Nombre de caractéres maxi autorisés.
//    IdAfficheNbr : Nom du span recevant le nombre de caractéres en cours de saisie.
//    ClassNameNormal : Class appliquée au span lorsque le nombre de caractéres est ok.
//    ClassNameMaxi : Class appliquée au span lorsque le nombre de caractéres est au maxi.
// ******************************************************************************************************************
// Exemple dans un TEXTAREA.
//   Ecrire le TEXTAREA comme ci-dessous:
//     <textarea rows="15" name="nomtexte" cols="60" class="page_texte_admin"
//     onfocus="ControleCaract(this,25,'comptage','page_texte_admin','page_texte_admin_red')"
//     onkeydown="ControleCaract(this,25,'comptage','page_texte_admin','page_texte_admin_red')"
//     onkeyup="ControleCaract(this,25,'comptage','page_texte_admin','page_texte_admin_red')"
//     onBlur="ControleCaract(this,25,'comptage','page_texte_admin','page_texte_admin_red')">
//     texte_base</textarea>"
//   Puis ajouter le span où va apparaitre le nombre de caractéres:
//     <span id="comptage">taille_avant_modif</span>
// ******************************************************************************************************************
// Création : 08/02/2007.
// Derniére modif : 08/02/2007.
// ******************************************************************************************************************
function ControleCaract(ZoneTexte, NbrCaractMaxi, IdAfficheNbr, ClassNameNormal, ClassNameMaxi)
{
// Controle du nombre de caractéres.
StrLen = ZoneTexte.value.length
if (StrLen > NbrCaractMaxi )
{ // Si supérieur, on supprime les caractéres en trop.
ZoneTexte.value = ZoneTexte.value.substring(0,NbrCaractMaxi);
CharsLeft = NbrCaractMaxi;
}
else
{ // Sinon on continu.
CharsLeft = StrLen;
}

// Mise à jour dynamique du nombre de caractéres.
if (document.getElementById)
    {
    document.getElementById(IdAfficheNbr).innerHTML = CharsLeft;
    }
else if (document.all) 
    {
    document.all[IdAfficheNbr].innerHTML = CharsLeft;
    }

// Mise à jour de la font de l'affichage du nombre de caractéres.
if (StrLen >= NbrCaractMaxi )
{
// Mise à jour dynamique de la font (si nbr caractéres maxi).
    if (document.getElementById)
        {
        document.getElementById(IdAfficheNbr).className = ClassNameMaxi;
        }
    else if (document.all) 
        {
        document.all[IdAfficheNbr].className = ClassNameMaxi;
        }
}
else
{
// Mise à jour dynamique de la font (si nbr caractéres ok).
    if (document.getElementById)
        {
        document.getElementById(IdAfficheNbr).className = ClassNameNormal;
        }
    else if (document.all) 
        {
        document.all[IdAfficheNbr].className = ClassNameNormal;
        }
}
} 
// Fin de fonction.

// ******************************************************************************************************************
// Permet d'ouvrir une image dans une fenêtre popup auto-dimensionnée.
// ******************************************************************************************************************
// Variables :
//    F00image : Nom et chemin de l'image à afficher.
// ******************************************************************************************************************
//   Exemple : <a href=javascript:F00_0("../image/services/images_sites_eco/modele_6.jpg")>
// ******************************************************************************************************************
// Création : 17/08/2006.
// Derniére modif : 17/08/2006.
// ******************************************************************************************************************
function F00_0(F00image)
  {
F00CodeHtml = '<HTML><HEAD><TITLE>Photo copyright Mairie de Bégard</TITLE><SCRIPT LANGUAGE="JavaScript">function F00RedimFenetrePhoto(F00sh,F00sw,F00ih,F00iw){if (F00sh<F00ih+83){F00Top=0;} else {F00Top=(F00sh-F00ih-83)/2;}; if (F00sw<F00iw+12){F00Left=0;} else {F00Left=(F00sw-F00iw-12)/2;}; window.moveTo(F00Left,F00Top);}</SCRIPT></HEAD><BODY LEFTMARGIN=0 MARGINWIDTH=0 TOPMARGIN=5 MARGINHEIGHT=0><CENTER><a href="javascript:;"><IMG SRC="'+F00image+'" BORDER=0 NAME=F00NomDeLImage onLoad="window.resizeTo(document.F00NomDeLImage.width+16,document.F00NomDeLImage.height+88);F00RedimFenetrePhoto(screen.height,screen.width,document.F00NomDeLImage.height,document.F00NomDeLImage.width);" onclick="self.close();" alt="Cliquer pour fermer la fenêtre"></a></CENTER></BODY></HTML>';
F00Options='toolbar=0,location=0,directories=0,menuBar=0,scrollbars=0,resizable=0,width=500,height=500,left=0,top=0';
F00FenetreImage = window.open('','Visualisation_Image',F00Options);
F00FenetreImage.document.open();
F00FenetreImage.document.write(F00CodeHtml);
F00FenetreImage.document.focus();
F00FenetreImage.document.close();
}
// Fin de fonction.

// ******************************************************************************************************************
// Permet d'afficher la date et l'heure en dynamique sur une page.
// ******************************************************************************************************************
// Variables :
//    F01_b : id de la cible.
// ******************************************************************************************************************
//   Inserer entre <head> et </head> : <script language="JavaScript">window.onload=F01_0;</script>
//   Créer une cellule recevant l'affichage : <span name='F01_b' id='F01_b'></span>
// ******************************************************************************************************************
// Création : 17/08/2006.
// Derniére modif : 17/08/2006.
// ******************************************************************************************************************
   var F01NomJour=new Array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"); 
   var F01NomMois=new Array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"); 
function F01CalculDate() { 
   var F01CaptureDate=new Date(); 
   var F01Annee=F01CaptureDate.getFullYear(); 
    if (F01Annee < 1000) {F01Annee+=1900;} 
   var F01NoJour=F01CaptureDate.getDay(); 
   var F01Mois=F01CaptureDate.getMonth(); 
   var F01Jour=F01CaptureDate.getDate(); 
    if (F01Jour<10) {F01Jour="0"+F01Jour;} 
   var F01Heures=F01CaptureDate.getHours(); 
    if (F01Heures==0) {F01Heures=12;} 
   var F01Minutes=F01CaptureDate.getMinutes(); 
    if (F01Minutes<=9) {F01Minutes="0"+F01Minutes;} 
   var F01Seconds=F01CaptureDate.getSeconds(); 
    if (F01Seconds<=9) {F01Seconds="0"+F01Seconds;} 
   var F01ChaineDateHeure="&nbsp;"+F01NomJour[F01NoJour]+"&nbsp;"+F01Jour+"&nbsp;"+F01NomMois[F01Mois]+"&nbsp;"+F01Annee+"<BR>"+F01Heures+":"+F01Minutes+":"+F01Seconds; 
document.getElementById('F01_b').innerHTML=F01ChaineDateHeure; 
} 
function F01_0() {setInterval("F01CalculDate()",1000);} 
// Fin de fonction.

// ******************************************************************************************************************
// Permet d'afficher une info bulle personnalisée.
// ******************************************************************************************************************
// Variables :
//   F02_1 : id de l'info bulle.
//   F02_2 : appel de l'affichage de l'info bulle.
//   F02_3 : appel de l'effacement de l'info bulle.
// ******************************************************************************************************************
//   Inserer entre <head> et </head> : <div id="F02_1" class="F02infobulle"></div>
//   Ajouter dans la balise les propriétés onMouseOut et onMouseOver comme dans l'exemple du lien suivant :
//   <a href="#" onMouseOver="F02_2('Ceci est un exemple<br>de texte que l\'on peut mettre<br>pour documenter une image<br>ou un lien de la page affichée.<br>Une image peut aussi faire l\'affaire.<br><br><img src=../../image/menu/logo.jpg>');" onMouseOut="F02_3();">Lien</a>
//   Ajouter dans le fichier des style css :
//   .F02infobulle{
//     color: #6699CC;
//     position: absolute;  
//     visibility : hidden;
//     border-style: solid;
//     border-color: #99CCFF #CCCCCC #CCCCCC #99CCFF;
//     border-width: 1px 3px 3px 1px;
//     padding: 5px 5px 5px 5px; 
//     font-family: "Courier New", Courier, monospace;
//     align: center;
//     font-size: 8pt;
//     background-color: #FFFFFF;
//   }
// ******************************************************************************************************************
// Création : 17/08/2006.
// Derniére modif : 17/08/2006.
// ******************************************************************************************************************
// Décalage de l'infobulle par rapport à la souris
var Offset_Width=6
var Offset_Height=5
// La variable 'affiche' indique si le bloc est visible ou non
var affiche = false;
var w3c=document.getElementById && !document.all;
var IE=document.all;
// ???
if (IE||w3c) {var InfoBulle}
// retourne le bon corps (Quirks & strict)
function BonCorps(){return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body}
// Recalcul les coordonnées après déplacement de la souris
function deplacer(eee) {
  if(affiche){
    var SourisX = (w3c) ? eee.pageX : event.x + BonCorps().scrollLeft;
    var SourisY = (w3c) ? eee.pageY : event.y + BonCorps().scrollTop;
    var FenetreWidth = IE && !window.opera ? BonCorps().clientWidth : window.innerWidth - 20;
    var FenetreHeight = IE && !window.opera ? BonCorps().clientHeight : window.innerHeight - 20;
    var rightedge = IE && !window.opera ? FenetreWidth - event.clientX - Offset_Width : FenetreWidth - eee.clientX - Offset_Width;
    var bottomedge = IE && !window.opera ? FenetreHeight - event.clientY - Offset_Height : FenetreHeight - eee.clientY - Offset_Height;
    var leftedge = (Offset_Width < 0) ? Offset_Width*(-1) : -1000
// modifier la largeur de l'objet s'il est trop grand...
    if(InfoBulle.offsetWidth > FenetreWidth / 3){InfoBulle.style.width = FenetreWidth / 3}
// si la largeur horizontale n'est pas assez grande pour l'info bulle
    if(rightedge < InfoBulle.offsetWidth){
// bouge la position horizontale de sa largeur à gauche
      InfoBulle.style.left = SourisX - InfoBulle.offsetWidth + "px"
    } else {
      if(SourisX < leftedge){
        InfoBulle.style.left = "5px"
      } else{
// la position horizontale de la souris
        InfoBulle.style.left = SourisX + Offset_Width + "px"
      }
    }
// même chose avec la verticale
    if(bottomedge < InfoBulle.offsetHeight){
      InfoBulle.style.top = SourisY - InfoBulle.offsetHeight - Offset_Height + "px"
    } else {
      InfoBulle.style.top = SourisY + Offset_Height + "px"
    }
  }
}
function F02_2(text) {
  if (w3c||IE){
    InfoBulle = document.all ? document.all["F02_1"] : document.getElementById ? document.getElementById("F02_1") : ""
    InfoBulle.innerHTML = text;
    InfoBulle.style.visibility = "visible";
    affiche = true;
  }
}
function F02_3() {
  if (w3c||IE){
    affiche = false
    InfoBulle.style.visibility="hidden"
    InfoBulle.style.top = '-1000px'
    InfoBulle.style.backgroundColor = ''
    InfoBulle.style.width = ''
  }
}
// dés que la souris bouge, on appelle la fonction deplacer pour mettre a jour la position de la bulle.
document.onmousemove = deplacer;
// Fin de fonction.

// ******************************************************************************************************************
// Permet d'appeler une animation Flash en évitant le cadre de IE.
// ******************************************************************************************************************
// Variables :
//   F03Swf : nom fichier swf.
//   F03Clsid : clsid:xxx.
//   F03Width : width.
//   F03Height : height.
//   F03Align : alignement H.
//   F03Bgcolor : couleur du background.
// ******************************************************************************************************************
//   Appeler l'animation en passant par une ligne de script.
//   Exemple d'appel : <script type="text/javascript">F03_0("../image/bandeau_accueil.swf","clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",370,100,"left","#E2ECFF");</script>
// ******************************************************************************************************************
// Création : 17/08/2006.
// Derniére modif : 17/08/2006.
// ******************************************************************************************************************
function F03_0(F03Swf,F03Clsid,F03Width,F03Height,F03Align,F03Bgcolor) 
{ 
document.write('<object classid="'+F03Clsid+'" codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0" width="'+F03Width+'" height="'+F03Height+'" align="'+F03Align+'">\n'); 
document.write('<param name="movie" value="'+F03Swf+'">\n'); 
document.write('<param name="quality" value="high">\n'); 
document.write('<param name="bgcolor" value="'+F03Bgcolor+'">\n'); 
document.write('<embed src="'+F03Swf+'" width="'+F03Width+'" height="'+F03Height+'" align="'+F03Align+'" quality="high" bgcolor="'+F03Bgcolor+'" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">\n'); 
document.write('</embed>\n'); 
document.write('</object>\n'); 
} 
// Fin de fonction.

// ******************************************************************************************************************
// Permet d'ouvrir un diaporama dans une fenêtre popup auto-dimensionnée.
// ******************************************************************************************************************
// Variables :
//   F04Width : largeur images.
//   F04Height : hauteur images.
//   F04Lien : page html du diaporama.
//   F03Bgcolor : couleur du background.
// ******************************************************************************************************************
//   Exemple : <a href=javascript:F04_0(640,440,"diaporama.html");>
// ******************************************************************************************************************
// Création : 17/08/2006.
// Derniére modif : 17/08/2006.
// ******************************************************************************************************************
function F04_0(F04Width,F04Height,F04Lien)
  {
F04CodeHtml = '<HTML><HEAD><TITLE>F04Image</TITLE><SCRIPT LANGUAGE="JavaScript">function F04RedimFenetrePhoto(F04sh,F04sw,F04ih,F04iw){if (F04sh<F04ih+115){F04Top=0;} else {F04Top=(F04sh-F04ih-115)/2;}; if (F04sw<F04iw+12){F04Left=0;} else {F04Left=(F04sw-F04iw-12)/2;}; window.moveTo(F04Left,F04Top);}</SCRIPT></HEAD><BODY><SCRIPT LANGUAGE="JavaScript">window.resizeTo('+F04Width+'+19,'+F04Height+'+120);F04RedimFenetrePhoto(screen.height,screen.width,'+F04Height+','+F04Width+');document.location="'+F04Lien+'";</SCRIPT></BODY></HTML>';
F04Options='toolbar=0,location=0,directories=0,menuBar=0,scrollbars=0,resizable=0,width=100,height=100,left=0,top=0';
F04FenetreImage = window.open('','Visualisation_Diapo',F04Options);
F04FenetreImage.document.open();
F04FenetreImage.document.write(F04CodeHtml);
F04FenetreImage.document.focus();
F04FenetreImage.document.close();
}
// Fin de fonction.

