   function getClientSize() {
     var myWidth = 0, myHeight = 0;
     if( typeof( window.innerWidth ) == 'number' ) {
       //Non-IE
       myWidth = window.innerWidth;
       myHeight = window.innerHeight;
     } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
       //IE 6+ in 'standards compliant mode'
       myWidth = document.documentElement.clientWidth;
       myHeight = document.documentElement.clientHeight;
     } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
       //IE 4 compatible
       myWidth = document.body.clientWidth;
       myHeight = document.body.clientHeight;
     }
     return [ myWidth, myHeight ];
   }

   function getScrollXY() {
     var scrOfX = 0, scrOfY = 0;
     if( typeof( window.pageYOffset ) == 'number' ) {
       //Netscape compliant
       scrOfY = window.pageYOffset;
       scrOfX = window.pageXOffset;
     } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
       //DOM compliant
       scrOfY = document.body.scrollTop;
       scrOfX = document.body.scrollLeft;
     } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
       //IE6 standards compliant mode
       scrOfY = document.documentElement.scrollTop;
       scrOfX = document.documentElement.scrollLeft;
     }
     return [ scrOfX, scrOfY ];
   }


   var IEfader = (navigator.appName == "Microsoft Internet Explorer");

   var fadings = new Array();

   function fade_in(id,op,max) {
     if (!fadings[id] || fadings[id] == "") fadings[id] = "in";
     if (fadings[id] == "in") {
      if (element = document.getElementById(id)) {
          if (op==0) element.style.visibility = "visible";
          if (op>max) op=max;
          if (IEfader)
            element.style.filter = "alpha(opacity="+op+")";
          else {
            element.style.opacity = (op / 100);
            element.style.MozOpacity = (op / 100);
          }
          if (op < max) setTimeout('fade_in("'+id+'",'+(op+15)+','+max+');',75);
          else fadings[id] = "";
      }
     }
     else { //sinon attendre...
        setTimeout('fade_in("'+id+'",'+op+','+max+');',75);
     }
    }

    function fade_out(id,op,min) {
      if (!fadings[id] || fadings[id] == "") fadings[id] = "out";
      if (fadings[id] == "out") {
       if (element = document.getElementById(id)) {
          if (op < min) op=min;
          if (IEfader)
            element.style.filter = "alpha(opacity="+op+")";
          else {
            element.style.opacity = (op / 100);
            element.style.MozOpacity = (op / 100);
          }

          if (op==0) element.style.visibility = "hidden";

          if (op>min) setTimeout('fade_out("'+id+'",'+(op-15)+','+min+');',75);
          else fadings[id] = "";
       }
       else { //sinon attendre...
         setTimeout('fade_out("'+id+'",'+op+','+min+');',75);
      }
     }
   }


   /* ------------------  Fonctions de fenêtres "génériques"..  ------ */
    function Ouvrir(id) {
      if (!IEfader)
        fade_in(id,0,100);
      document.getElementById(id).style.display = "block";
    }

    function Fermer(id) {
      if (!IEfader)
        fade_out(id,70,0);
      else document.getElementById(id).style.display = "none";
    }


/* ------------------  Fonction de base pour capture / drag de la souris..  ------ */

   var nowX = 0;
   var nowY = 0;
   var curr_z = 200;

   var sourisX1 = 0;
   var sourisY1 = 0;
   var objX1 = 0;
   var objY1 = 0;
   var initialise = false;

   function getMouseXY(e) {
      var posX = 0;
      var posY = 0;
      var e = (!e) ? window.event : e;
      if (e.pageX || e.pageY) {
         posX = e.pageX;
         posY = e.pageY;
      }
      else if (e.clientX || e.clientY) {
         if (document.body.scrollLeft || document.body.scrollTop) {
            posX = e.clientX + document.body.scrollLeft;
            posY = e.clientY + document.body.scrollTop;
         }
         else {
            posX = e.clientX + document.documentElement.scrollLeft;
            posY = e.clientY + document.documentElement.scrollTop;
         }
      }
      nowX = posX;
      nowY = posY;
   }

   /* onmousemove appelle toujours getMouseXY, */
   /* pour s'assurer que lorsqu'on commence un drag, on a une valeur de nowX et nowY valide */
   document.onmouseup = function() {
       document.onmousemove = function(e) { getMouseXY(e); }
   }
   document.onmousemove = function(e) { getMouseXY(e); }

    function drag(id) {
       obj = document.getElementById(id);
       obj.style.zIndex = curr_z++;
       /* initialise les positions relatives au début du drag */
       sourisX1 = nowX;
       sourisY1 = nowY;
       objX1 = obj.offsetLeft;
       objY1 = obj.offsetTop;
       /* redéfinis la fonction temporairement (jusqu'à "onmouseup") */
       document.onmousemove = function(e) {
           getMouseXY(e);
           newX = (objX1-sourisX1+nowX);
           newY = (objY1-sourisY1+nowY);
           obj.style.left = newX+"px";
           obj.style.top = newY+"px";
       }
   }


   /* ------------------  Fin des fonctions de capture de la souris..  ------ */


/* ---------------------------------------------------------------
 *
 *          Fonctions ALBUM PHOTOS
 *
 * -------------------------------------------------------------*/

var album_page_active = "";
var album_photo_active = "";
var album_page_back_admin = "";
var album_photo_back_admin = "";

function AfficheAlbumThumbs(idalbum) {
   if ( document.getElementById('album_pres_thumbs')) {
     window.scroll(0,0);
     document.getElementById('album_pres_thumbs_titre').innerHTML = document.getElementById('album_titre_page_'+idalbum).innerHTML;

     //if (album_page_active != idalbum) {
       // patch pour historique, pas grave puisque bouton non clicable lorsque sélectionné !
        if (album_page_active != "" && document.getElementById('album_thumbs_page_'+album_page_active))
            document.getElementById('album_thumbs_page_'+album_page_active).style.display = "none";
        album_page_active = idalbum;

        if (document.getElementById('album_thumbs_page_'+idalbum)) Ouvrir('album_thumbs_page_'+idalbum);
     //}

   }
}
function AfficheAlbumPhoto(idphoto) {
   AjusteFiltre();
   fade_in("overlay_filtre",0,55);
   document.getElementById('overlay_filtre').style.display = 'block';
/*
   if (document.getElementById('album_pres_conteneur').style.display != "block"
       || document.getElementById('album_pres_conteneur').style.visibility == "hidden" )
      Ouvrir('album_pres_conteneur');
*/
   document.getElementById('album_pres_conteneur').style.display = "block";   
   document.getElementById('album_pres_conteneur').style.top = (getScrollXY()[1]+15)+"px";
   document.getElementById('album_pres_conteneur').style.left = (getScrollXY()[0]+15)+"px";

   if ( document.getElementById('album_pres_photo') && document.getElementById('album_photo_src_'+idphoto)) {
     if (album_photo_active != idphoto) {
       /*document.getElementById('album_pres_photo').style.visibility = "hidden";*/
       fade_out('album_pres_photo',10,0);
       album_photo_active = idphoto;

       document.getElementById('album_pres_titre').innerHTML = document.getElementById('album_photo_titre_'+idphoto).innerHTML;
       document.getElementById('album_pres_photo').innerHTML = '<img src="'+document.getElementById('album_photo_src_'+idphoto).innerHTML+'" onmousedown="return false;" ondrag="return false;" />';

       setTimeout("fade_in('album_pres_photo',0,100);",200); // puisque juste l'image, IE AUSSI, donc fade_in sans "ouvrir" ! :)

       document.getElementById('album_pres_contenu').innerHTML = document.getElementById('album_photo_contenu_'+idphoto).innerHTML;
     }
   }

}
function FermeAlbumPhoto() {
   document.getElementById('album_pres_conteneur').style.display = 'none';
   document.getElementById('overlay_filtre').style.display = 'none';

   /*fade_out("overlay_filtre",70,0);*/

   if (document.getElementById('div_modifier_album_photo') && document.getElementById('div_modifier_album_photo').style.display=="block") {
      Annuler('div_modifier_album_photo');
   }
}
/*
function AjusteOmbres() {
 document.getElementById('img_ombre_verticale').style.height = (document.getElementById('album_pres_conteneur').scrollHeight+6)+"px";
 document.getElementById('img_ombre_horizontale').style.width = (document.getElementById('album_pres_conteneur').scrollWidth+6)+"px";

}
*/
   /* ------------------  Fin des fonctions de l'album photo..  ------ */



/* ---------------------------------------------------------------
 *
 *          Fonctions du MENU DÉROULANT
 *
 * -------------------------------------------------------------*/

var sm_actif = "aucun";
var sm_ancien = "aucun";

var pompe = 1;              // menu déroulants: contourne des petits problèmes (diff. IE vs FIREFOX)..

var hauteurs = Array();

function Enlever(Sousmenu) {
  if (sm_actif != Sousmenu) {
     document.getElementById(Sousmenu).style.visibility="hidden";
  }
}
function Apparait(Sousmenu) {
  if (Sousmenu != sm_actif) {
    sm_actif = Sousmenu;
    
    for (i = 1; i <= nombre_items_menu; i++) {if (("sm_"+i) != sm_actif) Enlever("sm_"+i);}  
    
    if (Sousmenu != "aucun") {

      /* mettre en commentaire pour enlever l'effet déroulant : */
        if (!hauteurs[Sousmenu])
           hauteurs[Sousmenu] = document.getElementById(Sousmenu).scrollHeight;
        maxy = hauteurs[Sousmenu];
        pompe = 15;
        document.getElementById(Sousmenu).style.height = pompe+"px";

        // les vitesse sont différentes selon les navigateurs
        // premier chiffre : milisecondes entre les rafraichissements
        // deuxième chiffre : nombre de pixel qu'on agrandit à chaque rafraichissements
    	if (IEfader) {
    	    Deroule(Sousmenu,40,30,maxy-2);
      }
      else {
          Deroule(Sousmenu,40,25,maxy);
          fade_in(Sousmenu,50,100);
      }
      /* fin */

        document.getElementById(Sousmenu).style.visibility="visible";
    }
  }
}
function Deroule(Sousmenu,ms,dy,maxy) {
    Numero = Sousmenu;
    milisec = ms;
    deltay = dy;
    max = maxy;
    if (Sousmenu == sm_actif) {
        if ((pompe + dy) >= maxy)
            document.getElementById(Sousmenu).style.height = maxy+"px";
        else {
            pompe = pompe+dy;
            document.getElementById(Sousmenu).style.height = pompe+"px";
            setTimeout("Deroule(Numero,milisec,deltay,max)",milisec);
        }
    }
}
function Disparait(Sousmenu) {
	sm_actif = "aucun";
   Numero = Sousmenu;
   if (IEfader) {setTimeout("Enlever(Numero)",1200);}
		else {setTimeout("Enlever(Numero)",900);}

}

function OverMenu(Sousmenu)	{
    sm_actif = Sousmenu;
}

function OutMenu(Sousmenu) {
	sm_actif = "aucun";
	Numero = Sousmenu;
	if (IEfader) {setTimeout("Enlever(Numero);",1200);}
		else {setTimeout("Enlever(Numero);",900);}

}


var bouton_actif = "aucun";
var bt = new Array();
bt[1] = 'images/Bouton_graphisme';
bt[2] = 'images/Bouton_illustrations';
bt[3] = 'images/Bouton_sites';

function InitBoutons() { /* ré-initialise tous les boutons. */


   var b1 = document.getElementById("bouton_Graphisme");
   
   if (b1.src.indexOf(bt[1]+".gif") == -1 && bouton_actif != 1)
      b1.src = bt[1]+".gif";
   b1.onclick = function () {SelectBouton(b1,1);}
   b1.onmouseover = function () {b1.src = bt[1]+"_over.gif";}
   b1.onmouseout = function () {b1.src = bt[1]+".gif";}

   var b2 = document.getElementById("bouton_Illustration");
   if (b2.src.indexOf(bt[2]+".gif") == -1 && bouton_actif != 2)
      b2.src = bt[2]+".gif";
   b2.onclick = function () {SelectBouton(b2,2);}
   b2.onmouseover = function () {b2.src = bt[2]+"_over.gif";}
   b2.onmouseout = function () {b2.src = bt[2]+".gif";}

   var b3 = document.getElementById("bouton_Web");
   if (b3.src.indexOf(bt[3]+".gif") == -1 && bouton_actif != 3)
      b3.src = bt[3]+".gif";
   b3.onclick = function () {SelectBouton(b3,3);}
   b3.onmouseover = function () {b3.src = bt[3]+"_over.gif";}
   b3.onmouseout = function () {b3.src = bt[3]+".gif";}


}

function SelectBouton(b,num) {
   if (!est_admin || CheckEdition()) {
      document.title = liste_titres_site['portfolio'][num];
      edition_active = false;
      bouton_actif = num;
      album_page_back_admin = num;
      InitBoutons();

      b.onclick = function () {}
      b.onmouseover = function () {}
      b.onmouseout = function () {}

      if (b.src.indexOf(bt[num]+"_select.gif") == -1)
         b.src = bt[num]+"_select.gif";

      if (document.getElementById('album_premiere_page')) {
         AfficheAlbumThumbs(num);         
      }
      else {         
         getContenu('portfolio',num);
      }
   }
}

function AjusteFiltre() {
   if (filtre = document.getElementById("overlay_filtre")) {
      cl = getClientSize();
      sc = getScrollXY();

      filtre.style.width = (cl[0])+ "px";
      filtre.style.height = (cl[1])+ "px";
      filtre.style.left = (sc[0])+'px';
      filtre.style.top = (sc[1])+'px';

   }
}
window.onresize = function() {
   AjusteFiltre();
}
window.onscroll = function() {
   AjusteFiltre();
}


var proverbe = -1;
var liste_proverbes = new Array();
liste_proverbes[0] = new Array("Demeurer immobile à écouter... C'est la tranquilité de l'axe au centre de la roue.","Charles Morgan");
liste_proverbes[1] = new Array("Ce qui te manque, cherches-le dans ce que tu as.","Koan zen");
liste_proverbes[2] = new Array("La créativité ne s'exerce pas seulement dans les arts! Elle permet aussi de trouver des solutions variées et originales à toutes sortes de problèmes courants.","");
liste_proverbes[3] = new Array("L'homme ordinaire possède la conscience de l'enfant et le regard de l'adulte. Le sage intègre la conscience de l'adulte avec le regard de l'enfant.","");
liste_proverbes[4] = new Array("Rien ne sert de tirer un brin d'herbe pour le faire pousser.","");
liste_proverbes[5] = new Array("Une relation réussie ne se construit pas seulement avec des donneurs et des preneurs, mais avec des gens qui savent partager.","");
liste_proverbes[6] = new Array("Les entreprises qui réussissent sont celles qui ont une âme.","Jean-Louis Brault");
liste_proverbes[7] = new Array("Sans langage commun les affaires ne peuvent être conclues.","Confucius");
liste_proverbes[8] = new Array("Le mensonge donne des fleurs mais pas de fruits","Proverbe africain");
liste_proverbes[9] = new Array("L'idéal est pour nous ce qu'est une étoile pour le marin. Il ne peut être atteint mais il demeure un guide.","Albert Scheitzer");
liste_proverbes[10] = new Array("Plus les sentiments sont distants, plus les politesses sont nombreuses.","Proverbe chinois");
liste_proverbes[11] = new Array("Trop de colle ne colle plus, trop de sucre n'adoucit plus...","Proverbe chinois");
liste_proverbes[12] = new Array("On peut bien prier une sardine, ce n'est qu'une question de foi.","Proverbe japonais");
liste_proverbes[13] = new Array("Qui s'instruit sans agir laboure sans semer.","Proverbe arabe");
liste_proverbes[14] = new Array("Ce n'est pas la richesse qui fait l'homme, mais l'homme qui fait la richesse.","Proverbe tibétain");
liste_proverbes[15] = new Array("Pour qu'un enfant grandisse, il lui faut tout un village.","Proverbe africain");


function AfficheProverbes() {
   if (proverbe == -1) {
     proverbe = Math.floor(Math.random()*liste_proverbes.length);
   }
   auteur = "";
   if (liste_proverbes[proverbe][1] != "")
     auteur = '<br /><span class="proverbes_auteur">- '+liste_proverbes[proverbe][1]+'</span>';
   document.getElementById('proverbes').innerHTML = '<p>«&nbsp;'+liste_proverbes[proverbe][0]+'&nbsp;»'+auteur+'</p>';
}





/* *******************************************************
 *    Fonctions pour AJAX
 *
 * ******************************************************* */

var ajaxContenu = new Ajax();

var showContenu = function(str) {
  document.getElementById("contenu_pages").innerHTML = str;
  if (!IEfader) {
      fadings['contenu_pages'] = "in"; // stop explicitement le fade-out ! :)
      fade_in('contenu_pages',40,100);
  }
   fadings['sablier'] = "out";
   fade_out('sablier',60,0);

  if (document.getElementById('proverbes')) {
      AfficheProverbes();
  }
  if (document.getElementById('grille_cal_ev')) {
     GetCalEv(0);
  }
  if (document.getElementById('album_premiere_page')) {
    if (album_page_back_admin == "") {
      //AfficheAlbumThumbs(document.getElementById('album_premiere_page').innerHTML);
      //AfficheAlbumPhoto(document.getElementById('album_premiere_photo').innerHTML);
         num = document.getElementById('album_premiere_page').innerHTML;
         if (num == 1)
            SelectBouton(document.getElementById("bouton_Graphisme"),1);
         if (num == 2)
            SelectBouton(document.getElementById("bouton_Illustration"),2);
         if (num == 3)
            SelectBouton(document.getElementById("bouton_Web"),3);

    }
    else {
      //AfficheAlbumThumbs(album_page_back_admin);
         num = album_page_back_admin;
         if (num == 1)
            SelectBouton(document.getElementById("bouton_Graphisme"),1);
         if (num == 2)
            SelectBouton(document.getElementById("bouton_Illustration"),2);
         if (num == 3)
            SelectBouton(document.getElementById("bouton_Web"),3);


      if (album_photo_back_admin != "")
         AfficheAlbumPhoto(album_photo_back_admin);
      album_page_back_admin = "";
      album_photo_back_admin = "";
    }
  }
  else {
    bouton_actif = "aucun";
    InitBoutons();
  }

  edition_active = false;
}


function getContenuPatch(s,p) { /* Patch pour l'historique (retour du iframe..) */
   document.title = liste_titres_site[s][p];
   window.scroll(0,0);
   section_active = s;
   page_active = p;
   cal_ev_aujourdhui = true;

   document.getElementById('image_sections').src="images/Titre_"+s+".gif";
   album_page_active = "";
   album_photo_active = "";
   ajaxContenu.doGet('sections_contenu.php?s='+s+'&p='+p, showContenu);
   if (!IEfader) {
      fade_out("contenu_pages",90,20);
   }
}
function getContenu(s,p) {
  if (est_admin || (section_active != s || page_active != p)) {
   if (!est_admin) {
      page = "";
      if (p > 0) page = '?p='+p;
      pageTracker._trackPageview(s+'.php'+page);
   }
   document.getElementById('iframe_historique').src='patch_historique.php?s='+s+'&p='+p;

   fade_in("sablier",0,80);
  
  }

}

function ChangeOnglet(id) {
   if (document.getElementById('onglet_actif')) {
      ferme = document.getElementById('onglet_actif').innerHTML;
      document.getElementById('onglet_actif').innerHTML = id;
      if (ferme != id) {

         document.getElementById('onglet_'+ferme).style.display = "none";
         document.getElementById('menu_onglet_'+ferme).className = "";
         document.getElementById('menu_onglet_'+id).className = "onglet_selection";
         Ouvrir('onglet_'+id);
      }
   }
}