
var xm = 0;
var ym = 0;

var couleurMenuHaut = "#472447";
var couleurMenuVert = "#A39E91";
var CoulOrigine = "";

// Position des claques
var leftvert = 165;
var tophori = 122;

var leftmenuentreprise = 255;
var leftmenusalarie = 395;
var leftmenuof = 535;
var leftmenupre = 675;
var topvertFAF = 329;
var topvertcoti = 370;
var topvertpro = 411;
var topvertopti = 452;
var topvertfina = 493;
var topvertreal = 534;
var topvertrecru = 575;
var topvertdoc = 616;

if (navigator.appName+"" == "Netscape")
{
var tophori = 122;
/*
leftmenuentreprise = 53;
leftmenusalarie = 193;
leftmenuof = 333;
leftmenuadmin = 473;
leftmenupre = 633;
*/
topvertFAF = 329;
topvertcoti = 369;
topvertpro = 409;
topvertopti = 449;
topvertfina = 489;
topvertreal = 529;
topvertrecru = 569;
topvertdoc = 609;
}

// Couleurs du menu vertical
var sbgcolorOrig = "#C4C2B0";	
var sbgcolorSwap = "#A39E91";
var scolorOrig = "#472447";
var scolorSwap = "#FFFFFF";
var sbgcolorOrig2 = "#A39E91";
var sbgcolorSwap2 = "#472447";
var scolorOrig2 = "#472447";
var scolorSwap2 = "#FF9900";
// Couleurs du menu horizontal
var sbgMenuHaut = "#472447";
var sbgMenuHautOrig = "#500000";
var sMenutHaut = "#FF9900";
var sMenutHautOrig = "#FFFFFF";
// Couleurs nous contacter
var sbgNousContacter = "#472447";
var sbgNousContacterOrig = "#810b1d";
var sNousContacter = "#FF9900";
var sNousContacterOrig = "#FFFFFF";



function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_changeProp(objName,x,theProp,theValue) { //v6.0
  var obj = MM_findObj(objName);
  if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
    if (theValue == true || theValue == false)
      eval("obj."+theProp+"="+theValue);
    else eval("obj."+theProp+"='"+theValue+"'");
  }
}

function MM_showHideLayers() 
{ //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) 
  { 
    v=args[i+2];
    if (obj.style) 
    { 
      obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; 
    }
    obj.visibility=v; 
  }
}

function LargeurdeFenetre() {

	var mALarg = 0, maHaut = 0;
	if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) 
	{
	//IE 6 et standards 
	maLarg = document.documentElement.clientWidth;
	maHaut = document.documentElement.clientHeight;
	}
	else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) 
	{
	//IE 4 et compatibles
	maLarg = document.body.clientWidth;
	maHaut = document.body.clientHeight;
	}
	else if( typeof( window.innerWidth ) == 'number' ) 
	{
	//Pas-IE
	maLarg = window.innerWidth;
	maHaut = window.innerHeight;
	}

	/*if (navigator.appName=="Netscape")
	{
		maLarg = window.innerWidth;
		maHaut = window.innerHeight;
	}*/
	return maLarg;
}
function PositionMenu(id, ileft, itop)
{
	//var largeur = document.body.clientWidth;	
	var largeur=LargeurdeFenetre();
	ileft = 0;
	itop = 0;

	switch (id)
	{
		// Menu vertical
		case "vertFAF" :
			ileft = leftvert;
			itop = topvertFAF;
			break;
		case "vertcoti" :
			ileft = leftvert;
			itop = topvertcoti;
			break;
		case "vertpro" :
			ileft = leftvert;
			itop = topvertpro;
			break;
		case "vertpro" :
			ileft = leftvert;
			itop = topvertpro;
			break;
		case "vertopti" :
			ileft = leftvert;
			itop = topvertopti;
			break;
		case "vertrecru" :
			ileft = leftvert;
			itop = topvertrecru;
			break;
		case "vertfina" :
			ileft = leftvert;
			itop = topvertfina;
			break;
		case "vertreal" :
			ileft = leftvert;
			itop = topvertreal;
			break;
		case "vertdoc" :
			ileft = leftvert;
			itop = topvertdoc;
			break;
			
		// Menu horizontal
		case "menuentreprise" :
			ileft = leftmenuentreprise;
			itop = tophori;
			break;
		case "menusalarie" :
			ileft = leftmenusalarie;
			itop = tophori;
			break;
		case "menuof" :
			ileft = leftmenuof;
			itop = tophori;
			break;
		case "menuadmin" :
			ileft = leftmenuadmin;
			itop = tophori;
			break;
		case "menupre" :
			ileft = leftmenupre;
			itop = tophori;
			break;
		
		// Fenêtre de login
		case "login" :
			ileft = leftmenusalarie;
			itop = tophori + 180;
			break;
	}
	
	var posX = Math.floor((largeur - 990)/2) + ileft;
	if (posX < ileft) { posX = ileft }
	var obj = MM_findObj(id);
	
	if (navigator.appName=="Netscape")
	{
		obj.style.cssText="left: " + posX + "px; top: " + itop + "px";
	}
	else 
	{
		if (obj.style) 
		{ 
			obj=obj.style; 
		}
		obj.left=posX;
		obj.top=itop;
	}
}

function SwapCouleur(id, coul, menu)
{
	var texte = ""
	var cpt = 0
	var obj = MM_findObj(id);
	if (menu == 1)
	{
		if (coul == "#") 
		{ 
			coul = couleurMenuHaut; 
			CoulOrigine = obj.style.backgroundColor + "";
		}
		if (coul == "") 
		{
			obj.style.backgroundColor = CoulOrigine;
		}
		obj.style.backgroundColor = coul;
	}
	if (menu == 2)
	{
		if (coul == "#") 
		{ 
			coul = couleurMenuVert; 
			CoulOrigine = obj.style.backgroundColor + "";
		}
		if (coul == "") 
		{
			obj.style.backgroundColor = CoulOrigine;
		}
		obj.style.backgroundColor = coul;
		
	}
}

function SwapCouleur2(id, etat, niv)
{
	var obj = MM_findObj(id);
	if (niv == 1)
	{
		if (etat == 1)
		{
			obj.style.backgroundColor = sbgcolorSwap;
			obj.style.color = scolorSwap;
		}
		if (etat == 0)
		{
			obj.style.backgroundColor = sbgcolorOrig;
			obj.style.color = scolorOrig;
		}
	}
	if (niv == 2)
	{
		if (etat == 1)
		{
			obj.style.backgroundColor = sbgcolorSwap2;
			obj.style.color = scolorSwap2;
		}
		if (etat == 0)
		{
			obj.style.backgroundColor = sbgcolorOrig2;
			obj.style.color = scolorOrig2;
		}
	}
	if (niv == 3)
	{
		if (etat == 1)
		{
			obj.style.backgroundColor = sbgMenuHaut;
			obj.style.color = sMenutHaut;
		}
		if (etat == 0)
		{
			obj.style.backgroundColor = sbgMenuHautOrig;
			obj.style.color = sMenutHautOrig;
		}
	}
	if (niv == 4)
	{
		if (etat == 1)
		{
			obj.style.backgroundColor = sbgNousContacter;
			obj.style.color = sNousContacter;
		}
		if (etat == 0)
		{
			obj.style.backgroundColor = sbgNousContacterOrig;
			obj.style.color = sNousContacterOrig;
		}
	}
}

/** 
 * Fonction d'affichage du sous-menu vertical
 * Rq : on passe par une fonction js � cause de IE6 qui ne supporte pas les hovers css
 */
function afficheSousMenuVertical(sousMenuId, MenuId, hrefId) {
    var ul = document.getElementById(sousMenuId);
    if (ul != null) {
                ul.style.display='block';
    }
    if (navigator.appName == "Microsoft Internet Explorer")
    {
                var li = document.getElementById(MenuId);
                var href = document.getElementById(hrefId);
                if (li != null) {
                           li.style.height='38px';
                           href.style.height='38px';
                }
    }
}


/** 
* Fonction de cache du sous-menu vertical
* Rq : on passe par une fonction js � cause de IE6 qui ne supporte pas les hovers css
*/
function cacheSousMenuVertical(sousMenuId, MenuId, hrefId) {
    var ul = document.getElementById(sousMenuId);
    if (ul != null) {
                ul.style.display='none';
    }
    if (navigator.appName == "Microsoft Internet Explorer")
    {
                var li = document.getElementById(MenuId);
                var href = document.getElementById(hrefId);
                if (li != null) {
                           li.style.height='40px';
                           href.style.height='40px';
               }
    }
}


/**
 * Fonction permettant de vérifier que les champs de formulaire recrutement soient bien remplis .
 */
function verifier_recrut() {
	// On récupére les deux élèments de login pour vérifier qu'ils soient bien remplis 
	var elemNom_recrut				= document.getElementById('nom_recrut');
	var elemPrenom_recrut				= document.getElementById('prenom_recrut');
	var elemDate_de_naissance_recrut				= document.getElementById('date_de_naissance_recrut');
	var elemEmail_recrut				= document.getElementById('email_recrut');
	var elemRef_offre_recrut			= document.getElementById('ref_offre_recrut');
	var elemuploadFileCV					= document.getElementById('uploadFile0');
	var elemuploadFileLM				= document.getElementById('uploadFile1');
 	if(trim(elemNom_recrut.value)=="")
 		elemNom_recrut.value = trim(elemNom_recrut.value);
 	if(trim(elemPrenom_recrut.value)=="")
 		elemPrenom_recrut.value = trim(elemPrenom_recrut.value);
	var extensionExp= /(doc|pdf)$/;
 	var tabElem = new Array(elemNom_recrut,elemPrenom_recrut,elemDate_de_naissance_recrut,elemRef_offre_recrut, elemuploadFileCV,elemuploadFileLM);
 	var message = "Veuillez ne séléctionner que des fichiers d'extension .doc ou .pdf  !";
	if (boucleChampsObligatoires(tabElem)) {
	   	if(elemDate_de_naissance_recrut.value){
	   		if(!verifierFormatDate(elemDate_de_naissance_recrut,true)){
	   			return false;
	   		}
	   		if(!verifierFormatDateCourrantAnt(elemDate_de_naissance_recrut)){
	   			return false;
	   		}
	   	}
		if(!verifierFormatMail(elemEmail_recrut)){
			return false;
		} else if(elemuploadFileCV.value.match(extensionExp) == null){
			alert(message);
			elemuploadFileCV.focus();
			return false;
		}else if(elemuploadFileLM.value.match(extensionExp) == null){
			alert(message);
			elemuploadFileLM.focus();
			return false;
		}
	} else {
		// Boucle de vérification !ok
		return false;
	}
	popSignFlow(2);
  	return true;
}
/**
 * Fonction permettant de vérifier que les champs de justificatif editer soient bien remplis .
 */
function verifier_justificatif(nombre) {
	// On récupére les deux élèments de login pour vérifier qu'ils soient bien remplis
	var tabElem =new Array(nombre);
	var subject="subject";
	for(i=0;i<nombre;i++) 		
		tabElem[i]=document.getElementById(subject.concat(i));
	if (boucleChampsObligatoires(tabElem)) {
		popSignFlow(2);
		return true;
	}
	return false;
}
/**
 * Fonction permettant de vérifier que les champs de justificatifs_editer soient bien remplis .
 */
function verifier_justificatif_rechercher() {
	// On récupére les deux élèments de login pour vérifier qu'ils soient bien remplis 
	var elemFile				= document.getElementById('FicherJustificatif');
	var extensionExp= /(pdf|doc|xls|zip)$/;
 	var tabElem = new Array(elemFile);
	if (boucleChampsObligatoires(tabElem)) {
		if(elemFile.value.match(extensionExp) == null){
			alert("Veuillez ne séléctionner que des fichiers de type MS OFFICE, PDF ou ZIP !");
			elemFile.focus();
			return false;
		}
	} else{
		return false;
	}
	popSignFlow(2);
	return true;
}
/**
 * Fonction permettant de vérifier que le code naf est référencer ou pas .
 */
function code_naf_Validator(elem,tab){
	var mySplitResult = tab.split("-");
	for(var i = 0; i < mySplitResult.length; i++){
		if(mySplitResult[i]==elem.value){
			alert("Le code NAF2 saisi est référencé par le FAFIEC. Vous devez donc cotiser au FAFIEC!");
			return true;
		}
	}
	alert("Le code NAF2 saisi n’est pas référencé par le FAFIEC, cependant il se peut que votre activité vous oblige à cotiser au FAFIEC. Pour plus d’information, veuillez nous contacter!");
	return false;
}

 /**
  * Fonction permettant de vérifier que tous les champs obligatoires du contact sont bien remplis
  */
 function verifModifContact() { 
 	var elemNom = document.getElementById('editcontact_nom');
 	var elemPrenom = document.getElementById('editcontact_prenom');
 	var elemFonction = document.getElementById('editcontact_fonction');
 	var elemCivilite = document.getElementById('ajouter_select_civilite');
 	var elemTelephone = document.getElementById('editcontact_telephone');
 	var elemFax= document.getElementById('editcontact_fax');
 	
 	var elemEmail = document.getElementById('editcontact_email');
 	var tabElem = new Array(elemNom, elemPrenom, elemFonction, elemCivilite,elemTelephone, elemEmail);

    if(boucleChampsObligatoires(tabElem)){
    	if (!VerifNumeroTelephone(elemTelephone)) {
    		return false;
    	}
		if(elemFax.value.length>0){
			if (!VerifNumeroFax(elemFax)) {
				return false;
			}
		}
		popSignFlow(2);
		return true;    		
    }	
	return false;	
 }
 
 /**
  * Fonction permettant de vérifier que tous les champs obligatoires de l'entreprise sont bien remplis
  */
 function verifModifEntreprise() {
 	var elemNomChef = document.getElementById('editentreprise_nom_chef');
 	var elemPrenomChef = document.getElementById('editentreprise_prenom_chef');
 	var elemRaisonSociale = document.getElementById('editentreprise_raison_sociale');
 	var elemAdr1 = document.getElementById('editentreprise_adresse1');
 	var elemCodePostal = document.getElementById('editentreprise_code_postal'); 	
 	var elemCodeNaf = document.getElementById('editentreprise_code_naf');
 	var elemCodeSiret1014 = document.getElementById('editentreprise_code_siret_1014');
 	
 	if(trim(elemCodePostal.value)=="")
 		elemCodePostal.value = trim(elemCodePostal.value);
 	var elemVille = document.getElementById('editentreprise_ville');
 	var elemDateSitJuri = document.getElementById('editentreprise_date_sit_juri');
	var elemRadioActivitePrinc = document.forms['editentrepriseform'].editentreprise_activite_princ;
	var elemRadioReprise_chambre_patronale = document.forms['editentrepriseform'].editentreprise_chambre_patronale;
	var tabElemRadio = new Array(elemRadioActivitePrinc,elemRadioReprise_chambre_patronale);	
 	
 	var tabElem = new Array(elemCodeNaf,elemCodeSiret1014,elemRaisonSociale,elemAdr1,elemCodePostal,elemVille,elemNomChef,elemPrenomChef);
	if (boucleChampsObligatoires(tabElem)) {
		// Les champs obligatoires sont remplis.
		// Reste à vérifier les contenus
		// DateSitJuri	
		var code_naf_Exp=/[a-zA-Z0-9\?\*]{5,}/;
		if(elemCodeNaf.value.length<5){
			alert("Le Code NAF2 doit comporter cinq caractères alphanumériques !");
			elemCodeNaf.focus();
			return false;
		}
		if(!elemCodeNaf.value.match(code_naf_Exp)){
			alert("Le Code NAF2 ne doit comporter que des caractères alphanumériques, sans accent !");
			elemCodeNaf.focus();
			return false;
		}
		if( verifierFormatNumerique(elemCodeSiret1014) && elemCodeSiret1014.value.length==5){
			if (verifierFormatDate(elemDateSitJuri,true)) {
				if(VerifCodePostale(elemCodePostal,true)){
					if (boucleRadioObligatoire(tabElemRadio)) {
							popSignFlow(2);
							return true;
			        }
				}
		}
		}else{
			alert("Le Code SIRET renseigné est incorrect !");			
			elemCodeSiret1014.focus();
			return false;
		}
	}	
	// Si on arrive là : on a eu un pb
	return false;
 }
 
 /**
  * Fonction permettant de vérifier que tous les champs obligatoires de nouvelle entreprise sont bien remplis
  */
 function verifNouvelleEntreprise() {	 
	var elemEmail = document.getElementById('new_entreprise_email');	
 	var elemNomContact = document.getElementById('new_entreprise_nom_contact');
 	var elemPrenomContact = document.getElementById('new_entreprise_prenom_contact'); 
 	var combo_civilite = document.getElementById('combo_civilite');	
 	var elemCodeNaf = document.getElementById('new_entreprise_code_naf');
 	var elemCode_siret_13 = document.getElementById('new_entreprise_code_siret_13');
 	var elemCode_siret_46 = document.getElementById('new_entreprise_code_siret_46');
 	var elemCode_siret_79 = document.getElementById('new_entreprise_code_siret_79');
 	var elemCode_siret_1014 = document.getElementById('new_entreprise_code_siret_1014');
 	elemCode_siret_13.value = trim(elemCode_siret_13.value);
 	elemCode_siret_46.value = trim(elemCode_siret_46.value);
 	elemCode_siret_79.value = trim(elemCode_siret_79.value);
 	elemCode_siret_1014.value = trim(elemCode_siret_1014.value);
 	var elemRaisonSociale = document.getElementById('new_entreprise_raison_sociale');
 	var elemAdr1 = document.getElementById('new_entreprise_adresse');
 	var elemCodePostal = document.getElementById('new_entreprise_code_postal');
 	if(trim(elemCodePostal.value)=="")
 		elemCodePostal.value = trim(elemCodePostal.value);
 	var elemVille = document.getElementById('new_entreprise_ville'); 	
	var elemRadioActivitePrinc = document.forms['newentrepriseform'].new_entreprise_activite_princ;
	var elemparam_TailleSIRET = document.getElementById('param_TailleSIRET');
		 
	var tabElemRadio = new Array(elemRadioActivitePrinc);			
 	var tabElem = new Array(elemCodeNaf,elemCode_siret_13,elemCode_siret_46,elemCode_siret_79,elemCode_siret_1014,elemRaisonSociale,elemAdr1,elemCodePostal,elemVille,elemNomContact,elemPrenomContact,combo_civilite);
	if (boucleChampsObligatoires(tabElem)) {
		if(verifierFormatNumerique(elemCode_siret_13) && 
		   verifierFormatNumerique(elemCode_siret_46) &&
		   verifierFormatNumerique(elemCode_siret_79) &&
		   verifierFormatNumerique(elemCode_siret_1014) 	){		
			var code_naf_Exp=/[a-zA-Z0-9]{5,}/;
			if(elemCodeNaf.value.length<5){
				alert("Le Code NAF2 doit comporter cinq caractères alphanumériques !");
				elemCodeNaf.focus();
				return false;
			}
			if(!elemCodeNaf.value.match(code_naf_Exp)){
				alert("Le Code NAF2 ne doit comporter que des caractères alphanumériques, sans accent !");
				elemCodeNaf.focus();
				return false;
			}
			// Vérif format mail
			var elemCode_siret=elemCode_siret_13.value.length+
								elemCode_siret_46.value.length+
								elemCode_siret_79.value.length+
								elemCode_siret_1014.value.length;
			var lSiret=Number(elemparam_TailleSIRET.value);			
			if(lSiret==elemCode_siret){
				if (verifierFormatMail(elemEmail)) {					
					if (boucleRadioObligatoire(tabElemRadio)) {
						if(verifierFormatNumerique(elemCodePostal,false)){
							popSignFlow(2);
							return true;
						}
					}	 
				}
			}else{
				alert("Le Code SIRET renseigné est incorrect !");			
				elemCode_siret_13.focus();
				return false;
			}
		}
	}
	// Si on arrive là : on a eu un pb
	return false;
 }
 
 /**
  * Fonction bouclant sur les éléments du tableau : si l'élément n'est pas rempli, on fait une alert, et on retourne false 
  */
 function boucleChampsObligatoires(tabElem) {
 	var cptTabElem = 0;
 	for (cptTabElem=0; cptTabElem<tabElem.length; cptTabElem++) {
		var elem = tabElem[cptTabElem];
		if(elem.value.length == 0){
			alert("Les champs suivis d’un astérisque sont obligatoires, veuillez les renseigner avant de valider !");
			elem.focus();
			return false;
		}
	}
	return true;
 }
 
 /**
  * Fonction bouclant sur les éléments du tableau : au moins un élément doit être rempli 
  */
 function boucleAuMoinsUnChampObligatoire(tabElem) {
 	var cptTabElem = 0;
 	for (cptTabElem=0; cptTabElem<tabElem.length; cptTabElem++) {
		var elem = tabElem[cptTabElem];
		if(elem.value.length != 0){
			return true;
		}
	}
	alert("Au moins un champ doit être renseigné !");
	tabElem[0].focus();
	return false;
 }
 
/**
 * Fonction de vérification de format numérique
 */
function verifierFormatMail(elemMail,isObligatoire) {
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if (undefined===isObligatoire) {
		isObligatoire = true;
	}
	if (!isObligatoire && elemMail.value.length==0) {
		return true;
	}
	if((elemMail.value.match(emailExp)) ){
		return true;
	}	
	// Si on arrive là, il y a eu un pb
	alert('Format de mail non valide !');
	elemMail.focus();
	return false;
}

/**
 * Fonction de vérification de format numérique
 */
function verifierFormatNumerique(elemNum,isObligatoire) {
	// Elément numérique
	var numStr = elemNum.value;
	if (undefined===isObligatoire) {
		isObligatoire = true;
	}
	if (!isObligatoire && numStr.length==0) {
		return true;
	}
	var formatNumInvalide = 'Format numérique non valide !';
    var exp=new RegExp("^[0-9]*$","g");
	if(exp.test(numStr))
		return true;
	// Si on arrive là, il y a eu un pb
	alert(formatNumInvalide);
	elemNum.focus();
	return false;
}


/**
 * Fonction de vérification de format float
 */
function verifierFormatFloat(elemNum,isObligatoire) {
	// Elément numérique
	var numStr = elemNum.value;
	if (undefined===isObligatoire) {
		isObligatoire = true;
	}
	if (!isObligatoire && numStr.length==0) {
		return true;
	}
	var formatNumInvalide = 'Format décimal non valide (xxxx.xx) !';
    var exp=/^-?\d+(\.\d{1,2})?$/;
    if(numStr.match(exp))
		return true;
	// Si on arrive là, il y a eu un pb
	alert(formatNumInvalide);
	elemNum.focus();
	return false;
}
/**
 * Fonction de vérification de format float absolut
 */
function verifierFormatFloatDecimal(elemNum,isObligatoire) {
	// Elément numérique
	var numStr = elemNum.value;
	if (undefined===isObligatoire) {
		isObligatoire = true;
	}
	if (!isObligatoire && numStr.length==0) {
		return true;
	}
	var formatNumInvalide = 'Format décimal non valide (xxxx.xx) !';
    var exp=/^-?\d+\.\d{1,2}?$/;
    if(numStr.match(exp))
		return true;
	// Si on arrive là, il y a eu un pb
	alert(formatNumInvalide);
	elemNum.focus();
	return false;
}
/**
 * Fonction de vérification d'année
 */ 
function verifierFormatAnnee(elemAnnee,isObligatoire) {
	var annee = elemAnnee.value;
	if (undefined===isObligatoire) {
		isObligatoire = true;
	}
	if (!isObligatoire && annee.length==0) {
		return true;
	}
	var formatAnneeInvalide = "Format d\'année non valide (aaaa) !";
	if(annee.match("^[0-9]{4}$")){
		if (annee_valide(annee)) {
			return true;
		}else{
			formatAnneeInvalide = 'L\'année doit être comprise entre 1950 et l\'année actuelle !';
		}
	}
	// Si on arrive là, il y a eu un pb
	alert(formatAnneeInvalide);
	elemAnnee.focus();
	return false;
}
 
/**
 * Fonction de validation d'une annee
 */
function annee_valide(z)  { 
	/*  
	z = année 
	------------------------------- 
	Cette fonction envoie "True" si l'annee est valide 
	et dans le cas contraire "False".*/ 
	if (isNaN(z)) {
		return false;
	} else {
		var dateActuelle = new Date();
		var anneeActuelle = dateActuelle.getFullYear();
		if ((z >= 1950) && (z <= anneeActuelle))  { 
			return true;  
		} else { 
			return false; 
		}
	}
} 
 
/**
 * Fonction de validation d'une date
 */
function date_valide(x,y,z)  { 
	/*  
	x = jours 
	y = mois 
	z = année 
	------------------------------- 
	Cette fonction envoie "True" si une date est valide 
	et dans le cas contraire "False".*/ 
	if (isNaN(x) || isNaN(y) || isNaN(z)) {
		return false;
	} else {
		if ((x <= 31)&&(nbjours_mois(y,z)==31))  { 
			return true; 
		} else if ((x <= 29)&&(nbjours_mois(y,z)==29)) { 
			return true; 
		} else if ((x<=28)&&(nbjours_mois(y,z)==28)) { 
			return true; 
		} else if ((x<=30)&&(nbjours_mois(y,z)==30)) { 
			return true; 
		} else { 
			return false; 
		}
	}
} 

/**
 * Fonction permettant de connaitre le nombre de jour dans un mois selon une année
 */
function nbjours_mois(mois,annee) { 
	/* cette fonction envoie le nombre de jours dans 1 mois. 
	il prend en compte les années bissextiles. 
	!!! l'année bissextile n'est pas vraiment juste !!! 
	il arrive tous les 400 ans si je ne me trompes pas qu'une année 
	divisible par 4 ne soit pas bissextile.. d'ici là on sera plus là :-))*/ 
	if ((mois==1)||(mois==3)||(mois==5)||(mois==7)||(mois==8)||(mois==10)||(mois==12)) { 
		return(31); 
	} else if ((mois==4)||(mois==6)||(mois==9)||(mois==11)) { 
		return(30); 
	} else if ((mois==2)&&(annee % 4 ==0)) { 
		return(29); 
	} else { 
		return(28); 
	} 
}
/**
 * Fonction permettant de griser les sousradio dans DPC/action co
 */
function DpcActionCoTypeCout() {		
	// On récupère les éléments radio et sousradio
	var elemRadioTypeFormation = document.forms['dpcformationacform'].dpcformation_inter_intra;
	var cout_variable = document.getElementById('param_prix_variable').value;
	var cout_inter = document.getElementById('param_value_cout_inter').value;
	var cout_intra = document.getElementById('param_value_cout_intra').value;
	var text_prix = document.getElementById('param_prix_actionco').value;
	
	var dpcformation_cout = document.getElementById('dpcformation_cout');
	if(cout_variable==1){
		dpcformation_cout.value="";
		dpcformation_cout.readOnly=false;
		dpcformation_cout.alt=text_prix;
		dpcformation_cout.title=text_prix;
		
	}else{
		dpcformation_cout.readOnly=true;
		dpcformation_cout.alt="";
		dpcformation_cout.title="";
		if (elemRadioTypeFormation[0].checked) {
			// Le radio cout inter est sélectionné => 
			dpcformation_cout.value=cout_inter;
		} else {
			dpcformation_cout.value=cout_intra;
		}	
	}
}
/**
 * Fonction permettant de griser les sousradio dans DPC/Choix
 */
function DpcChoixGriser() {		
	// On récupère les éléments radio et sousradio
	var elemRadioTypeFormation = document.forms['dpcchoixform'].dpcchoix_radio_type_formation;
	var elemSousradioTypeFormation = document.forms['dpcchoixform'].dpcchoix_sousradio_type_formation;
	var elemRadioFormation = document.forms['dpcchoixform'].dpcchoix_radio_assuree_par;	
	var formation_AC = document.getElementById('constanteSousTypeFormationAC').value;
	var formation_Ext = document.getElementById('constanteFormationAssureeEXT').value;
	
	var active_ac=false;
	if (elemRadioTypeFormation[0].checked) {
		// Le radio Plan de formation est sélectionné => 
		for (i=0; i<4; i++) {
			if(elemSousradioTypeFormation[i].value.match(formation_AC)){
				if(elemSousradioTypeFormation[i].checked)
					active_ac=true;
			}
			// On enable les sousradio
			elemSousradioTypeFormation[i].disabled=false;			
		}
	} else {
		// Le radio Plan de formation n'est pas sélectionné =>
		for (i=0; i<4; i++) {
			// On disable les sousradio
			elemSousradioTypeFormation[i].checked=false;
			elemSousradioTypeFormation[i].disabled=true;
		}
	}	
	for (i = 0; i<elemRadioFormation.length; i++) {
		elemRadioFormation[i].disabled=false;
	}
	if(active_ac){
		for (i = 0; i<elemRadioFormation.length; i++) {
			if(elemRadioFormation[i].value.match(formation_Ext)){
				elemRadioFormation[i].disabled=false;
				elemRadioFormation[i].checked=true;
			}else{
				elemRadioFormation[i].disabled=true;
				elemRadioFormation[i].checked=false;
			}
		}
	}	
	if (elemRadioTypeFormation[2].checked) {
		for (i = 0; i<elemRadioFormation.length; i++) {
			if(elemRadioFormation[i].value.match(formation_Ext)){
				elemRadioFormation[i].disabled=false;
				elemRadioFormation[i].checked=true;
			}else{
				elemRadioFormation[i].disabled=true;
				elemRadioFormation[i].checked=false;
			}
		}
	}
}
/**
 * Fonction permettant de griser les sousradio dans DPC/Choix
 */
function DpcSalarieMetier(value) {
	
	var elemSalarieAutreMetier = document.getElementById('dpcsalarie_metier_autre');
	if(value==0){
		elemSalarieAutreMetier.disabled=false;
	}else{
		elemSalarieAutreMetier.value="";
		elemSalarieAutreMetier.disabled=true;
	}
}

/**
 * Fonction vérifiant que tous les champs sont bien remplis
 */
function verifDpcProfileDeclarer() {
	// On rÃ©cupÃ¨re les Ã©lÃ©ments radio et sousradio
	var elemRadioTypeProfil = document.forms['dpcprofiledeclarerform'].dpcdeclarerprofil_radio_type_profil;
	var elemRadioAction = document.forms['dpcprofiledeclarerform'].dpcprofil_declarer_sousradio_valideur_action;
	var tabElemRadio = new Array(elemRadioTypeProfil,elemRadioAction);
	if (boucleRadioObligatoire(tabElemRadio)) {
		if (elemRadioTypeProfil[0].checked) {
			var elemCertificat = document.forms['dpcprofiledeclarerform'].dpcdeclarerprofil_radio_certificat;
			if(elemCertificat.checked){
				return true;
			}else{
				alert("Veuillez cocher la case certifiant que vous êtes habilité à valider et confirmer une demande de prise en charge !");
				elemCertificat.focus();				
			}
		}else{
			return true;
		}
	}
	return false;
}
/**
 * Fonction vÃ©rifiant que tous les champs sont bien remplis
 */
function verifDpcChoix() {
	// On récupère les éléments radio et sousradio
	var elemRadioTypeFormation = document.forms['dpcchoixform'].dpcchoix_radio_type_formation;
	var elemRadioAssureePar = document.forms['dpcchoixform'].dpcchoix_radio_assuree_par;
	var tabElemRadio = new Array(elemRadioTypeFormation,elemRadioAssureePar);
	// Si le premier élément radio est sélectionné, il faut vérifier que le soustype de formation est sélectionner
	if (elemRadioTypeFormation[0].checked) {
		var elemSousradioTypeFormation = document.forms['dpcchoixform'].dpcchoix_sousradio_type_formation;
		tabElemRadio.push(elemSousradioTypeFormation);
	}
	return boucleRadioObligatoire(tabElemRadio);
}

/**
 * Fonction vérifiant qu'au moins un des deux champs de recherche a été rempli
 */
function verifDpcOrganismeRechercher() {
	var elemNumSiren = document.getElementById('dpc_organisme_rechercher_siret');
	var elemDeclAct = document.getElementById('dpc_organisme_rechercher_activite');   
	var elemRaisonSociale = document.getElementById('dpc_organisme_rechercher_raison_sociale');   
	var number_Exp= /^[0-9]\d{8}$/;	
	var raison_sociale_Exp=/[A-Z0-9\?\*]{3,}/;
	if(elemNumSiren.value.length==0 && elemDeclAct.value.length==0 && elemRaisonSociale.value.length==0){
		alert("Au moins un champ doit être renseigné !");
		elemNumSiren.focus();
		return false;
	}
	//vérifier le champ numéro siren
	if(elemNumSiren.value.length>0){
		if(!VerifNumeroSiren(elemNumSiren,9)){
			return false;
		}
	}
	if(elemRaisonSociale.value.length>0){
		if(elemRaisonSociale.value.length<3){
			alert("La raison sociale doit comporter au moins trois caractères alphanumériques !");
			elemRaisonSociale.focus();
			return false;
		}
		if(!elemRaisonSociale.value.match(raison_sociale_Exp)){
			alert("La raison sociale ne doit comporter que des caractères alphanumériques, en majuscule, sans accent !");
			elemRaisonSociale.focus();
			return false;
		}
	}
	return true;
}
/**
 * Fonction vérifiant que tous les champs sont bien remplis action co
 */
function verifDpcFormationAc() {
	var elemRadioTypeFormation = document.forms['dpcformationacform'].dpcformation_niveau_vise;
	var elemRadioTypeCout = document.forms['dpcformationacform'].dpcformation_inter_intra;
 	var elemRadioPaiementDirect = document.forms['dpcformationacform'].dpcformation_paiement_direct;	
	var tabElemRadio = new Array(elemRadioTypeFormation,elemRadioTypeCout,elemRadioPaiementDirect);
	// On récupère les éléments radio et sousradio
	if (boucleRadioObligatoire(tabElemRadio)) {		
	 	var elemDateDebut = document.getElementById('dpcformation_date_debut');
	 	var elemDateFin = document.getElementById('dpcformation_date_fin');
	 	var elemDuree = document.getElementById('dpcformation_duree');
	 	var elemCout = document.getElementById('dpcformation_cout');
	 	var elemLimiteMin = document.getElementById('param_limite_min');
	 	var elemLimiteMax = document.getElementById('param_limite_max');
	 	var tabElem = new Array(elemDateDebut,elemDateFin,elemDuree,elemCout);
		if (boucleChampsObligatoires(tabElem)) {
			// Tous les champs obligatoires sont remplis
			// Reste à vérifier leur contenu
			if (verifierFormatDate(elemDateDebut,true) && verifierFormatDate(elemDateFin,true) 
				&& verifierFormatNumerique(elemDuree)  
				&& verifierFormatFloat(elemCout)) {
			 	if(!VerifDureeEnHeure(elemDuree,elemLimiteMin,elemLimiteMax)){return false;}
			 	if(!VerifFormationDateDebutFin(elemDateDebut,elemDateFin)){return false;}
					// Un choix a été fait pour chaque radio
					return true;
			}
		}
	}
	// Si on arrive là : on a eu un pb
	return false;
}
/**
 * Fonction vérifiant que tous les champs sont bien remplis
 */
function verifDpcFormationPf() {
	// On récupère les éléments radio et sousradio
	var elemRadioTypeFormation = document.forms['dpcformationpfform'].dpcformation_niveau_vise;
 	var elemRadioPaiementDirect = document.forms['dpcformationpfform'].dpcformation_paiement_direct;
 	var elemRadioFormationInterIntra = document.forms['dpcformationpfform'].dpcformation_inter_intra;		
 	
	var tabElemRadio = new Array(elemRadioTypeFormation,elemRadioFormationInterIntra,elemRadioPaiementDirect);
	if (boucleRadioObligatoire(tabElemRadio)) {
		// Un choix a été fait pour chaque radio
	 	var elemIntituleStage = document.getElementById('dpcformation_intitule_stage');
	 	if(trim(elemIntituleStage.value)=="")
	 		elemIntituleStage.value = trim(elemIntituleStage.value);
	 	var elemDateDebut = document.getElementById('dpcformation_date_debut');
	 	var elemDateFin = document.getElementById('dpcformation_date_fin');
	 	var elemDuree = document.getElementById('dpcformation_duree');
	 	var elemCout = document.getElementById('dpcformation_cout');
	 	var elemLimiteMin = document.getElementById('param_limite_min');
	 	var elemLimiteMax = document.getElementById('param_limite_max');
	 	var tabElem = new Array(elemIntituleStage,elemDateDebut,elemDateFin,elemDuree,elemCout);
		if (boucleChampsObligatoires(tabElem)) {
			// Tous les champs obligatoires sont remplis
			// Reste à vérifier leur contenu
			if (verifierFormatDate(elemDateDebut,true) && verifierFormatDate(elemDateFin,true) 
				&& verifierFormatDateCourrantPostEgale(elemDateDebut)
				&& verifierFormatDateCourrantPostEgale(elemDateFin)  
				&& verifierFormatNumerique(elemDuree) 
				&& verifierFormatFloat(elemCout)) {
			 	if(!VerifDureeEnHeure(elemDuree,elemLimiteMin,elemLimiteMax)){return false;}
			 	if(!VerifFormationDateDebutFin(elemDateDebut,elemDateFin)){return false;}
				return true;
			}
		}
	}
	// Si on arrive là : on a eu un pb
	return false;
}
/**
 * Fonction vérifiant que tous les champs sont bien remplis
 */
function verifDpcJustificatifChoix() {
	// On récupère les éléments radio et sousradio
	var elemRadioChoix = document.forms['dpcjustificatifchoixform'].dpcjustificatif_choix;
	var tabElemRadio = new Array(elemRadioChoix);
	if (boucleRadioObligatoire(tabElemRadio)) {
		popSignFlow(2);
			return true;			
	}
	// Si on arrive là : on a eu un pb
	return false;
}
/**
 * Fonction vérifiant que tous les champs sont bien remplis
 */
function verifDpcFormationTt() {
 	var elemDateDebut = document.getElementById('dpcformation_date_debut');
 	var elemDateFin = document.getElementById('dpcformation_date_fin');
 	var elemDuree = document.getElementById('dpcformation_duree');
 	var elemCout = document.getElementById('dpcformation_cout');
 	var tabElem = new Array(elemDateDebut,elemDateFin,elemDuree,elemCout);
	if (boucleChampsObligatoires(tabElem)) {
	 	var elemRadioPaiementDirect = document.forms['dpcformationttform'].dpcformation_paiement_direct;	
		var tabElemRadio = new Array(elemRadioPaiementDirect);
		if (boucleRadioObligatoire(tabElemRadio)) {
			// Tous les champs obligatoires sont remplis
			// Reste à vérifier leur contenu
			if (verifierFormatDate(elemDateDebut,true) && verifierFormatDate(elemDateFin,true) 
					&& verifierFormatDateCourrantPost(elemDateDebut) 
					&& verifierFormatDateCourrantPost(elemDateFin) 
					&& verifierFormatNumerique(elemDuree) 
					&& verifierFormatFloat(elemCout)) {
			 	var elemLimiteMin = document.getElementById('param_limite_min');
			 	var elemLimiteMax = document.getElementById('param_limite_max');
			 	if(!VerifDureeEnHeure(elemDuree,elemLimiteMin,elemLimiteMax)){return false;}
			 	if(!VerifFormationDateDebutFin(elemDateDebut,elemDateFin)){return false;}
				return true;
			}
		}
	}
	// Si on arrive là : on a eu un pb
	return false;
}

/**
 * Fonction vérifiant que tous les champs sont bien remplis
 */
function verifDpcFormationCp() {
	
 	var elemEmployeurNombreSalarie = document.getElementById('dpcformation_employeur_nombre_salarie');
 	var elemEmployeurCaisseRetraite = document.getElementById('dpcformation_employeur_caisse_retraite');
 	if(trim(elemEmployeurCaisseRetraite.value)=="")
 		elemEmployeurCaisseRetraite.value = trim(elemEmployeurCaisseRetraite.value);
 	var elemEmployeurOrgaPrevo = document.getElementById('dpcformation_employeur_orga_prevo');
 	if(trim(elemEmployeurOrgaPrevo.value)=="")
 		elemEmployeurOrgaPrevo.value = trim(elemEmployeurOrgaPrevo.value);
 	var elemIntituleStage = document.getElementById('dpcformation_intitule_stage');
 	if(trim(elemIntituleStage.value)=="")
 		elemIntituleStage.value = trim(elemIntituleStage.value);
 	var elemDateDebut = document.getElementById('dpcformation_date_debut');
 	var elemDateFin = document.getElementById('dpcformation_date_fin');
 	var elemDureeContratMin = document.getElementById('param_duree_contrat_min');
 	var elemDureeContratMax = document.getElementById('param_duree_contrat_max'); 	
 	var elemDuree = document.getElementById('dpcformation_duree');	 	
 	var elemDureeEnseignement = document.getElementById('dpcformation_duree_enseignement');
 	var elemDureeHebdoTravail = document.getElementById('dpcformation_duree_hebdo_travail');
 	var elemDureePeriodeEssai = document.getElementById('dpcformation_duree_periode_essai');
 	var elemSalaireBrut = document.getElementById('dpcformation_salaire_brut_mensuel');
 	var elemNbOf = document.getElementById('dpcformation_nb_of');
 	var elemCout = document.getElementById('dpcformation_cout');
 	var elemForLieuAdresse = document.getElementById('dpcformation_lieu_adresse');
 	if(trim(elemForLieuAdresse.value)=="")
 		elemForLieuAdresse.value = trim(elemForLieuAdresse.value);
 	var elemForCodePostal = document.getElementById('dpcformation_lieu_code_postal');
 	if(trim(elemForCodePostal.value)=="")
 		elemForCodePostal.value = trim(elemForCodePostal.value);
 	var elemForLieuVille= document.getElementById('dpcformation_lieu_ville');
 	if(trim(elemForLieuVille.value)=="")
 		elemForLieuVille.value = trim(elemForLieuVille.value);
 	var elemEmploiOccupeFormation= document.getElementById('dpcformation_emploi_occupe');
 	if(trim(elemEmploiOccupeFormation.value)=="")
 		elemEmploiOccupeFormation.value = trim(elemEmploiOccupeFormation.value);
 	 	
	var elemPeriodeExamenMois = document.getElementById('dpcformation_periode_examen_mois');
	var elemPeriodeExamenAnnee = document.getElementById('dpcformation_periode_examen_annee');
	var elemSpecialiteFormation = document.getElementById('dpcformation_specialite_formation');

	var elemDateDebutContrat = document.getElementById('dpcformation_date_debut_contrat');
	var elemDateSignatureContrat = document.getElementById('dpcformation_date_signature_contrat');
	var elemDateFinContrat = document.getElementById('dpcformation_date_fin_contrat');
	var elemClassificationNiveau = document.getElementById('dpcformation_classification_niveau');
 	if(trim(elemClassificationNiveau.value)=="")
 		elemClassificationNiveau.value = trim(elemClassificationNiveau.value);
	var elemClassificationCoefficient = document.getElementById('dpcformation_classification_coefficient');
 	if(trim(elemClassificationCoefficient.value)=="")
 		elemClassificationCoefficient.value = trim(elemClassificationCoefficient.value);
	var elemTuteurDureeContrat = document.getElementById('dpcformation_tuteur_duree_contrat');
	var elemTuteurDateFormation = document.getElementById('dpcformation_tuteur_date_formation');
	var elemTuteurNbAnneesExp = document.getElementById('dpcformation_tuteur_nb_annees_exp');
	var elemTuteurNbSalariesSuivis = document.getElementById('dpcformation_tuteur_nb_salaries_suivis');

	var elemEvaluationPrevue = document.getElementById('dpcformation_evaluation_prevue');
 	if(trim(elemEvaluationPrevue.value)=="")
 		elemEvaluationPrevue.value = trim(elemEvaluationPrevue.value);
	var elemModeAlternance = document.getElementById('dpcformation_mode_alternance');
 	if(trim(elemModeAlternance.value)=="")
 		elemModeAlternance.value = trim(elemModeAlternance.value);
	var elemObjectifPedagogique = document.getElementById('dpcformation_objectif_pedagogique');
 	if(trim(elemObjectifPedagogique.value)=="")
 		elemObjectifPedagogique.value = trim(elemObjectifPedagogique.value);
	var elemLieuSignatureContrat = document.getElementById('dpcformation_lieu_signature_contrat');
 	if(trim(elemLieuSignatureContrat.value)=="")
 		elemLieuSignatureContrat.value = trim(elemLieuSignatureContrat.value);
	var elemFormationInterne = document.getElementById('param_formation_interne');
	
	
 	var tabElem = new Array(elemEmployeurNombreSalarie,
 			elemEmployeurCaisseRetraite,
 			elemEmployeurOrgaPrevo,
 			elemDureeHebdoTravail,
 			elemDureePeriodeEssai,
 			elemDateDebutContrat,
 			elemDateFinContrat,
 			elemClassificationNiveau,
 			elemClassificationCoefficient,
 			elemForLieuAdresse,
 			elemForCodePostal,
 			elemForLieuVille,
 			elemDateSignatureContrat,
 			elemLieuSignatureContrat,
 			elemObjectifPedagogique,
 			elemDuree,
 			elemSalaireBrut,
 			elemDureeEnseignement,
 			elemEmploiOccupeFormation,
 			elemIntituleStage,
 			elemSpecialiteFormation,
 			elemDateDebut,
 			elemDateFin,
 			elemPeriodeExamenMois,
 			elemPeriodeExamenAnnee,
 			elemCout,
 			elemEvaluationPrevue,
 			elemModeAlternance);
 	var elemRadioTypeContrat = document.forms['dpcformationcpform'].dpcformation_type_contrat;
 	var elemRadioNiveauVise = document.forms['dpcformationcpform'].dpcformation_niveau_vise;
 	var elemRadioNatureContrat = document.forms['dpcformationcpform'].dpcformation_nature_contrat;
 	var elemRadioTypeQualification = document.forms['dpcformationcpform'].dpcformation_type_qualification; 	
 	var elemRadioPaiementDirect = document.forms['dpcformationcpform'].dpcformation_paiement_direct;
 	var tabElemRadio = new Array(
 			elemRadioTypeContrat,
 			elemRadioNatureContrat,
 			elemRadioTypeQualification,
 			elemRadioNiveauVise,
 			elemRadioPaiementDirect);
 	// Champs obligatoires
	if (boucleChampsObligatoires(tabElem)) {
		// Radio obligatoires
		if (boucleRadioObligatoire(tabElemRadio)) {
			// Format
			if ( verifierFormatNumerique(elemEmployeurNombreSalarie,true)  
				&& verifierFormatNumerique(elemDureeHebdoTravail,true) 
				&& verifierFormatNumerique(elemDureePeriodeEssai,true) 
				&& verifierFormatDate(elemDateDebut,true) 
				&& verifierFormatDate(elemDateFin,true) 
				&& verifierFormatDate(elemDateDebutContrat,true)  
				&& verifierFormatDate(elemDateFinContrat,true)
				&& verifierFormatDateCourrantPostMoinsJours(elemDateDebutContrat,5) 
				&& verifierFormatDateCourrantPostMoinsJours(elemDateFinContrat,5) 
				&& VerifCodePostale(elemForCodePostal,true)
				&& verifierFormatDate(elemDateSignatureContrat,true)
				&& verifierFormatFloat(elemSalaireBrut,true) 
				&& verifierFormatFloat(elemDureeEnseignement,true) 
				&& verifierFormatNumerique(elemDuree) 
				&& verifierFormatFloat(elemCout,true) 
				&& verifierFormatNumerique(elemTuteurDureeContrat,false)
				&& verifierFormatNumerique(elemTuteurNbAnneesExp,false)
				&& verifierFormatNumerique(elemTuteurNbSalariesSuivis,false)  
				&& verifierFormatDate(elemTuteurDateFormation,false) 
				) {	
					//vérifier formation interne
					if(elemFormationInterne.value.length==0){
						 var tabElem = new Array(elemNbOf);
						 if (!boucleChampsObligatoires(tabElem) || !verifierFormatNumerique(elemNbOf,true)){
									return false;
						 }
					}
					//vérifier la date début de contrat > la date de fin					
					if(!VerifFormationDateDebutFin(elemDateDebut,elemDateFin)){return false;}

					var Debut_millennium=strTodate(elemDateDebutContrat.value);
			  		var Fin_millennium=strTodate(elemDateFinContrat.value);	
					var diff=Fin_millennium.getTime()-Debut_millennium.getTime();
					var msg="La date de début de contrat doit forcément être antérieure ou égale à la date de fin de contrat !";
					if(diff<0){
						alert(msg);
						elemDateDebutContrat.focus();
						return false;
					}									
				 	var elemLimiteMin = document.getElementById('param_limite_min');
				 	var elemLimiteMax = document.getElementById('param_limite_max');
				 	if(!VerifDureeEnHeure(elemDuree,elemLimiteMin,elemLimiteMax)){return false;}
					
				//verifier la diff entre date debut du contrat et la fin du contrat.
					var duree_contrat_min=elemDureeContratMin.value;
					var duree_contrat_max=elemDureeContratMax.value;
					var msg="La date de début du contrat doit forcément être antérieure à la date de fin de contrat. De plus, la différence entre ces deux dates doit être supérieure à "+duree_contrat_min+" mois et inférieure à "+duree_contrat_max+" mois.";

			  		/*var date1=[Debut_millennium.getDay(),Debut_millennium.getMonth(),Debut_millennium.getYear()];
			  		var date2=[Fin_millennium.getDay(),Fin_millennium.getMonth(),Fin_millennium.getYear()];
			  		var diff=nb_jour(date1,date2);			  		
			  		*/
	  			//Get 1 month in milliseconds
			  		var one_mois=365 * 24 * 60 * 60 * 1000 / 12
			  		var diff=Math.ceil((Fin_millennium.getTime()-Debut_millennium.getTime())/(one_mois));
			  		if(diff>Number(duree_contrat_max) || diff<Number(duree_contrat_min)){
						alert(msg);
						elemDateDebutContrat.focus();
						return false;
			  		}				
			  		//vérifier les dates formation sont compris dans les dates du contrat		
					var Debut_module_millennium=strTodate(elemDateDebut.value);
					var Fin_module_millennium=strTodate(elemDateFin.value);
					var diff=Math.ceil(Debut_module_millennium.getTime()-Debut_millennium.getTime());
					var msg="La date de début de formation doit forcément être postérieure ou égale à la date de début du contrat "+elemDateDebutContrat.value+" !";
					if(diff<0){
						alert(msg);
						elemDateDebut.focus();
						return false;
					}	
					var diff=Math.ceil(Fin_millennium.getTime()-Fin_module_millennium.getTime());
					var msg="La date de fin de formation doit forcément être antérieure ou égale à la date de fin du contrat "+elemDateFinContrat.value+" !";
					if(diff<0){
						alert(msg);
						elemDateFin.focus();
						return false;
					}	
					var number_Exp= /^[0-9]\d{1}$/;
					if (elemPeriodeExamenMois.value.match(number_Exp)) {
						if (elemPeriodeExamenAnnee.value.match(number_Exp)) {
							//return true;
						}else{
							alert("L'année de la période d'examen doit comporter 2 chiffres !");
							elemPeriodeExamenAnnee.focus();
							return false;	
						}
						if(Number(elemPeriodeExamenMois.value)>=1 && Number(elemPeriodeExamenMois.value)<=12 ){
						}else{
							alert("Le mois de la période d'examen doit entre 01 et 12 !");
							elemPeriodeExamenMois.focus();
							return false;
						}
						
					}else{
						alert("Le mois de la période d'examen doit comporter 2 chiffres !");
						elemPeriodeExamenMois.focus();
						return false;	
					}
				
					return true;
				}
			}
		}
	
	return false;
}
/**
 * Fonction transformer une chaîne en date
 * param:
 * entrée: string
 * sortie: date
 */
function strTodate(sDate){
  	var sSeparator = '/';
	var debutDate = sDate.split(sSeparator);
	var debutDay = Number(debutDate[0]);
	var debutMonth = Number(debutDate[1]);
	var debutYear = Number(debutDate[2]);
	var date_final =new Date(debutYear, debutMonth,debutDay);
	return date_final;
}
/**
 * Fonction vérifiant que tous les champs sont bien remplis
 */
function verifDpcSalarieChoix() {
 	var elemRadioChoixSalarie = document.forms['dpcsalariechoixform'].dpcsalarie_choix;
 	var tabElemRadio = new Array(elemRadioChoixSalarie);
	if (boucleRadioObligatoire(tabElemRadio)) {
		return true;
	}
	return false;
}
/**
 * Fonction vérifiant que tous les champs sont bien remplis
 */
function verifDpcFormationRS() {
 	var elemReferenceStage = document.getElementById('dpcformation_reference_stage');
 	var tabElem = new Array(elemReferenceStage);
 	// Champs obligatoires
	if (boucleChampsObligatoires(tabElem)) {
		return true;
	}
	return false;
}
/**
 * Fonction vérifiant que tous les champs sont bien remplis
 */
function verifDpcFormationPp() {
 	var elemIntituleStage = document.getElementById('dpcformation_intitule_stage');
 	if(trim(elemIntituleStage.value)=="")
 		elemIntituleStage.value = trim(elemIntituleStage.value);
 	var elemDateDebut = document.getElementById('dpcformation_date_debut');
 	var elemDateFin = document.getElementById('dpcformation_date_fin');
 	var elemDuree = document.getElementById('dpcformation_duree');
 	var elemDureeDif = document.getElementById('dpcformation_duree_dif');
 	var elemDureeHorsHoraire = document.getElementById('dpcformation_duree_hors_horaire');
 	var elemDureeDifHorsHoraire = document.getElementById('dpcformation_duree_dif_hors_horaire');	
 	var elemCout = document.getElementById('dpcformation_cout');
 	var elemTuteurNom = document.getElementById('dpcformation_tuteur_nom');
 	var elemTuteurPrenom = document.getElementById('dpcformation_tuteur_prenom');
 	var elemTuteurCivilite = document.getElementById('dpcformation_tuteur_civilite');
 	var elemTuteurStatut = document.getElementById('dpcformation_tuteur_statut');
 	var elemTuteurMetier = document.getElementById('dpcformation_tuteur_metier');
 	var elemQuestionMoyensAccompagnement = document.getElementById('dpcformation_moyens_accompagnement_value');
 	var elemQuestionEvaluerCompetence = document.getElementById('dpcformation_evaluer_competence_value');
 	var elemQuestionAppliConnaissance = document.getElementById('dpcformation_application_connaissance_value');
 	var elemQuestionModeAlternance = document.getElementById('dpcformation_mode_alternance');
 	var elemQuestionSalarieActPrinc = document.getElementById('dpcformation_salarie_activite_princ');
 	var elemQuestionSalarieNewComp = document.getElementById('dpcformation_salarie_nouvelles_competences');
 	
 	
 	if(trim(elemTuteurNom.value)=="")
 		elemTuteurNom.value = trim(elemTuteurNom.value);
 	if(trim(elemTuteurPrenom.value)=="")
 		elemTuteurPrenom.value = trim(elemTuteurPrenom.value);
 	if(trim(elemTuteurCivilite.value)=="")
 		elemTuteurCivilite.value = trim(elemTuteurCivilite.value);
 	if(trim(elemTuteurStatut.value)=="")
 		elemTuteurStatut.value = trim(elemTuteurStatut.value);
 	if(trim(elemTuteurMetier.value)=="")
 		elemTuteurMetier.value = trim(elemTuteurMetier.value);
 	if(trim(elemQuestionMoyensAccompagnement.value)=="")
 		elemQuestionMoyensAccompagnement.value = trim(elemQuestionMoyensAccompagnement.value);
 	if(trim(elemQuestionEvaluerCompetence.value)=="")
 		elemQuestionEvaluerCompetence.value = trim(elemQuestionEvaluerCompetence.value);
 	if(trim(elemQuestionAppliConnaissance.value)=="")
 		elemQuestionAppliConnaissance.value = trim(elemQuestionAppliConnaissance.value);
 	if(trim(elemQuestionModeAlternance.value)=="")
 		elemQuestionModeAlternance.value = trim(elemQuestionModeAlternance.value);
 	if(trim(elemQuestionSalarieActPrinc.value)=="")
 		elemQuestionSalarieActPrinc.value = trim(elemQuestionSalarieActPrinc.value);
 	if(trim(elemQuestionSalarieNewComp.value)=="")
 		elemQuestionSalarieNewComp.value = trim(elemQuestionSalarieNewComp.value);
 	
 	var tabElem = new Array(elemIntituleStage,
 			elemDateDebut,
 			elemDateFin,
 			elemDuree,
 			elemDureeDif,
 			elemCout,
 			elemQuestionModeAlternance,
 			elemQuestionMoyensAccompagnement,
 			elemQuestionEvaluerCompetence,
 			elemQuestionAppliConnaissance,
 			elemQuestionSalarieActPrinc,
 			elemQuestionSalarieNewComp,
 			elemTuteurNom,
 			elemTuteurPrenom,
 			elemTuteurCivilite,
 			elemTuteurStatut,
 			elemTuteurMetier);
 	var elemRadioObjectif = document.forms['dpcformationppform'].dpcformation_objectif;
 	var elemRadioNiveauVise = document.forms['dpcformationppform'].dpcformation_niveau_vise;
 	var elemRadioContexte = document.forms['dpcformationppform'].dpcformation_contexte;
 	var tabElemRadio = new Array(elemRadioObjectif,elemRadioNiveauVise,elemRadioContexte);
 	// Champs obligatoires
	if (boucleChampsObligatoires(tabElem)) {
		// Radio obligatoires
		if (boucleRadioObligatoire(tabElemRadio)) {
			// Format
			if (verifierFormatDate(elemDateDebut,true) && verifierFormatDate(elemDateFin,true)
				&& verifierFormatDateCourrantPostEgale(elemDateDebut) 
				&& verifierFormatDateCourrantPostEgale(elemDateFin)  
				// mantis 19698 changer le format elemDureeDif en décimal ou non décimal
				&& verifierFormatNumerique(elemDuree) 
				&& verifierFormatNumerique(elemDureeHorsHoraire,false) 
				&& verifierFormatFloat(elemCout,true) ) {
					if(!VerifFormationDateDebutFin(elemDateDebut,elemDateFin)){return false;}
					// Vérification des dates divers si nécessaire
				 	var elemHeureDifMax = document.getElementById('param_heure_dif_max');
				 	var duree=Number(elemDureeDif.value);
				  	var max=Number(elemHeureDifMax.value);
					if(elemDureeDif.value.length!=0){
						var numStr = elemDureeDif.value;

					    var expInt=new RegExp("^[0-9]*$","g");
						if(expInt.test(numStr)){
							elemDureeDif.value=elemDureeDif.value+".00";
						}
						numStr = elemDureeDif.value;
						var formatNumInvalide = 'Format décimal non valide (xxx.xx) !';					
						var exp=/^-?\d+\.\d{1,2}?$/;	   
					    if(!numStr.match(exp)){	
							// Si on arrive là, il y a eu un pb
							alert(formatNumInvalide);
							elemDureeDif.focus();
							return false;		
					    }
					}
					if(elemDureeDifHorsHoraire.value.length!=0){
						var numStr = elemDureeDifHorsHoraire.value;

					    var expInt=new RegExp("^[0-9]*$","g");
						if(expInt.test(numStr)){
							elemDureeDifHorsHoraire.value=elemDureeDifHorsHoraire.value+".00";
						}
						numStr = elemDureeDifHorsHoraire.value;
						var formatNumInvalide = 'Format décimal non valide (xxx.xx) !';					
						var exp=/^-?\d+\.\d{1,2}?$/;	   
					    if(!numStr.match(exp)){	
							// Si on arrive là, il y a eu un pb
							alert(formatNumInvalide);
							elemDureeDifHorsHoraire.focus();
							return false;		
					    }
					}
					if(max>0 && duree>max){
						alert("Le nombre d'heures maximal dans le cadre du DIF est de "+max+" heures. Toute durée supérieure à "+max+" heures ne peut faire l'objet d'une demande de prise en charge ! !");
						elemDureeDif.focus();
						return false;
					}
				 	var elemLimiteMin = document.getElementById('param_limite_min');
				 	var elemLimiteMax = document.getElementById('param_limite_max');
				 	if(!VerifDureeEnHeure(elemDuree,elemLimiteMin,elemLimiteMax)){
				 		return false;
				 	}
				 	var elemHeureDifDehorsMax = document.getElementById('param_heure_dif_dehors_max');
				 	var duree=Number(elemDureeDifHorsHoraire.value);
				  	var max=Number(elemHeureDifDehorsMax.value);
					if(max>0 && duree>max){
						alert("Le nombre d'heures dans le cadre du DIF en dehors des horaires habituels de travail doit être inférieur à "+max+" heures. Toute durée supérieure à "+max+" heures ne peut faire l'objet d'une demande de prise en charge ! !");
						elemDureeDifHorsHoraire.focus();
						return false;
					}
					
				 	var elemDureeMin = document.getElementById('param_duree_min');
				 	var elemDureeMax = document.getElementById('param_duree_max');
					var Debut_millennium=strTodate(elemDateDebut.value);
			  		var Fin_millennium=strTodate(elemDateFin.value);	
					var diff=Fin_millennium.getTime()-Debut_millennium.getTime();					
				 	//verifier la diff entre date debut du contrat et la fin du formation.
					var duree_contrat_min=elemDureeMin.value;
					var duree_contrat_max=elemDureeMax.value;

					//Get 1 month in milliseconds
			  		var one_mois=365 * 24 * 60 * 60 * 1000 / 12
			  		var diff=Math.ceil((Fin_millennium.getTime()-Debut_millennium.getTime())/(one_mois));
					var msg="La durée de la période doit être au maximum de "+duree_contrat_max+" mois.";
			  		if(diff>Number(duree_contrat_max)){
						alert(msg);
						elemDateDebut.focus();
						return false;
			  		}	
					var msg="La durée de la période doit être au minimum de "+duree_contrat_min+" mois.";
			  		if(diff<Number(duree_contrat_min)){
						alert(msg);
						elemDateDebut.focus();
						return false;
			  		}		
				 	
				 	
					var elemCbBilan = document.getElementById('dpcformation_bilan');
					var elemCbEntretien = document.getElementById('dpcformation_entretien');
					var elemCbDemarche = document.getElementById('dpcformation_demarche');
				 	var elemDateBilan = document.getElementById('dpcformation_date_bilan');
				 	var elemDateEntretien = document.getElementById('dpcformation_date_entretien');
				 	var elemDateDemarche = document.getElementById('dpcformation_date_demarche');
				 	if (verifierFormatAnnee(elemDateBilan,elemCbBilan.checked) 
				 		&& verifierFormatAnnee(elemDateEntretien,elemCbEntretien.checked)
				 		&& verifierFormatAnnee(elemDateDemarche,elemCbDemarche.checked)) {
				 		// Cas autre contexte
				 		if (verifierDpcSalarieCasContexte()) {
							return true;
						}
					}
			}
		}
	}
	return false;
}

/**
 * Fonction permettant de rendre dispo ou non le champ date selon la checkbox, pour toutes les checkboxes
 */
function toutesCheckBoxDpcFormationPp(param) {
	var elemCbBilan = document.getElementById('dpcformation_bilan');
	var elemCbEntretien = document.getElementById('dpcformation_entretien');
	var elemCbDemarche = document.getElementById('dpcformation_demarche');
 	var elemDateBilan = document.getElementById('dpcformation_date_bilan');
 	var elemDateEntretien = document.getElementById('dpcformation_date_entretien');
 	var elemDateDemarche = document.getElementById('dpcformation_date_demarche');
	switch (param) {
		case 1 :
		 	checkBoxDpcFormationPp(elemCbBilan,elemDateBilan);
			break;
		case 2 :
		 	checkBoxDpcFormationPp(elemCbEntretien,elemDateEntretien);
			break;
		case 3 :
		 	checkBoxDpcFormationPp(elemCbDemarche,elemDateDemarche);
			break;
		default :
		 	checkBoxDpcFormationPp(elemCbBilan,elemDateBilan);
		 	checkBoxDpcFormationPp(elemCbEntretien,elemDateEntretien);
		 	checkBoxDpcFormationPp(elemCbDemarche,elemDateDemarche);
			break;
	}
}

/**
 * Fonction permettant de rendre dispo ou non le champ date selon la checkbox
 */
function checkBoxDpcFormationPp(elemCb,elemDate) {
	if (elemCb.checked) {
		// Date de dispo
		elemDate.disabled = false;
	} else {
		// Date non dispo
		elemDate.value = "";
		elemDate.disabled = true;
	}
}



/**
 * Fonction de vérification
 */
function verifDpcOrganismeEditer() {
	
 	var elemOrganismeNumSiret = document.getElementById('dpc_organisme_num_siret');
 	var elemRaisonSociale = document.getElementById('dpc_organisme_raison_sociale');
 	var elemAdresse1 = document.getElementById('dpc_organisme_adresse1');
 	var elemTelephone = document.getElementById('dpc_organisme_telephone');
 	var elemCodePostal = document.getElementById('dpc_organisme_code_postal');
 	if(trim(elemCodePostal.value)=="")
 		elemCodePostal.value = trim(elemCodePostal.value);
 	var elemVille = document.getElementById('dpc_organisme_ville');
 	var elemMail = document.getElementById('dpc_organisme_email');
 	var tabElem = new Array(elemOrganismeNumSiret,elemRaisonSociale,elemAdresse1,elemCodePostal,elemVille);
 	// Champs obligatoires
	var elemFax = document.getElementById('dpc_organisme_fax');

	if (boucleChampsObligatoires(tabElem)) {
		if(!VerifNumeroSiret(elemOrganismeNumSiret,14)){return false;}		
		// Vérif format mail si présent
		if (verifierFormatMail(elemMail,false)) {
			if(elemTelephone.value.length>0){
				if (!VerifNumeroTelephone(elemTelephone)) {
					return false;
				}
			}
			if(elemFax.value.length>0){
				if (!VerifNumeroFax(elemFax)) {	
					return false;
				}
			}
			if(VerifCodePostale(elemCodePostal,false)){
				return true;
			}
		}
	}
	return false;
}
/**
 * Fonction de vérification
 */
function UseroublierMDP() {
	
 	var elemMail = document.getElementById('UserEmail');
		if (verifierFormatMail(elemMail,true)) {
				return true;
	}
	return false;
}

/**
 * Fonction de vérification
 */
function verifDpcOrganismeEditerPp(elemReadOnly) {
	var elemModuleIntitule = document.getElementById('dpc_organisme_module_intitule');
 	if(trim(elemModuleIntitule.value)=="")
 		elemModuleIntitule.value = trim(elemModuleIntitule.value);
	var elemModuleDateDebut = document.getElementById('dpc_organisme_module_date_debut');
	var elemModuleDateFin = document.getElementById('dpc_organisme_module_date_fin');
	var elemModuleCout = document.getElementById('dpc_organisme_module_cout');
	var elemDateDebut = document.getElementById('param_date_debut');
	var elemDateFin = document.getElementById('param_date_fin');
	
	var tabElem = new Array(elemModuleIntitule,elemModuleDateDebut,elemModuleDateFin,elemModuleCout);

	if( boucleChampsObligatoires(tabElem)){
		if ( verifierFormatDate(elemModuleDateDebut,true) && verifierFormatDate(elemModuleDateFin,true)
				 && verifierFormatFloat(elemModuleCout,true)) {
				if(!VerifFormationDateDebutFin(elemModuleDateDebut,elemModuleDateFin)){return false;}
				//vérifier les dates module sont compris dans les dates saisi dans l'étape formation		
				var Debut_millennium=strTodate(elemDateDebut.value);
				var Fin_millennium=strTodate(elemDateFin.value);
				var Debut_module_millennium=strTodate(elemModuleDateDebut.value);
				var Fin_module_millennium=strTodate(elemModuleDateFin.value);
				var diff=Math.ceil(Debut_module_millennium.getTime()-Debut_millennium.getTime());
				var msg="La date de début de cette étape doit forcément être postérieure ou égale à la date de début de la période de formation renseignée dans l'écran 'formation' dans la partie 'Dates et durées' "+elemDateDebut.value+" !";
				if(diff<0){
					alert(msg);
					elemModuleDateDebut.focus();
					return false;
				}	
				var diff=Math.ceil(Fin_millennium.getTime()-Fin_module_millennium.getTime());
				var msg="La date de fin de cette étape doit forcément être antérieure ou égale à la date de fin de la période de formation renseignée à l'étape 'Formation' dans la partie 'Dates et durées' "+elemDateFin.value+" !";
				if(diff<0){
					alert(msg);
					elemModuleDateFin.focus();
					return false;
				}			
				if(elemReadOnly=="readonly"){
					return true;
				}else{
				 	return verifDpcOrganismeEditer();		
				} 
		}
	}
	return false;
}

/**
 * Fonction de vérification de la présence du nom pour la recherche de salarié
 */
function onClickDpcSalarieRechercher(nomForm) {
	var elemNom = document.getElementById('dpcsalarie_nom');
	var tabElem = new Array(elemNom);
	if (boucleChampsObligatoires(tabElem)) {
		document.getElementById('dpcsalarie_param_rechercher').value = 'RECHERCHER';
		formDpcSalarie = document.forms[nomForm];
		formDpcSalarie.submit();
	}
}

/**
 * Fonction d'annulation de pièce jointe
 */
function onClickDpcJustificatifAnnuler() {
	document.getElementById('dpcjustificatif_param_annuler').value = 'ANNULER';
	document.forms['dpcjustificatifediterform'].submit();
}

/**
 * Fonction de vérification la case à cocher de salarie certifie
 */
function verifSalarieVisualier() {
	var elemCaseSalarieCertifie = document.getElementById('dpc_salarie_certifie');
	// Vérif format mail si présent
	if(VerifCaseSalarieCertif(elemCaseSalarieCertifie)){
		popSignFlow(2);
		return true;
	} 	
	return false;
}
/**
 * Fonction de vérification
 */
function verifDpcSalarieEditerPf() {
 	var elemNom = document.getElementById('dpcsalarie_nom');
 	var elemPrenom = document.getElementById('dpcsalarie_prenom');
 	var elemDateNaissance = document.getElementById('dpcsalarie_date_naissance');
 	var elemHeureDIF = document.getElementById('dpcsalarie_heure_dif');
 	
 	var elemMetier = document.getElementById('dpcsalarie_metier');
 	var elemMetierAutre = document.getElementById('dpcsalarie_metier_autre');
 	var elemCsp = document.getElementById('dpcsalarie_csp');
 	var elemCatAction = document.getElementById('dpcsalarie_categorie_action');
 	var tabElem = new Array(elemNom,elemPrenom,elemDateNaissance,elemCsp,elemCatAction);
 	var elemRadioSexe = document.forms['dpcsalarieediterpfform'].dpcsalarie_sexe;
 	var tabElemRadio = new Array(elemRadioSexe);
 	// Champs obligatoires
	if (boucleChampsObligatoires(tabElem)) {
		// Radio obligatoires
		if (boucleRadioObligatoire(tabElemRadio)) {
			// Format de date
			if (verifierFormatDate(elemDateNaissance,true)) {
				if(elemHeureDIF.value.length!=0){
					var numStr = elemHeureDIF.value;

				    var expInt=new RegExp("^[0-9]*$","g");
					if(expInt.test(numStr)){
						elemHeureDIF.value=elemHeureDIF.value+".00";
					}
					numStr = elemHeureDIF.value;
					var formatNumInvalide = 'Format décimal non valide (xxx.xx) !';					
					var exp=/^-?\d+\.\d{1,2}?$/;	   
				    if(!numStr.match(exp)){	
						// Si on arrive là, il y a eu un pb
						alert(formatNumInvalide);
						elemHeureDIF.focus();
						return false;		
				    }
				}	
				if(elemMetierAutre.value.length==0){
					var tabElem = new Array(elemMetier);
					if( boucleAuMoinsUnChampObligatoire(tabElem)){
						return true;
					}
					return false;
				}
				return true;				
			}
		}
	}
	return false;
}

/**
 * Fonction de vérification
 */
function verifDpcSalarieEditerTt() {
 	var elemNom = document.getElementById('dpcsalarie_nom');
 	var elemPrenom = document.getElementById('dpcsalarie_prenom');
 	var elemDateNaissance = document.getElementById('dpcsalarie_date_naissance');
 	var elemMetier = document.getElementById('dpcsalarie_metier');
 	var elemMetierAutre = document.getElementById('dpcsalarie_metier_autre');
 	var tabElem = new Array(elemNom,elemPrenom,elemDateNaissance);
 	var elemRadioSexe = document.forms['dpcsalarieediterttform'].dpcsalarie_sexe;
 	var tabElemRadio = new Array(elemRadioSexe);
 	// Champs obligatoires
	if (boucleChampsObligatoires(tabElem)) {
		// Radio obligatoires
		if (boucleRadioObligatoire(tabElemRadio)) {
			// Format de date
			if (verifierFormatDate(elemDateNaissance,true)) {

				if(elemMetierAutre.value.length==0){
					var tabElem = new Array(elemMetier);
						if( boucleAuMoinsUnChampObligatoire(tabElem)){
							return true;
						}
						return false
					}
				return true;
			}
		}
	}
	return false;
}


/**
 * Cas contexte pour la formation pp
 */
function verifierDpcSalarieCasContexte() {
	var elemRadioContexte = document.forms['dpcformationppform'].dpcformation_contexte;
	var elemContexteAutre = document.getElementById('dpcformation_contexte_autre');
	var dpcFormationPpContexteAutreValue = document.getElementById('dpcFormationPpContexteAutre').value;
	// On parcourt l'élément radio pour savoir quel valeur est activée
	var cptTabElemRadio = 0;
	var isOk = true;
	for (cptTabElemRadio = 0; cptTabElemRadio<elemRadioContexte.length; cptTabElemRadio++) {
		var isChecked = elemRadioContexte[cptTabElemRadio].checked;
		if (isChecked) {
			if (dpcFormationPpContexteAutreValue == elemRadioContexte[cptTabElemRadio].value) {
				// On vérifie que autre contexte soit remplit
				if(elemContexteAutre.value.length == 0){
					alert("Veuillez préciser le contexte de la période de professionnalisation !");
					elemContexteAutre.focus();
					isOk = false;
				}
			}
			// On sort du for
			break;
		}
	}
	return isOk;
}

/**
 * Fonction de vérification
 */
function verifDpcSalarieEditerPp() {
 	var elemNom = document.getElementById('dpcsalarie_nom');
 	var elemPrenom = document.getElementById('dpcsalarie_prenom');
 	var elemDateNaissance = document.getElementById('dpcsalarie_date_naissance');
 	var elemDateEntree = document.getElementById('dpcsalarie_date_entree');
 	var elemMetier = document.getElementById('dpcsalarie_metier');
 	var elemMetierAutre = document.getElementById('dpcsalarie_metier_autre');
 	var elemDatePrecedPeriode = document.getElementById('dpcsalarie_date_preced_periode');
 	var elemCsp = document.getElementById('dpcsalarie_csp');
 	var elemNiveauInit = document.getElementById('dpcsalarie_niveau_init');
 	var tabElem = new Array(elemNom,elemPrenom,elemDateNaissance,elemDateEntree,elemCsp,elemNiveauInit);
 	var elemRadioSexe = document.forms['dpcsalarieediterppform'].dpcsalarie_sexe;
 	var elemRadioCategorie = document.forms['dpcsalarieediterppform'].dpcsalarie_categorie;
 	var tabElemRadio = new Array(elemRadioSexe,elemRadioCategorie);
 	// Champs obligatoires
	if (boucleChampsObligatoires(tabElem)) {
		// Radio obligatoires
		if (boucleRadioObligatoire(tabElemRadio)) {
			// Format de date
			if (verifierFormatDate(elemDateNaissance,true) && verifierFormatDate(elemDateEntree,true)) {
					//vérifier la date de précédent période
					if(elemDatePrecedPeriode.value.length>0){
						if(!verifierFormatDate(elemDatePrecedPeriode,true)){
							return false;
						}
					}						
					// cas de autre métier
					if(elemMetierAutre.value.length==0){
						var tabElem = new Array(elemMetier);
							if( boucleAuMoinsUnChampObligatoire(tabElem)){
								return true;
							}
							return false;
						}
					return true;				
			}
		}
	}
	return false;
}

/**
 * Fonction de vérification
 */
function verifDpcSalarieEditerCp() {	
 	var elemNom = document.getElementById('dpcsalarie_nom');
 	var elemPrenom = document.getElementById('dpcsalarie_prenom'); 	
 	var elemAdresseNumero = document.getElementById('dpcsalarie_adresse_numero');
 	var elemAdresse = document.getElementById('dpcsalarie_adresse');
 	var elemCodePostal = document.getElementById('dpcsalarie_code_postal');
 	if(trim(elemCodePostal.value)=="")
 		elemCodePostal.value = trim(elemCodePostal.value);
 	var elemVille = document.getElementById('dpcsalarie_ville');
 	var elemNationalite = document.getElementById('dpcsalarie_nationalite');
 	var elemDateNaissance = document.getElementById('dpcsalarie_date_naissance');
 	var elemMetier = document.getElementById('dpcsalarie_metier');
 	var elemMetierAutre = document.getElementById('dpcsalarie_metier_autre');
 	var elemIntitulerDernierCertificat = document.getElementById('dpcsalarie_intituler_dernier_certificat');
 	var elemIntitulerDernierEmploi = document.getElementById('dpcsalarie_intituler_dernier_emploi');	
 	var elemSalarieAnpeMois = document.getElementById('dpcsalarie_anpe_mois');	
 	
 	if(trim(elemNom.value)=="")
 		elemNom.value = trim(elemNom.value);
 	if(trim(elemPrenom.value)=="")
 		elemPrenom.value = trim(elemPrenom.value);
 	if(trim(elemAdresse.value)=="")
 		elemAdresse.value = trim(elemAdresse.value);
 	elemAdresseNumero.value = trim(elemAdresseNumero.value);
 	if(trim(elemVille.value)=="")
 		elemVille.value = trim(elemVille.value);
 	if(trim(elemCodePostal.value)=="")
 		elemCodePostal.value = trim(elemCodePostal.value);
 	if(trim(elemMetierAutre.value)=="")
 		elemMetierAutre.value = trim(elemMetierAutre.value);
 	if(trim(elemIntitulerDernierCertificat.value)=="")
 		elemIntitulerDernierCertificat.value = trim(elemIntitulerDernierCertificat.value);
 	if(trim(elemIntitulerDernierEmploi.value)=="")
 		elemIntitulerDernierEmploi.value = trim(elemIntitulerDernierEmploi.value);
 	if(trim(elemSalarieAnpeMois.value)=="")
 		elemSalarieAnpeMois.value = trim(elemSalarieAnpeMois.value);
 	
 	var tabElem = new Array(elemNom,elemPrenom,elemDateNaissance,elemAdresseNumero,elemAdresse,elemCodePostal,elemVille,elemNationalite,elemIntitulerDernierCertificat,elemIntitulerDernierEmploi);
 	var elemRadioSexe = document.forms['dpcsalarieeditercpform'].dpcsalarie_sexe;
 	var elemRadioSituationAvantContrat = document.forms['dpcsalarieeditercpform'].dpcsalarie_situation_avant_contrat;
 	var elemRadioNiveauActuel = document.forms['dpcsalarieeditercpform'].dpcsalarie_niveau_actuel;
 	var elemRadioDiplome = document.forms['dpcsalarieeditercpform'].dpcsalarie_diplome; 	
 	var tabElemRadio = new Array(elemRadioSexe,elemRadioSituationAvantContrat,elemRadioNiveauActuel,elemRadioDiplome);
 	// Champs obligatoires
	if (boucleChampsObligatoires(tabElem)) {
		// Radio obligatoires
		if (boucleRadioObligatoire(tabElemRadio)) {
			if( !VerifCodePostale(elemCodePostal,false)){
				return false;
			}		
			//format elemAdresseNumero
			if(!verifierFormatNumerique(elemAdresseNumero)){
				return false;
			}
			//format elemSalarieAnpeMois
			if(elemSalarieAnpeMois.value.length>0){
				if(!verifierFormatNumerique(elemSalarieAnpeMois)){
					return false;
				}
			}
			// Format de date
			if (verifierFormatDate(elemDateNaissance,true)) {
				// cas de autre métier
				if(elemMetierAutre.value.length==0){
					var tabElem = new Array(elemMetier);
						if( boucleAuMoinsUnChampObligatoire(tabElem)){							
							return true;
						}
						return false
					}
				return true;
			}
		}
	}
	return false;
}

/**
 * Cas autre contexte pour le formation pp
 */
function dpcFormationPpCasAutreContexte() {
	var elemRadioContexte = document.forms['dpcformationppform'].dpcformation_contexte;
	var elemContexteAutre = document.getElementById('dpcformation_contexte_autre');
	var dpcFormationPpContexteAutreValue = document.getElementById('dpcFormationPpContexteAutre').value;
	// On parcourt l'élément radio pour savoir quel valeur est activée
	var cptTabElemRadio = 0;
	var isChecked = false;
	for (cptTabElemRadio = 0; cptTabElemRadio<elemRadioContexte.length; cptTabElemRadio++) {
		isChecked = elemRadioContexte[cptTabElemRadio].checked;
		if (isChecked) {
			dpcEnableElem(elemContexteAutre,dpcFormationPpContexteAutreValue == elemRadioContexte[cptTabElemRadio].value);
			break;
		}
	}
	// Si aucune des radio n'est sélectionnées
	if (!isChecked) {
		// On disable autre contexte
		dpcEnableElem(elemContexteAutre,false);
	}
}

/*
 * Fonction enablant un élément
 */
function dpcEnableElem(elem,isEnabled) {
	if (isEnabled) {
		elem.disabled = false;
	} else {
		elem.value = '';
		elem.disabled = true;
	}
}
/**
 * Fonction vérifiant qu'un choix de radio a été effectué
 */
function boucleRadioObligatoire(tabElemRadio,msg) {
 	var cptTabElem = 0;
 	// On parcourt la liste des éléments radio
 	for (cptTabElem = 0; cptTabElem<tabElemRadio.length; cptTabElem++) {
		var elemRadio = tabElemRadio[cptTabElem];
		// On parcourt l'élément radio pour vérifier qu'un choix a été effectué
		var cptTabElemRadio = 0;
		var isChecked = false;
		for (cptTabElemRadio = 0; cptTabElemRadio<elemRadio.length; cptTabElemRadio++) {
			if (elemRadio[cptTabElemRadio].checked) {
				// Au moins un valeur est sélectionnée
				isChecked = true;
				// On arrête la boucle sur la radio
				break;
			}
		}
		// Si aucune valeur n'est sélectionnée pour une radio => on affiche un message d'erreur et on retourne false;
		if (!isChecked) {
			if(msg){
				alert(msg);
			}else{
				alert("Veuillez sélectionner au moins une valeur !");
			}
			elemRadio[0].focus();
			return false;
		}
	}
	return true;
}

/**
 * Fonction vérifier les champs du formulaire nous contacter
 */
function verifNousContacter() {
 	var comboRole = document.getElementById('comboRole');
 	var sendeur_nom = document.getElementById('sendeur_nom');
 	var sendeur_prenom = document.getElementById('sendeur_prenom');
 	var sendeur_email = document.getElementById('sendeur_email');
 	var message = document.getElementById('message');
 	var tabElem = new Array(comboRole,sendeur_nom,sendeur_prenom,message);
 	// Champs obligatoires
	if (boucleChampsObligatoires(tabElem)) {
		// Vérif format mail si présent
		if (verifierFormatMail(sendeur_email,true)) {
			return true;
		}
	}
	return false;
}

/**
 * Fonction vérifier les champs du formulaire login
 */
function verifLoginPasswd() {
 	var elemLogin = document.getElementById('Login');
 	var elemPassword = document.getElementById('Password');
 	var tabElem = new Array(elemLogin,elemPassword);
 	// Champs obligatoires
	if (boucleChampsObligatoires(tabElem)) {
		if (verifierFormatMail(elemLogin,true)) {
			return true;
		}
	}
	return false;
}
/**
 * Fonction de faire visible ou invisible les articles
 */
  function list_article(showhide){
    if(showhide == "show"){
        document.getElementById('list_article').style.display="block"; /* If the function is called with the variable 'show', show the login box */
        document.getElementById('moins').style.display="block"; /* If the function is called with the variable 'show', show the login box */
        document.getElementById('plus').style.display="none"; /* If the function is called with the variable 'show', show the login box */
    }else if(showhide == "hide"){
        document.getElementById('list_article').style.display="none"; /* If the function is called with the variable 'hide', hide the login box */
        document.getElementById('moins').style.display="none"; /* If the function is called with the variable 'show', show the login box */
        document.getElementById('plus').style.display="block"; /* If the function is called with the variable 'show', show the login box */
    }
  }  
  /**
   * Fonction de faire visible ou invisible bouton
   */
    function dpcFormationPFSalarieDehorsHoraires(){
		var elemRadiodpcsalarie_horaires = document.getElementById('dpcsalarie_horaires');
		if(elemRadiodpcsalarie_horaires.checked){
			document.getElementById('lien_dpcHTT').style.visibility="hidden";
		}else{
			document.getElementById('lien_dpcHTT').style.visibility="visible";
		}
    }  
  /**
   * Fonction case à cocher pour la condition générale
   */
  function verifDpcConditionGenerale() {
		var elemCaseConditionGenerale = document.getElementById('dpc_cond_generale');
			// Vérif format mail si présent
			if(elemCaseConditionGenerale.checked){
				return true;
			}else{
				alert("Veuillez accepter les conditions générales !");
				elemCaseConditionGenerale.focus();
			}
			
  	return false;
  }  
    
  /**
   * Fonction formulaire activer un compte
   */
  function verifActiverCompte() {
		var elemRadioConditionGenerale = document.getElementById('register_cond_generale');
		var elemEmail = document.getElementById('Email')		
		if(elemRadioConditionGenerale.checked){
			if (verifierFormatMail(elemEmail,true)) {		
				    popSignFlow(2);
					return true;
			}
		}else{
			alert("Veuillez accepter les conditions générales !");
			elemRadioConditionGenerale.focus();
		}
  	return false;
  } 
  /**
   * Fonction de mettre à jours les champs du form  CollecteEffectifForm
   * si SansEff les champs en modifiable 
   * sinon non modifiable et calculer auto.
   */    
  function GriserChamp()
  {
  	var form=document.forms['CollecteEffectifForm'];
  	if (form.SansEff.checked)
  	{
  		form.etam_homme.value = 0;
  		form.etam_femme.value = 0;
  		form.cadre_homme.value = 0;
  		form.cadre_femme.value = 0;
  		calculer_effectif();
  		form.etam_homme.disabled="disabled";
  		form.etam_femme.disabled="disabled";
  		form.cadre_homme.disabled="disabled";
  		form.cadre_femme.disabled="disabled";
  	}
  	else
  	{
  		form.etam_homme.disabled=false;
  		form.etam_femme.disabled=false;
  		form.cadre_homme.disabled=false;
  		form.cadre_femme.disabled=false;
  	}
  	
  }

  /**
   * Fonction de Verifier les champs du calcul versement simple
   */ 
  function verifCalculVersementSimp()
  {	  
	   	var elemMasse_salariale = document.getElementById('masse_salariale');
	 	var tabElem = new Array(elemMasse_salariale);
	 	// Champs obligatoires
		if (boucleChampsObligatoires(tabElem)) {	   	
		   	if(verifierFormatNumerique(elemMasse_salariale,true) && elemMasse_salariale.value>0 && elemMasse_salariale.value<10000000000) {		   		
		   		return true;
		   	}
	   	}
		alert("La valeur du champ 'Masse salariale brute' doit être supérieure à zéro et inférieure et comporte maximum 10 chiffres!");
		elemMasse_salariale.focus();
	   	return false;
  }

  /**
   * Fonction de Verifier les champs du calcul versement complexe
   */ 
  function verifCalculVersementComp()
  {	  
	   	var elemMasse_salariale = document.getElementById('masse_salariale');
	   	var elemC1 = document.getElementById('C1');
	   	var elemC3 = document.getElementById('C3');
	   	var elemC4 = document.getElementById('C4');
	   	var elemHT = document.getElementById('HT');
	   	var elemCurrent_radio_HT = document.getElementById('current_radio_HT');
	 	var tabElem = new Array(elemMasse_salariale,elemC3,elemC4,elemHT);
	 	// Champs obligatoires
		if (boucleChampsObligatoires(tabElem)) {	   	
		   	if(!(verifierFormatNumerique(elemMasse_salariale,true) && elemMasse_salariale.value>0 && elemMasse_salariale.value<10000000000)) {		   		
				alert("La valeur du champ 'Masse salariale brute' doit être supérieure à zéro et comporte maximum 10 chiffres!");
				elemMasse_salariale.focus();
			   	return false;
		   	}	
		   	if(!(verifierFormatFloat(elemC3,true) && elemC3.value>0 && elemC3.value<10000000)){   		
				alert("La valeur du champ 'C3 : Imputations directes et frais de CCI' doit être supérieure à zéro et comporte maximum 7 chiffres plus 2 décimales!");
				elemC3.focus();
			   	return false;
		   	} 	
		   	if(!(verifierFormatFloat(elemC4,true) && elemC4.value>0 && elemC4.value<10000000)) {
				alert("La valeur du champ 'C4 : Acompte éventuel déjà versé' doit être supérieure à zéro et comporte maximum 7 chiffres plus 2 décimales!");
				elemC4.focus();
			   	return false;
		   	}
		   	if(!(verifierFormatFloat(elemHT,true) && elemHT.value>0)) {
				alert("La valeur du champ 'Total HT' doit être supérieure à zéro !");
				elemHT.focus();
			   	return false;
		   	}	
		  	var form=document.forms['CalculVersementCompForm'];  	
		  	var diff_D1= (parseFloat(form.C1.value)-parseFloat(form.C4.value)).toFixed(2);
		  	var diff_D2= (parseFloat(form.C2.value)-parseFloat(form.C3.value)-parseFloat(form.C4.value)).toFixed(2);
		  	if(elemCurrent_radio_HT.value==1 && parseFloat(form.HT.value)!=diff_D1){
				alert("La valeur du champ 'Total HT' doit être égale à C1-C4 !");
				elemHT.focus();
			   	return false;
		  	}
		  	if(elemCurrent_radio_HT.value==2 && parseFloat(form.HT.value)!=diff_D2){
				alert("La valeur du champ 'Total HT' doit être égale à C2-C3-C4 !");
				elemHT.focus();
			   	return false;
		  	}
		  	if(elemCurrent_radio_HT.value==3 && parseFloat(form.HT.value)<diff_D1){
				alert("Le montant libre doit être supérieur à C1-C4 !");
				elemHT.focus();
			   	return false;
		  	}	
		   	if(!(verifierFormatFloat(elemHT,true) && elemHT.value>0 && elemHT.value<10000000)) {
				alert("La valeur du champ 'D : votre versement formation continue effectif HT' doit être supérieure à zéro et comporte maximum 7 chiffres plus 2 décimales!");
				elemHT.focus();
			   	return false;
		   	}
		  	return true;
	   	}
	   	return false;
  } 
  /**
   * Fonction de calculer le versement moins 10
   */ 
  function calculer_versement_m10()
  {	
   	var elemCurrent_taux_b = document.getElementById('current_taux_b').value;
   	var elemCurrent_taux_c = document.getElementById('current_taux_c').value;
   	var elemCurrent_taux_tva = document.getElementById('current_taux_tva').value;	 
  	var form=document.forms['CalculVersementSimpForm'];	
  	if(verifCalculVersementSimp()){
   	  	form.Pro.value= (parseFloat(form.masse_salariale.value)*elemCurrent_taux_b/100).toFixed(2);
   	  	form.FC.value= (parseFloat(form.masse_salariale.value)*elemCurrent_taux_c/100).toFixed(2);
   	  	form.HT.value= (parseFloat(form.Pro.value)+parseFloat(form.FC.value)).toFixed(2);
   	  	form.TVA.value= (parseFloat(form.HT.value)*elemCurrent_taux_tva/100).toFixed(2);
   	  	form.TTC.value= (parseFloat(form.HT.value)+parseFloat(form.TVA.value)).toFixed(2);
  	}
  }  

  /**
   * Fonction de calculer l'effectif total
   */
  function calculer_effectif()
  {	
  	var form=document.forms['CollecteEffectifForm'];	
  	var etam_homme=form.etam_homme;
  	var etam_femme=form.etam_femme;
  	var cadre_homme=form.cadre_homme;
  	var cadre_femme=form.cadre_femme;
  	var total_homme=form.total_homme;
  	var total_femme=form.total_femme;
  	var effectif_global=form.effectif_global;
  	if(verifierFormatNumerique(etam_homme,false) && verifierFormatNumerique(etam_femme,false)
  			&& verifierFormatNumerique(cadre_homme,false) && verifierFormatNumerique(cadre_femme,false)){
  		if(etam_homme.value>99999){
  			alert("La valeur du champ 'Nombre d’hommes ETAM' doit comporte maximum 5 chiffres!");
  			etam_homme.focus();
  			return false;
  		}
  		if(etam_femme.value>99999){
  			alert("La valeur du champ 'Nombre de femme ETAM' doit comporte maximum 5 chiffres!");
  			etam_femme.focus();
  			return false;
  		}
  		if(cadre_homme.value>99999){
  			alert("La valeur du champ 'Nombre d’hommes Cadre' doit comporte maximum 5 chiffres!");
  			cadre_homme.focus();
  			return false;
  		}
  		if(cadre_femme.value>99999){
  			alert("La valeur du champ 'Nombre de femme Cadre' doit comporte maximum 5 chiffres!");
  			cadre_femme.focus();
  			return false;
  		}
  			
  	  	total_homme.value= Number(etam_homme.value)+ Number(cadre_homme.value);
  	  	total_femme.value= Number(etam_femme.value)+Number(cadre_femme.value);
  	  	effectif_global.value= Number(total_homme.value)+Number(total_femme.value);
  		
  	}
  }
  /**
   * Fonction de afficher titre de l'établissement choisi
   */
  function setTitleToSelectedText (value) {
	  var select=document.getElementById('view_etablissements');  
	  select.title = value;
	  select.alt = value;
  }
  /**
   * Fonction de vérification de format du date 
   */
  function verifCollecteEffectif() {
   	var elemCollecte_date_plus_10 = document.getElementById('collecte_date_plus_10');
   	var elemCollecte_date_plus_20 = document.getElementById('collecte_date_plus_20');
   	var elemSansEff = document.getElementById('SansEff');
   	var elemEffectif_global = document.getElementById('effectif_global');   	
   	
	// Format de date
   	if(elemCollecte_date_plus_10.value){
   		if(!verifierFormatDate(elemCollecte_date_plus_10,true)){
   			return false;
   		}
   	}
   	if(elemCollecte_date_plus_20.value){
   		if(!verifierFormatDate(elemCollecte_date_plus_20,true)){
   			return false;
   		}
   	}
   	if(elemSansEff.checked==false){
   		if(elemEffectif_global.value==0){
			alert("Veuillez saisir au moins une valeur de l'effectif !");
	   		return false;
   		}
   	}
  	return true;
  }  
  
  /**
   * Fonction de vérification de la format de date est 'dd/mm/yyyy'
   * param entrée: elemDate (date va être vérifier) , isObligatoire (boolean true est obli,false pas obli.)
   */		
  function verifierFormatDate(elemDate,isObligatoire) {
  	var sDate = elemDate.value;
  	var MsgNonValide = 'Format de date non valide!';
  	var sSeparator = '/';
	if (undefined===isObligatoire) {
		isObligatoire = true;
	}
	if (!isObligatoire && sDate.length==0) {
		return true;
	}
  	if(sDate.match("^[0-9]{2}/[0-9]{2}/[0-9]{4}$")){
  		var arDate = sDate.split(sSeparator);
  		var iDay = Number(arDate[0]);
  		var iMonth = Number(arDate[1]);
  		var iYear = Number(arDate[2]);
  		if(iYear<=1935){
  			MsgNonValide="L'année doit être supérieure à 1935!";
  		}else{
	  		var arDayPerMonth = [31,(isLeapYear(iYear))?29:28,31,30,31,30,31,31,30,31,30,31];
	  		if(arDayPerMonth[iMonth-1]){
	  			if(iDay <= arDayPerMonth[iMonth-1] && iDay > 0)return true;
	  		}
  		}
  	}
  	alert(MsgNonValide);
  	elemDate.focus();
  	return false;
  }	
  
  /**
   * Fonction de vérification de la format de date est antérieure à la date courant
   * param entrée: elemDate (date va être vérifier) 
   */		
  function verifierFormatDateCourrantAnt(elemDate) {
	  	var sDate = elemDate.value;
	  	var sSeparator = '/';
  		var arDate = sDate.split(sSeparator);
  		var saisie_Day = Number(arDate[0]);
  		var saisie_Month = Number(arDate[1]);
  		var saisie_Year = Number(arDate[2]);
  		var currentTime = new Date()
  		var courant_Day = currentTime.getDate();
  		var courant_Month = currentTime.getMonth();
  		var courant_Year = currentTime.getFullYear(); 		
  	
  		var Saisie_millennium=strTodate(elemDate.value);
  		var Courant_millennium = new Date(courant_Year,courant_Month,courant_Day);
  		var Saisie_millennium = new Date(saisie_Year,saisie_Month-1,saisie_Day);
		var diff=Courant_millennium.getTime()-Saisie_millennium.getTime();
		var msg="La date doit être antérieure à la date courante!";
		if(diff<=0){ 
		  	alert(msg);
		  	elemDate.focus();	
		  	return false;
  		}
		return true;	  	
  }	 
	  
  /**
   * Fonction de vérification de la format de date est postérieure et égale à la date courant
   * param entrée: elemDate (date va être vérifier) 
   */		
  function verifierFormatDateCourrantPostEgale(elemDate) {
	  	var sDate = elemDate.value;
	  	var sSeparator = '/';
  		var arDate = sDate.split(sSeparator);
  		var saisie_Day = Number(arDate[0]);
  		var saisie_Month = Number(arDate[1]);
  		var saisie_Year = Number(arDate[2]);
  		var currentTime = new Date()
  		var courant_Day = currentTime.getDate();
  		var courant_Month = currentTime.getMonth();
  		var courant_Year = currentTime.getFullYear(); 		
  	
  		var Saisie_millennium=strTodate(elemDate.value);
  		var Courant_millennium = new Date(courant_Year,courant_Month,courant_Day);
  		var Saisie_millennium = new Date(saisie_Year,saisie_Month-1,saisie_Day);
		var diff=Courant_millennium.getTime()-Saisie_millennium.getTime();
		var msg="La date doit être postérieure ou égale à la date courante!";
		if(diff>0){ 
		  	alert(msg);
		  	elemDate.focus();	
		  	return false;
  		}
		return true;	  	
  }	  
  /**
   * Fonction de vérification de la format de date est postérieure à la date courant
   * param entrée: elemDate (date va être vérifier) 
   */		
  function verifierFormatDateCourrantPost(elemDate) {
	  	var sDate = elemDate.value;
	  	var sSeparator = '/';
  		var arDate = sDate.split(sSeparator);
  		var saisie_Day = Number(arDate[0]);
  		var saisie_Month = Number(arDate[1]);
  		var saisie_Year = Number(arDate[2]);
  		var currentTime = new Date()
  		var courant_Day = currentTime.getDate();
  		var courant_Month = currentTime.getMonth();
  		var courant_Year = currentTime.getFullYear(); 		
  	
  		var Saisie_millennium=strTodate(elemDate.value);
  		var Courant_millennium = new Date(courant_Year,courant_Month,courant_Day);
  		var Saisie_millennium = new Date(saisie_Year,saisie_Month-1,saisie_Day);
		var diff=Courant_millennium.getTime()-Saisie_millennium.getTime();
		var msg="La date doit être postérieure à la date courante!";
		if(diff>=0){ 
		  	alert(msg);
		  	elemDate.focus();	
		  	return false;
  		}
		return true;	  	
  }	 
  /**
   * Fonction de vérification de la format de date est postérieure ou égale à la date courant moins x jours
   * param entrée: elemDate (date va être vérifier) 
   */		
  function verifierFormatDateCourrantPostMoinsJours(elemDate,nbjours) {
	  	var sDate = elemDate.value;
	  	var sSeparator = '/';
  		var arDate = sDate.split(sSeparator);
  		var saisie_Day = Number(arDate[0]);
  		var saisie_Month = Number(arDate[1]);
  		var saisie_Year = Number(arDate[2]);
  		var currentTime = new Date()
  		var courant_Day = currentTime.getDate()-nbjours;
  		var courant_Month = currentTime.getMonth();
  		var courant_Year = currentTime.getFullYear(); 		
  	
  		var Saisie_millennium=strTodate(elemDate.value);
  		var Courant_millennium = new Date(courant_Year,courant_Month,courant_Day);
  		var Saisie_millennium = new Date(saisie_Year,saisie_Month-1,saisie_Day);
		var diff=Courant_millennium.getTime()-Saisie_millennium.getTime();
		var msg="La date saisie doit être postérieure ou égale à la date du jour moins "+nbjours+" jours!";
		if(diff>0){ 
		  	alert(msg);
		  	elemDate.focus();	
		  	return false;
  		}
		return true;	  	
  }	  
  /**
   * Fonction vérifier l'année est une année bissextile
   * */
  function isLeapYear(iYear){
  	return ((iYear%4==0 && iYear%100!=0) || iYear%400==0);
  }
  /**
   * Fonction calculer automatiquement le Montant Pro,C1,C2 par apport le salaire et taux. 
   * puis calculer HT depands le valeur du current_radio_ht 
   * */
  function calculer_versement_1()
  {	
  	var form=document.forms['CalculVersementCompForm'];	
   	var elemCurrent_taux_b = document.getElementById('current_taux_b').value;
   	var elemCurrent_taux_c1 = document.getElementById('current_taux_c1').value;
   	var elemCurrent_taux_c2 = document.getElementById('current_taux_c2').value;
   	var elemCurrent_c3 = form.C3;
   	var elemMasse_salariale = document.getElementById('masse_salariale');
   	if(!(verifierFormatNumerique(elemMasse_salariale,true) && elemMasse_salariale.value>0 && elemMasse_salariale.value<10000000000)) {		   		
		alert("La valeur du champ 'Masse salariale brute' doit être supérieure à zéro et comporte maximum 10 chiffres!");
		elemMasse_salariale.focus();
	   	return false;
   	}
  	form.Pro.value= (parseFloat(form.masse_salariale.value)*elemCurrent_taux_b/100).toFixed(2);
  	form.C1.value= (parseFloat(form.masse_salariale.value)*elemCurrent_taux_c1/100).toFixed(2);
  	form.C2.value= (parseFloat(form.masse_salariale.value)*elemCurrent_taux_c2/100).toFixed(2);
   	var elemCurrent_radio_HT = document.getElementById('current_radio_HT');
   	var value=elemCurrent_radio_HT.value;
   	if(value==1)
   		calculer_total_HT_D1();
   	if(value==2)
   		calculer_total_HT_D2();
   	if(value==3)
   		calculer_total_HT_D3();
   	
  }
  /**
   * Fonction si choisir 1ème radio_ht, mettre champs en modifiable et current_radio_HT équale 1 ,calculer automatiquement le Montant HT
   * */
  function calculer_total_HT_D1()	
  {	
  	var form=document.forms['CalculVersementCompForm'];  	
  	form.HT.value= (parseFloat(form.C1.value)-parseFloat(form.C4.value)).toFixed(2);  	
  	form.HT.readOnly=true;
   	var elemCurrent_radio_HT = document.getElementById('current_radio_HT');
   	elemCurrent_radio_HT.value=1;
    calculer_total();
  }  
  /**
   * Fonction si choisir 2ème radio_ht, mettre champs en modifiable et current_radio_HT équale 2 ,calculer automatiquement le Montant HT
   * */	
  function calculer_total_HT_D2()	
  {	
  	var form=document.forms['CalculVersementCompForm'];  	
  	form.HT.value= (parseFloat(form.C2.value)-parseFloat(form.C3.value)-parseFloat(form.C4.value)).toFixed(2); 
  	form.HT.readOnly=true;
   	var elemCurrent_radio_HT = document.getElementById('current_radio_HT');
   	elemCurrent_radio_HT.value=2;
    calculer_total();
  } 
  /**
   * Fonction si choisir 3ème radio_ht, mettre champs HT en readonly et current_radio_HT équale 3
   * */	
  function calculer_total_HT_D3()	
  {	
  	var form=document.forms['CalculVersementCompForm'];  
  	form.HT.readOnly=false;
   	var elemCurrent_radio_HT = document.getElementById('current_radio_HT');
   	elemCurrent_radio_HT.value=3;
  } 
  /**
   * Fonction de calculer automatiquement le motant de TVA et de TTC 
   * */	
  function calculer_total()	
  {	
	var elemCurrent_taux_tva = document.getElementById('current_taux_tva').value;
  	var form=document.forms['CalculVersementCompForm'];  	
  	form.TVA.value= (parseFloat(form.HT.value)*elemCurrent_taux_tva/100).toFixed(2);
  	form.TTC.value= (parseFloat(form.HT.value)+parseFloat(form.TVA.value)).toFixed(2);
  }
  /**
   * Fonction de vérifier utilisateur a choisi un of
   * */
  function verifOFTrouver()	
  {	
	// On récupère les éléments radio et sousradio
	var elemRadioChoixOF = document.forms['dpcorganismeeditform'].dpcorganisme_choix_of;
	var tabElemRadio = new Array(elemRadioChoixOF);			
 	if (boucleRadioObligatoire(tabElemRadio,"Vous devez saisir obligatoirement un Organisme de Formation parmi les résultats proposés dans la liste affichée à l'écran")) {
		return true;
	} 	
 	return false;
  }	
  /**
   * Fonction de redirection si click sur le button SuivantNonTrouverButton
   * param entrée: nomForm  	(form origine)
   * sortie: redirege vers le formulaire modifiable
   * */
  function verifOFNonTrouver(nomForm) {
  		document.getElementById('SuivantNonTrouverButton').value = 'SuivantNonTrouverButton';
  		formDpcOFEditer = document.forms[nomForm];
  		formDpcOFEditer.submit();
  }
  /**
   * Fonction de vérification de la format mot de passe
   *	La règle de constitution du mot de passe est la suivante :
   *	- Longueur de 8 caractères minimum
   *	- Au moins 3 éléments parmi les 4 suivants : majuscules, minuscules, chiffres et caractères spéciaux
   */
  function ValidateurMdp(){
	  var elemOldPassword = document.getElementById('oldPassword');
	  var elemNewPassword = document.getElementById('newPassword');
	  var elemConfirmPassword = document.getElementById('confirmPassword');
	  var elemNewEmail = document.getElementById('newEmail');
	  var elemConfirmEmail = document.getElementById('confirmEmail');	  
	  var elemMsgValidateurMdp1 = document.getElementById('param_MsgValidateurMdp1');
	  var elemMsgValidateurMdp2 = document.getElementById('param_MsgValidateurMdp2');
	  var elemMsgValidateurMdp3 = document.getElementById('param_MsgValidateurMdp3');
	  var elemMsgMdpNonIdentique = document.getElementById('param_MsgMdpNonIdentique');
	  var tabElem = new Array(elemOldPassword,elemNewPassword,elemConfirmPassword);
	 	// Champs obligatoires
	  if (boucleChampsObligatoires(tabElem)) {
		  if(!elemNewPassword.value.match(elemConfirmPassword.value)){
			  alert(elemMsgMdpNonIdentique.value);
			  elemNewPassword.focus();
			  return false
		  }
		  var compteur=RegValidator(elemNewPassword);
		  if( elemNewPassword.value.length<8 || compteur<3){
			  alert(elemMsgValidateurMdp1.value+"\n"+elemMsgValidateurMdp2.value+"\n"+elemMsgValidateurMdp3.value);
			  elemNewPassword.focus();
			  return false;
		  }
		  if(elemNewEmail.value.length>0){
			  if(!verifierFormatMail(elemNewEmail)){
				  return false;
			  }
			  if(!verifierFormatMail(elemConfirmEmail)){
				  return false;
			  }
		  }
		  popSignFlow(2);
		  return true;
	  }
	  return false;
  } 
  /**
   * Fonction de vérification de la format mot de passe, au moins 1 parmi les 4 : un majuscule,un minuscule,un chiffre ou un caracs. spéciciaux
   * param entrée: elem  	(element qui contient le mdp)
   * param sortie: compteur (contient le nombre des conditions conformités) 
   */
  function RegValidator(elem){
	  //contient au moins un carac. en minuscules
	  var regMdp_min=/[a-z]/;
	  //contient au moins un carac. en majuscules
	  var regMdp_max=/[A-Z]/;
	  //contient au moins un chiffre
	  var regMdp_num=/[0-9]/;
	  //contient au moins un carc. spéciale, complémenté au 1 déc 2008 par SCN
	  var regMdp_spe=/[!#%&():;,_./<=>@{|}]/;
	  //contient au moins 3 des quarte 
	  var compteur=0;
	  var mdp=elem.value;
	  if(mdp.match(regMdp_min))
		  compteur=compteur+1;
	  if(mdp.match(regMdp_max))
		  compteur=compteur+1;
	  if(mdp.match(regMdp_num))
		  compteur=compteur+1;
	  if(mdp.match(regMdp_spe))
		  compteur=compteur+1;
	  return compteur;
  }
  
  /**
   * Fonction de vérification de la formulaire de ajouter un contact
   */
  function verifFafiecuserAjouterContact(){
	  var elemSiret= document.getElementById('ajouter_siret');
	  var elemNom = document.getElementById('ajouter_nom');
	  var elemPrenom = document.getElementById('ajouter_prenom');
	  var elemFonction = document.getElementById('ajouter_select_fonction');
	  var elemCivilite = document.getElementById('ajouter_select_civilite');	  
	  var elemEmail = document.getElementById('ajouter_email');
	  var elemparam_TailleSIRET = document.getElementById('param_TailleSIRET');
	  var elemTelephone = document.getElementById('ajouter_phone');
	  var elemFax= document.getElementById('ajouter_fax');	 
		if(trim(elemNom.value)=="")
			elemNom.value = trim(elemNom.value);
		if(trim(elemPrenom.value)=="")
			elemPrenom.value = trim(elemPrenom.value); 
	  var tabElem = new Array(elemSiret,elemNom,elemPrenom,elemFonction,elemCivilite,elemTelephone,elemFax,elemEmail);
	 	// Champs obligatoires
	  if (boucleChampsObligatoires(tabElem)) {
		  if(!VerifNumeroSiret(elemSiret,elemparam_TailleSIRET.value)){
			  return false;
		  }
		  if(elemFonction.selectedIndex == 0) {
			  alert("Veuillez sélectionner au moins une valeur !");
			  elemFonction.focus();
			  return false;
		  }
		  if(elemCivilite.selectedIndex == 0) {
			  alert("Veuillez sélectionner au moins une valeur !");
			  elemCivilite.focus();
			  return false;
		  }
		  if (!VerifNumeroTelephone(elemTelephone)) {
			return false;
		  }
		if (!VerifNumeroFax(elemFax)) {
			return false;
		}
		  if(!verifierFormatMail(elemEmail)){
				return false;
		  }
		  return true;
		}
	  return false;
  } 
  /**
   * Fonction de vérification de la formulaire d'inscrire
   */
  function verifFafiecuserFormulaireInscrire(){
	  var elemRaisonSociale= document.getElementById('inscrire_raison_sociale');
	  var elemSIREN = document.getElementById('inscrire_code_siren');
	  var elemCodeFafiec = document.getElementById('inscrire_code_fafiec');
	  var elemEmail = document.getElementById('inscrire_email');
	  if(trim(elemSIREN.value)=="")
		  elemSIREN.value = trim(elemSIREN.value);
	  if(trim(elemCodeFafiec.value)=="")
			elemCodeFafiec.value = trim(elemCodeFafiec.value);
	  if(trim(elemEmail.value)=="")
		  elemEmail.value = trim(elemEmail.value);
	  var elemparam_TailleSIREN = document.getElementById('param_TailleSIREN');
	  var elemparam_TailleCodeFAFIECMin = document.getElementById('param_TailleCodeFAFIECMin');
	  var elemparam_TailleCodeFAFIECMax = document.getElementById('param_TailleCodeFAFIECMax');  
	  
	  
	  var tabElem = new Array(elemRaisonSociale,elemSIREN,elemEmail);
	 	// Champs obligatoires
	  if (boucleChampsObligatoires(tabElem)) {
		  if(VerifNumeroSiren(elemSIREN,elemparam_TailleSIREN.value)){
			  if(elemCodeFafiec.value.length>0){
				  if(!VerifNumeroAderent(elemCodeFafiec,elemparam_TailleCodeFAFIECMin.value,elemparam_TailleCodeFAFIECMax.value)){
					  return false;
				  }	
			  }
			  if(!verifierFormatMail(elemEmail)){
					return false;
			  }
		      return true;
		  }
		}
	  return false;
  } 
  /**
   * Fonction de vérification de la formulaire d'inscrire
   */
  function validerFafiecuserFormulaireInscrire(){
	  if(document.getElementById('param_nb_contacts')){
		  var elemparam_nb_contacts= document.getElementById('param_nb_contacts');
		  if(elemparam_nb_contacts.value==0){
			  var msg="Veuillez spécifier une ou plusieurs personnes à autoriser (en appuyant sur le bouton « Ajouter »)";
			  alert(msg);
			  return false;
		  }
	  }
	  if(verifFafiecuserFormulaireInscrire()){
	      popSignFlow(2);
		  return true;		  
	  }
	  return false;
  }  
  
  
  /**
   * Fonction de vérification de radio button formation préable de tuteur
   */
  function dpcFormationCPTuteurPreable(){
		// On récupère les éléments radio et sousradio
		var elemRadioTuteurForPre = document.forms['dpcformationcpform'].checkedTuteur_formation_prealable;
		  var elemTuteurDateFormation= document.getElementById('dpcformation_tuteur_date_formation');
		   
		if (elemRadioTuteurForPre[0].checked) {
			elemTuteurDateFormation.disabled=false;		
			document.getElementById('lien_dpctuteur').style.visibility= 'hidden';
		} 
		//si non
		if (elemRadioTuteurForPre[1].checked) {
			elemTuteurDateFormation.value="";
			elemTuteurDateFormation.disabled=true;
			document.getElementById('lien_dpctuteur').style.visibility= 'visible';
		}
	  return false;
  } 

  /**
   * Fonction de vérification de numéro siren
   */
  function VerifNumeroSiren(elemSIREN,TailleSiren){	  
	  if(verifierFormatNumerique(elemSIREN,true)){
		  if( elemSIREN.value.length!=Number(TailleSiren)){
			  alert("Le numéro SIREN doit comporter "+TailleSiren+" chiffres !");
			  elemSIREN.focus();
			  return false;
		  }		  
		  return true;
	  }
	  return false;
  } 
  /**
   * Fonction de vérification de numéro adhérent (code FAFIEC)
   */
  function VerifNumeroAderent(elemAderent,TailleCodeFAFIECMin,TailleCodeFAFIECMax){	
	  if(verifierFormatNumerique(elemAderent,true)){
		  var length_elem=elemAderent.value.length;
		  if( length_elem<Number(TailleCodeFAFIECMin) || length_elem>Number(TailleCodeFAFIECMax)){
			  alert("Le numéro adhérent (Code FAFIEC) doit comporter entre "+TailleCodeFAFIECMin+" et "+TailleCodeFAFIECMax+" chiffres !");
			  elemAderent.focus();
			  return false;
		  }
		  return true;
	  }
	  return false;
  }   
  /**
   * Fonction de vérification de numéro siret
   */
  function VerifNumeroSiret(elemSIRET,TailleSiret){	
	  if(verifierFormatNumerique(elemSIRET,true)){  
		  if( elemSIRET.value.length!=Number(TailleSiret)){
			  alert("Le numéro SIRET doit comporter "+TailleSiret+" chiffres !");
			  elemSIRET.focus();
			  return false;
		  }
		  return true;
	  }
	  return false;
  } 
  /**
   * Fonction de vérification de numéro téléphone
   */
  function VerifNumeroTelephone(elemTelephone){	  
	  var phone_number_Exp= /^[0-9]\d{9}$/;
	  if (!elemTelephone.value.match(phone_number_Exp)) {
		  	alert("Le numéro de téléphone doit comporter 10 chiffres !");
			elemTelephone.focus();
			return false;
		  }
	  return true;
  }
  /**
   * Fonction de vérification de numéro fax
   */
  function VerifNumeroFax(elemFax){	  
	  var phone_number_Exp= /^[0-9]\d{9}$/;
	  if (!elemFax.value.match(phone_number_Exp)) {
		  	alert("Le numéro de fax doit comporter 10 chiffres !");
		  	elemFax.focus();
			return false;
		  }
	  return true;
  }
  /**
   * Fonction de vérification de certifier est coché
   */
  function VerifCaseSalarieCertif(elemCaseSalarieCertifie){
		// Vérif format mail si présent
		if(!elemCaseSalarieCertifie.checked){
			alert("Veuillez certifier que les informations saisies ont été portées à la connaissance du (ou des) stagiaire(s) concerné(s) !");
			elemCaseSalarieCertifie.focus();
			return false;	
		}
	  return true;
  }
  /**
   * Fonction de vérification de durée en heure ,min,max
   */
  function VerifDureeEnHeure(elemDuree,elemLimiteMin,elemLimiteMax){
	  	var duree=Number(elemDuree.value);
	  	var min=Number(elemLimiteMin.value);
	  	var max=Number(elemLimiteMax.value);
		if(min>0 && duree<min){
			alert("Toute formation inférieure à "+min+" heures ne peut faire l'objet d'une demande de prise en charge !");
			elemDuree.focus();
			return false;
		}
		if(max>0 && duree>max){
			alert("Toute formation supérieure à "+max+" heures ne peut faire l'objet d'une demande de prise en charge !");
			elemDuree.focus();
			return false;
		}
	  return true;
  }   
  /**
   * Fonction de vérification de date début de formation est bien inférieure à date fin de formation
   */
  function VerifFormationDateDebutFin(elemDateDebut,elemDateFin){
		//vérifier la date début < la date de fin		
		var Debut_millennium=strTodate(elemDateDebut.value);
		var Fin_millennium=strTodate(elemDateFin.value);
		var diff=Fin_millennium.getTime()-Debut_millennium.getTime();
		var msg="La date de début de formation doit forcément être antérieure ou égale à la date de fin de formation !";
		if(diff<0){
			alert(msg);
			elemDateDebut.focus();
			return false;
		}
	  return true;
  }
  /**
   * Fonction de supprimer les espaces dans une chaine
   */
  function trim(strText) {
	  while('' + strText.charAt(0) == ' ') {
		  strText = strText.substring(1, strText.length);
	  }
	  while('' + strText.charAt(strText.length-1)==' ') {
		  strText = strText.substring(0, strText.length-1);
	  }
	  return strText;
  }

  /**
   * Fonction de vérification de code postale
   */
  function VerifCodePostale(elem,obligatoire){	  
	  return verifierFormatNumerique(elem,obligatoire);
  }
  /*
   * Fonction de calcul le nombre du jour entre deux dates
   */
  function nb_jour(date1,date2){
	  a1=eval(date1[2]) ; a2=eval(date2[2]) ;
	  nb=nb_jour_annee(date1[2],date2[2]) - nb_01_01(date1) + nb_01_01(date2);
	  return nb;
  }
  /*
   * Fonction de calcul le nombre du jour depuis la début de l'année
   */
	  function nb_01_01(date){
	  nb_mois=new Array(13);
	  nb_mois=[,0,31,59,90,120,151,181,212,243,273,304,334];
	  j=eval(date[0]) ; m=eval(date[1]) ; a=eval(date[2]);
	  nb=nb_mois[m]+j-1 ;
	  if (bissextile(a) && m>2) nb++;
	  return nb;
	  }
	  /*
	   * Fonction pour calcul le nombre du jour entre deux années 
	   */
	  function nb_jour_annee(a1,a2){
		  n=0;
		  if (a1==a2) n=0 ; else
		  for (i=a1; i<a2; i++) {n += 365; if (bissextile(i)) n++}
		  return n;
		  } 
	  /*
	   * Fonction pour vérifier l'année bissextile
	   */
	  function bissextile(annee) {
		  if (annee%4==0 && annee %100!=0 || annee%400==0) return true; else return false
	} 
/**
 * Fonction permettant de sélectionner ou désélectionner les checkboxs
 */
function dossier_non_valide_check($nb_dossiers) {	
	var elemChoixTous = document.forms['dpcdossiervaliderform'].choixTous;
	if (elemChoixTous.checked) {
		for (i=0; i<$nb_dossiers; i++) {
			document.getElementById('choix'+i).checked=1;	
		}
	} else {
		for (i=0; i<$nb_dossiers; i++) {
			document.getElementById('choix'+i).checked=0;	
		}
	}	
}
/**
 * Fonction de vérification
 */
function verifDPCDossierValider($nb_dossiers) {
	var checkone=false;
	var check0=document.getElementById('choix0');
	for (i=0; i<$nb_dossiers; i++) {
		if(document.getElementById('choix'+i).checked==1)
			checkone=true;	
	}
	if(checkone){
		popSignFlow(2);
		return true;
	}
	alert("Veuillez sélectionner au moins une DPC !");
	check0.focus();
	return false;
}	

/**
 * Fonction vérifiant que tous les champs sont bien remplis
 */
function verifDpcFinChoix() {
	// On récupère les éléments radio et sousradio
	var elemRadioFinChoix = document.forms['dpcfinform'].dpcfin_choix;
	var tabElemRadio = new Array(elemRadioFinChoix);
	if (boucleRadioObligatoire(tabElemRadio)) {
		popSignFlow(2);
		return true;			
	}
	// Si on arrive là : on a eu un pb
	return false;
}