//variables gloables
var noChecked=new Image(11,8), isChecked=new Image(11,10);
noChecked.src="../images/ko_status.gif";
isChecked.src="../images/ok_status.gif";
var imgOn=new Image(13,10), imgOff=new Image(13,10), imgWite=new Image(13,10);
imgOn.src="../images/imgOn.gif";
imgOff.src="../images/imgOff.gif";
imgWite.src="../images/imgWite.gif";

//DÉTECTER NAVIGATEUR
var IE6 = false, IE7 = false,
FIREFOX2 = false, FIREFOX = false,
NETSCAPE7 = false, NETSCAPE = false,
OPERA9 = false, OPERA = false,
AUTRE = false;
var strChUserAgent = navigator.userAgent;
var intSplitStart = strChUserAgent.indexOf("(",0);
var intSplitEnd = strChUserAgent.indexOf(")",0);
var strChStart = strChUserAgent.substring(0,intSplitStart);
var strChMid = strChUserAgent.substring(intSplitStart, intSplitEnd);
var strChEnd = strChUserAgent.substring(strChEnd);
if(strChMid.indexOf("MSIE 7") != -1)
IE7 = true;
else if(strChMid.indexOf("MSIE 6") != -1)
IE6 = true;
else if(strChEnd.indexOf("Firefox/2") != -1)
FIREFOX2 = true;
else if(strChEnd.indexOf("Firefox") != -1)
FIREFOX = true;
else if(strChEnd.indexOf("Netscape/7") != -1)
NETSCAPE7 = true;
else if(strChEnd.indexOf("Netscape") != -1)
NETSCAPE = true;
else if(strChStart.indexOf("Opera/9") != -1)
OPERA9 = true;
else if(strChStart.indexOf("Opera") != -1)
OPERA = true;
else
AUTRE = true;


//
function frapper(code, nav) {
	//alert("vous avez frappé la touche : "+code);
	if (code==8) {
		/*
		n=document.forms[0].elements.length;
		n--;
		myInput=document.forms[0].elements[n].focus();
		document.forms[0].elements[n].select();
		*/
		return true;
	}
}
if (navigator.appName=="Microsoft Internet Explorer") {

	function toucheA() {frapper(event.keyCode, "I")};
	document.onkeydown = toucheA;

}
else {

	function toucheB(evnt) {frapper(evnt.keyCode, "N")};
	document.onkeydown = toucheB;
}

function Rollover_checkbox(formulaire, check, cpt, n) {
	variable=eval('document.' + formulaire + '.' + check);
	//
	for (x=0; x < cpt; x++) {
		if (x!=n) {
			variable.item(x).checked=false;
		}
	}
}

function OnOff_checkfields(formulaire, check, cpt, n, fieldsOn, fieldsOff) {
	tabChampsOn=fieldsOn.split('|'); tabChampsOff=fieldsOff.split('|');
	variable=eval('document.' + formulaire + '.' + check);

	for (x=0; x < cpt; x++) {
		if (x!=n) {
			variable.item(x).checked=false;
		}
	}

	//Initialisation : disable all
	for (x=0; x < tabChampsOff.length; x++) {
		nom_image="img_"+tabChampsOff[x];
		document[nom_image].src=eval("imgWite.src");
		transit=eval('document.' + formulaire + '.' + tabChampsOff[x]);
		(transit.type=="text") ? transit.value="": transit.value=0;
		transit.disabled=true;
	}
	for (x=0; x < tabChampsOn.length; x++) {
		nom_image="img_"+tabChampsOn[x];
		document[nom_image].src=eval("imgWite.src");
		transit=eval('document.' + formulaire + '.' + tabChampsOn[x]);
		(transit.type=="text") ? transit.value="": transit.value=0;
		transit.disabled=true;
	}

	if (variable.item(0).checked==true) {
		for (x=0; x < tabChampsOn.length; x++) {
			nom_image="img_"+tabChampsOn[x];
			document[nom_image].src=eval("imgOff.src");
			transit=eval('document.' + formulaire + '.' + tabChampsOn[x]);
			transit.disabled=false;
		}
	}
	if (variable.item(1).checked==true) {
		for (x=0; x < tabChampsOff.length; x++) {
			nom_image="img_"+tabChampsOff[x];
			document[nom_image].src=eval("imgOff.src");
			transit=eval('document.' + formulaire + '.' + tabChampsOff[x]);
			transit.disabled=false;
		}
	}
}

function OnOff_paysVille(formulaire, check, cpt, n, fieldsOn, fieldsOff) {
	tabChampsOn=fieldsOn.split('|'); tabChampsOff=fieldsOff.split('|');
	variable=eval('document.' + formulaire + '.' + check);

	for (x=0; x < cpt; x++) {
		if (x!=n) {
			variable.item(x).checked=false;
		}
	}

	//Initialisation : disable all
	for (x=0; x < tabChampsOff.length; x++) {
		transit=eval('document.' + formulaire + '.' + tabChampsOff[x]);
		(transit.type=="text") ? transit.value="": transit.value=0;
		transit.disabled=true;
	}
	for (x=0; x < tabChampsOn.length; x++) {
		transit=eval('document.' + formulaire + '.' + tabChampsOn[x]);
		(transit.type=="text") ? transit.value="": transit.value=0;
		transit.disabled=true;
	}

	if (variable.item(0).checked==true) {
		for (x=0; x < tabChampsOn.length; x++) {
			transit=eval('document.' + formulaire + '.' + tabChampsOn[x]);
			transit.disabled=false;
		}
	}
	if (variable.item(1).checked==true) {
		for (x=0; x < tabChampsOff.length; x++) {
			transit=eval('document.' + formulaire + '.' + tabChampsOff[x]);
			transit.disabled=false;
		}
	}
	//return false;
}
function OnOff_checkService(formulaire, check, cpt, n, fieldsOn, fieldsOff) {
	tabChampsOn=fieldsOn.split('|'); tabChampsOff=fieldsOff.split('|');
	variable=eval('document.' + formulaire + '.' + check);

	for (x=0; x < cpt; x++) {
		if (x!=n) {
			variable.item(x).checked=false;
		}
	}

	//Initialisation : disable all
	transit=eval('document.' + formulaire + '.' + tabChampsOff[0] + '.options[0].text=""');
	transit=eval('document.' + formulaire + '.' + tabChampsOff[0] + '.options[0]');
	transit.text="";
	transit=eval('document.' + formulaire + '.' + tabChampsOff[1]);
	transit.value="";

	transit=eval('document.' + formulaire + '.' + tabChampsOn[0] + '.options[0].text=""');
	transit=eval('document.' + formulaire + '.' + tabChampsOn[0] + '.options[0]');
	transit.text="";
	transit=eval('document.' + formulaire + '.' + tabChampsOn[1]);
	transit.value="";

	for (x=0; x < tabChampsOff.length; x++) {
		transit=eval('document.' + formulaire + '.' + tabChampsOff[x]);
		transit.disabled=true;
	}
	for (x=0; x < tabChampsOn.length; x++) {
		transit=eval('document.' + formulaire + '.' + tabChampsOn[x]);
		transit.disabled=true;
	}
	//
	if (variable.item(0).checked==true) {
		for (x=0; x < tabChampsOn.length; x++) {
			transit=eval('document.' + formulaire + '.' + tabChampsOn[x]);
			transit.disabled=false;
		}
	}
	if (variable.item(1).checked==true) {
		for (x=0; x < tabChampsOff.length; x++) {
			transit=eval('document.' + formulaire + '.' + tabChampsOff[x]);
			transit.disabled=false;
		}
	}
}
function set_field(formulaire, champ, cible, cibleID) {

	variable=eval('document.' + formulaire + '.' + champ + '.options[' + formulaire + '.' + champ + '.selectedIndex].value');
	var_cible=eval('document.' + formulaire + '.' + cible);
	var_cibleID=eval('document.' + formulaire + '.' + cibleID);
	var_txt=eval('document.' + formulaire + '.' + champ + '.options[' + formulaire + '.' + champ + '.selectedIndex].text');
	varID=eval('document.' + formulaire + '.' + champ + '.options[' + formulaire + '.' + champ + '.selectedIndex].value');
	//alert(var_txt);
	if (variable > 0) {
		var_cible.value = var_txt;
		var_cibleID.value=varID;
	}
	else {
		var_cible.value = "";
		var_cibleID.value=0;
	}
}

//charger un text input selon la valeur séléctionner dans un select : ici le cas d'un rang MAX selon la rubrique
function set_max_rang(formulaire, rubrique, cible) {
	var_rubrique=eval('document.' + formulaire + '.' + rubrique + '.options[' + formulaire + '.' + rubrique + '.selectedIndex].value');
	var_cible=eval('document.' + formulaire + '.' + cible);
	//alert(var_rubrique);
	if (var_rubrique != 0) {
		tab = var_rubrique.split('|');
		ind=tab[1];
		var_cible.value=parseInt(ind) + 1;
	}
	else {
		var_cible.value="";
		var_menu.value=0;
	}
}

//function qui charge un textarea par des éléments sélectionnés dans un pick list
function move_pick_list(formulaire, champ, cible_name, cible_id) {

	var_name=eval('document.' + formulaire + '.' + cible_name);

	var_id=eval('document.' + formulaire + '.' + cible_id);
	var_txt=eval('document.' + formulaire + '.' + champ + '.options[document.' + formulaire + '.' + champ + '.selectedIndex].text');

	variable=eval('document.' + formulaire + '.' + champ + '.options[document.' + formulaire + '.' + champ + '.selectedIndex].value');

	if (variable > 0) {
		var_existe=var_name.value.indexOf(var_txt);

		if (var_existe > -1) {
			alert("Elément déjà sélectionné");
		}
		else {
			if (var_name.value == "") {
				var_name.value = var_txt;
			}
			else {
				var_name.value = var_name.value + ", " + var_txt;
			}

			var_id.value = var_id.value + "|" + variable;
		}

		transit=var_name.value;
		//var_name.value = transit.substring(0, transit.length-2);

	}
}

//Passer le focus à un champ selon la valeur choisi dans le combobox
function set_focus(formulaire, champ, cible, criteria) {
	variable=eval('document.' + formulaire + '.' + champ + '.options[' + formulaire + '.' + champ + '.selectedIndex].text');	
	varCible=eval('document.' + formulaire + '.' + cible);
	if (variable.toUpperCase() == criteria.toUpperCase()) {
		varCible.disabled=false;
		varCible.focus();
	}
	else {
		varCible.value="";
		varCible.disabled=true;
	}
}

//Activer les champs si un bouton radio est ON
function set_enabled(formulaire, champ, cibles) {
	variable=eval('document.' + formulaire + '.' + champ);
	tabChamps=cibles.split('|');
	
	if (variable.checked==true) {
		for (x=0; x < tabChamps.length; x++) {
			transit=eval('document.' + formulaire + '.' + tabChamps[x]);
			transit.disabled=false;
		}	
	}
	else {
		for (x=0; x < tabChamps.length; x++) {
			transit=eval('document.' + formulaire + '.' + tabChamps[x]);
			transit.value="";
			transit.disabled=true;
		}	
	}
}

//Activer les champs si un bouton CHECKBOX est ON sans reset valeurs
function onOff_enabled(formulaire, champ, cibles) {
	variable=eval('document.' + formulaire + '.' + champ);
	tabChamps=cibles.split('|');
	
	if (variable.checked==true) {
		for (x=0; x < tabChamps.length; x++) {
			transit=eval('document.' + formulaire + '.' + tabChamps[x]);
			transit.disabled=false;
		}	
	}
	else {
		for (x=0; x < tabChamps.length; x++) {
			transit=eval('document.' + formulaire + '.' + tabChamps[x]);
			//transit.value="";
			transit.disabled=true;
		}	
	}
}
//Alerte quand un champ reçoit le focus et ne pas rempli
function alerte_if_inputVide(formulaire, ch_text, alerte) {
	variable=eval('document.' + formulaire + '.' + ch_text);
	if (variable.value == "") {
		alert(alerte);
	}
}
//function qui charge un textarea par des éléments sélectionnés dans un pick list
function move_filesToArea(formulaire, champ, cible_name, a_files) {

	variable=eval('document.' + formulaire + '.' + champ);
	var_name=eval('document.' + formulaire + '.' + cible_name);
	tab_files=eval('document.' + formulaire + '.' + a_files);

	if (variable.value != "") {
		var_existe=var_name.value.indexOf(variable.value);

		if (var_existe > -1) {
			alert("Elément déjà sélectionné");
		}
		else {
			if (var_name.value.length < 2) {
				tab_files.value=tab_files.value + "|" + variable.value;
				var_name.value = variable.value;
			}
			else {
				tab_files.value=tab_files.value + "|" + variable.value;
				var_name.value = var_name.value + "\n" + variable.value;
			}

		}
		variable.value="";
	}
}

function reset_fields(formulaire, champs) {
	tabChamps=champs.split('|');

	for (x=0; x < tabChamps.length; x++) {
		transit=eval('document.' + formulaire + '.' + tabChamps[x]);
		transit.value="";
	}
}
// *** Saisir une valeur selon la clé choisie dane un Select et écrire dans un textarea ***
function setNewValue(formulaire, champ, cible_name, cible_id) {
	variable=eval('document.' + formulaire + '.' + champ + '.options[' + formulaire + '.' + champ + '.selectedIndex].value');
	var_name=eval('document.' + formulaire + '.' + cible_name);
	var_id=eval('document.' + formulaire + '.' + cible_id);
	var_txt=eval('document.' + formulaire + '.' + champ + '.options[' + formulaire + '.' + champ + '.selectedIndex].text');
	//	alert(ind);
	if (variable > 0) {
		var_existe=var_name.value.indexOf(var_txt);
		if (var_existe > -1) {
			alert("Elément déjà sélectionné");
		}
		else {
			newVal = prompt(msgNew+" : ", "");
			if (newVal.length > 0) {
		 		nouvel_element = new Option(newVal, ind);
				 majNewVal=nouvel_element.text.toUpperCase();
				 minNewVal=nouvel_element.text;
				 //vérifier if item existe déjà dans la liste
				for (x=0; x < ind; x++) {
					transit=eval('document.' + formulaire + '.' + champ + '.options[' + x + '].text');
					//alert(transit);
					if (transit.toUpperCase()==majNewVal.toUpperCase()) ex++;
				}
				//
				nom_image="img_"+champ;
				if (ex==0) {
					variable.value=minNewVal;
					sel.options[ind]=nouvel_element;
					//sel.value=ind+1;
					document[nom_image].src=eval("imgOn.src")
				}
				else {
					document[nom_image].src=eval("imgOff.src")
					alert(msgExist);
				}
				//UniversitatInespital Bern
				for (x=0;  x < (ind+1); x++) {
					transit=eval('document.' + formulaire + '.' + champ + '.options[' + x + '].text');
					if (transit.toUpperCase()==majNewVal.toUpperCase()) {
						sel.options[ind].selected=true;
					}
				}
			}
		}
	}
}
function reset_list(formulaire, cible, sel, sel_hidden) {
	var_cible=eval('document.' + formulaire + '.' + cible);
	var_sel=eval('document.' + formulaire + '.' + sel);
	var_hidden=eval('document.' + formulaire + '.' + sel_hidden);
	var_sel.value=0;
	var_hidden.value="";
	var_cible.value="";
}

function reset_file(formulaire, cible) {
	var_cible=eval('document.' + formulaire + '.' + cible);
	var_cible.value="";
}
function onOff_line(formulaire, txt_1, txt_2, txt_3, sel_1, sel_2, sel_3, sel_4, nom_image) {
	VALEUR=eval('document.' + formulaire + '.' + txt_1);
	VOLUME=eval('document.' + formulaire + '.' + txt_2);
	PERIODE=eval('document.' + formulaire + '.' + txt_3);

	UNITE_VOLUME=eval('document.' + formulaire + '.' + sel_1 + '.options[' + formulaire + '.' + sel_1 + '.selectedIndex].value');
	UNITE_VALEUR=eval('document.' + formulaire + '.' + sel_2 + '.options[' + formulaire + '.' + sel_2 + '.selectedIndex].value');
	UNITE_MONETAIRE=eval('document.' + formulaire + '.' + sel_3 + '.options[' + formulaire + '.' + sel_3 + '.selectedIndex].value');
	PAYS=eval('document.' + formulaire + '.' + sel_4 + '.options[' + formulaire + '.' + sel_4 + '.selectedIndex].value');

	if (VALEUR.value != "" && VOLUME.value != "" && PERIODE.value != "" && UNITE_MONETAIRE > 0 && UNITE_VALEUR > 0 && UNITE_MONETAIRE > 0 && PAYS > 0) {
		document[nom_image].src=eval("imgOn.src");
	}
	else {
		document[nom_image].src=eval("imgOff.src");
	}
}

//
function onOff_line_rollover(formulaire, champ, ch_1, ch_2, sel_1, pays, nom_image) {

	variable=eval('document.' + formulaire + '.' + champ + '.options[' + formulaire + '.' + champ + '.selectedIndex].value');
	var_sel_1=eval('document.' + formulaire + '.' + sel_1 + '.options[' + formulaire + '.' + sel_1 + '.selectedIndex].value');
	var_pays=eval('document.' + formulaire + '.' + pays + '.options[' + formulaire + '.' + pays + '.selectedIndex].value');
	var_ch_1=eval('document.' + formulaire + '.' + ch_1);
	var_ch_2=eval('document.' + formulaire + '.' + ch_2);

	if (variable > 0 && var_sel_1 > 0 && var_pays > 0 && var_ch_1.value != "" && var_ch_2 != "") {
		document[nom_image].src=eval("imgOn.src");
	}
	else {
		document[nom_image].src=eval("imgOff.src");
		//btnsave.disabled=true;
	}
}

function OpenPopUp(MyFile,MyWindow,MyWidth,MyHeight,sel, formulaire) {
	//MyFile :	  nom du fichier contenant le code HTML du pop-up
	//MyWindow :	  nom de la fenêtre (ne pas mettre d'espace)
	//MyWidth :	  entier indiquant la largeur de la fenêtre en pixels
	//MyHeight :	  entier indiquant la hauteur de la fenêtre en pixels
	var_sel=eval('document.' + formulaire + '.' + sel + '.options[' + formulaire + '.' + sel + '.selectedIndex].value');


	if (var_sel > 0) {
		MyFile = MyFile +"?page=1&secteur_id="+var_sel;
		var ns4 = (document.layers)? true:false; 	  //NS 4
		var ie4 = (document.all)? true:false;	  //IE 4
		var dom = (document.getElementById)? true:false;	  //DOM
		var xMax, yMax, xOffset, yOffset;;

		if (ie4 || dom) {
			xMax = screen.width;
		   yMax = screen.height;
		}
		else if (ns4) {
			xMax = window.outerWidth;
		   yMax = window.outerHeight;
		}
		else {
			xMax = 800;
		   yMax = 600;
		}
		//alert(MyFile);
		xOffset = (xMax - MyWidth)/2;
		yOffset = (yMax - MyHeight)/2;
		window.open(MyFile);
		//window.open(MyFile,MyWindow,'width='+MyWidth+',height='+MyHeight+',screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+',scrollbars=yes,resizable=yes');
	}

}

//
function rollover_me(formulaire, champ) {
	variable=eval('document.' + formulaire + '.' + champ);
	nom_image="img_"+champ;
	if (variable.value != "") {
		document[nom_image].src=eval("imgOn.src");
	}
	else {
		document[nom_image].src=eval("imgOff.src");
	}
}

function Rollover_sel(formulaire, champ, nom_image) {
	//var controle =eval('document.' + formulaire + '.' + champ + '.options[' + formulaire + '.' + champ + '.selectedIndex].value');
	controle=eval('document.' + formulaire + '.' + champ + '.options.selectedIndex');
	if (controle != 0) {
		document[nom_image].src=eval("imgOn.src");
   }
	else {
		document[nom_image].src=eval("imgOff.src");
	}
}
//
function set_OnOff_fields(formulaire, champ, a_champs) {
	tabChamps=a_champs.split('|');
	variable=eval('document.' + formulaire + '.' + champ);
	if (variable.checked==false) {
		for (x=0; x < tabChamps.length; x++) {
			transit=eval('document.' + formulaire + '.' + tabChamps[x]);
			transit.disabled=true;
		}
	}
	else {
		for (x=0; x < tabChamps.length; x++) {
			transit=eval('document.' + formulaire + '.' + tabChamps[x]);
			transit.disabled=false;
		}
	}
}

//
function OnOff_sel_fields(formulaire, champ, a_champs) {
	tabChamps=a_champs.split('|');
	variable=eval('document.' + formulaire + '.' + champ + '.options[' + formulaire + '.' + champ + '.selectedIndex].value');

	if (variable > 0) {
		nom_image="img_"+champ;
		document[nom_image].src=eval("imgOn.src");

		for (x=0; x < tabChamps.length; x++) {
			nom_image="img_"+tabChamps[x];
			document[nom_image].src=eval("imgOff.src");
			transit=eval('document.' + formulaire + '.' + tabChamps[x]);
			transit.disabled=false;
		}
	}
	else {
		nom_image="img_"+champ;
		document[nom_image].src=eval("imgOff.src");
		for (x=0; x < tabChamps.length; x++) {
			nom_image="img_"+tabChamps[x];
			document[nom_image].src=eval("imgWite.src");
			transit=eval('document.' + formulaire + '.' + tabChamps[x]);
			transit.disabled=true;
		}
	}
}
function fillselect_1(formulaire, secteur, details_secteur, sous_details, nb) {
	reg_id=eval('document.' + formulaire + '.' + secteur + '.options[' + formulaire + '.' + secteur + '.selectedIndex].value');
	cible=eval('document.' + formulaire + '.' + details_secteur);
	souscible=eval('document.' + formulaire + '.' + sous_details);
	cpt=eval('document.' + formulaire + '.' + nb);

	/* si la liste contient d'éléments */
	if (cpt.value > 0) {
		/* REINITIALISER les listes */

		nb_cible=eval('document.' + formulaire + '.' + details_secteur + '.options.length');
		nb_souscible=eval('document.' + formulaire + '.' + sous_details + '.options.length');
		for (i=0; i<nb_cible; i++) {
			eval('document.' + formulaire + '.' + details_secteur + '.options[' + i + ']=null');
   	}
   	for (i=0; i<nb_souscible; i++) {
			eval('document.' + formulaire + '.' + sous_details + '.options[' + i + ']=null');
   	}

		for (x=0; x < cpt.value; x++) {
			myName="ind"+x;
			myIndex=eval('document.' + formulaire + '.' + myName + '.value');

			if (myIndex == reg_id) {
				myName="prod_services"+x;
				asectors=eval('document.' + formulaire + '.' + myName + '.value');
				tabsectors=asectors.split('=');
				alert("myName="+myName+"asectors="+asectors);
				i=0;
				for (y=0; y < asectors.length; y++) {
					a_temp=asectors[y].split('=');
					new_option = new Option(a_temp[1], a_temp[0]);
					cible.options[i]=new_option;
					i++;
				}
			}
		}

	}

}

function fillselect_2(formulaire, details_secteur, sous_details) {
	det_id=eval('document.' + formulaire + '.' + details_secteur + '.options[' + formulaire + '.' + details_secteur + '.selectedIndex].value');
	ind=eval('document.' + formulaire + '.' + details_secteur + '.options.selectedIndex');
	tabsectors=new Array();

	cpt=eval('document.' + formulaire + '.cpt_villes.value');
	for (x=0; x < (cpt + 1); x++) {
		if (ind == x) {
			myName="list_villes"+x;
			sectors=eval('document.' + formulaire + '.' + myName + '.value');
			asectors=sectors.split('|');
			alert(sectors);
		}
	}

	//tabsectors contient 3 items :
	//tabsectors[x][0], tabsectors[x][1], tabsectors[x][2],
	for (y=0; y < asectors.length; y++) {
		tabsectors[y]=asectors[y].split('=');
	}

	cible=eval('document.' + formulaire + '.' + sous_details);

	//REINITIALISER le sous_details
	nb_cible=eval('document.' + formulaire + '.' + sous_details + '.options.length');
	//alert("nb_cible="+nb_cible);

	for (i=0; i<nb_cible; i++) {
		eval('document.' + formulaire + '.' + sous_details + '.options[' + i + ']=null');
   }
  	//
  	i=0;
  	for (x=0; x < tabsectors.length; x++) {
		new_option = new Option(tabsectors[x][1], tabsectors[x][0]);
		cible.options[i]=new_option;
		i++;
	}

}
//
function check_email(formulaire, champ) { //verifier une adresse email
	champ_email= eval('document.' + formulaire + '.' + champ);
	adresse_email = eval('document.' + formulaire + '.' + champ + '.value');
	arobase = adresse_email.indexOf("@");
	point = adresse_email.indexOf(".",arobase);
	mauvais_endroit_point = arobase+1;
	double_point = adresse_email.indexOf("..",arobase);
	nbre_carac = adresse_email.length - point;
	double_arobase = adresse_email.indexOf("@",arobase+1);

	/* dans l'ordre:
		si l'arobase est absente ou en 1ere position
		ou si le . suivant l'arobase est juste derriere ou absent
		si la longueur de l'adresse est inferieure a 5 (grand minimum -> x@x.x)
		si il ya pas 2 . qui se suive deriere l'arobase
		si il y a bien 2 caractere minimum apres le . situe derriere l'arobase
		si il y a pas une arobase deriere la premiere arobase
	*/
	if ( (arobase < 1) ||
	    (point <= mauvais_endroit_point) ||
	    (adresse_email.length < 5) ||
	    (double_point >= 0) ||
	    (nbre_carac < 3) ||
	    (double_arobase >= 0) )
	   {
	   alert ("l'adresse email est invalide.");
	   champ_email.value="";
	}
}
/*
pour verifier si un caractere est bien absent avant l'arobase (ici un #):
// ajouter cette ligne et remplacer le # par la caractere voulue
(adresse_email.lastIndexOf("#",arobase) != -1)
et apres l'arobase: (adresse_email.indexOf("#",arobase) != -1)
*/
//
function set_sel_to_txt(formulaire, ch_sel, ch_txt) {
	ind=eval('document.' + formulaire + '.' + ch_sel + '.options.selectedIndex');
	txt=eval('document.' + formulaire + '.' + ch_txt);
	if (ind > 0) {
		txt.value=eval('document.' + formulaire + '.' + ch_sel + '.options[' + ind + '].text');
	}
	else {
		txt.value="";
	}

}
// *** selectionne la valeur correspondante dans un autre select***
function set_txt_to_sel(formulaire, sel1, txt) {
	aSels=eval('document.' + formulaire + '.' + sel1 + '.options[' + formulaire + '.' + sel1 + '.selectedIndex].value');
	sel=eval('document.' + formulaire + '.' + sel1);
	varTxt=eval('document.' + formulaire + '.' + txt);
	ind=eval('document.' + formulaire + '.' + sel1 + '.options.length');
	//alert(aSels);
	if (varTxt.value != "") {
		for (x=0; x < ind; x++) {
			variable=eval('document.' + formulaire + '.' + sel1 + '.options[' + x + '].text');
			myArray=eval('document.' + formulaire + '.' + sel1 + '.options[' + x + '].value');
			transit=myArray.split('|');
			if (varTxt.value.toUpperCase()==variable.toUpperCase()) {
				sel_id=transit[0];
				sel_from=transit[1];
				//alert("sel_id="+sel_id+", sel_from="+sel_from);
				sel.options[x].selected=true;
			}
		}
	}
	else {
		varTxt.value = "";
	}
}
//
function verifier_form(formulaire, champs_txt, champs_select) {
	tab_txt=champs_txt.split('|');
	tab_select=champs_select.split('|');
	cpt=0;

	if ( tab_txt[0].length > 0) {
		for (x=0; x < tab_txt.length; x++) {
			transit=eval('document.' + formulaire + '.' + tab_txt[x]);
			if (transit.value == "") cpt++;
		}
	}

	if ( tab_select[0].length > 0) {
		for (x=0; x < tab_select.length; x++) {
			transit==eval('document.' + formulaire + '.' + tab_select[x] + '.options[' + formulaire + '.' + tab_select[x] + '.selectedIndex].value');
			if (transit == 0) cpt++;
		}
	}

	if (cpt==0) {
		alert("Veuillez remplir au moins un champ.");
		return false;
	}
	else {
		return true;
	}

}
//
function set_onOff_lines(formulaire, monImage, a_champs, ch_cache) {
	tab_champs=a_champs.split('|');
	ch_cache=eval('document.' + formulaire + '.' + ch_cache); //variable de controle si la ligne à été selectionnée
	nom_image=document[monImage].src;
	cpt=nom_image.length;
	d=nom_image.lastIndexOf("/");
	f=nom_image.length;
	nom_image =nom_image.substring(d+1, f);

	if (nom_image == "imgOff.gif") {
		transit=eval('document.' + formulaire + '.' + tab_champs[0]);
	 	transit.disabled=false;
	 	transit
		for (x=1; x < tab_champs.length; x++) {
			transit=eval('document.' + formulaire + '.' + tab_champs[x]);
	 		transit.disabled=false;
	 	}
	 	ch_cache.value=1; //Si la ligne est selectionnée
		document[monImage].src=eval("imgOn.src");
	}
	else {
		for (x=0; x < tab_champs.length; x++) {
			transit=eval('document.' + formulaire + '.' + tab_champs[x]);
	 		transit.disabled=true;
		}
		document[monImage].src=eval("imgOff.src");
		ch_cache.value=0; //Si la ligne n'est pas selectionnée
	}
}
//verifier si un champ est numérique
function check_digit(formulaire, champ) {
	variable=eval('document.' + formulaire + '.' + champ);
	var chkZ=0;
	for (i=0; i<variable.value.length; i++) {
		if (variable.value.charAt(i) < "0" || variable.value.charAt(i) > "9") {
			chkZ=1;
		}
	}
	if (chkZ != 0) {
		alert("valeur incorrecte");
		bloque(formulaire, champ);
	}
	else {
		return true;
	}
}

//verifier si un champ est numérique
function check_num_rollover(formulaire, champ) {
	variable=eval('document.' + formulaire + '.' + champ);
	monImage="img_"+champ;
	flag=false;

	if (variable.value != "") {
		flag = check_digit(formulaire, champ);

		if (flag == true) {
			document[monImage].src=eval("imgOn.src");
		}
		else {
			document[monImage].src=eval("imgOff.src");
		}
	}
}

//verifier si un champ est numérique et active un select dependant
function check_num_onOff_sel(formulaire, champ, sel) {
	variable=eval('document.' + formulaire + '.' + champ);
	var_sel=eval('document.' + formulaire + '.' + sel);
	flag=false;

	var_sel.disabled=true;
	if (variable.value != "") {
		flag = check_digit(formulaire, champ);
		if (flag == true) {
			var_sel.disabled=false;
		}
	}
}

// Fonction de blocage de la saisie si elle n'est pas conforme
function bloque(formulaire, champ) {
	// Creation d'un raccourci pour manipuler le champ
	var controle = eval('document.' + formulaire + '.' + champ);
	// On se place sur le champ incrimine
	controle.focus();
	// On selectionne le contenu pour faciliter la reprise de la saisie
	controle.select();
}
//vérifie la limite. l'année ne doit pas être supérieure à l'année en cours
function limite_year(formulaire, champ) {
	variable=eval('document.' + formulaire + '.' + champ);

	monImage="img_" + champ;
	document[monImage].src=eval("imgOff.src");
//alert(99);
	mydate=new Date();
	an=mydate.getFullYear();
	an_from = 1800;
	flag=check_digit(formulaire, champ);
	if (flag==true) {
		//if ((variable.value > an) && (variable.value < an_from)) {
			if (variable.value < an_from || variable.value > an) {
			alert("Valeur incorrecte");
			bloque(formulaire, champ);
		}
		else {
			document[monImage].src=eval("imgOn.src");
		}
	}
}
//function qui compare une date saisie par l'utilisateur et la SYSTEM (date du jour)
function ComparerDates(mydate, ope) {
	//
	alerte="";
	if (mydate != "") {
		//je formate la date sous le format : aaaammjj
		jj=mydate.substr(0,2);
		mm=mydate.substr(3,2);
		aa=mydate.substr(6,4);
		dateFormatee= aa+mm+jj;

		now = new Date();
		jour = now.getDate();
		mois = now.getMonth() + 1;
		annee = now.getFullYear();
		dateSystem = formaterLaDate(annee+"/"+mois+"/"+jour);
		//dateSystem = formaterLaDate(jour+"/"+mois+"/"+annee);
		//alert(dateSystem+", "+dateFormatee);
		if (parseInt(dateSystem) > parseInt(dateFormatee)) {
			alerte="Date de " + ope + " non valide\n";
		}
	}
	return alerte;
}


//cette fonction retourne une date au format : aaaammjj
function formaterLaDate(mydate) {
//si la date n'est pa jj/mm/aaaa
	var today = new Date();
	var annee = today.getYear();
	var newFormat, jj, mm, aa;
	var pos_un = mydate.indexOf("/");
	var pos_de = mydate.lastIndexOf("/");

	if (pos_un==1) {
	jj= "0" + mydate.substr(0,1);
		if (pos_de==3) {
			mm="0" + mydate.substr(2,1);
	   	aa=mydate.substr(4,4);
		}
		else {
			mm=mydate.substr(2,2);
	   	aa=mydate.substr(5,4);
		}
	}
	else {
		jj=mydate.substr(0,2);
	   if (pos_de==4) {
			mm= "0" + mydate.substr(3,1);
		  	aa=mydate.substr(5,4);
		}
	   else {
	   	mm=mydate.substr(3,2);
	   	aa=mydate.substr(6,4);
	   }
	}
	transit= String(annee);
	yy=(aa.length==2) ? (transit.substr(0,2) + aa) : aa;
	newFormat = yy.substr(0,4) + mm.substr(0,2) + jj.substr(0,2);
	return newFormat;
}