<!--
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();
}
MM_reloadPage(true);
// FONCTION QUI OUVRE UN POP UP
function popup(url)
{	
	hauteur = 400;
	largeur = 600;
	var winl = (screen.width - largeur) / 2;
	var wint = ((screen.height - hauteur) / 2)-20;
	winprops = 'height='+hauteur+',width='+largeur+',top='+wint+',left='+winl+',scrollbars=yes,resizable=yes,menubar=yes';
	win = window.open(url, 'win', winprops);
	}
// ------------------------------------------------------
// FONCTIONS DE CONTROLE DES CHAMPS DE FORMULAIRE
// ------------------------------------------------------
// FONCTION QUI VERIFIE L'EMAIL
function Check_Email(champ, erremail) {
  pos_arobase = champ.value.indexOf("@" ,1);
  if (pos_arobase == -1) { // pas de @
	alert (erremail) ;
	champ.focus();
	return false;
  }
  if(champ.value.indexOf("@",pos_arobase+1) > -1) { //plusieurs @
  	alert (erremail); 
	champ.focus();
  	return false;
  }
  pos_point = champ.value.indexOf("." ,pos_arobase);
  if(pos_point == -1) {
  	alert (erremail); // pas de point
	champ.focus();
	return false;
	}
  return true;
  // ci dessous avec expressions régulières mais ne fonctionne pas sous netscape 4.78
  /*var  reg = new RegExp("^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$","g");
  if (!reg.test(champ.value)) { 
	alert (erremail);    
	champ.focus();
	return false;
  }
  return true;*/
}
// FONCTION QUI VERIFIE QU'UNE ANNEE A BIEN ETE SAISIE
function Check_Annee(champ, errannee) {
  var  reg = new RegExp("^[0-9]{4}$","g");
  if (!reg.test(champ.value)) { 
	alert (errannee);    
	champ.focus();
	return false;
  }
  return true;
}
// FONCTION QUI VERIFIE LA DATE
function Check_Date(jour, mois, annee, errannee, errdate) {
  // vérifier l'année
  if (annee.value=="0000") { 
	alert (errannee);    
	annee.focus();
	return false;
  }
  // verifier la date si date entière
  if (jour.value != "00") {
    var date_js = new Date(annee.value,(mois.value)-1,jour.value);
    var annee_js = date_js.getYear();
    if ((Math.abs(annee_js)+"").length < 4) annee_js = annee_js + 1900;
    if ((date_js.getDate() != jour.value) || (date_js.getMonth() != (mois.value)-1) || (annee_js != annee.value)) {
	  alert (errdate);    
	  jour.focus();
      return false;
	}
  }
  return true;
}
// ci dessous verif date quand un seul champ
/*function Check_Date(champ, errdate, lang) {
  var  reg = new RegExp("^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$","g");
  if (!reg.test(champ.value)) { 
	alert (errdate);    
	champ.focus();
	return false;
  }
  var date_saisie = (champ.value).split("/");
  if (lang=="en") {
	var mois = eval(date_saisie[0]);
	var jour = eval(date_saisie[1]);
  } else {
	var jour = eval(date_saisie[0]);
	var mois = eval(date_saisie[1]);
  }
  var date_js = new Date(eval(date_saisie[2]),mois-1,jour);
  var annee = date_js.getYear();
  if ((Math.abs(annee)+"").length < 4) annee = annee + 1900;
  if ((date_js.getDate() != jour) || (date_js.getMonth() != mois-1) || (annee != eval(date_saisie[2]))) {
	alert (errdate);    
	champ.focus();
  	return false;
  }
  return true;
}*/
// FONCTION QUI VERIFIE QU'UN CHAMP TEXTE N'EST PAS VIDE
function Check_Blank(champ, errchampvide)
{
if (champ) { // si la variable existe
  if (champ.value == null || champ.value == 0 || champ.value.length == 0) {
    alert (errchampvide);
	champ.focus();
    return false;
  }  
  var str = champ.value;
  vide = true;
  for (var i = 0; i < str.length ;i++){
    var ch = str.substring(i,i+1);
    if ( ch != " ") {
	  vide = false;
	  break;
	}
  }
  if (vide == true) {
	alert (errchampvide);    
	champ.focus();
	return false;
  }
  return true;
  }
  //si la variable existe pas
  return true;
}
// FONCTION QUI VERIFIE QUE LE NOMBRE LIMITE DE CHECKBOXES COCHEES N'EST PAS ATTEINT
function Check_Radio(CheckCollection,nbmax,errchamp){
	var res = 0
	for (x=0; x<CheckCollection.length; x++) {
		if (CheckCollection[x].checked == true) {
			res += 1;
			}
		}
	if (res > nbmax) {
		alert (errchamp);
		return false;
		}
	return true;
	}
// FONCTION QUI VERIFIE QUE LE NOMBRE DE CHECKBOXES COCHEES EST ENTRE LE MIN ET LE MAX PERMIS
function Check_Radio_Dom(CheckCollection,nbmin,nbmax,errchamp){
	var res = 0
	for (x=0; x<CheckCollection.length; x++) {
		if (CheckCollection[x].checked == true) {
			res += 1;
			}
		}
	if ((res > nbmax)||(res < nbmin)) {
		alert (errchamp);
		return false;
		}
	return true;
	}
// FONCTION QUI VERIFIE QUE LE NOMBRE DE CHECKBOXES COCHEES EST ENTRE LE MIN ET LE MAX PERMIS (SEULEMENT SI LA CHECKBOX EXISTE)
function Check_Radio_Dom_Isset(CheckCollection,Exist,nbmin,nbmax,errchamp){
	var res = 0
	// si le checkbox existe
	if (Exist){
		for (x=0; x<CheckCollection.length; x++) {
			if (CheckCollection[x].checked == true) {
				res += 1;
				}
			}
		if ((res > nbmax)||(res < nbmin)) {
			alert (errchamp);
			return false;
			}
		return true;
		}
	// s'il n'existe pas - on zappe
	return true;
	}

// FONCTION QUI VERIFIE QU'UN RADIO BUTTON EST COCHE
function Check_Radio_Vide(formulaire,errchamp) {
	var i = false;
	for (x=0; x<formulaire.length; x++) {
		if (formulaire[x].checked) {
			i = true;
			}			
		}
	if (i == false) { alert (errchamp); }
	return i;
}
// FONCTION QUI VERIFIE QUE PLUSIEURS CHAMPS TEXTES NE SONT PAS TOUS VIDE
function Check_Blank_Multi(errchampvidemulti, errchampblanc)
{
  vide = true;
  for (var i=2; i < Check_Blank_Multi.arguments.length; i++) {
  	if(!(Check_Blank_Multi.arguments[i].value == null || Check_Blank_Multi.arguments[i].value == 0 || Check_Blank_Multi.arguments[i].value.length == 0)) {
	  vide = false;
	}
  }
  if (vide == true) {
  	alert (errchampvidemulti);
	Check_Blank_Multi.arguments[2].focus();
    return false;
  }  
  for (var i=2; i < Check_Blank_Multi.arguments.length; i++) {
    var str = Check_Blank_Multi.arguments[i].value;
    if(str.length>0) {
      vide = true;
      for (var j = 0; j < str.length ;j++){
        var ch = str.substring(j,j+1);
        if ( ch != " ") {
          vide = false;
          break;
        }
      }
    }
    if (vide == true) {
	  alert (errchampblanc);    
	  Check_Blank_Multi.arguments[i].focus();
	  return false;
    }
  }
  return true;
}
// FONCTION QUI VERIFIE QU'UN CHAMP SELECT N'EST PAS VIDE
function Check_Blank_Select(champ, errchampvide)
{
	if(champ.selectedIndex == 0){
    	alert(errchampvide);
        return false;
        }
	return true;
}
// FONCTION QUI VERIFIE QU'UN CHAMP SELECT N'EST PAS VIDE
/*function Check_Blank_Select(champ, option, errchampvide)
{
  if (option.value == null || option.value == 0 || option.value.length == 0) {
    alert ("champ vide");
	champ.focus();
    return false;
  }  
  var str = option.value;
  vide = true;
  for (var i = 0; i < str.length ;i++){
    var ch = str.substring(i,i+1);
    if ( ch != " ") {
	  vide = false;
	  break;
	}
  }
  if (vide == true) {
	alert ("champ vide");    
	champ.focus();
	return false;
  }
  return true;
}
*/
// FONCTION QUI VERIFIE LES CHECKBOXES
/*function Check_Radio(champ, errchampvide) {
  var m=0;
  for (i=1;i<nbtotal;i++) {
  if (eval(champ+i+".checked == true")){
  m=m+1;
  }
  }
  if (m>nbchoixmax) {
    alert("trop grand nombre de choix");
	return false;
	}
  if (m<nbchoixmin) {
    alert("trop petit nombre de choix");
	return false;
	}
	alert("OK");
  return true;
}*/
// FONCTION QUI VERIFIE LES CHECKBOXES
/*function Check_Checkbox(champ, errchampvide, nbchoixmin, nbchoixmax, nbtotal) {
  var m=0;
  	alert(champ);
  for (i=1;i<nbtotal;i++) {
  if (eval(champ+i+".checked == true")){
  m=m+1;
  }
  }
  if (m>nbchoixmax) {
    alert("trop grand nombre de choix");
	return false;
	}
  if (m<nbchoixmin) {
    alert("trop petit nombre de choix");
	return false;
	}
	alert("OK");
  return true;
}*/

// FONCTION QUI VERIFIE LE MOT DE PASSE SAISI
function Check_Pwds(champ1, champ2, acces, acces_old, acces_ko, errpwds1, errpwds2, errpwds3)
{
	if (acces.checked == true && acces_old.value == acces_ko) { // le contact n'avait pas les droits d'accès et les a maintenant
		if (champ1.value.length == 0 && champ2.value.length == 0) { // et aucun de mot de passe saisi
    		alert (errpwds1); // il doit avoir un mot de passe !
			champ1.focus();
    		return false;
		}
	}
	if (champ1.value.length > 0 || champ2.value.length > 0) { // dans tous les cas si un mot de passe a été saisi
		if (champ1.value != champ2.value) { // si les 2 champs ne sont pas identiques
			champ1.value="";
			champ2.value="";
    		alert (errpwds2);	// erreur !
			champ1.focus();
    		return false;
		} else if (champ1.value.length < 6) { // si le mot de passe comporte moins de 6 caractères
			champ1.value="";
			champ2.value="";
   	 		alert (errpwds3);	// erreur !
			champ1.focus();
    		return false;
  		}
  	}
	return true;
}
// contrôle du mot de passe du resp annuaire (pas besoin de contrôler l'accès car toujours oui)
function Check_Pwds_Resp(champ1, champ2, errpwds2, errpwds3)
{
	if (champ1.value.length > 0 || champ2.value.length > 0) { // si un mot de passe a été saisi
		if (champ1.value != champ2.value) { // si les 2 champs ne sont pas identiques
			champ1.value="";
			champ2.value="";
    		alert (errpwds2);	// erreur !
			champ1.focus();
    		return false;
		} else if (champ1.value.length < 6) { // si le mot de passe comporte moins de 6 caractères
			champ1.value="";
			champ2.value="";
   	 		alert (errpwds3);	// erreur !
			champ1.focus();
    		return false;
  		}
  	}
	return true;
}
// fonction qui retourne le chemin d'un objet du document
// fonction du navigateur
function Chemin_Objet(nom_objet) {
	if(document.layers){ 
		x = eval("document.layers[0].document."+nom_objet); // pour netscape
	}
	else {
		x = eval("document."+nom_objet); // autres navigateurs
	}
	return x;
}
// fonction qui vérifie que 'valeur' est bien numérique
function Check_Numerique(valeur,err)
{
 if(isNaN(valeur.value) == true) {
	  alert(err);
	  valeur.focus();
	  return false;
	 }
 else return true;
}

// rollover sur image
/*function Img_Rollover(nom_image, src_image) {
	x = Chemin_Objet(nom_image);
	if(!x.oSrc) x.oSrc = x.src;
	x.src = src_image;
}
// rollout sur image
function Img_Rollout(nom_image) {
	x = Chemin_Objet(nom_image);
	x.src = x.oSrc;
}
// click sur image
function Img_Click(nom_image, src_image) {
	x = Chemin_Objet(nom_image);
	if(!x.oSrc) x.oSrc = x.src;
	if(!x.offSrc) x.offSrc = x.oSrc;
	x.src = src_image;
	x.oSrc = x.src;
	if (Img_Click.arguments.length > 2) {
		for (var i=2; i < Img_Click.arguments.length; i++) { // les autres images du groupe repassent en off (! elles doivent être spécifiées en arguments)
  			x = Chemin_Objet(Img_Click.arguments[i]);
			if(!x.offSrc) x.offSrc = x.src;
			x.src = x.offSrc;
			x.oSrc = x.src;
		}
	}
}
function Init_Lang_Champ (lang, nom_formulaire, champ) {
	formulaire = Chemin_Objet(nom_formulaire);
	// initialiser le contenu du champ visible en fonction de la langue de l'utilisateur : contenu du champ caché correspondant
	eval("formulaire."+champ).value = eval("formulaire."+champ+"_"+lang).value;
	// mémoriser la langue courante (cad la langue de l'utilisateur)
	eval("formulaire."+champ+"_lang_courante").value = lang;
}

function Change_Lang_Champ (lang, nom_formulaire, champ) {
	formulaire = Chemin_Objet(nom_formulaire);
	// récupérer la langue précédemment sélectionnée (dans le champ caché lang_prec)
	lang_prec = eval("formulaire."+champ+"_lang_courante").value;
	// changer la valeur du champ caché correspondant à la langue précédemment sélectionnée
	eval("formulaire."+champ+"_"+lang_prec).value = eval("formulaire."+champ).value;
	// changer le contenu du champ visible : contenu du champ caché correspondant
	eval("formulaire."+champ).value = eval("formulaire."+champ+"_"+lang).value;
	// changer la valeur du champ caché lang_prec
	eval("formulaire."+champ+"_lang_courante").value = lang;
}*/
//-->

