//définition du prototype pour toFixed
function Stretch(Q, L, c){
	var S = Q
	if (c.length>0) while (S.length<L) { S = c+S }
	return S
}

function StrU(X, M, N) { // X>=0.0
	var T, S=new String(Math.round(X*Number("1e"+N)))
	if (S.search && S.search(/\D/)!=-1) { return ''+X }
	with (new String(Stretch(S, M+N, '0')))
	return substring(0, T=(length-N)) + '.' + substring(T)
}

function Sign(X) { 
	return X<0 ? '-' : '';
}

function StrS(X, M, N) {
	return Sign(X)+StrU(Math.abs(X), M, N)
}

function clicSearch(nom, prenom, nir){
document.forms['formu'].nom.value = nom;
document.forms['formu'].prenom.value = prenom;
document.forms['formu'].nir.value = nir;
document.forms['formu'].elements['action'].value='chercher';
document.forms['formu'].submit();

}

Number.prototype.toFixed= new Function('n','return StrS(this,1,n)')

String.PAD_LEFT  = 0;
String.PAD_RIGHT = 1;
String.PAD_BOTH  = 2;

String.prototype.pad = function(size, pad, side){
	var str = this, append = "", size = (size - str.length);
	var pad = ((pad != null) ? pad : " ");
	if ((typeof size != "number") || ((typeof pad != "string") || (pad == ""))) {
    	throw new Error("Wrong parameters for String.pad() method.");
  	}
  	if (side == String.PAD_BOTH) {
    	str = str.pad((Math.floor(size / 2) + str.length), pad, String.PAD_LEFT);
    	return str.pad((Math.ceil(size / 2) + str.length), pad, String.PAD_RIGHT);
  	}
  	while ((size -= pad.length) > 0) {
  	  append += pad;
  	}
  	append += pad.substr(0, (size + pad.length));
  	return ((side == String.PAD_LEFT) ? append.concat(str) : str.concat(append));
}
 
//Ouvre une popup
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function Fenetre(url, largeur, longueur){
	window.open(url, "new", "width="+largeur+", height="+longueur);
	return true;
}

function Ouvre_Fenetre(url, largeur, longueur){
	window.open(url, "new", "width="+largeur+", height="+longueur);
	return false;
}

function Ouvre_Popup_Visite(url, largeur, longueur){
	var w = window.open(url, "popup_adh_demo", "width="+largeur+",height="+longueur+",top=10,left=10");
	w.focus();
	return false;
}

function Open_Flash(url, largeur, longueur){
	var w = window.open(url, "popup_flash", "width="+largeur+",height="+longueur+",top=100,left=100");
	w.focus();
	return false;
}

function Ferme_Popup_Visite(url, largeur, longueur){
	var w = window.open(url, "popup_adh_demo", "width="+largeur+", height="+longueur+", top=10,left=10");
	//w.focus();
	w.close();
	return false;
}

function redir(url){
	window.location = url;
	return true;
}
//Retir les espaces en début et fin de chaine
function trim(string){ 
	return string.replace(/(^\s*)|(\s*$)/g,""); 
}

//Transforme le target d'un formulaire en "_blank" de façon à ouvrir le résultat dans une nouvelle fenêtre
function Change_Target_In_Blank(formu){
	document.forms.formu.target="_blank";
	return true;
}

function Change_Target_In_Self(formu){
	document.forms.formu.target="_self";
	return true;
}

function Change_Field_Value(nom, field, val){
	document.forms[nom].elements[field].value = val;
	return true;
}

//Rend le focus au champ du formulaire spécifié
function Rend_Focus(nom, champ)
{
	var champs;
	champs=eval('document.'+nom+'.'+champ);
	champs.focus();
	return false;
}

//Vérifie si un champ est rempli ou pas
function Is_Vide(nom, champ){
	var valeur = trim(document.forms[nom].elements[champ].value);
	if((document.forms[nom].elements[champ].type == "text")||(document.forms[nom].elements[champ].type == "TEXT")) valeur = trim(valeur);
	if (valeur.length == 0) return true;
	else return false;
}

//Retourne la valeur du champ
function Valeur(nom, champ){
	return document.forms[nom].elements[champ].value;
}

//Retourne la longueur du champ
function Longueur(nom, champ){
	return document.forms[nom].elements[champ].value.length;
}

//Vérifie si une case est cochée ou pas
function Is_Checked(nom, champ){
	if(document.forms[nom].elements[champ].checked == true) return true;
	else return false;
}

//Vérifie si un champs est bien numérique ou pas
function Is_Numerique(nom, champ){
	if (Is_Vide(nom, champ)) return false;
	else{
		var check_char;
		var number_format="0123456789,";
		for (var i=0; i<document.forms[nom].elements[champ].value.length; i++){
			check_char = number_format.indexOf(document.forms[nom].elements[champ].value.charAt(i));
			if (check_char < 0) return false;
		}
	}
	return true;	
}

//Verifie qu'un champ est entier -> RETOURNE VRAI si OK
function is_Int(nom, champ){
	if (Is_Vide(nom, champ)) return false;
	else{
		var check_char;
		var number_format="0123456789";
		for (var i=0; i<document.forms[nom].elements[champ].value.length; i++){
			check_char = number_format.indexOf(document.forms[nom].elements[champ].value.charAt(i));
			if (check_char < 0) return false;
		}
	}
	return true;
}

//Vérifie si un champs est bien entier
function Search_Dot_Or_Point(nom, champ){
	var check_char;
	var number_format=".,";
	for (var i=0; i<document.forms[nom].elements[champ].value.length; i++){
		check_char = number_format.indexOf(document.forms[nom].elements[champ].value.charAt(i));
		if (check_char > 0) return false;
	}
	return true;
}

function IsNum(valeur){
	var check_char;
	var number_format="0123456789,.";
	for (var i=0; i<valeur.length; i++){
		check_char = number_format.indexOf(valeur.charAt(i));
		if (check_char < 0) return false;
	}
	return true;
}

function Longueur_Fixe(nom, champ, valeur){
	if (document.forms[nom].elements[champ].value.length == valeur) return true;
	else return false;
}

function Nombre_Cases_Cochees(nom, champ){
	var nb_rep=0;
	var choix = document.forms[nom].elements[champ];
	if (choix){
		for (var i=0; i<choix.length; i++){
			if (choix[i].checked) nb_rep++;
		}
	}
	else nb_rep = -1;	//choix non défini => valueur négative (normalement impossible)
	return nb_rep;
}

function Tester_Radio(nom, champ){
	var choix = document.forms[nom].elements[champ];
	for (var i=0; i<choix.length;i++) {
    	if (choix[i].checked) {
        		return true;
		}
	}
	return false;
}

function ChangeDotToPoint(nom, champ){
	champ.value = champ.value.replace(",", ".");
	return true;	
}

function LeftZeroTrim(nom, champ){
	var chaine = champ.value;
	var nb_fin = chaine.length;
	while ((chaine.charAt(0) == "0")&&(nb_fin != 1)){
		chaine = chaine.substring(1,nb_fin);
		nb_fin = nb_fin-1; 
	}
	return chaine;
}

function Nombre_Decimal(nom, champ, nb_entier, nb_decimal){
	var check_char;
	var position = -1;
	var longueur = document.forms[nom].elements[champ].value.length;
	var longueur_maxi = eval(nb_entier+nb_decimal+1);
	var number_format = ".";
	//on remplace la potentielle "," par un "."
	document.forms[nom].elements[champ].value = document.forms[nom].elements[champ].value.replace(",", ".");
	
	//on recherche le "." pour savoir si c'est un nombre decimal
	for (var i=0; i<longueur; i++){
		check_char = number_format.indexOf(document.forms[nom].elements[champ].value.charAt(i));
		if (check_char >= 0) position = i;
	}

	if(position >= 0){//c'est un nombre decimal
		longueur_entier = position;
		longueur_decimal = (longueur-1)-longueur_entier;
		
		if(longueur == 1) return false;//le point est l'unique car du champ
		else{
			if((longueur_entier <= nb_entier)&&(longueur_decimal <= nb_decimal)){
				document.forms[nom].elements[champ].value = eval(document.forms[nom].elements[champ].value).toFixed(nb_decimal);
				return true;
			}else return false;
		}
	}else{//ce n'est pas un nb decimal
		if(longueur <= nb_entier){//le nb d'entier correspond -> on lui fixe sa partie decimale
			document.forms[nom].elements[champ].value = eval(document.forms[nom].elements[champ].value).toFixed(nb_decimal);
			return true;
		}else return false;
	}
}

/********************************* CODE POSTAL ***************************/
//Vérifie le code postal
function Verif_Postal_Code(nom, champ){
	var code = document.forms[nom].elements[champ].value;
	// Longeur du champ
	if(code.length != 5) return false;
	else if (!code.match(/^[0-9]{5}$/)) return false;
	else return true
}

/********************************* DATES ***************************/
//Vérifie les caractères de saisie dans une date
function Verif_Saisie_Date(nom, champ){
	var check_char;
	var number_format="0123456789/";
	for (var i=0; i<document.forms[nom].elements[champ].value.length; i++){
		check_char = number_format.indexOf(document.forms[nom].elements[champ].value.charAt(i));
		if (check_char < 0) return false;
	}
	return true;	
}

//Vérifie le format de date (jj/mm/aaaa)
function Verif_Format_Date(nom, champ){
	var ma_date = document.forms[nom].elements[champ].value;
	// Longeur du champ
	if(ma_date.length != 10) return false;
	else if (!ma_date.match(/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/)) return false;
	else return true
}

//fonction de verification de validité d'une date
//on suppose la date de format valide jj/mm/aaaa
function Check_Valid_Date(nom, champ){
	var ma_date = document.forms[nom].elements[champ].value.split("/");
	var date_a_verifier = new Date(ma_date[2], ma_date[1]-1, ma_date[0]);
	if(date_a_verifier.getDate() == ma_date[0]) valeur1 = true;else valeur1 = false;
	if((date_a_verifier.getMonth()+1) == ma_date[1]) valeur2 = true;else valeur2 = false;
	if(date_a_verifier.getFullYear() == ma_date[2]) valeur3 = true;else valeur3 = false;
	if(valeur1&&valeur2&&valeur3) return true;
	else return false;
}

//Teste si deux dates sont égales ou pas
//Renvoie 0 si les dates sont identiques
//Renvoie 1 si la date1 est supérieure à la date 2
//Renvoie 2 si la date2 est supérieure à la date 1
//On supppose les dates au format "DD/MM/YYYY" correctes
function Verif_Diff_Date(nom, champ1, champ2){
	var tab_date1 = document.forms[nom].elements[champ1].value.split("/");
	var tab_date2 = document.forms[nom].elements[champ2].value.split("/");
	if(tab_date1[2] == tab_date2[2]){
		if(tab_date1[1] == tab_date2[1]){
			if(tab_date1[0] == tab_date2[0]) return 0;
			else{
				if(tab_date1[0] < tab_date2[0]) return 2;
				else return 1;
			}
		}else{
			if(tab_date1[1] < tab_date2[1]) return 2;
			else return 1;
		}
	}else{
		if(tab_date1[2] < tab_date2[2]) return 2;
		else return 1;
	}
}

function datesStrToDatesList(name, floorField, ceilField){
	var dateListFloor = document.forms[name].elements[floorField].value.split("|");
	var dateListCeil = document.forms[name].elements[ceilField].value.split("|");
	var outList = new Array();
	for(index in dateListFloor){
		outList[index] = {floor: dateListFloor[index], ceil: dateListCeil[index]};
	}
	return outList;
}

//Teste si deux dates sont égales ou pas
//(la même qu'au dessus mais pas pour un formulaire)
//Renvoie 0 si les dates sont identiques
//Renvoie 1 si la date1 est supérieure à la date 2
//Renvoie 2 si la date2 est supérieure à la date 1
//On supppose les dates au format "DD/MM/YYYY" correctes
function Verif_Diff_Date2(valeur1, valeur2){
	var tab_date1 = valeur1.split("/");
	var tab_date2 = valeur2.split("/");
	if(parseInt(tab_date1[2], 10) == parseInt(tab_date2[2], 10)){
		if(parseInt(tab_date1[1], 10) == parseInt(tab_date2[1], 10)){
			if(parseInt(tab_date1[0], 10) == parseInt(tab_date2[0], 10)) return 0;
			else{
				if(parseInt(tab_date1[0], 10) < parseInt(tab_date2[0], 10)) return 2;
				else return 1;
			}
		}else{
			if(parseInt(tab_date1[1], 10) < parseInt(tab_date2[1], 10)) return 2;
			else return 1;
		}
	}else{
		if(parseInt(tab_date1[2], 10) < parseInt(tab_date2[2], 10)) return 2;
		else return 1;
	}
}

/********************************* HEURES ***************************/

//Vérifie le format d'un horaire (hh:mm)
function Verif_Format_Horaire(nom, champ){
	// Longeur du champ
	if(document.forms[nom].elements[champ].value.length != 5) return false;
	else if (!document.forms[nom].elements[champ].value.match(/^[0-9]{2}:[0-9]{2}$/)) return false;
	else{
		var mon_horaire = document.forms[nom].elements[champ].value.split(":");
		if(mon_horaire[0] > 23) return false;
		else if(mon_horaire[1] > 59) return false;
		else return true;
	}
}

/****************** FONCTIONS SPECIFIQUES ******************/

/****************** formulaire ******************/
function Formulaire_Efface_Adresse(nom){
	document.forms[nom].elements["name_1"].value = "";
	document.forms[nom].elements["name_2"].value = "";
	document.forms[nom].elements["adr_1"].value = "";
	document.forms[nom].elements["adr_2"].value = "";
	document.forms[nom].elements["adr_3"].value = "";
	document.forms[nom].elements["cp"].value = "";
	document.forms[nom].elements["ville"].value = "";
	Rend_Focus(nom,"name_1");
	return false;
}

function Verif_Donnees_Formulaire(nom){
	
	var message = "";
	var envoi_formulaire = true;
	var champ_focus = "";
	//Nombre de Formulaire
	if (Is_Vide(nom, 'nb_doc')){
		message += "\t - Vous devez spécifier le nombre de documents que vous désirez.\n\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "nb_doc";
	}
	if ((Valeur(nom, 'nb_doc') != "no") && ((Valeur(nom, 'nb_doc')) < (Valeur(nom, 'mini')) || ((Valeur(nom, 'nb_doc')) > (Valeur(nom, 'maxi'))))){
		message += "\t - Le nombre de documents demandés doit être compris entre ";
		message += Valeur(nom, 'mini');
		message += " et ";
		message += Valeur(nom, 'maxi');
		message += ".\n\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "nb_doc";
	}
	//Exercice (le champ concerné est annee[]; il doit contenir au moins un élément)
	if((Nombre_Cases_Cochees(nom, 'annee[]') == 0)){
		message += "\t - Vous devez spécifier au moins un exercice.\n\n";
		envoi_formulaire = false;
		if (champ_focus == ""){
			if (Valeur(nom, 'nb_doc') != "no") champ_focus = "nb_doc";
			else if (Valeur(nom, 'name_1')) champ_focus = "name_1";
		}
	}
	//Adresse
	//Si tout est vide c'est bon sinon message d'erreur
	if (!( (Is_Vide(nom,'name_1')) && (Is_Vide(nom,'name_2')) && (Is_Vide(nom,'adr_1')) && (Is_Vide(nom,'adr_2')) && (Is_Vide(nom,'adr_3')) && (Is_Vide(nom,'cp')) && (Is_Vide(nom,'ville')) )){
		message += "Si vous voulez recevoir vos documents à une adresse différente de celle habituelle,\n";
		message += " l'adresse spécifiée doit être complète.\n Sinon, laissez les champs vides. \n\n";
		if ((Is_Vide(nom,'name_1')) && (Is_Vide(nom,'name_2'))){
			message += "\t - Remplissez au moins un champ NOM / RAISON SOCIALE.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "name_1";
		}
		if ((Is_Vide(nom,'adr_1')) && (Is_Vide(nom,'adr_2')) && (Is_Vide(nom,'adr_3'))){
			message += "\t - Remplissez au moins un champ ADRESSE.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "adr_1";
		}
		if (Is_Vide(nom,'cp')){
			message += "\t - Remplissez le champ CODE POSTAL.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "cp";
		}
		if (!Is_Numerique(nom, 'cp')){
			message += "\t - Le champ CODE POSTAL doit être numérique.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "cp";
		}
		if (!Longueur_Fixe(nom, 'cp', 5)){
			message += "\t - Le champ CODE POSTAL doit comporter 5 chiffres.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "cp";
		}
		if (Is_Vide(nom,'ville')){
			message += "\t - Remplissez le champ VILLE.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "ville";
		}
	}	
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(nom, champ_focus);
	}
	return(envoi_formulaire);
}

/****************** Télépaiement ******************/
function Verif_All_Paiement(nom){
	if(Verif_Date_Paiement(nom)&&Verif_Total_Paiement(nom)) return true;
	else return false;
}

function Verif_Date_Paiement(nom){
	var la_date = document.forms[nom].elements["date_reglement"].value;
	var maxi = document.forms[nom].elements["date_maxi"].value;
	var mini = document.forms[nom].elements["date_mini"].value;
	var tab_date = la_date.split("/");
	var tab_maxi = maxi.split("/");
	var tab_mini = mini.split("/");
	var renvoi = true;
	if(!Check_Valid_Date(nom, "date_reglement")){
		alert("La date d'échéance de votre réglement doit être une date valide");
		return false;
	}
	if((tab_date.length < 3)||(tab_maxi.length < 3)||(tab_mini.length < 3)){
		alert("Le caractère séparateur des dates doit être '/'");
		return false;
	}
	if(tab_date[2].length <4){
		tab_date[2]="20"+tab_date[2];
	}
	//verif la_date > date_mini
	//comparaison de l'année
	if(tab_mini[2] > tab_date[2]){
		renvoi = false
	}
	else if(tab_mini[2] == tab_date[2]){
		//comparaison des mois
		if(tab_mini[1] > tab_date[1]){
			renvoi = false;
		}
		else if (tab_mini[1] == tab_date[1]){
			//comparaison des jours
			if(tab_mini[0] > tab_date[0]){
				renvoi = false;
			}
			//else c'est OK!!
		}
		//else c'est OK!!
	}
	//else c'est OK!!
	//verif date_maxi > la_date
	//comparaison de l'année
	if(tab_date[2] > tab_maxi[2]){
		renvoi = false
	}
	else if(tab_date[2] == tab_maxi[2]){
		//comparaison des mois
		if(tab_date[1] > tab_maxi[1]){
			renvoi = false;
		}
		else if (tab_date[1] == tab_maxi[1]){
			//comparaison des jours
			if(tab_date[0] > tab_maxi[0]){
				renvoi = false;
			}
			//else c'est OK!!
		}
		//else c'est OK!!
	}
	//else c'est OK!!
	if(renvoi == false){
		alert("1 - La date d'échéance de votre réglement doit être comprise entre "+mini+" et "+maxi);
		return renvoi;
	}
	return true;
}
function masqueSaisieDate(obj) 
{
	var ch;
	var ch_gauche, ch_droite;
	ch = obj.value;
	ch.toString();
	if (ch=="")
		return;
	if ( (ch.slice(0,1)) > 3)
	{
		ch_gauche = ch.slice(0,1);
		ch_droite = "0";
		obj.value = ch_droite + ch_gauche;
	}
	if ( ((ch.slice(0,2)) == "00") && (ch.length >= 2))
		obj.value = "0";
	if ( (ch.length >= 3) )
	{
		if(ch.slice(0,2)>31)
		{
			ch_gauche = ch.slice(0,1);
			obj.value = ch_gauche;
			return;
		}		
		if( (((ch.slice(2,3)) != ("-")) && ch.slice(2,3)) != ("/") )
		{
			ch_gauche = ch.slice(0,2);
			ch_droite = ch.slice(2);
			obj.value = ch_gauche + "/" + ch_droite;
		}
	}
	if ( (ch.length >= 3) )
	{
		if ( ( (ch.slice(2,3)) == ("/") ) || ( (ch.slice(2,3)) == ("-") ) )
		{
			if(ch.slice(3,4)>1)
			{
				ch_gauche = ch.slice(0,3);
				ch_droite = ch.slice(3,4);
				obj.value = ch_gauche + "0" + ch_droite;
				return;
			}
			if(ch.slice(3,5)>12)
			{
				ch_gauche = ch.slice(0,4);
				obj.value = ch_gauche;			
				return;
			}
			if(ch.slice(3,5)<0)
			{
				ch_gauche = ch.slice(0,3);
				obj.value = ch_gauche;			
				return;
			}			
		}
		else
		{
			if(ch.slice(2,3)>1)
			{
				ch_gauche = ch.slice(0,2);
				ch_droite = ch.slice(2,3);
				obj.value = ch_gauche + "0" + ch_droite;
				return;
			}		
			if(ch.slice(2,4)>12)
			{
				ch_gauche = ch.slice(0,3);
				obj.value = ch_gauche;					
				return;
			}		
			if(ch.slice(2,4)<1)
			{
				ch_gauche = ch.slice(0,3);
				obj.value = ch_gauche;					
				return;
			}				
		}
	}	
	if ( ( (ch.slice(5,6)) != ("/") ) && ((ch.slice(5,6)) != ("-")) && (ch.length >= 6) )
	{
		ch_gauche = ch.slice(0,5);
		ch_droite = ch.slice(5);
		obj.value = ch_gauche + "/" + ch_droite;
	}
	return;
}
function verif_annee(obj,date,formu,champ)
{
	var ch;
	var ch_gauche, ch_droite;
	objet=document.forms[formu].elements[champ];	
	ch = obj.value;
	if (ch=="")
		return false;
	ch.toString();
	if (  ( ch.slice(6,10) )  <1900  || ( ch.slice(6,10) )  > date.substring(4,8) )
	{
		//obj.value = ch.slice(0,6);
		//setTimeout("objet.focus()", 100) ;
		return false;
	}
	var d=obj.value;
	var j=(d.substring(0,2));
	var m=(d.substring(3,5));
	var a=(d.substring(6));
	var ok=1;
    var d2=new Date(a,m-1,j);
	j2=d2.getDate();
	m2=d2.getMonth()+1;
	a2=d2.getFullYear();
	if (a2<=100) {a2=1900+a2}
	if ( (j!=j2)||(m!=m2) || (a!=a2) )
	{
/*		alert("Le "+d+" n'existe pas");
		obj.value="";
		setTimeout("objet.focus()", 100) ;*/
		return false;
	}
	//si la date est supérieure à la date du jour
	if (a>date.substring(4,8) )
		ok=0;
	if (a==date.substring(4,8))
	{
    	if (m>date.substring(2,4))
        	ok=0;
		else
        {
        	if (m==date.substring(2,4))
            {
            	if (j>date.substring(0,2))
                	ok=0;
			}
            else
            	ok=1;
		}
	}
	else
    	ok=1;

	if (ok==0)
	{
/*		alert("la date est supérieure à la date du jour");
		obj.value="";
		setTimeout("objet.focus()", 100) ;*/
		return false;
	}
}
function Verif_Total_Paiement(nom){
	var total = eval(document.forms[nom].elements["total_montant"].value);
	var maxi = document.forms[nom].elements["maxi_paiement"].value;
	var mini = document.forms[nom].elements["mini_paiement"].value;
	maxi =  maxi.replace(",", ".");
	mini =  mini.replace(",", ".");
	if((total < mini) || (total > maxi)){
		alert("Le total de votre réglement doit être compris entre "+mini+" et "+maxi);
		return false;
	}
	return true;
}


function delSecondPoint(value, name_champ, nom){
	
	var firstpos=0;
	var lastPos=0;
	
	
	while(value.indexOf(',') > 0){
		value = value.replace(',', '.');
	};
	
	firstPos=value.indexOf(".");
	lastPos=value.lastIndexOf(".");

	
	if (firstPos != -1 && (firstPos != lastPos)){
		value = value.substring(0, firstPos)+"."+value.substring(lastPos+1, lastPos+3);
		document.forms[nom].elements[name_champ].value = value;
		return value;

        }

	return value;


}


function Calcule_Somme(nom){
	var somme=0;
	var pos=0;
	var pos2=0;
	var champ = "montant";
	for (var i=0; i<document.forms[nom].elements["nb_champ"].value; i++)
	{
		name_champ = champ+i;
		valeur_champ=document.forms[nom].elements[name_champ].value;
		
		valeur_champ =  delSecondPoint(valeur_champ, name_champ, nom);
		
		pos=valeur_champ.indexOf(".",0);
		
		sub_str=valeur_champ.substring(pos+1,pos+5);
		if (sub_str.length>2 && pos!=-1)
			document.forms[nom].elements[name_champ].value=valeur_champ.substring(0,pos)+"."+valeur_champ.substring(pos+1,pos+3);
		if(document.forms[nom].elements[name_champ].value == "") 
			document.forms[nom].elements[name_champ].value=0;
		if (!IsNum(document.forms[nom].elements[name_champ].value)) 
			document.forms[nom].elements[name_champ].value=0;
		document.forms[nom].elements[name_champ].value = LeftZeroTrim(nom, document.forms[nom].elements[name_champ]);
		ChangeDotToPoint(nom, document.forms[nom].elements[name_champ]);

		somme = somme + eval(document.forms[nom].elements[name_champ].value);
	}
	for (var i=0; i<document.forms[nom].elements["nb_champ"].value; i++){
		name_champ = champ+i;
		valeur = eval(document.forms[nom].elements[name_champ].value);
		document.forms[nom].elements[name_champ].value=valeur.toFixed(2);
	}
	somme = somme.toFixed(2);
	document.forms[nom].elements["total_montant"].value = somme;
	Verif_Total_Paiement(nom, "total_montant");
	return(true);
}

function Verif_Somme(nom){
	var somme=0;
	var champ = "montant";
	for (var i=0; i<document.forms[nom].elements["nb_champ"].value; i++){
		name_champ = champ+i;
		if(document.forms[nom].elements[name_champ].value == "") document.forms[nom].elements[name_champ].value=0;
		if (!IsNum(document.forms[nom].elements[name_champ].value)) document.forms[nom].elements[name_champ].value=0;
		document.forms[nom].elements[name_champ].value = LeftZeroTrim(nom, document.forms[nom].elements[name_champ]);
		ChangeDotToPoint(nom, document.forms[nom].elements[name_champ]);
		somme = somme + eval(document.forms[nom].elements[name_champ].value);
	}
	somme = somme.toFixed(2);
	if(document.forms[nom].elements["total_montant"].value != somme){
		alert("La somme du télé règlement ne correspond pas à la somme des montants");
		Calcule_Somme(nom);
		return false;
	}
	return(true);
}
function Verif_All_Formulaire(nom){
	var sortie = false;
	if(Verif_Somme(nom) == true){
		if(Verif_All_Paiement(nom) == true){
			sortie = true;
		}else{
			sortie = false;
		}
	}else{
		sortie = false;
	}
	if(sortie){
		if(Is_Vide('formu', 'date_reglement')){
			alert('La date doit être spécifiée');
			sortie = false;
		}else if (document.forms['formu'].elements['date_reglement'].value==""){
			alert('La date entrée n\'est pas valide');
			sortie = false;
		}else{
			//La date semble correcte
			sortie = true;
		}
	}
	return sortie;
}  



/****************** Déclaration de salaire et ******************/
/****************** Déclaration de salaire Complémentaire ******************/
function Verif_Saisie_DS(nom){
	var envoi = true;
	var envoi2;
	var envoi_tempo = true;
	var message = "";
	var interim = document.forms[nom].elements["interim"];
	document.forms[nom].elements["jsactif"].value = 'ok';
	if(document.forms[nom].elements["action_ann"].value == "annulation") {}
	else{
		if (document.forms[nom].neant.checked!=true)
		{
			if (Is_Vide(nom, 'cadre')){
				document.forms[nom].elements["cadre"].value = 0;
			}else if (!Is_Numerique(nom, 'cadre')){
				message += "\t - Le champ HORS APPRENTIS doit être un nombre entier.\n";
				envoi = false;
			}else if (!Search_Dot_Or_Point(nom, 'cadre')){
				message += "\t - Le champ HORS APPRENTIS doit être un nombre entier.\n";
				envoi = false;
			}else if (document.forms[nom].elements["cadre"].value == document.forms[nom].elements["brut"].value){
				message += "\t - Le champ HORS APPRENTIS ne peut être égal au champ SALAIRE BRUT.\n";
				envoi = false;
			}else if (document.forms[nom].elements["cadre"].value == document.forms[nom].elements["plafonne"].value){
				message += "\t - Le champ HORS APPRENTIS ne peut être égal au champ SALAIRE PLAFONNE.\n";
				envoi = false;
			}
			if (Is_Vide(nom, 'etam')){
				document.forms[nom].elements["etam"].value = 0;
			}else if (!Is_Numerique(nom, 'etam')){
				message += "\t - Le champ ETAM doit être un nombre entier.\n";
				envoi = false;
			}else if (!Search_Dot_Or_Point(nom, 'etam')){
				message += "\t - Le champ ETAM doit être un nombre entier.\n";
				envoi = false;
			}/*else if (document.forms[nom].elements["etam"].value == document.forms[nom].elements["brut"].value){
				message += "\t - Le champ ETAM ne peut être égal au champ SALAIRE BRUT.\n";
				envoi = false;
			}else if (document.forms[nom].elements["etam"].value == document.forms[nom].elements["plafonne"].value){
				message += "\t - Le champ ETAM ne peut être égal au champ SALAIRE PLAFONNE.\n";
				envoi = false;
			}*/
			if (Is_Vide(nom, 'ouvrier')){
				document.forms[nom].elements["ouvrier"].value = 0;
			}else if (!Is_Numerique(nom, 'ouvrier')){
				message += "\t - Le champ OUVRIERS doit être un nombre entier.\n";
				envoi = false;
			}else if (!Search_Dot_Or_Point(nom, 'ouvrier')){
				message += "\t - Le champ OUVRIERS doit être un nombre entier.\n";
				envoi = false;
			}/*else if (document.forms[nom].elements["ouvrier"].value == document.forms[nom].elements["brut"].value){
				message += "\t - Le champ OUVRIERS ne peut être égal au champ SALAIRE BRUT.\n";
				envoi = false;
			}else if (document.forms[nom].elements["ouvrier"].value == document.forms[nom].elements["plafonne"].value){
				message += "\t - Le champ OUVRIERS ne peut être égal au champ SALAIRE PLAFONNE.\n";
				envoi = false;
			}*/
			if (Is_Vide(nom, 'apprenti')){
				document.forms[nom].elements["apprenti"].value = 0;
			}else if (!Is_Numerique(nom, 'apprenti')){
				message += "\t - Le champ APPRENTIS doit être un nombre entier.\n";
				envoi = false;
			}else if (!Search_Dot_Or_Point(nom, 'apprenti')){
				message += "\t - Le champ APPRENTIS doit être un nombre entier.\n";
				envoi = false;
			}else if (document.forms[nom].elements["apprenti"].value == document.forms[nom].elements["brut"].value){
				message += "\t - Le champ APPRENTIS ne peut être égal au champ SALAIRE BRUT.\n";
				envoi = false;
			}else if (document.forms[nom].elements["apprenti"].value == document.forms[nom].elements["plafonne"].value){
				message += "\t - Le champ APPRENTIS ne peut être égal au champ SALAIRE PLAFONNE.\n";
				envoi = false;
			}
			if (!Is_Numerique(nom, 'brut')){
				message += "\t - Le champ SALAIRE BRUT doit être un nombre entier.\n";
				envoi = false;
			}else if(Valeur(nom, 'brut') == 0){
				message += "\t - Le champ SALAIRE BRUT ne peut être égal à 0.\n";
				envoi = false;
			}else if (!Search_Dot_Or_Point(nom, 'brut')){
				message += "\t - Le champ SALAIRE BRUT doit être un nombre entier.\n";
				envoi = false;
			}
			if (!Is_Numerique(nom, 'plafonne')){
				message += "\t - Le champ SALAIRE PLAFONNE doit être un nombre entier.\n";
				envoi = false;
			}else if(Valeur(nom, 'plafonne') == 0){
				message += "\t - Le champ SALAIRE PLAFONNE ne peut être égal à 0.\n";
				envoi = false;
			}else if (!Search_Dot_Or_Point(nom, 'plafonne')){
				message += "\t - Le champ SALAIRE PLAFONNE doit être un nombre entier.\n";
				envoi = false;
			}
			//	if(interim.value == "") interim.value=0;
			if (!Is_Numerique(nom, 'interim')){
				message += "\t - Le champ INTERIM doit être un nombre entier.\n";
				envoi = false;
			}
			else if (!Search_Dot_Or_Point(nom, 'interim')){
				message += "\t - Le champ INTERIM doit être un nombre entier.\n";
				envoi = false;
			}
			if(envoi){
				if (document.forms[nom].elements["cadre"].value > 500){
					envoi_tempo = confirm("L'effectif HORS APPRENTIS est supérieur à 500. Confirmez vous ce chiffre ?");
				}
				if(!envoi_tempo) envoi = false;
				else if (document.forms[nom].elements["etam"].value > 500){
					envoi_tempo = confirm("L'effectif ETAM est supérieur à 500. Confirmez vous ce chiffre ?");
				}
				if(!envoi_tempo) envoi = false;
				else if (document.forms[nom].elements["ouvrier"].value > 500){
					envoi_tempo = confirm("L'effectif OUVRIERS est supérieur à 500. Confirmez vous ce chiffre ?");
				}
				if(!envoi_tempo) envoi = false;
				else if (document.forms[nom].elements["apprenti"].value > 500){
					envoi_tempo = confirm("L'effectif APPRENTIS est supérieur à 500. Confirmez vous ce chiffre ?");
				}
				if(!envoi_tempo) envoi = false;
			}
		}
		if (message!="") alert(message);
			envoi2 = Verif_Salaire_DS(nom)
		return ((envoi2)&&(envoi));
	}
	return(("")&&(""));
}

function Verif_Saisie_DS_Comp(nom){
	var envoi = true;
	var envoi2;
	var message = "";
	var name;
	var periode = document.forms[nom].elements["periode"];
	document.forms[nom].elements["jsactif"].value = 'ok';
	if (periode.value == "no"){
		message += "\t - Le champ PERIODE doit être renseigné.\n";
		envoi = false;
	}
	for(i=1; i<8; i++){
		name = document.forms[nom].elements["valeur"+i];
		name_champ = "valeur"+i;
		if(name.value == "") name.value=0;
		if (!Is_Numerique(nom, name_champ)){
			message += "\t - Le champ "+name_champ+" doit être un nombre entier.\n";
			envoi = false;
		}else if (!Search_Dot_Or_Point(nom, name_champ)){
			message += "\t - Le champ "+name_champ+" doit être un nombre entier.\n";
			envoi = false;
		}
	} 
	if (message!="") alert(message);
	envoi2 = Verif_Saisie_DS(nom);
	return ((envoi2)&&(envoi));
}

function Compare_Salaires(nom){
	var brut = document.forms[nom].elements["brut"];
	var plafonne = document.forms[nom].elements["plafonne"];
	if(eval(brut.value) > 0){
		if (eval(plafonne.value) > eval(brut.value)){
			alert("Attention:\n le salaire plafonné déclaré est supérieur au salaire brut");
		}
	}
	return true;
}

function Verif_Salaire_DS(nom){
	var neant = document.forms[nom].elements["neant"];
	var brut = document.forms[nom].elements["brut"];
	var plafonne = document.forms[nom].elements["plafonne"];
	if ((plafonne.value == 0)&&(neant.checked == false)){
		alert("Le salaire plafonne ne peut être nul.");
		plafonne.value = brut.value;
		return false;
	}
	return true;
}

function Grise_Ou_Pas(nom){
	var neant = document.forms[nom].elements["neant"];
	var cadre = document.forms[nom].elements["cadre"];
	var etam = document.forms[nom].elements["etam"];
	var ouvrier = document.forms[nom].elements["ouvrier"];
	var apprenti = document.forms[nom].elements["apprenti"];
	var brut = document.forms[nom].elements["brut"];
	var plafonne = document.forms[nom].elements["plafonne"];
	var interim = document.forms[nom].elements["interim"];
	
	var tempo = "ligne";
	var tempo2 = "libelle";
	var tempo3 = "valeur";
	var total_tempo;
	var ligne_ventile="";
	var libelle_ventile="";
	var valeur_ventile="";
	var ligne;

	for (var l = 0; l < document.forms[nom].elements.length; l++) {//on parcourt tous les elts du champs
		//récupération du champ crée dynamiquement
		total_tempo = tempo+l;		
		ligne = document.forms[nom].elements[total_tempo];
		//si le champ existe
		if(ligne){
			 if(ligne_ventile == ""){ligne_ventile += "("+ligne.name+" == 0)";}
             else {ligne_ventile += " && ("+ligne.name+" == 0)";}
		}
	}
	
	for (var k = 1; k < 8; k++){
		total_tempo = tempo2+k;
		ligne = document.forms[nom].elements[total_tempo];
		if(ligne){
			if(libelle_ventile == ""){libelle_ventile += "("+ligne.name+" == 0)";}
			else {libelle_ventile += " && ("+ligne.name+" == 0)";}
		}
	}
	
	for (var k = 1; k < 8; k++){
		total_tempo = tempo3+k;
		ligne = document.forms[nom].elements[total_tempo];
		if(ligne){
			if(valeur_ventile == ""){valeur_ventile += "("+ligne.name+" == 0)";}
			else {valeur_ventile += " && ("+ligne.name+" == 0)";}
		}
	}
	
	if(ligne_ventile == "") ligne_ventile = true;
	if(libelle_ventile == "") libelle_ventile = true;
	if(valeur_ventile == "") valeur_ventile = true;
	
	if((cadre.value == 0) && (etam.value == 0) && (ouvrier.value == 0) && (apprenti.value == 0) && (brut.value == 0) && (plafonne.value == 0) && (interim.value == 0) && (ligne_ventile) && (libelle_ventile) && (valeur_ventile)){
		if(neant.checked){
			neant.disabled = false;
			cadre.disabled = true;
			etam.disabled = true;
			ouvrier.disabled = true;
			apprenti.disabled = true;
			brut.disabled = true;
			plafonne.disabled = true;
			interim.disabled = true;
			for (var l = 0; l < document.forms[nom].elements.length; l++){
				total_tempo = tempo+l;		
				ligne = document.forms[nom].elements[total_tempo];
				if(ligne){ligne.disabled = true;}
			}
			for (var k = 1; k < 8; k++){
				total_tempo = tempo2+k;
				ligne = document.forms[nom].elements[total_tempo];
				if(ligne){ligne.disabled = true;}
			}
			for (var k = 1; k < 8; k++){
				total_tempo = tempo3+k;
				ligne = document.forms[nom].elements[total_tempo];
				if(ligne){ligne.disabled = true;}
			}
		}
		else{
			neant.disabled = false;
			cadre.disabled = false;
			etam.disabled = false;
			ouvrier.disabled = false;
			apprenti.disabled = false;
			brut.disabled = false;
			plafonne.disabled = false;
			interim.disabled = false;
			for (var l = 0; l < document.forms[nom].elements.length; l++){
				total_tempo = tempo+l;		
				ligne = document.forms[nom].elements[total_tempo];
				if(ligne){ligne.disabled = false;}
			}
			for (var k = 1; k < 8; k++){
				total_tempo = tempo2+k;
				ligne = document.forms[nom].elements[total_tempo];
				if(ligne){ligne.disabled = false;}
			}
			for (var k = 1; k < 8; k++){
				total_tempo = tempo3+k;
				ligne = document.forms[nom].elements[total_tempo];
				if(ligne){ligne.disabled = false;}
			}
		}
	}else{
		neant.checked = false;
		neant.disabled = true;
	}
	return true;
}

function Change_DS_Comp_Periode(){
	Change_Field_Value("formu", "action", "reload");
	document.forms["formu"].elements["jsactif"].value = 'ok';
	document.forms["formu"].submit();
	return true;
}
/****************** Pré Adhésion ******************/
function Check_Siren(nom, champ){
	var check_char;
	var impair = 0;
	var pair = 0;
	var somme;
	var message = "";
	if (!Longueur_Fixe(nom, champ, 9) || (document.forms[nom].elements[champ].value=="000000000")){
		message += "\t - Le champ SIREN doit comporter 9 chiffres.\n";
		return message;
	}else{
		//rang impair
		for (var i=document.forms[nom].elements[champ].value.length; i>0; i-=2){
			check_char = document.forms[nom].elements[champ].value.charAt(i-1);
			if(check_char.length > 1){
				for(var j=0; j<check_char.length; j++){
					impair += parseInt(check_char.charAt(j));
				}
			}else impair += parseInt(check_char);
		}
		//rang pair
		for (var i=document.forms[nom].elements[champ].value.length; i>1; i-=2){
			check_char = parseInt(document.forms[nom].elements[champ].value.charAt(i-2));
			check_char = String(check_char*2);
			if(check_char.length > 1){
				for(var j=0; j<check_char.length; j++){
					pair += parseInt(check_char.charAt(j));
				}
			}else pair += parseInt(check_char);
		}
		//somme
		somme = pair+impair;
		if(somme%10 != 0) message += "\t - Le champ SIREN n'est pas valide";
		return message;
	}
}

function Grise_Ou_Pas_Pre_Adhesion(nom)
{
	var salarie = document.forms[nom].elements["salarie"];
	var date_debut = document.forms[nom].elements["date_debut"];
	var effectif = document.forms[nom].elements["effectif"];

	if(Tester_Radio(nom, 'salarie')){
		for(var k=0; k<salarie.length; k++){
			if ((salarie[k].checked)&&(salarie[k].value == 'O')) {
				date_debut.disabled = false;
				effectif.disabled = false;
			} else if ((salarie[k].checked)&&(salarie[k].value == 'N')) {
				date_debut.value="";
				date_debut.disabled = true;
				effectif.disabled = true;
			}
		}
	} else {
		date_debut.disabled = true;
		effectif.disabled = true;
	}
	return true;
}
function Verif_pre_adhesion(nom,date)
{
	var message = "";
	var msg_siren;
	var envoi_formulaire = true;
	var champ_focus = "";
	if ((Is_Vide(nom,'RS_1')) && (Is_Vide(nom,'RS_2'))){
		message += "\t - Remplissez au moins un champ RAISON SOCIALE.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "RS_1";
	}
	if ((Is_Vide(nom,'adr_1')) && (Is_Vide(nom,'adr_2')) && (Is_Vide(nom,'adr_3'))){
		message += "\t - Remplissez au moins un champ ADRESSE du siège social.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "adr_1";
	}
	if (Is_Vide(nom,'cp')){
		message += "\t - Remplissez le champ CODE POSTAL du siège social.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "cp";
	}
	if (!Is_Numerique(nom, 'cp')){
		message += "\t - Le champ CODE POSTAL doit être numérique du siège social.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "cp";
	}
	if (!Longueur_Fixe(nom, 'cp', 5)){
		message += "\t - Le champ CODE POSTAL doit comporter 5 chiffres du siège social.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "cp";
	}
	if (Is_Vide(nom,'ville')){
		message += "\t - Remplissez le champ VILLE du siège social.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "ville";
	}
	if(Valeur(nom, 'siren') != ''){
		if (!Is_Numerique(nom, 'siren')){
			message += "\t - Le champ SIREN doit être numérique.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "siren";
		}
		msg_siren = Check_Siren(nom, 'siren');
		if(msg_siren != ""){
			message += msg_siren;
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "siren";
		}
	}
	if(Valeur(nom, 'activite') == 'no'){
		message += "\t - Le champ ACTIVITE doit être précisé.\n";
		envoi_formulaire = false;
	}
	if(!Tester_Radio(nom, 'salarie'))
	{
		message += "\t - Le champ EMPLOI SALARIE doit être précisé.\n";
		envoi_formulaire = false;
	}
	else
	{
		var champ_salarie = document.forms[nom].elements['salarie'];
		var champ_datedebut = document.forms[nom].elements['date_debut'];
		var champ_effectif = document.forms[nom].elements['effectif'];
		for(var k=0; k<champ_salarie.length; k++)
		{
			if((champ_salarie[k].checked)&&(champ_salarie[k].value == 'O'))
			{
					if (verif_annee(document.forms['formu'].elements['date_debut'],date,'formu','date_debut')==false)
					{
						message += "\t - La DATE DE DEBUT n'est pas correcte (format ou cohérence).\n";
						envoi_formulaire = false;
					}
					if (Is_Vide(nom,'effectif')){
						message += "\t - L'EFFECTIF doit être spécifié.\n";
						envoi_formulaire = false;
						if (champ_focus == "") champ_focus = "effectif";
					}
			}
		}
	}
	if	(	!Is_Vide(nom,'adr_expe_1') || !Is_Vide(nom,'adr_expe_2') || !Is_Vide(nom,'adr_expe_3') || !Is_Vide(nom,'expe_cp') || !Is_Vide(nom,'expe_ville') )
	{
		if ( Is_Vide(nom,'adr_expe_1') || Is_Vide(nom,'expe_cp') || Is_Vide(nom,'expe_ville')	)
		{
			message += "\n\nADRESSE d'EXPEDITION.\n"
			message += "Si vous voulez recevoir vos documents à une adresse différente du siège social,\n";
			message += " l'adresse spécifiée doit être complète.\n Sinon, laissez les champs vides. \n";
			if ( (Is_Vide(nom,'adr_expe_1')) && (Is_Vide(nom,'adr_expe_2')) && (Is_Vide(nom,'adr_expe_3')))
			{
				message += "\t - Remplissez au moins un champ ADRESSE d'EXPEDITION.\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "adr_expe_1";
			}
			if (Is_Vide(nom,'expe_cp'))
			{
				message += "\t - Remplissez le champ CODE POSTAL d'EXPEDITION.\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "expe_cp";
			}
			if (!Is_Numerique(nom, 'expe_cp'))
			{
				message += "\t - Le champ CODE POSTAL d'EXPEDITION doit être numérique.\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "expe_cp";
			}
			if (!Longueur_Fixe(nom, 'expe_cp', 5))
			{
				message += "\t - Le champ CODE POSTAL d'EXPEDITION doit comporter 5 chiffres.\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "expe_cp";
			}
			if (Is_Vide(nom,'expe_ville'))
			{
				message += "\t - Remplissez le champ VILLE d'EXPEDITION.\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "expe_ville";
			}
		}
	}
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(nom, champ_focus);
	}
	return envoi_formulaire;
}

/******** CABINETS COMPTABLES ***********/
function Verif_ccpass(formulaire){
	var message = "";
	var envoi_formulaire = true;
	var champ_focus = "";
	
	if ((Is_Vide(formulaire,'old_pass'))||(Is_Vide(formulaire,'new_pass'))){
		message += "\t - Remplissez les deux champs MOT DE PASSE.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "old_pass";
	}
	if ((Valeur(formulaire,'old_pass'))!=(Valeur(formulaire,'new_pass'))){
		message += "\t - Les valeurs des deux champs sont différentes.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "new_pass";
	}
	//si il n'y a pas d'erreur on fait un controle supp.
	if(envoi_formulaire){
		if(Valeur(formulaire,'old_pass').length < 5){
			message += "\t - Le champs mot de passe doit être de 5 caractères minimum.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "old_pass";
		}
	}
	
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(formulaire, champ_focus);
	}
	return envoi_formulaire;
}
/****************** Espace Adhérent ******************/
function Verif_Nouvel_adherent(nom){
	var message = "";
	var envoi_formulaire = true;
	var champ_focus = "";
	
	if (Is_Vide(nom,'nom')){
		message += "\t - Remplissez le champ NOM.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "nom";
	}
	if (Is_Vide(nom,'prenom')){
		message += "\t - Remplissez le champ PRENOM.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "prenom";
	}
	if (Is_Vide(nom,'code')){
		message += "\t - Complétez le champ IDENTIFIANT.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "code";
	}
	if (Is_Vide(nom,'pass')){
		message += "\t - Remplissez le champ MOT DE PASSE.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "pass";
	}
	if(document.forms[nom].elements['pass'].value.length < 5){
		message += "\t - Le MOT DE PASSE doit comporter au moins 5 caractères.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "pass";
	}
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(nom, champ_focus);
	}
	return envoi_formulaire;
}

function Verif_Modif_adherent(nom){
	var message = "";
	var envoi_formulaire = true;
	var champ_focus = "";
	
	if (Is_Vide(nom,'pwd')){
		message += "\t - Remplissez le champ MOT DE PASSE.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "pwd";
	}
	if(document.forms[nom].elements['pwd'].value.length < 5){
		message += "\t - Le MOT DE PASSE doit comporter au moins 5 caractères.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "pwd";
	}
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(nom, champ_focus);
	}
	return envoi_formulaire;
}

function Verif_Modif_Passe_Salarie(formulaire){
	var message = "";
	var envoi_formulaire = true;
	var champ_focus = "";
	
	if (Is_Vide(formulaire,'old_pass')){
		message += "\t - Remplissez le champ NOUVEAU MOT DE PASSE.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "old_pass";
	}
	if (Is_Vide(formulaire,'new_pass')){
		message += "\t - Remplissez le champ CONFIRMATION DE NOUVEAU MOT DE PASSE.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "new_pass";
	}
	if(Valeur(formulaire, 'new_pass') != Valeur(formulaire, 'old_pass')){
		message += "\t - Les champs NOUVEAU MOT DE PASSE et CONFIRMATION DE NOUVEAU MOT DE PASSE doivent être équivalent.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "old_pass";
	}
	if((!Valeur(formulaire, 'old_pass').match(/^[0-9]{4}$/))||(!Valeur(formulaire, 'new_pass').match(/^[0-9]{4}$/))){
		message += "\t - Le MOT DE PASSE doit comporter EXACTEMENT 4 caractères numériques.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "old_pass";
	}
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(formulaire, champ_focus);
	}
	return envoi_formulaire;
}

//consultation des droits du salaries
function Verif_Nir(nom){
	var message = "";
	var envoi_formulaire = true;
	var champ_focus = "";
	if (Is_Vide(nom,'nir')) {
	alert("\t - Si vous remplissez le NIR, \n celui ci doit comporter au moins 13 caractères.\n");return false;}
	if((!Is_Vide(nom,'nir'))&&(document.forms[nom].elements['nir'].value.length < 13)){
		message += "\t - Si vous remplissez le NIR, \n celui ci doit comporter au moins 13 caractères.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "nir";
	}
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(nom, champ_focus);
	}
	return envoi_formulaire;
}

function Verif_Nir_v2(nom){
	var message = "";
	var envoi_formulaire = true;
	var champ_focus = "";
	var NIR = Valeur(nom, 'nir');
	var message_NIR = false;
	
	if (Is_Vide(nom,'nir')) {
		message += "\t - Le NIR doit être renseigné.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "nir";
	}
	if(!Valeur(nom, 'nir').match(/^[0-9]*$/)){
		message += "\t - Le NIR doit être numérique.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "nir";
	}
	if((!Is_Vide(nom,'nir'))&&(document.forms[nom].elements['nir'].value.length < 5)){
		message += "\t - Le NIR complet doit comporter 13 caractères.\n";
		message += "Si vous ne le connaissez pas entièrement, précisez au moins 5 caractères.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "nir";
	}
	if((!Is_Vide(nom,'nir'))&&(document.forms[nom].elements['nir'].value.length >= 5)){
		if((NIR.substr(0,1) != 1)&&(NIR.substr(0,1) != 2)){
			if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
			message_NIR = true;
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "nir";
		}
		if((NIR.substr(7,3) != "")&&(NIR.substr(7,3) == "000")){
			if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
			message_NIR = true;
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "nir";
		}
		if((NIR.substr(10,3) != "")&&(NIR.substr(10,3) == "000")){
			if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
			message_NIR = true;
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "nir";
		}
		
	}
	
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(nom, champ_focus);
	}
	return envoi_formulaire;
}

function verif_consult_salaries(formulaire)
{
	if(document.forms[formulaire].elements['nir'].value.length != 0)
	{	
		if (Verif_Nir(formulaire)== false)
		{
			return false;
		}
		else
			return true;
	}
	if(document.forms[formulaire].elements['nom'].value.length == "")
	{
		alert('Veuillez entrer un nom ou un NIR');	
		return false;
	}
	return true;
}

//Saisie Certificats
function Verif_Saisie_Certificat(formulaire, action){
	var message = "";
	var message_nb = "";
	var envoi_formulaire = true;
	var champ_focus = "";
	var tempo_msg = "";
	
	//NIR
	if (Is_Vide(formulaire,'nir')) {
		message += "\t - Le NIR doit être renseigné.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "nir";
	}
	if(!Valeur(formulaire, 'nir').match(/^[0-9]*$/)){
		message += "\t - Le NIR doit être numérique.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "nir";
	}
	if((!Is_Vide(formulaire,'nir'))&&(document.forms[formulaire].elements['nir'].value.length < 5)){
		message += "\t - Le NIR complet doit comporter 13 caractères.\n";
		message += "Si vous ne le connaissez pas entièrement, précisez au moins 5 caractères.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "nir";
	}
	var NIR = Valeur(formulaire, 'nir');
	var message_NIR = false;
	if((!Is_Vide(formulaire,'nir'))&&(document.forms[formulaire].elements['nir'].value.length >= 5)){
		if((NIR.substr(0,1) != 1)&&(NIR.substr(0,1) != 2)){
			if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
			message_NIR = true;
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "nir";
		}
		if((NIR.substr(7,3) != "")&&(NIR.substr(7,3) == "000")){
			if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
			message_NIR = true;
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "nir";
		}
		if((NIR.substr(10,3) != "")&&(NIR.substr(10,3) == "000")){
			if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
			message_NIR = true;
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "nir";
		}
		//DEPARTEMENT DE NAISSANCE
		if(((eval(NIR.substr(5,2)) >= 1)&&(eval(NIR.substr(5,2)) <= 90))||((eval(NIR.substr(5,2)) >= 95)&&(eval(NIR.substr(5,2)) <= 98))){
			if((eval(NIR.substr(3,2)) < 1)||(eval(NIR.substr(3,2)) > 12)){
				if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
				message_NIR = true;
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "nir";
			}
		}
		else if(((eval(NIR.substr(5,2)) >= 91)&&(eval(NIR.substr(5,2)) <= 94))||((eval(NIR.substr(5,2)) == 99))){
			if(!(((eval(NIR.substr(3,2)) >= 0)&&(eval(NIR.substr(3,2)) <= 12))||(eval(NIR.substr(3,2)) >= 20)&&(eval(NIR.substr(3,2)) <= 99))){
				if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
				message_NIR = true;
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "nir";
			}
		}
	}
	//CLE
	if (!Is_Vide(formulaire,'cle')) {
		if((Is_Vide(formulaire,'nir'))||(document.forms[formulaire].elements['nir'].value.length < 13)){
			message += "\t - Le NIR est incomplet, la clé ne peut être saisie.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "nir";
		}else{
			if(!is_Int(formulaire, 'cle')){
				message += "\t - La clé est incorrecte.\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "nir";
			}else if(document.forms[formulaire].elements['cle'].value.length < 2){
				message += "\t - La clé est incorrecte.\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "nir";
			}else{
				var valeur = eval(97-(eval(Valeur(formulaire,'nir'))%97));
				if(valeur != eval(Valeur(formulaire,'cle'))){
					message += "\t - La clé est incorrecte.\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = "nir";
				}
			}
		}
	}
	//DEPARTEMENT DE NAISSANCE
	//NOM
	if (Is_Vide(formulaire,'nom')) {
		message += "\t - Le NOM doit être renseigné.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "nom";
	}
	//PRENOM
	if (Is_Vide(formulaire,'prenom')) {
		message += "\t - Le PRENOM doit être renseigné.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "prenom";
	}
	//DATE DE NAISSANCE
	if (Is_Vide(formulaire,'date_naissance')) {
		message += "\t - Le DATE DE NAISSANCE doit être renseignée.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "date_naissance";
	}else if(Valeur(formulaire, 'date_naissance').match(/^[\/]{2}$/)){
		message += "\t - Le DATE DE NAISSANCE doit être renseignée.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "date_naissance";
	}else{
		if(!Verif_Saisie_Date(formulaire, 'date_naissance')){
			message += "\t - La DATE DE NAISSANCE est incorrecte - Seuls les caractères numériques et le séparateur \'/\' sont acceptés \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "date_naissance";
		}else if(!Verif_Format_Date(formulaire, 'date_naissance')){
			message += "\t - La DATE DE NAISSANCE est incorrecte -  Le format de date valide est JJ/MM/AAAA \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "date_naissance";
		}else if(!Check_Valid_Date(formulaire, 'date_naissance')){
			message += "\t - La DATE DE NAISSANCE est incorrecte - La date est invalide \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "date_naissance";
		}else{
			date_courante = new Date;
			tab_date = document.forms[formulaire].elements["date_naissance"].value.split("/");
			if(tab_date[2] > (date_courante.getFullYear()-15)){
				message += "\t - L'année de la DATE DE NAISSANCE est incohérente par rapport à l'année en cours.\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "date_naissance";
			}
			if(tab_date[2] < (date_courante.getFullYear()-100)){
				message += "\t - L'année de la DATE DE NAISSANCE est incohérente par rapport à l'année en cours.\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "date_naissance";
			}
			if(eval(tab_date[2].substr(2,2)) != (eval(NIR.substr(1,2)))){
				message += "\t - L'année de la DATE DE NAISSANCE doit correspondre à l'année du NIR.\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "date_naissance";
			}
		}
	}
	//NATIONALITE
	if (Is_Vide(formulaire,'nationalite')) {
		message += "\t - La NATIONALITE doit être renseignée.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "nationalite";
	}
	//ADRESSE
	if ((Is_Vide(formulaire,'adresse1'))&&(Is_Vide(formulaire,'adresse2'))&&(Is_Vide(formulaire,'adresse3'))&&(Is_Vide(formulaire,'adresse4'))){
		message += "\t - Le champ N° / RUE de l'ADRESSE doit être renseigné.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "adresse1";
	}else if(Is_Vide(formulaire,'adresse3')){
		message += "\t - Le champ N° / RUE de l'ADRESSE doit être renseigné.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "adresse3";
	}
	if (Is_Vide(formulaire,'adresse_cp')) {
		message += "\t - Le CODE POSTAL doit être renseigné.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "adresse_cp";
	}else if(!Verif_Postal_Code(formulaire, 'adresse_cp')){
		message += "\t - Le CODE POSTAL doit être numérique et sur 5 chiffres.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "adresse_cp";
	}
	if (Is_Vide(formulaire,'adresse_ville')) {
		message += "\t - Le BUREAU DISTRIBUTEUR doit être renseigné.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "adresse_ville";
	}
	//DATE DE DEBUT ET FIN DE TRAVAIL
	if (Is_Vide(formulaire,'periode_1')) {
		message += "\t - La DATE DE DEBUT DE TRAVAIL doit être renseignée.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "periode_1";
	}else{
		if(!Verif_Saisie_Date(formulaire, 'periode_1')){
			message += "\t - La DATE DE DEBUT DE TRAVAIL est incorrecte - Seuls les caractères numériques et le séparateur \'/\' sont acceptés \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "periode_1";
		}else if(!Verif_Format_Date(formulaire, 'periode_1')){
			message += "\t - La DATE DE DEBUT DE TRAVAIL est incorrecte -  Le format de date valide est JJ/MM/AAAA \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "periode_1";
		}else if(!Check_Valid_Date(formulaire, 'periode_1')){
			message += "\t - La DATE DE DEBUT DE TRAVAIL est incorrecte - La date est invalide \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "periode_1";
		}
	}
	if (Is_Vide(formulaire,'periode_2')) {
		message += "\t - La DATE DE FIN DE TRAVAIL doit être renseignée.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "periode_2";
	}else{
		if(!Verif_Saisie_Date(formulaire, 'periode_2')){
			message += "\t - La DATE DE FIN DE TRAVAIL est incorrecte - Seuls les caractères numériques et le séparateur \'/\' sont acceptés \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "periode_2";
		}else if(!Verif_Format_Date(formulaire, 'periode_2')){
			message += "\t - La DATE DE FIN DE TRAVAIL est incorrecte -  Le format de date valide est JJ/MM/AAAA \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "periode_2";
		}else if(!Check_Valid_Date(formulaire, 'periode_2')){
			message += "\t - La DATE DE FIN DE TRAVAIL est incorrecte - La date est invalide \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "periode_2";
		}
		tab_exercice_debut = document.forms[formulaire].elements["exercice_debut"].value.split("|");
		tab_exercice_fin = document.forms[formulaire].elements["exercice_fin"].value.split("|");
		var message_ok = "";
		for(var k=0; k<tab_exercice_debut.length; k++){
			valeur1 = Verif_Diff_Date2(tab_exercice_debut[k], Valeur(formulaire, 'periode_2'));
			valeur2 = Verif_Diff_Date2(Valeur(formulaire, 'periode_2'), tab_exercice_fin[k]);
			if((valeur1 == 1)||(valeur2 == 1)) message_ok = message_ok+"1";
			else message_ok = message_ok+"0";
		}
		if(message_ok == "111"){
			var val_debut = tab_exercice_fin[0].substr(6,4);
			var val_fin = tab_exercice_fin[(tab_exercice_fin.length)-1].substr(6,4);
			message += "\t - la période de TRAVAIL doit appartenir à un exercice compris entre "+val_debut+" et "+val_fin+"\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "periode_2";
		}
	}
	if ((!Is_Vide(formulaire,'periode_1'))&&(!Is_Vide(formulaire,'periode_2'))){
		var valeur = Verif_Diff_Date(formulaire, 'periode_1', 'periode_2');
		var debut_exercice_periode_1 = "01/04/";
		var debut_exercice_periode_2 = "01/04/";
		tab_date = document.forms[formulaire].elements["periode_1"].value.split("/");
		if(eval(tab_date[1]) >= 4) debut_exercice_periode_1 += (eval(tab_date[2])+1);
		else debut_exercice_periode_1 += tab_date[2];
		tab_date = document.forms[formulaire].elements["periode_2"].value.split("/");
		if(eval(tab_date[1]) >= 4) debut_exercice_periode_2 += (eval(tab_date[2])+1);
		else debut_exercice_periode_2 += tab_date[2];
		if(valeur == 1){
			message += "\t - La DATE DE FIN DE TRAVAIL doit être supérieure ou égale à la DATE DE DEBUT DE TRAVAIL\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "periode_1";
		}
		if(debut_exercice_periode_1 != debut_exercice_periode_2){
			message += "\t - La DATE DE DEBUT DE TRAVAIL doit être sur le même exercice que la DATE DE FIN\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "periode_1";
		}
	}
	tab_exercice_debut = document.forms[formulaire].elements["exercice_debut"].value.split("|");
	tab_exercice_fin = document.forms[formulaire].elements["exercice_fin"].value.split("|");
	var exercice_ok = 0;
	for(var k=0; k<tab_exercice_debut.length; k++){
		valeur1 = Verif_Diff_Date2(tab_exercice_debut[k], Valeur(formulaire, 'periode_1'));
		valeur2 = Verif_Diff_Date2(Valeur(formulaire, 'periode_1'), tab_exercice_fin[k]);
		valeur3 = Verif_Diff_Date2(tab_exercice_debut[k], Valeur(formulaire, 'periode_2'));
		valeur4 = Verif_Diff_Date2(Valeur(formulaire, 'periode_2'), tab_exercice_fin[k]);
		if((valeur1 != 1)&&(valeur2 != 1)&&(valeur3 != 1)&&(valeur4 != 1)) exercice_ok = 1;
	}
	if(exercice_ok == 0){
		message += "\t - La PERIODE DE TRAVAIL n'appartient pas à un exercice existant\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "periode_1";
	}
	//ANCIENNETE
	if(!Is_Vide(formulaire,'anciennete_entreprise')){
		var my_valeur = Valeur(formulaire,'anciennete_entreprise');
		if(!my_valeur.match(/^[0-9]*$/)){
			message += "\t - L\'ANCIENNETE ENTREPRISE doit être numérique, et sur 2 caractères maximum.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "anciennete_entreprise";
		}
	}
	if(!Is_Vide(formulaire,'anciennete_profession')){
		var my_valeur = Valeur(formulaire,'anciennete_profession');
		if(!my_valeur.match(/^[0-9]*$/)){
			message += "\t - Le L\'ANCIENNETE PROFESSION doit être numérique, et sur 2 caractères maximum.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "anciennete_profession";
		}
	}
	//METIER
	if (Is_Vide(formulaire,'metier')) {
		message += "\t - Le METIER doit être renseigné.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "metier";
	}
	//CLASSIFICATION
	if (Is_Vide(formulaire,'classification')) {
		message += "\t - Le CLASSIFICATION doit être renseignée.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "classification";
	}
	//TEMPS DE TRAVAIL 
	if (!Is_Vide(formulaire,'temps_travail_1')) {
		if (Is_Vide(formulaire,'temps_travail_2')) {
			message += "\t - L'UNITE DU TEMPS DE TRAVAIL doit être renseignée si le TEMPS DE TRAVAIL est renseigné\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "temps_travail_2";
		}
		if(!is_Int(formulaire, 'temps_travail_1')){
			message += "\t - Le TEMPS DE TRAVAIL doit être entier et numérique si il est renseigné\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "temps_travail_1";
		}else if(Valeur(formulaire, 'temps_travail_2') == "m"){
			if(!Valeur(formulaire, 'temps_travail_1').match(/^[0-9]{4}$/)){
				message += "\t - Vous avez choisi un TEMPS DE TRAVAIL mensuel, il doit donc être sur 4 caractères.\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "temps_travail_1";
			}
			else{
				if((Valeur(formulaire, 'temps_travail_1')).length == 3){
					var t_mois = eval(Valeur(formulaire, 'temps_travail_1').substr(0,1));
					var t_jours = eval(Valeur(formulaire, 'temps_travail_1').substr(1,2));
				}else{
					var t_mois = eval(Valeur(formulaire, 'temps_travail_1').substr(0,2));
					var t_jours = eval(Valeur(formulaire, 'temps_travail_1').substr(2,2));
				}
				if((t_mois == 12)&&(t_jours != 0)){
					message += "\t - Vous avez choisi un TEMPS DE TRAVAIL mensuel, mais celui ci est incorrect\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = "temps_travail_1";
				}else if((t_mois > 12)||(t_jours > 29)){
					message += "\t - Vous avez choisi un TEMPS DE TRAVAIL mensuel, mais celui ci est incorrect\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = "temps_travail_1";
				}
			}
		}
	}
	if (!Is_Vide(formulaire,'temps_travail_2')) {
		if (Is_Vide(formulaire,'temps_travail_1')) {
			message += "\t - Le TEMPS DE TRAVAIL doit être renseigné si le l'UNITE du TEMPS DE TRAVAIL est renseignée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "temps_travail_2";
		}
	}
	//HORAIRE SALARIE
	if (Is_Vide(formulaire,'horaire1')) {
		message += "\t - L\'HORAIRE SALARIE doit être renseigné.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "horaire1";
	}else{
		var my_valeur = Valeur(formulaire,'horaire1');
		if(!my_valeur.match(/^[0-9]*$/)){
			message += "\t - L\'HORAIRE SALARIE doit être numérique et sur 3 caractères maximum.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "horaire1";
		}
	}
	if (Is_Vide(formulaire,'horaire2')) {
		message += "\t - L\'UNITE de l'HORAIRE SALARIE doit être renseignée.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "horaire2";
	}
	//RETRAITE COMPLEMENTAIRE
	if (Is_Vide(formulaire,'retraite_comp')) {
		message += "\t - La RETRAITE COMPLEMENTAIRE doit être renseignée.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "retraite_comp";
	}else{
		if(((Valeur(formulaire, 'retraite_comp') == 'C')||(Valeur(formulaire, 'retraite_comp') == 'E'))&&(document.forms[formulaire].elements["classification"].value.lastIndexOf("OUVRIER") > 0)){
			//CONTROLE NON BLOQUANT
			message_nb += "\t - LA RETRAITE COMPLEMENTAIRE ne peut pas être une retraite ETAM ou CADRE car vous avez choisi une qualification OUVRIER\n";
			//envoi_formulaire = false;
			//if (champ_focus == "") champ_focus = "retraite_comp";
		}
	}
	//ABATTEMENT
	if (Is_Vide(formulaire,'abattement')) {
		message += "\t - L\'ABATTEMENT doit être renseigné.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "abattement";
	}
	//ASSEDIC
	if(document.forms[formulaire].elements["assedic"].checked == true){
		if (!Is_Vide(formulaire,'classification')){
			var tab_val = document.forms[formulaire].elements["classification"].value.split("::");
			var tab_assedic = tab_val[1].split("/");
			if(tab_assedic[0] == "O"){
				//controle non bloquant
				message_nb += "\t - Si vous avez coché la case ASSEDIC la CLASSIFICATION doit autoriser l'absence d'assedic\n";
				//envoi_formulaire = false;
				//if (champ_focus == "") champ_focus = "assedic";
			}
		}
	}
	//CDD
	//RENUMERE TACHE
	if(document.forms[formulaire].elements["renum_tache"].checked == true){
		if(document.forms[formulaire].elements["classification"].value.lastIndexOf("CADRE") > 0){
			message += "\t - Si vous avez coché la case RENUMERE A LA TACHE le champs CLASSIFICATION ne doit pas correspondre à une qualification CADRE\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "renum_tache";
		}
		if(document.forms[formulaire].elements["classification"].value.lastIndexOf("ETAM") > 0){
			//controle non bloquant
			message_nb += "\t - Si vous avez coché la case RENUMERE A LA TACHE le champs CLASSIFICATION ne doit pas correspondre à une qualification ETAM\n";
			//envoi_formulaire = false;
			//if (champ_focus == "") champ_focus = "renum_tache";
		}
	}
	//APPRENTI
	//TAUX HORAIRE MOYEN OU MENSUEL
	if (!Is_Vide(formulaire,'thm_ou_sm')) {
		if(!IsNum(Valeur(formulaire, 'thm_ou_sm'))){
			message += "\t - Le TAUX HORAIRE MOYEN OU SALAIRE MENSUEL doit être numérique et décimal si il est renseigné\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "thm_ou_sm";
		}else{
			if(!Nombre_Decimal(formulaire, 'thm_ou_sm', 8, 2)){
				message += "\t - Le TAUX HORAIRE MOYEN OU SALAIRE MENSUEL doit être décimal (8 entiers et 2 décimales) si il est renseigné\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "thm_ou_sm";
			}
		}
		/*if(Valeur(formulaire, 'temps_travail_2') != "h"){
			message += "\t - Si vous renseignez le TAUX HORAIRE MOYEN ,le TEMPS DE TRAVAIL doit être en heures\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "thm_ou_sm";
		}*/
		if (Is_Vide(formulaire,'thm_ou_sm_2')) {
			message += "\t - Si vous renseignez le TAUX HORAIRE MOYEN OU SALAIRE MENSUEL, spécifiez l\'UNITE\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "thm_ou_sm_2";
		}else{
			if(Valeur(formulaire, 'thm_ou_sm_2') == "h"){
				if(document.forms[formulaire].elements["classification"].value.lastIndexOf("CADRE") > 0){
					message += "\t - Si vous renseignez le TAUX HORAIRE MOYEN ,la CLASSIFICATION ne pas correspondre à une qualification CADRE\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = "thm_ou_sm";
				}
			}
		}
	}
	//SALAIRE TOTAL BRUT
	if (!Is_Vide(formulaire,'temps_travail_1')) {
		if (Is_Vide(formulaire,'total_brut')){
			message += "\t - Si vous renseignez le TEMPS DE TRAVAIL, spécifiez le TOTAL BRUT\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "total_brut";
		}
	}
	if (!Is_Vide(formulaire,'total_brut')) {
		if(!is_Int(formulaire, 'total_brut')){
			message += "\t - Le SALAIRE TOTAL BRUT doit être numérique et entier\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "total_brut";
		}else if(((Is_Vide(formulaire,'total_brut'))||(Valeur(formulaire, 'total_brut') == 0))&&(!Is_Vide(formulaire,'temps_travail_1'))){
			message += "\t - Si vous renseignez le TEMPS DE TRAVAIL, spécifiez le TOTAL BRUT\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "total_brut";
		}
		if(!Is_Vide(formulaire,'classification')){
			var tab_val = document.forms[formulaire].elements["classification"].value.split("::");
			var tab_val2 = tab_val[1].split("/");
			if (Valeur(formulaire,'temps_travail_2') == "h"){
				var seuil = tab_val2[1]*Valeur(formulaire,'temps_travail_1');
				if(is_Int(formulaire, 'total_brut')){
					if (eval(Valeur(formulaire,'total_brut')) > seuil){
						//CONTROLE NON BLOQUANT
						message_nb += "\t - Vérifiez la cohérence entre le SALAIRE TOTAL BRUT et la CLASSIFICATION\n";
						//envoi_formulaire = false;
						//if (champ_focus == "") champ_focus = "total_brut";
					}
				}
			}
			if (Valeur(formulaire,'temps_travail_2') == "m"){
				if((Valeur(formulaire, 'temps_travail_1')).length == 3){
					var mois = eval(Valeur(formulaire, 'temps_travail_1').substr(0,1));
					var jour = eval(Valeur(formulaire, 'temps_travail_1').substr(1,2));
				}else{
					var mois = eval(Valeur(formulaire, 'temps_travail_1').substr(0,2));
					var jour = eval(Valeur(formulaire, 'temps_travail_1').substr(2,2));
				}
				/*var arrondi = Math.pow(10, 2);
				var valeurt = Math.round((mois+(jour/30)) * arrondi, 0) / arrondi;*/
				var valeurt = mois+(jour/30);
				var seuil = Math.floor(valeurt*parseInt(tab_val2[2]));
				if(is_Int(formulaire, 'total_brut')){
					if (eval(Valeur(formulaire,'total_brut')) > seuil){
						//CONTROLE NON BLOQUANT
						message_nb += "\t - Vérifiez la cohérence entre le SALAIRE TOTAL BRUT et la CLASSIFICATION\n";
						//envoi_formulaire = false;
						//if (champ_focus == "") champ_focus = "total_brut";
					}
				}
			}
		}
	}
	if((!Is_Vide(formulaire, "thm_ou_sm"))&&(!Is_Vide(formulaire, "temps_travail_1"))){
		if((IsNum(Valeur(formulaire, 'thm_ou_sm')))&&(IsNum(Valeur(formulaire, 'temps_travail_1')))){
			if (Valeur(formulaire,'thm_ou_sm_2') == "h"){
				var valeur = (eval(Valeur(formulaire, 'thm_ou_sm'))*(eval(Valeur(formulaire, 'temps_travail_1'))));
			}else{
				if((Valeur(formulaire, 'temps_travail_1')).length == 3){
					var valeur = (eval(Valeur(formulaire, 'thm_ou_sm'))*(eval(Valeur(formulaire, 'temps_travail_1').substr(0,1))+(eval(Valeur(formulaire, 'temps_travail_1').substr(1,2))/30)));
				}else{
					var valeur = (eval(Valeur(formulaire, 'thm_ou_sm'))*(eval(Valeur(formulaire, 'temps_travail_1').substr(0,2))+(eval(Valeur(formulaire, 'temps_travail_1').substr(2,2))/30)));
				}
			}
			if ((!Is_Vide(formulaire,'total_brut'))&&(is_Int(formulaire, 'total_brut'))){
				var salaire = eval(Valeur(formulaire, 'total_brut'));
				if((valeur >= (salaire*1.3))||(salaire >= (1.4*valeur))){
					//CONTROLE NON BLOQUANT
					message_nb += "\t - Le TAUX et le SALAIRE ne semblent pas en rapport : vérifiez les valeurs saisies\n";
					//envoi_formulaire = false;
					//if (champ_focus == "") champ_focus = "total_brut";
				}
			}else{
				//CONTROLE NON BLOQUANT
				message_nb += "\t - Le rapport entre le TAUX et le SALAIRE ne peuvent être vérifiées; le SALAIRE doit être numérique et entier\n";
				//envoi_formulaire = false;
				//if (champ_focus == "") champ_focus = "total_brut";
			}
		}
	}
	//PRIME
	if (!Is_Vide(formulaire,'prime')) {
		if(!is_Int(formulaire, 'prime')){
			message += "\t - Le MONTANT PRIMES doit être numérique et entier si il est renseigné\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "prime";
		}
	}
	//PREAVIS
	
	if (!Is_Vide(formulaire,'preavis')) {
	
		var exercicesList = datesStrToDatesList(formulaire, 'exercice_debut', 'exercice_fin');
		var isInExercice = false;
		for(index in exercicesList){
			valeur1 = Verif_Diff_Date2(document.forms[formulaire].elements['preavis_date1'].value, exercicesList[index].floor);
			valeur2 = Verif_Diff_Date2(document.forms[formulaire].elements['preavis_date2'].value, exercicesList[index].ceil);
			if(valeur1 == 1 && valeur2 == 2){
				document.forms[formulaire].elements['exercice_encours_debut'].value = exercicesList[index].floor;
				document.forms[formulaire].elements['exercice_encours_fin'].value = exercicesList[index].ceil;
			}
		}	
	
		if(!is_Int(formulaire, 'preavis')){
			message += "\t - Le MONTANT PREAVIS doit être numérique et entier si il est renseigné\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "preavis";
		}
		if (Is_Vide(formulaire,'preavis_date1')) {
			message += "\t - Si vous remplissez le PREAVIS, la DATE DE DEBUT DE PREAVIS doit être renseignée.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "preavis_date1";
		}else{
			if(!Verif_Saisie_Date(formulaire, 'preavis_date1')){
				message += "\t - La DATE DE DEBUT DE PREAVIS est incorrecte - Seuls les caractères numériques et le séparateur \'/\' sont acceptés \n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "preavis_date1";
			}else if(!Verif_Format_Date(formulaire, 'preavis_date1')){
				message += "\t - La DATE DE DEBUT DE PREAVIS est incorrecte -  Le format de date valide est JJ/MM/AAAA \n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "preavis_date1";
			}else if(!Check_Valid_Date(formulaire, 'preavis_date1')){
				message += "\t - La DATE DE DEBUT DE PREAVIS est incorrecte - La date est invalide \n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "preavis_date1";
			}else{
				valeur1 = Verif_Diff_Date(formulaire, 'periode_1', 'preavis_date1');
				valeur2 = Verif_Diff_Date(formulaire, 'preavis_date1', 'periode_2');
				if((valeur1 == 1)||(valeur2 == 1)){
					message += "\t - La DATE DE DEBUT DE PREAVIS doit appartenir à la période d\'EXERCICE du certificat\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = "preavis_date1";
				}
			}
		}
		
		if (Is_Vide(formulaire,'preavis_date2')) {
			message += "\t - Si vous remplissez le PREAVIS, la DATE DE FIN DE PREAVIS doit être renseignée.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "preavis_date2";
		}else{
			if(!Verif_Saisie_Date(formulaire, 'preavis_date2')){
				message += "\t - La DATE DE FIN DE PREAVIS est incorrecte - Seuls les caractères numériques et le séparateur \'/\' sont acceptés \n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "preavis_date2";
			}else if(!Verif_Format_Date(formulaire, 'preavis_date2')){
				message += "\t - La DATE DE FIN DE PREAVIS est incorrecte -  Le format de date valide est JJ/MM/AAAA \n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "preavis_date2";
			}else if(!Check_Valid_Date(formulaire, 'preavis_date2')){
				message += "\t - La DATE DE FIN DE PREAVIS est incorrecte - La date est invalide \n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "preavis_date2";
			}else{
				valeur1 = Verif_Diff_Date(formulaire, 'periode_1', 'preavis_date2');
				valeur2 = Verif_Diff_Date(formulaire, 'preavis_date2', 'periode_2');
				if((valeur1 == 1)||(valeur2 == 1)){
					message += "\t - La DATE DE FIN DE PREAVIS doit appartenir à la période d\'EXERCICE du certificat\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = "preavis_date2";
				}
			}
		}
	}
	if (!Is_Vide(formulaire,'preavis_date1')) {
		if((Is_Vide(formulaire,'preavis'))||(Is_Vide(formulaire,'preavis_date2'))){
			message += "\t - Si vous remplissez la DATE DE DEBUT DE PREAVIS, le PREAVIS et LA DATE DE FIN DE PREAVIS doit être renseigné.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "preavis";
		}
	}
	if (!Is_Vide(formulaire,'preavis_date2')) {
		if((Is_Vide(formulaire,'preavis'))||(Is_Vide(formulaire,'preavis_date1'))){
			message += "\t - Si vous remplissez la DATE DE FIN DE PREAVIS, le MONTANT DU PREAVIS et LA DATE DE DEBUT DE PREAVIS doivent être renseignés.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "preavis";
		}
	}
	if ((!Is_Vide(formulaire,'preavis_date1'))&&(!Is_Vide(formulaire,'preavis_date2'))){
		var valeur = Verif_Diff_Date(formulaire, 'preavis_date1', 'preavis_date2');
		if(valeur == 1){
			message += "\t - La DATE DE FIN DE PREAVIS doit être supérieure ou égale à la DATE DE DEBUT DE PREAVIS\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "preavis_date1";
		}
	}

	if ((!Is_Vide(formulaire,'preavis_date1'))&&(!Is_Vide(formulaire,'periode_1'))){
		var valeur = Verif_Diff_Date(formulaire, 'preavis_date1', 'periode_1');
		if(valeur == 2){
			message += "\t - La DATE DE DEBUT DE PREAVIS doit être supérieure ou égale à la DATE DE DEBUT DE LA PERIODE DE TRAVAIL\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "preavis_date1";
		}
	}
	if ((!Is_Vide(formulaire,'preavis_date2'))&&(!Is_Vide(formulaire,'periode_2'))){
		var valeur = Verif_Diff_Date(formulaire, 'preavis_date2', 'periode_2');
		if(valeur != 0){
			message += "\t - La DATE DE FIN DE PREAVIS doit être égale à la DATE DE FIN DE LA PERIODE DE TRAVAIL\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "preavis_date2";
		}
	}
	//DEPART DEFINITIF
	if(!Is_Vide(formulaire,'depart_1')){
		if(!Verif_Saisie_Date(formulaire, 'depart_1')){
			message += "\t - La DATE DE DEPART DEFINITIF est incorrecte - Seuls les caractères numériques et le séparateur \'/\' sont acceptés \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "depart_1";
		}else if(!Verif_Format_Date(formulaire, 'depart_1')){
			message += "\t - La DATE DE DEPART DEFINITIF est incorrecte -  Le format de date valide est JJ/MM/AAAA \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "depart_1";
		}else if(!Check_Valid_Date(formulaire, 'depart_1')){
			message += "\t - La DATE DE DEPART DEFINITIF est incorrecte - La date est invalide \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "depart_1";
		}
		if(Is_Vide(formulaire,'depart_2')){
			message += "\t - Si vous précisez la DATE DE DEPART DEFINITIF, la RAISON DU DEPART DEFINITIF doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "depart_2";
		}
	}
	if(!Is_Vide(formulaire,'depart_2')){
		if(Is_Vide(formulaire,'depart_1')){
			message += "\t - Si vous précisez la RAISON DE DEPART DEFINITIF, la DATE DU DEPART DEFINITIF doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "depart_1";
		}
	}
	//INTEMPERIES
	if(!Is_Vide(formulaire,'intemp_1')){
		if(Is_Vide(formulaire,'intemp_montant')){
			message += "\t - Si vous précisez la DUREE DES INTEMPERIES, le MONTANT DES INTEMPERIES doit être spécifié\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "intemp_montant";
		}
		if(!is_Int(formulaire, 'intemp_1')){
			message += "\t - La durée des INTEMPERIES doit être numérique et entiere si elle est renseignée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "intemp_1";
		}
	}
	if(!Is_Vide(formulaire,'intemp_montant')){
		if(Is_Vide(formulaire,'intemp_1')){
			message += "\t - Si vous précisez le MONTANT DES INTEMPERIES, la DUREE DES INTEMPERIES doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "intemp_1";
		}
		if(!is_Int(formulaire, 'intemp_montant')){
			message += "\t - Le montant des INTEMPERIES doit être numérique et entier si il est renseigné\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "intemp_1";
		}
	}
	//ACCIDENT DE TRAVAIL
	tempo_msg = "";
	if(!Is_Vide(formulaire,'accident_travail_1')){
		if(Is_Vide(formulaire,'accident_travail_2')){
			tempo_msg += "\t - Si vous précisez la DUREE, l'UNITE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "accident_travail_2";
		}
		if(!is_Int(formulaire, 'accident_travail_1')){
			tempo_msg += "\t - La DUREE doit être numérique et entière si elle est renseignée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "accident_travail_1";
		}else if(Valeur(formulaire, 'accident_travail_2') == "m"){
			if(((Valeur(formulaire, 'accident_travail_1')).substr(0,2) == "12")&&((Valeur(formulaire, 'accident_travail_1')).substr(2,2) != "00")){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "accident_travail_1";
			}
			else if((eval((Valeur(formulaire, 'accident_travail_1')).substr(0,2)) > 12)||(eval((Valeur(formulaire, 'accident_travail_1')).substr(2,2)) > 29)){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "accident_travail_1";
			}
		}
	}
	if(!Is_Vide(formulaire,'accident_travail_2')){
		if(Is_Vide(formulaire,'accident_travail_1')){
			tempo_msg += "\t - Si vous précisez l'UNITE, le MONTANT doit être spécifié\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "accident_travail_1";
		}
	}
	if(!Is_Vide(formulaire,'accident_travail_montant')){
		if(Is_Vide(formulaire,'accident_travail_1')){
			tempo_msg += "\t - Si vous précisez le MONTANT, la DUREE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "accident_travail_1";
		}else{
			if(!is_Int(formulaire, 'accident_travail_1')){
				tempo_msg += "\t - La DUREE doit être numérique et entière si elle est renseignée\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "accident_travail_1";
			}
		}
		if(Is_Vide(formulaire,'accident_travail_2')){
			tempo_msg += "\t - Si vous précisez le MONTANT, l'UNITE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "accident_travail_2";
		}
		if(!is_Int(formulaire, 'accident_travail_montant')){
			tempo_msg += "\t - Le MONTANT doit être numérique et entier si il est renseigné\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "accident_travail_montant";
		}
	}
	if(tempo_msg != ""){
		message += "ACCIDENT DE TRAVAIL:\n";
		message += tempo_msg;
	}
	//ACCIDENT DE TRAJET
	tempo_msg = "";
	if(!Is_Vide(formulaire,'accident_trajet_1')){
		if(Is_Vide(formulaire,'accident_trajet_2')){
			tempo_msg += "\t - Si vous précisez la DUREE, l'UNITE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "accident_trajet_2";
		}
		if(!is_Int(formulaire, 'accident_trajet_1')){
			tempo_msg += "\t - La DUREE doit être numérique et entière si elle est renseignée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "accident_trajet_1";
		}else if(Valeur(formulaire, 'accident_trajet_2') == "m"){
			if(((Valeur(formulaire, 'accident_trajet_1')).substr(0,2) == "12")&&((Valeur(formulaire, 'accident_trajet_1')).substr(2,2) != "00")){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "accident_trajet_1";
			}
			else if((eval((Valeur(formulaire, 'accident_trajet_1')).substr(0,2)) > 12)||(eval((Valeur(formulaire, 'accident_trajet_1')).substr(2,2)) > 29)){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "accident_trajet_1";
			}
		}
	}
	if(!Is_Vide(formulaire,'accident_trajet_2')){
		if(Is_Vide(formulaire,'accident_trajet_1')){
			tempo_msg += "\t - Si vous précisez l'UNITE, le MONTANT doit être spécifié\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "accident_trajet_1";
		}
	}
	if(!Is_Vide(formulaire,'accident_trajet_montant')){
		if(Is_Vide(formulaire,'accident_trajet_1')){
			tempo_msg += "\t - Si vous précisez le MONTANT, la DUREE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "accident_trajet_1";
		}else{
			if(!is_Int(formulaire, 'accident_trajet_1')){
				tempo_msg += "\t - La DUREE doit être numérique et entière si elle est renseignée\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "accident_trajet_1";
			}
		}
		if(Is_Vide(formulaire,'accident_trajet_2')){
			tempo_msg += "\t - Si vous précisez le MONTANT, l'UNITE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "accident_trajet_2";
		}
		if(!is_Int(formulaire, 'accident_trajet_montant')){
			tempo_msg += "\t - Le MONTANT doit être numérique et entier si il est renseigné\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "accident_trajet_montant";
		}
	}
	if(tempo_msg != ""){
		message += "ACCIDENT DE TRAJET:\n";
		message += tempo_msg;
	}
	//MALADIE PROFESSIONNELLE
	tempo_msg = "";
	if(!Is_Vide(formulaire,'maladie_pro_1')){
		if(Is_Vide(formulaire,'maladie_pro_2')){
			tempo_msg += "\t - Si vous précisez la DUREE, l'UNITE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maladie_pro_2";
		}
		if(!is_Int(formulaire, 'maladie_pro_1')){
			tempo_msg += "\t - La DUREE doit être numérique et entière si elle est renseignée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maladie_pro_1";
		}else if(Valeur(formulaire, 'maladie_pro_2') == "m"){
			if(((Valeur(formulaire, 'maladie_pro_1')).substr(0,2) == "12")&&((Valeur(formulaire, 'maladie_pro_1')).substr(2,2) != "00")){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "maladie_pro_1";
			}
			else if((eval((Valeur(formulaire, 'maladie_pro_1')).substr(0,2)) > 12)||(eval((Valeur(formulaire, 'maladie_pro_1')).substr(2,2)) > 29)){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "maladie_pro_1";
			}
		}
	}
	if(!Is_Vide(formulaire,'maladie_pro_2')){
		if(Is_Vide(formulaire,'maladie_pro_1')){
			tempo_msg += "\t - Si vous précisez l'UNITE, le MONTANT doit être spécifié\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maladie_pro_1";
		}
	}
	if(!Is_Vide(formulaire,'maladie_pro_montant')){
		if(Is_Vide(formulaire,'maladie_pro_1')){
			tempo_msg += "\t - Si vous précisez le MONTANT, la DUREE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maladie_pro_1";
		}else{
			if(!is_Int(formulaire, 'maladie_pro_1')){
				tempo_msg += "\t - La DUREE doit être numérique et entière si elle est renseignée\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "maladie_pro_1";
			}
		}
		if(Is_Vide(formulaire,'maladie_pro_2')){
			tempo_msg += "\t - Si vous précisez le MONTANT, l'UNITE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maladie_pro_2";
		}
		if(!is_Int(formulaire, 'maladie_pro_montant')){
			tempo_msg += "\t - Le MONTANT doit être numérique et entier si il est renseigné\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maladie_pro_montant";
		}
	}
	if(tempo_msg != ""){
		message += "MALADIE PROFESSIONNELLE:\n";
		message += tempo_msg;
	}
	//MATERNITE
	tempo_msg = "";
	if(!Is_Vide(formulaire,'maternite_1')){
		if(Is_Vide(formulaire,'maternite_2')){
			tempo_msg += "\t - Si vous précisez la DUREE, l'UNITE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maternite_2";
		}
		if(!is_Int(formulaire, 'maternite_1')){
			tempo_msg += "\t - La DUREE doit être numérique et entière si elle est renseignée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maternite_1";
		}else if(Valeur(formulaire, 'maternite_2') == "m"){
			if(((Valeur(formulaire, 'maternite_1')).substr(0,2) == "12")&&((Valeur(formulaire, 'maternite_1')).substr(2,2) != "00")){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "maternite_1";
			}
			else if((eval((Valeur(formulaire, 'maternite_1')).substr(0,2)) > 12)||(eval((Valeur(formulaire, 'maternite_1')).substr(2,2)) > 29)){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "maternite_1";
			}
		}
	}
	if(!Is_Vide(formulaire,'maternite_2')){
		if(Is_Vide(formulaire,'maternite_1')){
			tempo_msg += "\t - Si vous précisez l'UNITE, le MONTANT doit être spécifié\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maternite_1";
		}
	}
	if(!Is_Vide(formulaire,'maternite_montant')){
		if(Is_Vide(formulaire,'maternite_1')){
			tempo_msg += "\t - Si vous précisez le MONTANT, la DUREE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maternite_1";
		}else{
			if(!is_Int(formulaire, 'maternite_1')){
				tempo_msg += "\t - La DUREE doit être numérique et entière si elle est renseignée\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "maternite_1";
			}
		}
		if(Is_Vide(formulaire,'maternite_2')){
			tempo_msg += "\t - Si vous précisez le MONTANT, l'UNITE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maternite_2";
		}
		if(!is_Int(formulaire, 'maternite_montant')){
			tempo_msg += "\t - Le MONTANT doit être numérique et entier si il est renseigné\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maternite_montant";
		}
	}
	if(tempo_msg != ""){
		message += "MATERNITE:\n";
		message += tempo_msg;
	}
	//MALADIE NON PROFESSIONNELLE
	tempo_msg = "";
	if(!Is_Vide(formulaire,'maladie_non_pro_1')){
		if(Is_Vide(formulaire,'maladie_non_pro_2')){
			tempo_msg += "\t - Si vous précisez la DUREE, l'UNITE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maladie_non_pro_2";
		}
		if(!is_Int(formulaire, 'maladie_non_pro_1')){
			tempo_msg += "\t - La DUREE doit être numérique et entière si elle est renseignée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maladie_non_pro_1";
		}else if(Valeur(formulaire, 'maladie_non_pro_2') == "m"){
			if(((Valeur(formulaire, 'maladie_non_pro_1')).substr(0,2) == "12")&&((Valeur(formulaire, 'maladie_non_pro_1')).substr(2,2) != "00")){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "maladie_non_pro_1";
			}
			else if((eval((Valeur(formulaire, 'maladie_non_pro_1')).substr(0,2)) > 12)||(eval((Valeur(formulaire, 'maladie_non_pro_1')).substr(2,2)) > 29)){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "maladie_non_pro_1";
			}
		}
	}
	if(!Is_Vide(formulaire,'maladie_non_pro_2')){
		if(Is_Vide(formulaire,'maladie_non_pro_1')){
			tempo_msg += "\t - Si vous précisez l'UNITE, la DUREE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maladie_non_pro_1";
		}
	}
	if(tempo_msg != ""){
		message += "MALADIE NON PROFESSIONNELLE:\n";
		message += tempo_msg;
	}
	//RECHUTE
	tempo_msg = "";
	if(!Is_Vide(formulaire,'rechute_1')){
		if(Is_Vide(formulaire,'rechute_2')){
			tempo_msg += "\t - Si vous précisez la DUREE, l'UNITE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "rechute_2";
		}
		if(!is_Int(formulaire, 'rechute_1')){
			tempo_msg += "\t - La DUREE doit être numérique et entière si elle est renseignée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "rechute_1";
		}else if(Valeur(formulaire, 'rechute_2') == "m"){
			if(((Valeur(formulaire, 'rechute_1')).substr(0,2) == "12")&&((Valeur(formulaire, 'rechute_1')).substr(2,2) != "00")){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "rechute_1";
			}
			else if((eval((Valeur(formulaire, 'rechute_1')).substr(0,2)) > 12)||(eval((Valeur(formulaire, 'rechute_1')).substr(2,2)) > 29)){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "rechute_1";
			}
		}
	}
	if(!Is_Vide(formulaire,'rechute_2')){
		if(Is_Vide(formulaire,'rechute_1')){
			tempo_msg += "\t - Si vous précisez l'UNITE, la DUREE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "rechute_1";
		}
	}
	if(tempo_msg != ""){
		message += "RECHUTE:\n";
		message += tempo_msg;
	}
	//ADOPTION
	tempo_msg = "";
	if(!Is_Vide(formulaire,'adoption_1')){
		if(Is_Vide(formulaire,'adoption_2')){
			tempo_msg += "\t - Si vous précisez la DUREE, l'UNITE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "adoption_2";
		}
		if(!is_Int(formulaire, 'adoption_1')){
			tempo_msg += "\t - La DUREE doit être numérique et entière si elle est renseignée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "adoption_1";
		}else if(Valeur(formulaire, 'adoption_2') == "m"){
			if(((Valeur(formulaire, 'adoption_1')).substr(0,2) == "12")&&((Valeur(formulaire, 'adoption_1')).substr(2,2) != "00")){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "adoption_1";
			}
			else if((eval((Valeur(formulaire, 'adoption_1')).substr(0,2)) > 12)||(eval((Valeur(formulaire, 'adoption_1')).substr(2,2)) > 29)){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "adoption_1";
			}
		}
	}
	if(!Is_Vide(formulaire,'adoption_2')){
		if(Is_Vide(formulaire,'adoption_1')){
			tempo_msg += "\t - Si vous précisez l'UNITE, la DUREE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "adoption_1";
		}
	}
	if(tempo_msg != ""){
		message += "ADOPTION:\n";
		message += tempo_msg;
	}
	//CHOMAGE PARTIEL
	tempo_msg = "";
	if(!Is_Vide(formulaire,'chomage_partiel_1')){
		if(Is_Vide(formulaire,'chomage_partiel_2')){
			tempo_msg += "\t - Si vous précisez la DUREE, l'UNITE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "chomage_partiel_2";
		}
		if(!is_Int(formulaire, 'chomage_partiel_1')){
			tempo_msg += "\t - La DUREE doit être numérique et entière si elle est renseignée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "chomage_partiel_1";
		}else if(Valeur(formulaire, 'chomage_partiel_2') == "m"){
			if(((Valeur(formulaire, 'chomage_partiel_1')).substr(0,2) == "12")&&((Valeur(formulaire, 'chomage_partiel_1')).substr(2,2) != "00")){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "chomage_partiel_1";
			}
			else if((eval((Valeur(formulaire, 'chomage_partiel_1')).substr(0,2)) > 12)||(eval((Valeur(formulaire, 'chomage_partiel_1')).substr(2,2)) > 29)){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "chomage_partiel_1";
			}
		}
	}
	if(!Is_Vide(formulaire,'chomage_partiel_2')){
		if(Is_Vide(formulaire,'chomage_partiel_1')){
			tempo_msg += "\t - Si vous précisez l'UNITE, la DUREE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "chomage_partiel_1";
		}
	}
	if(tempo_msg != ""){
		message += "CHOMAGE PARTIEL:\n";
		message += tempo_msg;
	}
	//MALADIE NON PROFESSIONNELLE NON RETENUE
	tempo_msg = "";
	if(!Is_Vide(formulaire,'maladie_non_prof_non_retenue_1')){
		if(Is_Vide(formulaire,'maladie_non_prof_non_retenue_2')){
			tempo_msg += "\t - Si vous précisez la DUREE, l'UNITE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maladie_non_prof_non_retenue_2";
		}
		if(!is_Int(formulaire, 'maladie_non_prof_non_retenue_1')){
			tempo_msg += "\t - La DUREE doit être numérique et entière si elle est renseignée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maladie_non_prof_non_retenue_1";
		}else if(Valeur(formulaire, 'maladie_non_prof_non_retenue_2') == "m"){
			if(((Valeur(formulaire, 'maladie_non_prof_non_retenue_1')).substr(0,2) == "12")&&((Valeur(formulaire, 'maladie_non_prof_non_retenue_1')).substr(2,2) != "00")){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "maladie_non_prof_non_retenue_1";
			}
			else if((eval((Valeur(formulaire, 'maladie_non_prof_non_retenue_1')).substr(0,2)) > 12)||(eval((Valeur(formulaire, 'maladie_non_prof_non_retenue_1')).substr(2,2)) > 29)){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "maladie_non_prof_non_retenue_1";
			}
		}
	}
	if(!Is_Vide(formulaire,'maladie_non_prof_non_retenue_2')){
		if(Is_Vide(formulaire,'maladie_non_prof_non_retenue_1')){
			tempo_msg += "\t - Si vous précisez l'UNITE, la DUREE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "maladie_non_prof_non_retenue_1";
		}
	}
	if(tempo_msg != ""){
		message += "MALADIE NON PROFESSIONNELLE NON RETENUE:\n";
		message += tempo_msg;
	}
	//PATERNITE
	tempo_msg = "";
	if(!Is_Vide(formulaire,'paternite_1')){
		if(Is_Vide(formulaire,'paternite_2')){
			tempo_msg += "\t - Si vous précisez la DUREE, l'UNITE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "paternite_2";
		}
		if(!is_Int(formulaire, 'paternite_1')){
			tempo_msg += "\t - La DUREE doit être numérique et entière si elle est renseignée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "paternite_1";
		}else if(Valeur(formulaire, 'paternite_2') == "m"){
			if(((Valeur(formulaire, 'paternite_1')).substr(0,2) == "12")&&((Valeur(formulaire, 'paternite_1')).substr(2,2) != "00")){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "paternite_1";
			}
			else if((eval((Valeur(formulaire, 'paternite_1')).substr(0,2)) > 12)||(eval((Valeur(formulaire, 'paternite_1')).substr(2,2)) > 29)){
				tempo_msg += "\t - Vous avez choisi un TEMPS annexe mensuel, mais celui ci est incorrect\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "paternite_1";
			}
		}
	}
	if(!Is_Vide(formulaire,'paternite_2')){
		if(Is_Vide(formulaire,'paternite_1')){
			tempo_msg += "\t - Si vous précisez l'UNITE, la DUREE doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "paternite_1";
		}
	}
	if(tempo_msg != ""){
		message += "PATERNITE:\n";
		message += tempo_msg;
	}

	
	if (!envoi_formulaire){
		message = "Corrigez les informations suivantes: \n\n"+message;
		alert(message);
		if (champ_focus != "") Rend_Focus(formulaire, champ_focus);
	}//else if(message.length > 0) alert(message);
	if((message_nb != "")&&(action != "confirme")){
		message_nb = "Vérifiez les informations suivantes qui semblent incohérentes: \n\n"+message_nb;
		alert(message_nb);
	}
	return envoi_formulaire;
}

function Verif_Modif_salarie(formulaire){
	var message = "";
	var envoi_formulaire = true;
	var champ_focus = "";
	
	//NIR
	if (Is_Vide(formulaire,'rue')) {
		message += "\t - La RUE doit être renseignée.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "rue";
	}
	if (Is_Vide(formulaire,'CP')) {
		message += "\t - Le CODE POSTAL doit être renseigné.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "CP";
	}else if(!Verif_Postal_Code(formulaire, 'CP')){
		message += "\t - Le CODE POSTAL doit être numérique et sur 5 chiffres.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "CP";
	}
	if (Is_Vide(formulaire,'commune')) {
		message += "\t - La COMMUNE doit être renseignée.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "commune";
	}
	/*if (!Is_Vide(formulaire,'tel_port')) {
		if(!Valeur(formulaire, 'tel_port').match(/^[0-9]{10}$/)){
			message += "\t - Si vous remplissez le Numéro de TELEPHONE MOBILE, il doit être numérique doit être numérique et sur 10 caractères";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "tel_port";
		}
	}*/
	
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(formulaire, champ_focus);
	}
	return envoi_formulaire;
}
/******** DECLARATION DE CONGES ***********/
function Calcule_Nb_Jours_Ouvrables_Group(formulaire, chaine){
	var tablo = chaine.split("|");
	var verif_ligne = true;
	var envoi_formulaire = true;

	var champ = "";
	var champ2 = "";
	var retour = "";
	var retour2 = "";
	
	var nb_jours;
	//DATE DE DEBUT ET DATE DE FIN
	verif_ligne = true;
		
	champ = "date_1";
	champ2 = "date_2";
	retour = "nb_jours";
	retour2 = "nbj";
		
	first = -1;
	last = -1;
	nb_jours = "";
		
	if (!Is_Vide(formulaire, champ)) {
		if(!Verif_Saisie_Date(formulaire, champ)) verif_ligne = false;
		else if(!Verif_Format_Date(formulaire, champ)) 	verif_ligne = false;
		else if(!Check_Valid_Date(formulaire, champ)) verif_ligne = false;
		else{
			var valeur = Verif_Diff_Date(formulaire, 'debut_conge', champ);
			if(valeur == 1) verif_ligne = false;
		}
	}
	if (!Is_Vide(formulaire, champ2)) {
		if(!Verif_Saisie_Date(formulaire, champ2)) verif_ligne = false;
		else if(!Verif_Format_Date(formulaire, champ2)) verif_ligne = false;
		else if(!Check_Valid_Date(formulaire, champ2)) verif_ligne = false;
		else{
			var valeur = Verif_Diff_Date(formulaire, 'fin_conge', champ2);
			if(valeur == 2) verif_ligne = false;
		}
	}
	if ((!Is_Vide(formulaire, champ))&&(!Is_Vide(formulaire, champ2))&&(verif_ligne)) {
		var valeur = Verif_Diff_Date(formulaire, champ, champ2);
		if(valeur == 1) verif_ligne = false;		
	}else verif_ligne = false;
	//NOMBRE DE JOURS OUVRABLES
	//SE CALCULE SI LES DATES SONT BONNES DONC SI verif_ligne = true
	if(verif_ligne){
		for(i=0; i<tablo.length; i++){
			if(tablo[i] == Valeur(formulaire, champ)) first = i;
			if(tablo[i] == Valeur(formulaire, champ2)) last = i;
		}
		if((first != -1)&&(last != -1)){
			diff = (last - first)+1;
			if(diff > 36) verif_ligne = false;
			else if (diff < 0) verif_ligne = false;
			else nb_jours = diff;
		}else verif_ligne = false;
		document.forms[formulaire].elements[retour].value = nb_jours.toString();
		document.forms[formulaire].elements[retour2].value = nb_jours.toString();
	}
	//if(!verif_ligne) envoi_formulaire = false;
	//return envoi_formulaire;
}

function Verif_Saisie_Conges(formulaire, chaine, chaine_jf){
	var message = "";
	var envoi_formulaire = true;
	var verif_solidarite = true;
	var champ_focus = "";
	
	var champ = "";
	var champ2 = "";
	var champ_solidarite = "";
	var retour = "";
	var retour2 = "";
	
	var nb_jours;
	var special_check = false;
	
	//NIR
	if(document.forms[formulaire].elements['nir']){
		if (Is_Vide(formulaire,'nir')) {
			message += "\t - Le NIR doit être renseigné.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "nir";
		}
		if(!is_Int(formulaire, 'nir')){
			message += "\t - Le NIR doit être numérique.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "nir";
		}
		if((!Is_Vide(formulaire,'nir'))&&(document.forms[formulaire].elements['nir'].value.length < 5)){
			message += "\t - Le NIR complet doit comporter 13 caractères.\n";
			message += "Si vous ne le connaissez pas entièrement, précisez au moins 5 caractères.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "nir";
		}
		var NIR = Valeur(formulaire, 'nir');
		var message_NIR = false;
		if((!Is_Vide(formulaire,'nir'))&&(document.forms[formulaire].elements['nir'].value.length >= 5)){
			if((NIR.substr(0,1) != 1)&&(NIR.substr(0,1) != 2)){
				if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
				message_NIR = true;
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "nir";
			}
			if((NIR.substr(7,3) != "")&&(NIR.substr(7,3) == "000")){
				if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
				message_NIR = true;
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "nir";
			}
			if((NIR.substr(10,3) != "")&&(NIR.substr(10,3) == "000")){
				if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
				message_NIR = true;
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "nir";
			}
			//DEPARTEMENT DE NAISSANCE
			if(((eval(NIR.substr(5,2)) >= 1)&&(eval(NIR.substr(5,2)) <= 90))||((eval(NIR.substr(5,2)) >= 95)&&(eval(NIR.substr(5,2)) <= 98))){
				if((eval(NIR.substr(3,2)) < 1)||(eval(NIR.substr(3,2)) > 12)){
					if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
					message_NIR = true;
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = "nir";
				}
			}
			else if(((eval(NIR.substr(5,2)) >= 91)&&(eval(NIR.substr(5,2)) <= 94))||((eval(NIR.substr(5,2)) == 99))){
				if(!(((eval(NIR.substr(3,2)) >= 0)&&(eval(NIR.substr(3,2)) <= 12))||(eval(NIR.substr(3,2)) >= 20)&&(eval(NIR.substr(3,2)) <= 99))){
					if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
					message_NIR = true;
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = "nir";
				}
			}
		}
	}
	//NOM
	if(document.forms[formulaire].elements['nom']){
		if (Is_Vide(formulaire,'nom')) {
			message += "\t - Le NOM doit être renseigné.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "nom";
		}
	}
	//PRENOM
	if(document.forms[formulaire].elements['prenom']){
		if (Is_Vide(formulaire,'prenom')) {
			message += "\t - Le PRENOM doit être renseigné.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "prenom";
		}
	}
	//DATE DE DEBUT ET DATE DE FIN
	for(nbl=1; nbl<=5; nbl++){
		champ = "date_1"+nbl;
		champ2 = "date_2"+nbl;
		
		if (Is_Vide(formulaire, champ)) {
			if (!Is_Vide(formulaire, champ2)) {
				message += "\t - Si vous spécifiez la DATE DE FIN de la ligne "+nbl+", la DATE DE DEBUT de la ligne "+nbl+" doit être spécifiée\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ;
			}
		}else if(Is_Vide(formulaire, champ2)) {
			if (!Is_Vide(formulaire, champ)) {
				message += "\t - Si vous spécifiez la DATE DE DEBUT de la ligne "+nbl+", la DATE DE FIN de la ligne "+nbl+" doit être spécifiée\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ2;
			}
		}else{
			if(!Verif_Saisie_Date(formulaire, champ)){
				message += "\t - La DATE DE DEBUT de la ligne "+nbl+" est incorrecte - Seuls les caractères numériques et le séparateur \'/\' sont acceptés \n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ;
			}else if(!Verif_Format_Date(formulaire, champ)){
				message += "\t - La DATE DE DEBUT de la ligne "+nbl+" est incorrecte -  Le format de date valide est JJ/MM/AAAA \n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ;
			}else if(!Check_Valid_Date(formulaire, champ)){
				message += "\t - La DATE DE DEBUT de la ligne "+nbl+" est incorrecte - La date est invalide \n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ;
			}else{
				var valeur = Verif_Diff_Date(formulaire, 'debut_conge', champ);
				var valeur2 = Verif_Diff_Date(formulaire, champ, 'fin_conge');
				if(valeur == 1){
					message += "\t - La DATE DE DEBUT de la ligne "+nbl+" doit être supérieure au "+Valeur(formulaire, 'debut_conge')+"\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = champ;
				}else if(valeur2 == 1){
					message += "\t - La DATE DE DEBUT de la ligne "+nbl+" doit être inférieure au "+Valeur(formulaire, 'fin_conge')+"\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = champ;
				}
			}
			if(!Verif_Saisie_Date(formulaire, champ2)){
				message += "\t - La DATE DE FIN de la ligne "+nbl+" est incorrecte - Seuls les caractères numériques et le séparateur \'/\' sont acceptés \n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ2;
			}else if(!Verif_Format_Date(formulaire, champ2)){
				message += "\t - La DATE DE FIN de la ligne "+nbl+" est incorrecte -  Le format de date valide est JJ/MM/AAAA \n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ2;
			}else if(!Check_Valid_Date(formulaire, champ2)){
				message += "\t - La DATE DE FIN de la ligne "+nbl+" est incorrecte - La date est invalide \n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ2;
			}else{
				var valeur = Verif_Diff_Date(formulaire, 'debut_conge', champ2);
				var valeur2 = Verif_Diff_Date(formulaire, champ2, 'fin_conge');
				if(valeur == 1){
					message += "\t - La DATE DE FIN de la ligne "+nbl+" doit être supérieure au "+Valeur(formulaire, 'debut_conge')+"\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = champ2;
				}else if(valeur2 == 1){
					message += "\t - La DATE DE FIN de la ligne "+nbl+" doit être inférieure au "+Valeur(formulaire, 'fin_conge')+"\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = champ2;
				}
			}
			var valeur = Verif_Diff_Date(formulaire, champ, champ2);
			if(valeur == 1){
				message += "\t - La DATE DE FIN de la ligne "+nbl+" doit être supérieure à la DATE DE DEBUT de la ligne "+nbl+"\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ;
			}
		}
	}
	
	//NOMBRE DE JOURS OUVRABLES
	//SE CALCULE SI LES DATES SONT BONNES DONC SI envoi_formulaire = true 
	if(envoi_formulaire){
		for(nbl=1; nbl<=5; nbl++){
			champ = "date_1"+nbl;
			champ2 = "date_2"+nbl;
			champ_solidarite = "solidarite_"+nbl;
			retour = "nb_jours_"+nbl;
			retour2 = "nbj_"+nbl;
			nb_jours = "";
			if(!Is_Vide(formulaire, champ)&&!Is_Vide(formulaire, champ2)){
				nb_jours = Calcule_Nb_Jours_Ouvrables(formulaire, nbl,  chaine, chaine_jf);
				if(nb_jours !== false){
					document.forms[formulaire].elements[retour].value = nb_jours.toString();
					document.forms[formulaire].elements[retour2].value = nb_jours.toString();
				}else envoi_formulaire = false;
			}
		}
	}
	
	//si Detail des droits => date de debut et fin
	for(nbl=1; nbl<=5; nbl++){
		champ = "date_1"+nbl;
		champ2 = "date_2"+nbl;
		if (Is_Checked(formulaire,"principal_"+nbl)||Is_Checked(formulaire,"semaine5_"+nbl)||Is_Checked(formulaire,"anciennete_"+nbl)||Is_Checked(formulaire,"fractionnement_"+nbl)){
			if(Is_Vide(formulaire,champ)){
				message += "\t - La DATE DE DEBUT de la ligne "+nbl+" doit être spécifiée si le détail des droits est spécifié\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ;
			}
			
			if(Is_Vide(formulaire,champ2)){
				message += "\t - La DATE DE FIN de la ligne "+nbl+" doit être spécifiée si le détail des droits est spécifié\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ2;
			}
		}
	}
	
	//TAUX
	for(nbl=1; nbl<=5; nbl++){
		champ = "montant_"+nbl;
		champ2 = "unite_"+nbl;
		if (!Is_Vide(formulaire,champ)) {
			if(Is_Vide(formulaire, champ2)){
				message += "\t - L'UNITE DU TAUX EN VIGUEUR de la ligne "+nbl+" doit être renseignée\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ2;
			}
			if(!IsNum(Valeur(formulaire, champ))){
				message += "\t - Le TAUX EN VIGUEUR de la ligne "+nbl+" doit être numérique et décimal si il est renseigné\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ;
			}else{
				if (!Nombre_Decimal(formulaire, champ, 8, 2)){
					message += "\t - Le TAUX EN VIGUEUR de la ligne "+nbl+" doit être décimal (8 entiers et 2 décimales) si il est renseigné\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = champ;
				}
			}
		}else{
			if(!Is_Vide(formulaire, champ2)){
				message += "\t - Le TAUX EN VIGUEUR de la ligne "+nbl+" doit être renseigné si vous spécifiez l'UNITE\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ;
			}
		}
	}
	
	if (envoi_formulaire){
		//VERIFICATION FORMULAIRE REMPLI
		var tempo_envoi_formulaire = "";
		for(nbl=1; nbl<=5; nbl++){
			if ((!Is_Vide(formulaire, "date_1"+nbl))||(!Is_Vide(formulaire, "date_2"+nbl))||(Is_Checked(formulaire, "principal_"+nbl))||(Is_Checked(formulaire, "semaine5_"+nbl))||(Is_Checked(formulaire, "anciennete_"+nbl))||(Is_Checked(formulaire, "fractionnement_"+nbl))||(!Is_Vide(formulaire, "montant_"+nbl))||(!Is_Vide(formulaire, "unite_"+nbl))){
				tempo_envoi_formulaire = tempo_envoi_formulaire + "1";
			}else{
				tempo_envoi_formulaire = tempo_envoi_formulaire + "0";
			}
		}
		if(tempo_envoi_formulaire == "00000"){
			if(message == "") message += "\t - Aucune saisie n'a été effectuée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "date_11";
		}	
	}
	if (!envoi_formulaire){
		if(message != "") alert(message);
		if (champ_focus != "") Rend_Focus(formulaire, champ_focus);
	}
	return envoi_formulaire;
}


//Calcule le nombre de jours ouvrables et prend en compte la notion de jour de solidarité
function Calcule_Nb_Jours_Ouvrables(formulaire, nbl , chaine, chaine_jf){
	var tablo = chaine.split("|");
	var tablo_jf = 	chaine_jf.split("|");
	
	var champ = "date_1"+nbl;
	var champ2 = "date_2"+nbl;
	var champ_solidarite = "solidarite_"+nbl;
	var retour = "nb_jours_"+nbl;
	var retour2 = "nbj_"+nbl;
	
	var nb_jours = "";
	
	var champ_jf1 = "";
	var champ_jf2 = ""
	
	var old_value;
	var old_value2;
	
	var indice = -1;
	var first = -1;
	var last = -1;
	var first_jf = -1;
	var last_jf = -1;
	var nb_jour_ferie = 0;
	
	var message = "";
	var champ_focus = "";
	var verif_ligne = true;
	var more = "";
	
	if((Valeur(formulaire, champ) != "") && (Valeur(formulaire, champ2) != "")){
		for(i=0; i<tablo.length; i++){
			if(tablo[i] == Valeur(formulaire, champ)) first = i;
			if(tablo[i] == Valeur(formulaire, champ2)) last = i;
		}
		for(i=0; i<tablo_jf.length; i++){
			if(tablo_jf[i] == Valeur(formulaire, champ)) first_jf = i;
			if(tablo_jf[i] == Valeur(formulaire, champ2)) last_jf = i;
		}
		
		//cas jour de solidarité
		if(document.forms[formulaire].elements[champ_solidarite].checked == true){
			if((first == -1)&&(last == -1)&&(Valeur(formulaire, champ) != Valeur(formulaire, champ2))){
				message += "\t - Aucune des deux dates de la ligne "+nbl+" ne sont des jours ouvrables\n";
				if (champ_focus == "") champ_focus = champ;
				verif_ligne = false;
			}else if((first == -1)&&(first_jf == -1)){
				message += "\t - La DATE de DEBUT de la ligne "+nbl+" doit être un jour ouvrable (férié ou non)\n";
				if (champ_focus == "") champ_focus = champ;
				verif_ligne = false;
			}else if((last == -1)&&(last_jf == -1)){
				message += "\t - La DATE de FIN de la ligne "+nbl+" doit être un jour ouvrable (férié ou non)\n";
				if (champ_focus == "") champ_focus = champ2;
				verif_ligne = false;
			}else{
				for(i=0; i<tablo_jf.length; i++){
					var compare1 = Verif_Diff_Date2(tablo_jf[i], Valeur(formulaire, champ));
					var compare2 = Verif_Diff_Date2(Valeur(formulaire, champ2), tablo_jf[i]);
					if((compare1 == 1)&&(compare2 == 1)){
						indice = i;
						champ_jf1 = "";
						champ_jf2 = "";
						more = "+";
					}else if((compare1 == 0)&&(compare2 == 1)){//cas particulier : date1 = jour férié
						indice = i;
						champ_jf1 = champ;
						champ_jf2 = "";
						more = "+";
					}else if((compare1 == 1)&&(compare2 == 0)){
						indice = i;//cas particulier : date2 = jour férié
						champ_jf1 = "";
						champ_jf2 = champ2;
						more = "-"
					}else if((compare1 == 0)&&(compare2 == 0)){//cas particulier : date1 = date2 = jour férié
						indice = i;
						champ_jf1 = champ;
						champ_jf2 = champ2;
						more = "+";
					}
					if(indice == i){
						//if((compare1 != 1)&&(compare2 != 1)) break;
						break;
					}
				}
				if(indice == -1){
					message += "\tLigne "+nbl+", ce ne peut pas être un jour de solidarité car il n'y a pas de jour férié dans cette période\n";
					document.forms[formulaire].elements[champ_solidarite].checked = false;
					if (champ_focus == "") champ_focus = champ;
					verif_ligne = false;
				}else{
					if(champ_jf1 == champ_jf2){
						//Recalcul des jours ouvrables
						var first2 = -1;
						var last2 = -1;
						for(i=0; i<tablo.length; i++){
							if(tablo[i] == Valeur(formulaire, champ)) first2 = i;
							if(tablo[i] == Valeur(formulaire, champ2)) last2 = i;
						}
						nb_jours = (last2 - first2)+1;
					}else{//il faut recalculer
						old_value = document.forms[formulaire].elements[champ].value;
						old_value2 = document.forms[formulaire].elements[champ2].value;
						var add_year;
						if(champ_jf1 != ""){
							var tempo_tab_date = document.forms[formulaire].elements[champ].value.split("/");
							var new_date = new Date(parseInt(tempo_tab_date[2], 10), parseInt(tempo_tab_date[1], 10)-1, parseInt(tempo_tab_date[0], 10));
							if(new_date.getDay() == 6) new_date.setDate(parseInt(tempo_tab_date[0], 10)+2);//samedi
							else new_date.setDate(parseInt(tempo_tab_date[0], 10)+1);//dimanche ou jour de semaine férié
							add_year = (new_date.getYear() < 1900) ? 1900 : 0;
							document.forms[formulaire].elements[champ].value = new_date.getDate().toString().pad(2, "0", String.PAD_LEFT)+"/"+(new_date.getMonth()+1).toString().pad(2, "0", String.PAD_LEFT)+"/"+(new_date.getYear()+add_year).toString();							
						}
						if(champ_jf2 != ""){
							var tempo_tab_date = document.forms[formulaire].elements[champ2].value.split("/");
							var new_date = new Date(parseInt(tempo_tab_date[2], 10), parseInt(tempo_tab_date[1], 10)-1, parseInt(tempo_tab_date[0], 10));
							if(new_date.getDay() == 6) new_date.setDate(parseInt(tempo_tab_date[0], 10)+2);//samedi
							else new_date.setDate(parseInt(tempo_tab_date[0], 10)+1);//dimanche ou jour de semaine férié
							add_year = (new_date.getYear() < 1900) ? 1900 : 0;
							document.forms[formulaire].elements[champ2].value = new_date.getDate().toString().pad(2, "0", String.PAD_LEFT)+"/"+(new_date.getMonth()+1).toString().pad(2, "0", String.PAD_LEFT)+"/"+(new_date.getYear()+add_year).toString();
						}
						//Recalcul des jours ouvrables avce les dates tempo
						var first2 = -1;
						var last2 = -1;
						for(i=0; i<tablo.length; i++){
							if(tablo[i] == Valeur(formulaire, champ)) first2 = i;
							if(tablo[i] == Valeur(formulaire, champ2)) last2 = i;
						}
						nb_jours = (last2 - first2)+1;
						document.forms[formulaire].elements[champ].value = old_value.toString();
						document.forms[formulaire].elements[champ2].value = old_value2.toString();
					}						
					//on remet les bonne date
					if(nb_jours == "") nb_jours = false;
					else if(document.forms[formulaire].elements[champ].value == document.forms[formulaire].elements[champ2].value){}
					else{
						if(more == "+") nb_jours++;
					}
				}
			}
		}else{
			var valeur_deb1 = Verif_Diff_Date(formulaire, 'debut_conge', champ);
			var valeur_deb2 = Verif_Diff_Date(formulaire, champ, 'fin_conge');
			var valeur_fin1 = Verif_Diff_Date(formulaire, 'debut_conge', champ2);
			var valeur_fin2 = Verif_Diff_Date(formulaire, champ2, 'fin_conge');
			if(valeur_deb1 == 1){
				message += "\t - La DATE DE DEBUT de la ligne "+nbl+" doit être supérieure au "+Valeur(formulaire, 'debut_conge')+"\n";
				verif_ligne = false;
				if (champ_focus == "") champ_focus = champ;
			}else if(valeur_deb2 == 1){
				message += "\t - La DATE DE DEBUT de la ligne "+nbl+" doit être inférieure au "+Valeur(formulaire, 'fin_conge')+"\n";
				verif_ligne = false;
				if (champ_focus == "") champ_focus = champ;
			}else if(valeur_fin1 == 1){
				message += "\t - La DATE DE FIN de la ligne "+nbl+" doit être supérieure au "+Valeur(formulaire, 'debut_conge')+"\n";
				verif_ligne = false;
				if (champ_focus == "") champ_focus = champ2;
			}else if(valeur_fin2 == 1){
				message += "\t - La DATE DE FIN de la ligne "+nbl+" doit être inférieure au "+Valeur(formulaire, 'fin_conge')+"\n";
				verif_ligne = false;
				if (champ_focus == "") champ_focus = champ2;
			}
			if(verif_ligne){
				if((first == -1)&&(last == -1)){
					message += "\t - La DATE de DEBUT et la DATE de FIN de la ligne "+nbl+" doivent être des jours ouvrables\n";
					verif_ligne = false;
					if (champ_focus == "") champ_focus = champ;
				}else if((first != -1)&&(last != -1)){
					diff = (last - first)+1;
					if(diff > 36){
						message += "\t - Le NOMBRE DE JOURS OUVRABLES de la ligne "+nbl+" est supérieur à 36, modifiez les DATES DE DEBUT et DE FIN\n";
						verif_ligne = false;
						if (champ_focus == "") champ_focus = champ;
					}else if (diff <= 0){
						message += "\t - LE NOMBRE DE JOURS OUVRABLES de la ligne "+nbl+" ne peut être calculé, vérifiez les DATES DE DEBUT et DE FIN\n";
						verif_ligne = false;
						if (champ_focus == "") champ_focus = champ;
					}else nb_jours = diff;
				}else{
					if(first == -1){
						message += "\t - La DATE de DEBUT de la ligne "+nbl+" doit être un jour ouvrable\n";
						verif_ligne = false;
						if (champ_focus == "") champ_focus = champ;
					}
					if(last == -1){
						message += "\t - La DATE de FIN de la ligne "+nbl+" doit être un jour ouvrable\n";
						verif_ligne = false;
						if (champ_focus == "") champ_focus = champ2;
					}
				}
			}
		}
	}
	
	if(!verif_ligne){
		alert(message);
		Rend_Focus(formulaire, champ);
		nb_jours = false;
	}else{
		document.forms[formulaire].elements[retour].value = nb_jours.toString();
		document.forms[formulaire].elements[retour2].value = nb_jours.toString();
	}
	return nb_jours;
}


/******** NOUVELLE GESTION DES DROITS ***********/
function Verif_Coche_Droits(nom, champ, libelle){
	var champ2;
	var num_champ = champ.substr(1, champ.length);
	if(libelle == "Mise à jour"){
		champ2 = "_"+(eval(num_champ)-1);
		if(document.forms[nom].elements[champ].checked == true){
			document.forms[nom].elements[champ2].checked = true;
		}
	}else if(libelle == "Consultation"){
		champ2 = "_"+(eval(num_champ)+1);
		if(document.forms[nom].elements[champ].checked == false){
			document.forms[nom].elements[champ2].checked = false;
		}
	}
	return true;
}

/******** INSCRIPTION SMS ***********/
function Verif_Modif_SMS_Number(formulaire){
	var message = "";
	var envoi_formulaire = true;
	var champ_focus = "";
	
	if (!Is_Vide(formulaire,'tel_port')) {
		if(!Valeur(formulaire, 'tel_port').match(/^[0-9]{10}$/)){
			message += "\t - Si vous remplissez le Numéro de TELEPHONE MOBILE, il doit être numérique et sur 10 caractères";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "tel_port";
		}
	}
	
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(formulaire, champ_focus);
	}
	return envoi_formulaire;
}

/******** DEMANDE DE DCI GROUPEE ***********/
function Launch_List(value){
	if(value=='10'){
		document.forms['formu'].elements['nb_affiche_10'].checked = true;
		document.forms['formu'].elements['nb_affiche_25'].checked = false;
		document.forms['formu'].elements['nb_affiche_50'].checked = false;
		document.forms['formu'].elements['nb_affiche_all'].checked = false;
	}else if(value=='25'){
		document.forms['formu'].elements['nb_affiche_10'].checked = false;
		document.forms['formu'].elements['nb_affiche_25'].checked = true;
		document.forms['formu'].elements['nb_affiche_50'].checked = false;
		document.forms['formu'].elements['nb_affiche_all'].checked = false;
	}else if(value=='50'){
		document.forms['formu'].elements['nb_affiche_10'].checked = false;
		document.forms['formu'].elements['nb_affiche_25'].checked = false;
		document.forms['formu'].elements['nb_affiche_50'].checked = true;
		document.forms['formu'].elements['nb_affiche_all'].checked = false;
	}else if(value=='all'){
		document.forms['formu'].elements['nb_affiche_10'].checked = false;
		document.forms['formu'].elements['nb_affiche_25'].checked = false;
		document.forms['formu'].elements['nb_affiche_50'].checked = false;
		document.forms['formu'].elements['nb_affiche_all'].checked = true;
	}
	document.forms['formu'].submit();
	return true;
}

function View_Group(value){
	document.forms['formu'].elements['start'].value = value;
	document.forms['formu'].submit();
	return true;
}

function Check_Group(start_value){
	var stop_value = parseInt(start_value)+parseInt(document.forms['formu'].elements['count_salaries'].value);
	for(i=start_value; i<stop_value;i++){
		document.forms['formu'].elements['salarie'+i].checked = true;
	}
	return true;
}

function Uncheck_Group(start_value){
	var stop_value = parseInt(start_value)+parseInt(document.forms['formu'].elements['count_salaries'].value);
	for(i=start_value; i<stop_value;i++){
		document.forms['formu'].elements['salarie'+i].checked = false;
	}
	return true;
}

function Verif_Saisie_Group_Conges(formulaire, chaine){
	var tablo = chaine.split("|");
	var message = "";
	var envoi_formulaire = true;
	var champ_focus = "";
	
	var champ = "";
	var champ2 = "";
	
	var condition;
	
	for(i=0; i<document.forms['formu'].elements['count_all_salaries'].value;i++){
		switch(document.forms[formulaire].elements['salarie'+i].type){
			case 'checkbox':
				condition = (document.forms[formulaire].elements['salarie'+i].checked == true);
				break;
			case 'hidden':
				condition = (document.forms[formulaire].elements['salarie'+i].value == '1');
				break;
			default:
				condition = false;
				break;
		}
		if(condition){
			//NIR
			if(document.forms[formulaire].elements['nir'+i]){
				if (Is_Vide(formulaire,'nir'+i)) {
					message += "\t - Le NIR (ligne "+i+") doit être renseigné.\n";
					envoi_formulaire = false;
				if (champ_focus == "") champ_focus = "nir"+i;
				}
				if(!is_Int(formulaire, 'nir'+i)){
					message += "\t - Le NIR (ligne "+i+") doit être numérique.\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = "nir"+i;
				}
				if((!Is_Vide(formulaire,'nir'+i))&&(document.forms[formulaire].elements['nir'+i].value.length < 5)){
					message += "\t - Le NIR complet (ligne "+i+") doit comporter 13 caractères.\n";
					message += "Si vous ne le connaissez pas entièrement, précisez au moins 5 caractères.\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = "nir"+i;
				}
				var NIR = Valeur(formulaire, 'nir'+i);
				var message_NIR = false;
				if((!Is_Vide(formulaire,'nir'+i))&&(document.forms[formulaire].elements['nir'+i].value.length >= 5)){
					if((NIR.substr(0,1) != 1)&&(NIR.substr(0,1) != 2)){
						if(!message_NIR) message += "\t - Le NIR (ligne "+i+") est incorrect.\n";
						message_NIR = true;
						envoi_formulaire = false;
						if (champ_focus == "") champ_focus = "nir"+i;
					}
					if((NIR.substr(7,3) != "")&&(NIR.substr(7,3) == "000")){
						if(!message_NIR) message += "\t - Le NIR (ligne "+i+") est incorrect.\n";
						message_NIR = true;
						envoi_formulaire = false;
						if (champ_focus == "") champ_focus = "nir"+i;
					}
					if((NIR.substr(10,3) != "")&&(NIR.substr(10,3) == "000")){
						if(!message_NIR) message += "\t - Le NIR (ligne "+i+") est incorrect.\n";
						message_NIR = true;
						envoi_formulaire = false;
						if (champ_focus == "") champ_focus = "nir"+i;
					}
					//DEPARTEMENT DE NAISSANCE
					if(((eval(NIR.substr(5,2)) >= 1)&&(eval(NIR.substr(5,2)) <= 90))||((eval(NIR.substr(5,2)) >= 95)&&(eval(NIR.substr(5,2)) <= 98))){
						if((eval(NIR.substr(3,2)) < 1)||(eval(NIR.substr(3,2)) > 12)){
							if(!message_NIR) message += "\t - Le NIR (ligne "+i+") est incorrect.\n";
							message_NIR = true;
							envoi_formulaire = false;
							if (champ_focus == "") champ_focus = "nir"+i;
						}
					}
					else if(((eval(NIR.substr(5,2)) >= 91)&&(eval(NIR.substr(5,2)) <= 94))||((eval(NIR.substr(5,2)) == 99))){
						if(!(((eval(NIR.substr(3,2)) >= 0)&&(eval(NIR.substr(3,2)) <= 12))||(eval(NIR.substr(3,2)) >= 20)&&(eval(NIR.substr(3,2)) <= 99))){
							if(!message_NIR) message += "\t - Le NIR (ligne "+i+") est incorrect.\n";
							message_NIR = true;
							envoi_formulaire = false;
							if (champ_focus == "") champ_focus = "nir"+i;
						}
					}
				}
			}
			//NOM
			if(document.forms[formulaire].elements['nom'+i]){
				if (Is_Vide(formulaire,'nom'+i)) {
					message += "\t - Le NOM (ligne "+i+") doit être renseigné.\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = "nom"+i;
				}
			}
			//PRENOM
			if(document.forms[formulaire].elements['prenom'+i]){
				if (Is_Vide(formulaire,'prenom'+i)) {
					message += "\t - Le PRENOM (ligne "+i+") doit être renseigné.\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = "prenom"+i;
				}
			}
		}
	}
	//DATE DE DEBUT ET DATE DE FIN
	champ = "date_1";
	champ2 = "date_2";
	if (Is_Vide(formulaire, champ)) {
		message += "\t - La DATE DE DEBUT doit être spécifiée\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = champ;
	}else{
		if(!Verif_Saisie_Date(formulaire, champ)){
			message += "\t - La DATE DE DEBUT est incorrecte - Seuls les caractères numériques et le séparateur \'/\' sont acceptés \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = champ;
		}else if(!Verif_Format_Date(formulaire, champ)){
			message += "\t - La DATE DE DEBUT est incorrecte -  Le format de date valide est JJ/MM/AAAA \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = champ;
		}else if(!Check_Valid_Date(formulaire, champ)){
			message += "\t - La DATE DE DEBUT est incorrecte - La date est invalide \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = champ;
		}else{
			var valeur = Verif_Diff_Date(formulaire, 'debut_conge', champ);
			if(valeur == 1){
				message += "\t - La DATE DE DEBUT doit être supérieure au "+Valeur(formulaire, 'debut_conge')+"\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ;
			}
		}
	}
	if(Is_Vide(formulaire, champ2)) {
			message += "\t - La DATE DE FIN doit être spécifiée\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = champ2;
	}else{
		if(!Verif_Saisie_Date(formulaire, champ2)){
			message += "\t - La DATE DE FIN est incorrecte - Seuls les caractères numériques et le séparateur \'/\' sont acceptés \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = champ2;
		}else if(!Verif_Format_Date(formulaire, champ2)){
			message += "\t - La DATE DE FIN est incorrecte -  Le format de date valide est JJ/MM/AAAA \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = champ2;
		}else if(!Check_Valid_Date(formulaire, champ2)){
			message += "\t - La DATE DE FIN est incorrecte - La date est invalide \n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = champ2;
		}else{
			var valeur = Verif_Diff_Date(formulaire, 'fin_conge', champ2);
			if(valeur == 2){
				message += "\t - La DATE DE FIN doit être inférieure au "+Valeur(formulaire, 'fin_conge')+"\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ2;
			}
		}
		var valeur = Verif_Diff_Date(formulaire, champ, champ2);
		if(valeur == 1){
			message += "\t - La DATE DE FIN doit être supérieure à la DATE DE DEBUT\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = champ;
		}
	}
	//NOMBRE DE JOURS OUVRABLES
	//SE CALCULE SI LES DATES SONT BONNES DONC SI envoi_formulaire = true
	//NORMALEMENT DEJA CALCULE AU FUR ET A MESURE MAIS RECALCUL AU CAS OU PUIS VERIFICATION DE LA VALEUR
	if(envoi_formulaire){
		var retour = "";
		var retour2 = "";
		var nb_jours;
		champ = "date_1";
		champ2 = "date_2";
		retour = "nb_jours";
		retour2 = "nbj";
		nb_jours = "";
		if ((!Is_Vide(formulaire, champ))&&(!Is_Vide(formulaire, champ2))) {
			for(i=0; i<tablo.length; i++){
				if(tablo[i] == Valeur(formulaire, champ)) first = i;
				if(tablo[i] == Valeur(formulaire, champ2)) last = i;
			}
			if((first != -1)&&(last != -1)){
				nb_jours = (last - first)+1;
				if(nb_jours > 36){
					message += "\t - Le NOMBRE DE JOURS OUVRABLES est supérieur à 36, modifiez les DATES DE DEBUT et DE FIN\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = champ;
				}
			}else{
				if(first == -1) message += "\t - La DATE DE DEBUT doit être un jour ouvrable\n";
				if(last == -1) message += "\t - La DATE DE FIN doit être un jour ouvrable\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = champ;
			}
			document.forms[formulaire].elements[retour].value = nb_jours.toString();
			document.forms[formulaire].elements[retour2].value = nb_jours.toString();
		}
	}
	if (envoi_formulaire){
		//VERIFICATION FORMULAIRE REMPLI
		var tempo_envoi_formulaire = "";
		var val_reference = "";
		
		for(i=0; i<document.forms[formulaire].elements['count_all_salaries'].value; i++){
			switch(document.forms[formulaire].elements['salarie'+i].type){
				case 'checkbox':
					condition = (document.forms[formulaire].elements['salarie'+i].checked == true);
					break;
				case 'hidden':
					condition = (document.forms[formulaire].elements['salarie'+i].value == '1');
					break;
				default:
					condition = false;
					break;
			}
			if(condition){
				val_reference = val_reference+"0";
				if ((!Is_Vide(formulaire, "nom"+i))||(!Is_Vide(formulaire, "prenom"+i))||(!Is_Vide(formulaire, "nir"+i))){
					tempo_envoi_formulaire = tempo_envoi_formulaire + "1";
				}else{
					tempo_envoi_formulaire = tempo_envoi_formulaire + "0";
				}
			}
		}
		if(tempo_envoi_formulaire == val_reference){
			if(message == "") message += "\t - Aucun salarié n'a été sélectionné\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = "nom0";
		}	
	}
	
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(formulaire, champ_focus);
	}
	return envoi_formulaire;
}

function Verif_Group_Nir_v2(nom){
	var message = "";
	var envoi_formulaire = true;
	var champ_focus = "";
	var nb_elts = Valeur(nom, 'count_salaries');
	var nom_champ = "";
	var champ_selected = "";
	var NIR = "";
	var message_NIR = false;
	
	for(i=0; i<nb_elts; i++){
		
		champ_selected = 'salarie'+i;
		nom_champ = "nir"+i;

		if(document.forms[nom].elements[champ_selected].checked == true){
			NIR = Valeur(nom, nom_champ);

			if (Is_Vide(nom,nom_champ)) {
				message += "\t - Le NIR de la ligne "+i+" doit être renseigné.\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = nom_champ;
			}
			if(!Valeur(nom, nom_champ).match(/^[0-9]*$/)){
				message += "\t - Le NIR de la ligne "+i+" doit être numérique.\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = nom_champ;
			}
			if((!Is_Vide(nom,nom_champ))&&(document.forms[nom].elements[nom_champ].value.length < 5)){
				message += "\t - Le NIR de la ligne "+i+" complet doit comporter 13 caractères.\n";
				message += "Si vous ne le connaissez pas entièrement, précisez au moins 5 caractères.\n";
				envoi_formulaire = false;
				if (champ_focus == "") champ_focus = nom_champ;
			}
			if((!Is_Vide(nom,nom_champ))&&(document.forms[nom].elements[nom_champ].value.length >= 5)){
				if((NIR.substr(0,1) != 1)&&(NIR.substr(0,1) != 2)){
					if(!message_NIR) message += "\t - Le NIR de la ligne "+i+" est incorrect.\n";
					message_NIR = true;
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = nom_champ;
				}
				if((NIR.substr(7,3) != "")&&(NIR.substr(7,3) == "000")){
					if(!message_NIR) message += "\t - Le NIR de la ligne "+i+" est incorrect.\n";
					message_NIR = true;
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = nom_champ;
				}
				if((NIR.substr(10,3) != "")&&(NIR.substr(10,3) == "000")){
					if(!message_NIR) message += "\t - Le NIR de la ligne "+i+" est incorrect.\n";
					message_NIR = true;
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = nom_champ;
				}
			}
		}
	}
	
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(nom, champ_focus);
	}
	return envoi_formulaire;
}

function Order_List(field,order){
	document.forms['formu'].elements['field'].value = field;
	document.forms['formu'].elements['order'].value = order;
	document.forms['formu'].submit();
	return true;
}

/******** BORDEREAUX RETRAITE ***********/
function Verif_Demande_Bordereaux(formulaire){
	var message = "";
	var envoi_formulaire = true;
	var champ_focus = "";
	
	var champ = "";
	var champ2 = "";
	
	if(!Tester_Radio(formulaire, 'demande')){
		message += "\t - Vous devez choisir le TYPE DE DEMANDE DE REMBOURSEMENT (par date ou par exercice).\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = "date_debut_exercice";
	}else{
		var choix = document.forms[formulaire].elements['demande'];
		for (var i=0; i<choix.length;i++) {
	    	if ((choix[i].checked)&&(choix[i].value == 'date')) {
        		if (Is_Vide(formulaire, 'date_debut_periode')) {
					message += "\t - Vous devez spécifier la DATE DE DEBUT DE LA PERIODE\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = 'date_debut_periode';
				}else if (Is_Vide(formulaire, 'date_fin_periode')) {
					message += "\t - Vous devez spécifier la DATE DE FIN DE LA PERIODE\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = 'date_fin_periode';
				}else{
					var date1 = 0;
					var date2 = 0;
					if(!Verif_Saisie_Date(formulaire, 'date_debut_periode')){
						message += "\t - La DATE DE DEBUT DE LA PERIODE est incorrecte - Seuls les caractères numériques et le séparateur \'/\' sont acceptés \n";
						envoi_formulaire = false;
						if (champ_focus == "") champ_focus = 'date_debut_periode';
					}else if(!Verif_Format_Date(formulaire, 'date_debut_periode')){
						message += "\t - La DATE DE DEBUT DE LA PERIODE est incorrecte -  Le format de date valide est JJ/MM/AAAA \n";
						envoi_formulaire = false;
						if (champ_focus == "") champ_focus = 'date_debut_periode';
					}else if(!Check_Valid_Date(formulaire, 'date_debut_periode')){
						message += "\t - La DATE DE DEBUT DE LA PERIODE est incorrecte - La date est invalide \n";
						envoi_formulaire = false;
						if (champ_focus == "") champ_focus = 'date_debut_periode';
					}else{
						date1 = 1;
					}
					if(!Verif_Saisie_Date(formulaire, 'date_fin_periode')){
						message += "\t - La DATE DE FIN DE LA PERIODE est incorrecte - Seuls les caractères numériques et le séparateur \'/\' sont acceptés \n";
						envoi_formulaire = false;
						if (champ_focus == "") champ_focus = 'date_fin_periode';
					}else if(!Verif_Format_Date(formulaire, 'date_fin_periode')){
						message += "\t - La DATE DE FIN DE LA PERIODE est incorrecte -  Le format de date valide est JJ/MM/AAAA \n";
						envoi_formulaire = false;
						if (champ_focus == "") champ_focus = 'date_fin_periode';
					}else if(!Check_Valid_Date(formulaire, 'date_fin_periode')){
						message += "\t - La DATE DE FIN DE LA PERIODE est incorrecte - La date est invalide \n";
						envoi_formulaire = false;
						if (champ_focus == "") champ_focus = 'date_fin_periode';
					}else{
						date2 = 1;
					}
					if((date1 == 1)&&(date2 = 1)){
						if(Verif_Diff_Date(formulaire, 'date_debut_periode', 'specific_debut_periode') == 2){
							message += "\t - La DATE DE DEBUT DE LA PERIODE doit être supérieure ou égale au 01/01/1993 \n";
							envoi_formulaire = false;
							if (champ_focus == "") champ_focus = 'date_debut_periode';
						}
						if((Verif_Diff_Date(formulaire, 'date_debut_periode', 'date_fin_periode') == 1)||(Verif_Diff_Date(formulaire, 'date_debut_periode', 'date_fin_periode') == 0)){
							message += "\t - La DATE DE FIN DE LA PERIODE doit être supérieure à la DATE DE DEBUT DE LA PERIODE\n";
							envoi_formulaire = false;
							if (champ_focus == "") champ_focus = 'date_fin_periode';
						}
						if(Verif_Diff_Date(formulaire, 'date_fin_periode', 'date_jour') == 1){
							message += "\t - La DATE DE FIN DE LA PERIODE doit être inférieure à la DATE DU JOUR\n";
							envoi_formulaire = false;
							if (champ_focus == "") champ_focus = 'date_fin_periode';
						}
					}
					
				}
			}else if ((choix[i].checked)&&(choix[i].value == 'exercice')) {
				if (Is_Vide(formulaire, 'date_debut_exercice')) {
					message += "\t - Vous devez spécifier la DATE DE DEBUT DE L\'EXERCICE\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = 'date_debut_exercice';
				}else if((!Is_Vide(formulaire, 'date_fin_exercice'))&&(Valeur(formulaire, 'date_debut_exercice') > Valeur(formulaire, 'date_fin_exercice'))){
					message += "\t - La DATE DE DEBUT DE L\'EXERCICE doit être inférieur ou égale à la DATE DE FIN DE L\'EXERCICE\n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = 'date_debut_exercice';
				}else if((!Is_Vide(formulaire, 'date_debut_exercice'))&&(Valeur(formulaire, 'date_debut_exercice') < Valeur(formulaire, 'specific_debut_exercice'))){
					message += "\t - La DATE DE DEBUT DE L\'EXERCICE doit être supérieure ou égale à 1993 \n";
					envoi_formulaire = false;
					if (champ_focus == "") champ_focus = 'date_debut_exercice';
				}
			}
		}
	}
	
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(formulaire, champ_focus);
	}
	return envoi_formulaire;
}

function Verif_Ajout_Salarie_Bordereau(formulaire,ch){
	var message = "";
	var envoi_formulaire = true;
	var champ_focus = "";
	
	var NIR = "";
	var message_NIR = false;
	
	if (Is_Vide(formulaire,'nir')) {
		message += "\t - Le NIR doit être renseigné.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'nir';
	}
	if(!Valeur(formulaire, 'nir').match(/^[0-9]*$/)){
		message += "\t - Le NIR doit être numérique.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'nir';
	}
	/*if((!Is_Vide(formulaire,'nir'))&&(document.forms[formulaire].elements['nir'].value.length < 13)){
		message += "\t - Le NIR complet doit comporter 13 caractères.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'nir';
	}
	NIR = Valeur(formulaire, 'nir');
	if((!Is_Vide(formulaire,'nir'))&&(document.forms[formulaire].elements['nir'].value.length == 13)){
		if((NIR.substr(0,1) != 1)&&(NIR.substr(0,1) != 2)){
			if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
			message_NIR = true;
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = 'nir';
		}
		if((NIR.substr(7,3) != "")&&(NIR.substr(7,3) == "000")){
			if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
			message_NIR = true;
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = 'nir';
		}
		if((NIR.substr(10,3) != "")&&(NIR.substr(10,3) == "000")){
			if(!message_NIR) message += "\t - Le NIR est incorrect.\n";
			message_NIR = true;
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = 'nir';
		}
	}*/
	if(ch == 'valider'){
		if (Is_Vide(formulaire,'nom')) {
			message += "\t - Le NOM doit être renseigné.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = 'nom';
		}
		if (Is_Vide(formulaire,'qualif')) {
			message += "\t - La QUALIFICATION doit être renseignée.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = 'qualif';
		}
		if (Is_Vide(formulaire,'commentaire')) {
			message += "\t - Le COMMENTAIRE doit être renseigné.\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = 'commentaire';
		}
	}
	
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(formulaire, champ_focus);
	}
	return envoi_formulaire;
}

function Disable_Exercice(date_jour){
	document.forms['formu'].elements['date_debut_periode'].disabled=false;
	document.forms['formu'].elements['date_fin_periode'].disabled=false;
	document.forms['formu'].elements['date_fin_periode'].value=date_jour;
	document.forms['formu'].elements['date_debut_exercice'].value = '';
	document.forms['formu'].elements['date_debut_exercice'].disabled=true;
	document.forms['formu'].elements['date_fin_exercice'].value = '';
	document.forms['formu'].elements['date_fin_exercice'].disabled=true;
	return true;
}

function Disable_Periode(){
	document.forms['formu'].elements['date_debut_exercice'].disabled=false;
	document.forms['formu'].elements['date_fin_exercice'].disabled=false;
	document.forms['formu'].elements['date_debut_periode'].value = '';
	document.forms['formu'].elements['date_debut_periode'].disabled=true;
	document.forms['formu'].elements['date_fin_periode'].value='';
	document.forms['formu'].elements['date_fin_periode'].disabled=true;
	return true;
}

/******** INTEMPERIES ***********/
function Verif_Saisie_Intemperies(formulaire, demande, valeur_taux_mini, valeur_taux_maxi){
	var message = "";
	var envoi_formulaire = true;
	var erreur_formulaire = true;
	var envoi_tempo = true;
	var champ_focus = "";
	
	//Nom chantier
	if (Is_Vide(formulaire, 'nom_chantier')) {
		message += "\t - Vous devez spécifier le NOM DU CHANTIER\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'nom_chantier';
	}else if(Longueur(formulaire, 'nom_chantier') > 32){
		message += "\t - Le NOM DU CHANTIER doit être sur 32 caractères maximum.\n";
		envoi_formulaire = false;
		erreur_formulaire = false;
		if (champ_focus == "") champ_focus = "nom_chantier";
	}
	//Reference chantier
	if (Is_Vide(formulaire, 'ref_chantier')) {
		message += "\t - Vous devez spécifier la REFERENCE DU CHANTIER\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'ref_chantier';
	}else if(Longueur(formulaire, 'ref_chantier') > 20){
		message += "\t - La REFERENCE DU CHANTIER doit être sur 20 caractères maximum.\n";
		envoi_formulaire = false;
		erreur_formulaire = false;
		if (champ_focus == "") champ_focus = "ref_chantier";
	}
	//Adresse Chantier
	if(Longueur(formulaire, 'adr1_chantier') > 32){
		message += "\t - L' ADRESSE DU CHANTIER doit être sur 32 caractères maximum.\n";
		envoi_formulaire = false;
		erreur_formulaire = false;
		if (champ_focus == "") champ_focus = "adr1_chantier";
	}else if(Longueur(formulaire, 'adr2_chantier') > 32){
		message += "\t - L' ADRESSE DU CHANTIER doit être sur 32 caractères maximum.\n";
		envoi_formulaire = false;
		erreur_formulaire = false;
		if (champ_focus == "") champ_focus = "adr2_chantier";
	}
	//Code Postal Chantier
	if (Is_Vide(formulaire, 'cp_chantier')) {
		message += "\t - Vous devez spécifier le CODE POSTAL DU CHANTIER\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'cp_chantier';
	}else if(!document.forms[formulaire].elements['cp_chantier'].value.match(/^[0-9]{5}$/)){
		message += "\t - Le CODE POSTAL DU CHANTIER doit être numérique et sur 5 caractères\n";
		envoi_formulaire = false;
		erreur_formulaire = false;
		if (champ_focus == "") champ_focus = 'cp_chantier';
	}else {
		var bad_zip_codes = new Array('75000', '69000', '13000');
		for (i=0;i<bad_zip_codes.length;i++) {
			if((envoi_tempo)&&(bad_zip_codes[i] == document.forms[formulaire].elements['cp_chantier'].value)){
				envoi_tempo = false;
				break;
			}
		}
		if(!envoi_tempo){
			message += "\t - Le CODE POSTAL DU CHANTIER est inexistant\n";
			envoi_formulaire = false;
			if (champ_focus == "") champ_focus = 'cp_chantier';
		}
	}
	//Commune Chantier
	if (Is_Vide(formulaire, 'ville_chantier')) {
		message += "\t - Vous devez spécifier la COMMUNE DU CHANTIER\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'ville_chantier';
	}else if(Longueur(formulaire, 'ville_chantier') > 26){
		message += "\t - La COMMUNE DU CHANTIER doit être sur 26 caractères maximum.\n";
		envoi_formulaire = false;
		erreur_formulaire = false;
		if (champ_focus == "") champ_focus = "ville_chantier";
	}
	//Altitude Chantier
	if(!Is_Vide(formulaire, 'alt_chantier')) {
		if(!document.forms[formulaire].elements['alt_chantier'].value.match(/^[0-9]{0,4}$/)){
			message += "\t - Si vous précisez l\'ALTITUDE DU CHANTIER , elle doit être numérique et sur 4 caractères maximum.\n";
			envoi_formulaire = false;
			erreur_formulaire = false;
			if (champ_focus == "") champ_focus = "alt_chantier";
		}
	}
	//Cause Arret de travail
	if (Is_Vide(formulaire, 'arret_cause')) {
		message += "\t - Vous devez spécifier la CAUSE DE L\'ARRET DE TRAVAIL\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'arret_cause';
	}else if(Valeur(formulaire, 'arret_cause') == 5){
		if (Is_Vide(formulaire, 'arret_libelle')) {
			message += "\t - Si la CAUSE DE VOTRE ARRET DE TRAVAIL est \"DIVERS\" , vous devez préciser\n";
			envoi_formulaire = false;
			if (champ_focus == ""){
				document.forms[formulaire].elements['arret_libelle'].disabled = false;
				champ_focus = "arret_libelle";
			}
		}else if(Longueur(formulaire, 'arret_libelle') > 28){
			message += "\t - Le PRECISION DE LA CAUSE DE VOTRE ARRET DE TRAVAIL doit être sur 28 caractères maximum\n";
			envoi_formulaire = false;
			erreur_formulaire = false;
			if (champ_focus == ""){
				document.forms[formulaire].elements['arret_libelle'].disabled = false;
				champ_focus = "arret_libelle";
			}
		}
	}
	//Travail Suspendu
	if (Is_Vide(formulaire, 'ts_designation')) {
		message += "\t - Vous devez spécifier la DESIGNATION DU TRAVAIL SUSPENDU\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'ts_designation';
	}else if(Valeur(formulaire, 'ts_designation') == Valeur(formulaire, 'ts_id_divers')){ 
		if (Is_Vide(formulaire, 'ts_precision')) {
			message += "\t - Si la DESIGNATION DU TRAVAIL SUSPENDU est \"DIVERS\" , vous devez préciser\n";
			envoi_formulaire = false;
			if (champ_focus == ""){
				document.forms[formulaire].elements['ts_precision'].disabled = false;
				champ_focus = "ts_precision";
			}
		}
	}
	//Dates Arret
	if (Is_Vide(formulaire, 'debut_arret')) {
		message += "\t - Vous devez spécifier la DATE DE DEBUT DE L\'ARRET\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'debut_arret';
	}
	if (Is_Vide(formulaire, 'fin_arret')) {
		message += "\t - Vous devez spécifier la DATE DE FIN DE L\'ARRET\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'fin_arret';
	}
	if(!Is_Vide(formulaire, 'debut_arret')&&!Is_Vide(formulaire, 'fin_arret')) {
		var date1 = 0;
		var date2 = 0;
		if(!Verif_Saisie_Date(formulaire, 'debut_arret')){
			message += "\t - La DATE DE DEBUT DE L\'ARRET est incorrecte - Seuls les caractères numériques et le séparateur \'/\' sont acceptés \n";
			envoi_formulaire = false;
			erreur_formulaire = false;
			if (champ_focus == "") champ_focus = 'debut_arret';
		}else if(!Verif_Format_Date(formulaire, 'debut_arret')){
			message += "\t - La DATE DE DEBUT DE L\'ARRET est incorrecte -  Le format de date valide est JJ/MM/AAAA \n";
			envoi_formulaire = false;
			erreur_formulaire = false;
			if (champ_focus == "") champ_focus = 'debut_arret';
		}else if(!Check_Valid_Date(formulaire, 'debut_arret')){
			message += "\t - La DATE DE DEBUT D\'ARRET est incorrecte - La date est invalide \n";
			envoi_formulaire = false;
			erreur_formulaire = false;
			if (champ_focus == "") champ_focus = 'debut_arret';
		}else date1 = 1;
		if(!Verif_Saisie_Date(formulaire, 'fin_arret')){
			message += "\t - La DATE DE FIN DE L\'ARRET est incorrecte - Seuls les caractères numériques et le séparateur \'/\' sont acceptés \n";
			envoi_formulaire = false;
			erreur_formulaire = false;
			if (champ_focus == "") champ_focus = 'fin_arret';
		}else if(!Verif_Format_Date(formulaire, 'fin_arret')){
			message += "\t - La DATE DE FIN DE L\'ARRET est incorrecte -  Le format de date valide est JJ/MM/AAAA \n";
			envoi_formulaire = false;
			erreur_formulaire = false;
			if (champ_focus == "") champ_focus = 'fin_arret';
		}else if(!Check_Valid_Date(formulaire, 'fin_arret')){
			message += "\t - La DATE DE FIN DE L\'ARRET est incorrecte - La date est invalide \n";
			envoi_formulaire = false;
			erreur_formulaire = false;
			if (champ_focus == "") champ_focus = 'fin_arret';
		}else date2 = 1;
		if((date1 == 1)&&(date2 = 1)){
			if(Verif_Diff_Date(formulaire, 'debut_arret', 'fin_arret') == 1){
				message += "\t - La DATE DE FIN DE L\'ARRET doit être supérieure à la DATE DE DEBUT DE L\'ARRET\n";
				envoi_formulaire = false;
				erreur_formulaire = false;
				if (champ_focus == "") champ_focus = 'fin_arret';
			}
			if(Verif_Diff_Date(formulaire, 'debut_arret', 'date_jour') != 2){
				message += "\t - La DATE DE DEBUT DE L\'ARRET doit être inférieure à la DATE DU JOUR\n";
				envoi_formulaire = false;
				erreur_formulaire = false;
				if (champ_focus == "") champ_focus = 'debut_arret';
			}
			if(Verif_Diff_Date(formulaire, 'fin_arret', 'date_jour') != 2){
				message += "\t - La DATE DE FIN DE L\'ARRET doit être inférieure à la DATE DU JOUR\n";
				envoi_formulaire = false;
				erreur_formulaire = false;
				if (champ_focus == "") champ_focus = 'fin_arret';
			}
			if(Verif_Diff_Date(formulaire, 'fin_arret', 'exercice_debut') == 2){
				message += "\t - La DATE DE DEBUT DE L\'ARRET doit être dans l'exercice en cours ou dans l'exercice précédent\n";
				envoi_formulaire = false;
				erreur_formulaire = false;
				if (champ_focus == "") champ_focus = 'fin_arret';
			}
		}
	}	
	//Heures Arret
	if (Is_Vide(formulaire, 'heure_debut_arret')) {
		message += "\t - Vous devez spécifier l\'HEURE DE LA DATE DE DEBUT DE L\'ARRET (heures et minutes)\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'heure_debut_arret';
	}else if (Is_Vide(formulaire, 'minute_debut_arret')) {
		message += "\t - Vous devez spécifier l\'HEURE DE LA DATE DE DEBUT DE L\'ARRET (heures et minutes)\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'minute_debut_arret';
	}
	if (Is_Vide(formulaire, 'heure_fin_arret')) {
		message += "\t - Vous devez spécifier l'HEURE DE LA DATE DE FIN DE L\'ARRET (heures et minutes)\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'heure_fin_arret';
	}else if (Is_Vide(formulaire, 'minute_fin_arret')) {
		message += "\t - Vous devez spécifier l\'HEURE DE LA DATE DE FIN DE L\'ARRET (heures et minutes)\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'minute_fin_arret';
	}
	if(!Is_Vide(formulaire, 'heure_debut_arret')&&!Is_Vide(formulaire, 'minute_debut_arret')&&!Is_Vide(formulaire, 'heure_fin_arret')&&!Is_Vide(formulaire, 'minute_fin_arret')) {
		var retour_tempo = false;
		var valeur_tempo = "";
		if((Longueur(formulaire, 'heure_debut_arret') != 2)||(Longueur(formulaire, 'minute_debut_arret') != 2)) retour_tempo = false;
		else{
			valeur_tempo = Valeur(formulaire, 'heure_debut_arret')+":"+Valeur(formulaire, 'minute_debut_arret');
			if(!valeur_tempo.match(/^[0-9]{2}:[0-9]{2}$/)) retour_tempo = false;
			else{
				if(Valeur(formulaire, 'heure_debut_arret') > 23) retour_tempo = false;
				else if(Valeur(formulaire, 'minute_debut_arret') > 59) retour_tempo = false;
				else retour_tempo = true;
			}	
		}
		if(retour_tempo == false){
			message += "\t - L'HEURE DE DEBUT DE L\'ARRET est incorrecte -  Le format valide est HH:MM et l'horaire maxi est 23:59\n";
			envoi_formulaire = false;
			erreur_formulaire = false;
			if (champ_focus == "") champ_focus = 'heure_debut_arret';
		}
		retour_tempo = false;
		valeur_tempo = "";
		if((Longueur(formulaire, 'heure_fin_arret') != 2)||(Longueur(formulaire, 'minute_fin_arret') != 2)) retour_tempo = false;
		else{
			valeur_tempo = Valeur(formulaire, 'heure_fin_arret')+":"+Valeur(formulaire, 'minute_fin_arret');
			if(!valeur_tempo.match(/^[0-9]{2}:[0-9]{2}$/)) retour_tempo = false;
			else{
				if(Valeur(formulaire, 'heure_fin_arret') > 23) retour_tempo = false;
				else if(Valeur(formulaire, 'minute_fin_arret') > 59) retour_tempo = false;
				else retour_tempo = true;
			}	
		}
		if(retour_tempo == false){
			message += "\t - L'HEURE DE FIN DE L\'ARRET est incorrecte -  Le format valide est HH:MM et l'horaire maxi est 23:59\n";
			envoi_formulaire = false;
			erreur_formulaire = false;
			if (champ_focus == "") champ_focus = 'heure_fin_arret';
		}
	}
	
	//Verification Supplémentaire pour les taux
	if(Valeur(formulaire, 'action_bt_salaries') == "1"){}
	else{
		var message_taux = Verif_Taux_Sans_Alerte(formulaire, valeur_taux_mini, valeur_taux_maxi, 'taux');
		if(message_taux != ""){
			if(message_taux != "confirm") message += message_taux;	
			envoi_formulaire = false;
			erreur_formulaire = false;
		}
	}
	
	if(Valeur(formulaire, 'action_bt_salaries') == "1"){
		if (!envoi_formulaire){
			if(erreur_formulaire) message="Merci de remplir l\'entête de la déclaration avant d\'ajouter un salarié \n\n"+message;
		}else{
			window.open('/espace_adherent/ajout_sala_intemperies.php?id_demande='+demande, 'popup_intemp_new_sala', 'height=400, width=800, menubar=no, scrollbars=yes, resizable=yes');
		}
		if (champ_focus != "") Rend_Focus(formulaire, champ_focus);
	}
	
	var transmettre_formulaire = true;
	if(Valeur(formulaire, 'action_bt_transmettre') == 1){
		if(Valeur(formulaire, 'nb_salaries') <= 0){
			alert("Vous ne pouvez pas transmettre une demande ne comportant aucun salarié");
			transmettre_formulaire = false;
		}
	}
	
	if (!envoi_formulaire){
		if(message != "") alert(message);
		if (champ_focus != "") Rend_Focus(formulaire, champ_focus);
	}else{
		if(!transmettre_formulaire) envoi_formulaire = false;
	}
	document.forms[formulaire].elements['action_bt_salaries'].value='0';
	document.forms[formulaire].elements['action_bt_transmettre'].value='0';
	return envoi_formulaire;
}

function Verif_Arret_Select(){
	if(document.forms['formu'].elements['arret_cause'].options['5'].selected == true){
		document.forms['formu'].elements['arret_libelle'].disabled = false;
	}else{
		document.forms['formu'].elements['arret_libelle'].value = "";
		document.forms['formu'].elements['arret_libelle'].disabled = true;
	}
	return true;
}

function Verif_TravailSuspendu_Select(){
	var valeur = document.forms['formu'].elements['ts_id_divers'].value;
	for(var i=0; i<document.forms['formu'].elements['ts_designation'].length; i++){
		if(document.forms['formu'].elements['ts_designation'].options[i].value == valeur){
			if(document.forms['formu'].elements['ts_designation'].options[i].selected == true){
				document.forms['formu'].elements['ts_precision'].disabled = false;
			}else{
				document.forms['formu'].elements['ts_precision'].value = "";
				document.forms['formu'].elements['ts_precision'].disabled = true;
			}
		}
	}
	return true;
}

function Go_Salaries_Intemperies(formulaire){
	document.forms[formulaire].elements['action_bt_salaries'].value='1';
}

function Go_Transmettre(formulaire){
	document.forms[formulaire].elements['action_bt_transmettre'].value='1';
}

function Auto_Search(formulaire){	
	Update_Search_Salaries(formulaire);
	document.forms[formulaire].submit();
}

function Update_Search_Salaries(formulaire){
	document.forms[formulaire].elements['action'].value='chercher';
	document.forms[formulaire].elements['nom'].value='';
	document.forms[formulaire].elements['prenom'].value='';
	return true;
}

function Verif_Ajout_Salarie_Intemperies_More(formulaire){
	var message = "";
	var envoi_formulaire = true;
	var champ_focus = "";
	
	if(!Valeur(formulaire, 'nom').match(/^[ a-zA-Zà-ÿ-]{0,32}$/)){
		message += "\t - Le NOM doit être alphabétique et sur 32 caractères maximum.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'nom';
	}
	if(!Valeur(formulaire, 'prenom').match(/^[ a-zA-Zà-ÿ-]{0,20}$/)) {
		message += "\t - Le PRENOM doit être alphabétique et sur 20 caractères maximum.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'prenom';
	}
	if(document.forms[formulaire].elements['action'].value == 'valider'){
		if (Is_Vide(formulaire,'nom')) {
			message += "\t - Le NOM MORE doit être renseigné.\n";
			envoi_formulaire = false;
		}
		if (Is_Vide(formulaire,'prenom')) {
			message += "\t - Le PRENOM MORE doit être renseigné.\n";
			envoi_formulaire = false;
		}
	}
	
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(formulaire, champ_focus);
	}
	return envoi_formulaire;
	
}

function Verif_Ajout_Salarie_Intemperies(formulaire){
	var message = "";
	var envoi_formulaire = true;
	var champ_focus = "";

	if(!Is_Vide(formulaire,'nir') && !Valeur(formulaire, 'nir').match(/^[0-9]{13}$/)){
		message += "\t - Le NIR doit être numérique et sur 13 caractères.\n";
		envoi_formulaire = false;
		if (champ_focus == "") champ_focus = 'nir';
	}
	if(document.forms[formulaire].elements['action'].value == 'valider'){
		if (Is_Vide(formulaire,'nom')) {
			message += "\t - Le NOM doit être renseigné.\n";
			envoi_formulaire = false;
		}
		if (Is_Vide(formulaire,'prenom')) {
			message += "\t - Le PRENOM doit être renseigné.\n";
			envoi_formulaire = false;
		}
	}
	
	if (!envoi_formulaire){
		alert(message);
		if (champ_focus != "") Rend_Focus(formulaire, champ_focus);
	}
	
	return envoi_formulaire;
}

function Verif_Taux(formulaire, taux_mini, taux_maxi, current_obj){
	var envoi_formulaire = true;
	var champ = current_obj.name;
	
	var reg=new RegExp(",", "g");
	current_obj.value = current_obj.value.replace(reg,".");
	
	if(parseFloat(current_obj.value) > parseFloat(taux_maxi)){
		alert("Le taux horaire ne doit pas épasser le plafond de la sécurité sociale majoré de 20% soit "+taux_maxi);
		document.forms[formulaire].elements[champ].value = taux_maxi;
		document.forms[formulaire].elements[champ].focus();
		envoi_formulaire = false;
	}else{
		if(parseFloat(current_obj.value) < parseFloat(taux_mini)){
			if(!confirm("Le salaire est inférieur au SMIC, confirmez vous ?")){
				document.forms[formulaire].elements[champ].focus();
			}
		}else{}	//OK
	}
	return envoi_formulaire;
}

function Verif_Taux_Sans_Alerte(formulaire, taux_mini, taux_maxi, nom_champ){
	var message = "";
	var test_mini = 0;
	var special_message = "";
	var champ2 = "";
	
	var reg=new RegExp(",", "g");
	
	for(var i=0; i<document.forms[formulaire].elements.length; i++){
		if(document.forms[formulaire].elements[i].name.indexOf(nom_champ, 0) != -1){
			document.forms[formulaire].elements[i].value = document.forms[formulaire].elements[i].value.replace(reg,".");
			if(parseFloat(document.forms[formulaire].elements[i].value) > parseFloat(taux_maxi)){
				document.forms[formulaire].elements[i].value = taux_maxi;
				message += "\t - Le taux horaire ne doit pas dépasser le plafond de la sécurité sociale majoré de 20% soit "+taux_maxi+"\n";
			}else{
				champ2 = document.forms[formulaire].elements[i].name.replace("taux", "nbh");
					if(parseFloat(document.forms[formulaire].elements[i].value) < parseFloat(taux_mini)) test_mini++;
			}
		}
	}
	if(test_mini > 0){
		if(!confirm("Certains salaires sont inférieurs au SMIC, confirmez vous ?")) special_message += "confirm";
	}
	
	if(message != "") return message;
	else return special_message;
}

function Sort_And_Refresh(formulaire, field, order){
	document.forms[formulaire].elements['bt_sort'].value = "trier";
	document.forms[formulaire].elements['field'].value = field;
	document.forms[formulaire].elements['order'].value = order;
	document.forms[formulaire].submit();
	return true;
}

function changeDS(val){
	parent.location='?DSid='+val;
}
