<!--
// ***************************************************
// *********** VARIABLES "GLOBALES" DES PAGES ********
// ***************************************************
// Message pour confirmer la fermeture de la fenetre d'inscription.
// Une fermeture provoque l'interruption du process
// et la perte des donnees saisies
var msgccel = "Abort the registration ?";

// ***************************************************
// ******** NAVIGATEURS / PARAMETRES MATERIELS *******
// ***************************************************
var brw, brwver, pltf, brwOK;

if (navigator.appName.indexOf('Netscape') != -1)
  brw="NSc";
else
  brw=(navigator.appName.indexOf('Microsoft') != -1) ? "IEx" : "Oth";
if (navigator.userAgent.indexOf('Firefox') != -1) brw="FFx";
brwver = parseInt(navigator.appVersion);
if ((brw=="IEx") && (brwver == 4)) {
  var p = navigator.appVersion.indexOf("MSIE");
  var vers = navigator.appVersion.substring(p+5);
  brwver = parseFloat(vers);
}
if (navigator.platform.indexOf("Win") != -1)
  pltf="PC";
else
  pltf=(navigator.platform.indexOf("Mac") != -1) ? "Mc" : "Ot";
brwOK = false;
if (((brw=="NSc") && (brwver>=3)) ||
    ((brw=="IEx") && (brwver>=4)) ||
    ((brw=="FFx") && (brwver>=5)))
      brwOK = true;

// ***************************************************
// *********************** ROLL OVER *****************
// ***************************************************
var suffximg = ".jpg";
var imgon = new Array();
var imgoff = new Array();

function preloadimg() {
  if (brwOK) 
    for (var i=0; i < arguments.length; i+=2) {
      imgon[arguments[i]] = new Image();
      imgon[arguments[i]].src = arguments[i+1] + 'ov' + suffximg;
      imgoff[arguments[i]] = new Image();
      imgoff[arguments[i]].src = arguments[i+1] + suffximg;
    }
}
	
function ImgOn(img) {
  var o, no = img.substr(img.length-2, 1);
  if ((brwOK) && (imgon[img])) {
    if ((brw=="IEx") || (brw=="FFx") || ((brw=="NSc") && (brwver>=5))) o = document;
    if ((brw=="NSc") && (brwver<=4)) o = document.layers['boutons_gauche'].document;
    o.images[img].src = imgon[img].src;
  }
}

function ImgOff(img) {
  var o, no = img.substr(img.length-2, 1);
  if ((brwOK) && (imgoff[img])) {
    if ((brw=="IEx") || (brw=="FFx") || ((brw=="NSc") && (brwver>=5))) o = document;
    if ((brw=="NSc") && (brwver<=4)) o = document.layers['boutons_gauche'].document;
    o.images[img].src = imgoff[img].src;
  }
}

// ***************************************************
// ********** FONCTIONS GENERIQUES POUR CALQUES ******
// ***************************************************
// Les 2 fonctions suivantes sont extraites de Macromedia Dreamweaver
// Elles sont utilisees sans modification de code
// by courtesy of Macromedia Inc.
function MM_findObj(n, d) { //v4.0
  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 && document.getElementById)
     x = document.getElementById(n);
  return x;
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true)
    with (navigator) {
       if ((appName=="Netscape") && (parseInt(appVersion)==4)) {
         document.MM_pgW=innerWidth;
         document.MM_pgH=innerHeight;
         onresize=MM_reloadPage;
       }
    }
  else
    if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH)
      location.reload();
}

// ***************************************************
// *********************** SHOW / HIDE CALQUES *******
// ***************************************************
// parametres generaux de la dynamique des menus
var nbcalq = 6;		// nombre de calques

// variables globales utilisees dans les fonctions
var bm = new Array;	// "objet" sur lequel s'appliquent les parametres de calque

MM_reloadPage(true);

function init() {
  var i,o;
  for (i=1; i<=nbcalq; i++) 
    if ((o=MM_findObj('men'+i))!=null) {
         bm[i]=(document.layers)?o:o.style;
         bm[i].visibility="hidden";
    }
    else bm[i]=null;
}

function showcalq(nomen) {
  hidecalq();
  if (bm[nomen] != null) bm[nomen].visibility="visible";
}

function hidecalq() {
  for (var i=1; i<=nbcalq; i++) {
    if (bm[i] != null) bm[i].visibility="hidden";
  }
}

// ****** fonctions conc le calque numero de membre
function showml() {
  if ((o=MM_findObj('calqml'))!=null) {
    bl=(document.layers)?o:o.style;
    bl.display = 'block';
  }
}

function hideml() {
  if ((o=MM_findObj('calqml'))!=null) {
    bl=(document.layers)?o:o.style;
    bl.display = 'none';
  }
}

// ****** fonctions conc le calque de support des boutons
// ****** a cacher pendant impression
var bs1, bs2, bs3;        // "objets" sur lesquels s'appliquent les calques des boutons
function initbutt() {
  if ((o=MM_findObj('calqbutt'))!=null) {
    bs1=(document.layers)?o:o.style;
    bs1.visibility = 'visible';
  }
  else bs1=null;
  if ((o=MM_findObj('calqbutt2'))!=null) {
    bs2=(document.layers)?o:o.style;
    bs2.visibility = 'visible';
  }
  else bs2=null;
  if ((o=MM_findObj('calqbutt3'))!=null) {
    bs3=(document.layers)?o:o.style;
    bs3.visibility = 'visible';
  }
  else bs3=null;
}

function showbutt() {
  if (bs1!=null) bs1.visibility = 'visible';
  if (bs2!=null) bs2.visibility = 'visible';
  if (bs3!=null) bs3.visibility = 'visible';
}

function hidebutt() {
  if (bs1!=null) bs1.visibility = 'hidden';
  if (bs2!=null) bs2.visibility = 'hidden';
  if (bs3!=null) bs3.visibility = 'hidden';
}

// ***************************************************
// ********** OUVERTURE FENETRE PAR-DESSUS ***********
// ***************************************************
var fen;
fen = null;

var attr;
attr = "dependent=yes,scrollbars=yes,directories=no,menubar=no,status=no,";
attr+= "toolbar=no,hotkeys=no,location=no,titlebar=no,resizable=yes,";
attr+= "width=700,height=600,";

function pop(URL) {
  attr+= "";
  fen = window.open(URL, "wdw", attr);
  fen.focus();  
}

function sizeXY(max_wdth, max_hgth, iniX, iniY) {
  if (brwOK) {
      var larg = (screen.availWidth < max_wdth + iniX) ? screen.availWidth - iniX : max_wdth;
      var haut = (screen.availHeight < max_hgth + iniY) ? screen.availHeight - iniY : max_hgth;
      window.moveTo(iniX, iniY);
      window.resizeTo(larg, haut-5);
  }
}

// ***************************************************
// ** VARIABLES GLOBALES POUR VERIF INTEGRITE SAISIE *
// ***************************************************
// expressions régulières utilisées pour vérifier contenu données saisies
// tous les signes toleres comme separateurs dans numero tel => pour filtrage
  var modNum1 = new RegExp('[\.\ \,]', 'g');
// pas de chiffres, pour tester par négation si autre chose que des chiffres
  var modNum2 = new RegExp('[^0-9]');
// seulement chiffres et lettres
  var modAlph3 = new RegExp('[^a-zA-Z0-9]');
// caractères autorisés dans adresse mail ou URL Website
// imperatif: mettre - a la fin sinon le - dans adr email pas permis!
// carac echapp \ pas indispensable malgre indications de la doc
  var regAlph1 = new RegExp('[^a-zA-Z0-9\._\-]');
  var regAlph1bis = new RegExp('[^a-zA-Z0-9\.\-]');
// caractéres alpha restreints pour tld dans domain name adresse mail
  var regAlph2 = new RegExp('[^a-zA-Z]');
// caract non autorisés dans adresse mail ou URL Website
  var regpb1 = '"';
  var regpb2 = "'";
  var regpb3 = ' ';
// caract non autorisés dans adresse mail
  var regpb4 = '/';

// ***************************************************
// ***** Fonction portee globale verif integrite *****
// ***************************************************
// supprime espaces devant et derriere chaine caracteres
// Thanks Martin Honnen, Vijay Solanki, http://faqts.com/
function trimString(str) {
  str = this != window? this : str;
  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

// ***************************************************
// ********* VERIF INTEGRITE ADRESSE MAIL ************
// ***************************************************
// vérifie l'intégrité d'une adresse mail
function verifmel(ch) {
  if (ch.indexOf(regpb1) != -1) return false;
  if (ch.indexOf(regpb2) != -1) return false;
  if (ch.indexOf(regpb3) != -1) return false;
  if (ch.indexOf(regpb4) != -1) return false;
// recherche caract @
  var pos = ch.indexOf("@");
// si existe dans la chaine => découpage en chaine avant/apres
  if (pos > 0 && pos < ch.length) {
    var part1 = ch.substr(0, pos);
    var part2 = ch.substr(pos+1);
    if (part2.indexOf("@") != -1) return false;  // si 2° occ de @ => erreur
  } else return false;                           // si pas de caract @
  if (regAlph1.test(part1)) return false;        // si autre chose que alphanum ds part1
// recherche . dans 2° partie
  pos = part2.lastIndexOf(".");
  if (pos > 0 && pos < part2.length) {
    var part21 = part2.substr(0, pos);           // avant tld
    var part22 = part2.substr(pos+1);            // tld
  } else return false;
  if (regAlph1bis.test(part21)) return false;    // si autre chose que alphanum ds av tld
  if (part21.length < 2) return false;           // si longueur av tld < 2 caract
  if (regAlph2.test(part22)) return false;       // si autre chose que alpha dans tld
  if (part22.length < 2) return false;           // si longueur tld < 2 caract
  return true;
}

// ***************************************************
// ***** Parametrage de l'autosoumission *************
// ***************************************************
// transfere des param ordonnes d'autosoumission php
// sur une insctruction javascript
// a utiliser premierement pour les listes declenchant une action
function send(f, asmfield, noasm, parmfield, valparm) {
  f.elements[asmfield].value = noasm;
  if (parmfield != "") f.elements[parmfield].value = valparm;
  f.submit();
}

// ***************************************************
// ***** Impression de la page ***********************
// ***************************************************
// les boutons sont rendus invisibles le temps de l'impression
function printPage() {
    hidebutt();
    // Do print the page
    if (typeof(window.print) != 'undefined') window.print(); 
    showbutt();
}

// ***************************************************
//-->
