<!-- //hide script source from old browsers 

window.onload = submenu();
/*
Appel de la fonction "submenu()" (vide) au chargement de la page : cache tous les sous-menus dès le chargement du document.
Il aurait été plus simple de masquer ces sous-menus en définissant simplement leur CSS à "display:none". 
Alors pourquoi avoir préféré utiliser un appel javascript pour obtenir le même effet ?
L'intérêt est une question d'Accessibilité, ou plutôt d'interopérabilité : il existe une part non négligeable d'internautes pour qui Javascript est désactivé.
Pour ces utilisateurs, le menu doit rester utillisable, ce qui n'aurait pas été le cas si les sous-menus avaient été cachés par CSS, car ils le resteraient.
Dans notre cas, les menus sont effacés au chargement, mais uniquement si javascript est actif. Dans les autres cas, le menu reste navigable même si aucun comportement au survol ne sera déclenché.
*/

// adapted from: http://css.alsacreations.com/Construction-de-menus-en-CSS/Un-menu-deroulant-en-CSS-et-XHTML-vertical-et-horizontal
function submenu(id) {
  var d = document.getElementById(id);
  for (var i = 0; i<=10; i++) {
    // sans id : ferme tous les (sous)-menus
    if (document.getElementById('smenu'+i)) {
      document.getElementById('smenu'+i).style.display='none';
    }
  }
  if (d) {
    d.style.display='block';
  }
}




// slideshow 
  //Original:  D. Keith Higgs (dkh2@po.cwru.edu) -->
  //This script and many more available free online @ The JavaScript Source!! < http://javascript.internet.com>
/* the following should be define in the html page... 
  var timeDelay = 8; // change delay time in seconds
  var Pix = new Array (		   
	"assets/images/change/hp16.jpg", 
	"assets/images/change/hp01.jpg", 
	"assets/images/change/hp02.jpg", 
	"assets/images/change/hp03.jpg", 
	"assets/images/change/hp04.jpg", 
	"assets/images/change/hp05.jpg", 
	"assets/images/change/hp06.jpg", 
	"assets/images/change/hp08.jpg", 
	"assets/images/change/hp09.jpg", 
	"assets/images/change/hp10.jpg", 
	"assets/images/change/hp11.jpg", 
	"assets/images/change/hp12.jpg", 
	"assets/images/change/hp13.jpg", 
	"assets/images/change/hp14.jpg", 
	"assets/images/change/hp15.jpg", 
	);
  var howMany = Pix.length;
  timeDelay *= 1000;
  var PicCurrentNum = 0;
  var PicCurrent = new Image();
  PicCurrent.src = Pix[PicCurrentNum];
 the previous should be define in the html page... */
  function startPix() {
	setInterval("slideshow()", timeDelay);
  }
  function slideshow() {
	PicCurrentNum++;
	if (PicCurrentNum == howMany) {
	PicCurrentNum = 0;
	}
	PicCurrent.src = Pix[PicCurrentNum];
	document["ChangingPix"].src = PicCurrent.src;
  }



// image preloading, image swaping/restoring : unused now. 

function MM_preloadImages() { //v3.0
  var d=document; 
  if (d.images) { 
    if (!d.MM_p) 
      d.MM_p = new Array();
    var i, j = d.MM_p.length, a = MM_preloadImages.arguments; 
    for (i=0; i<a.length; i++)
      if (a[i].indexOf("#")!=0) { 
        d.MM_p[j] = new Image; 
        d.MM_p[j++].src = a[i];
      }
  }
}

function MM_swapImgRestore() { //v3.0
  var i, x, a=document.MM_sr; 
  for (i=0; a&&i<a.length && (x=a[i]) && x.oSrc; i++) 
    x.src = x.oSrc;
}

function MM_swapImage() { //v3.0
  var i, j=0, x, a=MM_swapImage.arguments; 
  document.MM_sr = new Array; 
  for (i=0; i<(a.length-2); i+=3)
    if ((x=MM_findObj(a[i]))!=null) {
      document.MM_sr[j++] = x; 
      if(!x.oSrc) 
        x.oSrc = x.src; 
      x.src = a[i+2];
    }
}



// some form checkings : unused too !

function MM_findObj(n, d) { //v4.01
  var p,i,x;  
  if(!d) 
    d=document; 
  if ((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
  }
  if (!(x=d[n])&&d.all) 
    x=d.all[n]; 
  for (i=0;!x&&i<d.forms.length;i++) 
    x=d.forms[i][n];
  for (i=0;!x&&d.layers&&i<d.layers.length;i++) 
    x=MM_findObj(n,d.layers[i].document);
  if (!x && d.getElementById) 
    x=d.getElementById(n); 
  return x;
}

function MM_validateForm() { //v4.0
  var i, p, q, nm, test, num, min, max, errors='', args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { 
    test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { 
      nm=val.name; 
      if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { 
          p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) 
            errors+='- '+nm+' must be an email address.\n';
        } else if (test!='R') { 
          num = parseFloat(val);
          if (isNaN(val)) 
            errors+='- '+nm+' must be a number.\n';
          if (test.indexOf('inRange') != -1) { 
            p=test.indexOf(':');
            min=test.substring(8,p); 
            max=test.substring(p+1);
            if (num<min || max<num) 
              errors+='- '+nm+' must be a no. between '+min+' and '+max+'.\n';
          } 
        } 
      } else if (test.charAt(0) == 'R') 
      errors = '- one or more required fields are missing.\n'; 
    }
  } 
  if (errors) 
  alert('Attention!\n'+errors);
  document.MM_returnValue = (errors == '');
}



// end of script -->

