/****************************************************************************************
SMI (Services Maintenance Interventions) est une gestion libre de maintenance et de SAV

Version 0.9.9

Copyright (C) 2006-2009  Sylvain FATOME
This program is free software; you can redistribute it and/or modify it under the terms
of the GNU General Public License as published by the Free Software Foundation; 
either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program
(in the directory docs); 
if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 
Boston, MA  02110-1301, USA.

Contact : galawa@free.fr

Web : http://smitst.homelinux.com
****************************************************************************************/

// Scripts permettant les validations de formulaires

<!-- Fonction pour valider le formulaire client -->
function submit_rech_lst()
{
	var objet=document.getElementById("page");
	if (objet)
	{
		objet.value='1';
	}
	var formulaire=document.getElementById("formr");
	formulaire.submit();
}

<!-- Fonction pour valider le formulaire client -->
function verif_cli(formulaire,tab_champ,pays,lng)
{
	var c_value = "";
	for (var i=0; i < document.cli_maj.prev.length; i++)
	{
		if (document.cli_maj.prev[i].checked)
		{
			c_value = document.cli_maj.prev[i].value;
		}
	}
	
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;

	if (formok==true)
	{
		if ((c_value==0) && (document.cli_maj.email.value==""))
		{
			alert("Vous n'avez pas saisi d'adresse email et demandé à prévenir par email.");
			champok=false;
		}

		if ((c_value==2) && (document.cli_maj.fax.value==""))
		{
			checkok = confirm("Vous n'avez pas saisi de numéro de télécopie et demandé à prévenir par écrit ou fax.\nMerci de confirmer.");
			champok=checkok;
		}

		if ((c_value==3) && (document.cli_maj.telp.value==""))
		{
			checkok = confirm("Vous n'avez pas saisi de numéro de téléphone portable et demandé à prévenir par SMS.\nMerci de confirmer.");
			champok=checkok;
		}
	}

	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire opérateur-->
function verif_ope(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;

	if (formok==true)
	{
		var objet=document.getElementById("dconges");
		if (objet)
		{
			if (document.ope_maj.dconges.value!='')
			{
				var messerr='';
				if (document.ope_maj.fconges.value!='')
				{
					var tab_dated=document.ope_maj.dconges.value.split('-');
					dated = new Date();
					dated.setDate(tab_dated[0]);
					dated.setMonth(tab_dated[1]-1);
					dated.setFullYear(tab_dated[2]); 
					var tab_datef=document.ope_maj.fconges.value.split('-');
					datef = new Date();
					datef.setDate(tab_datef[0]);
					datef.setMonth(tab_datef[1]-1);
					datef.setFullYear(tab_datef[2]);
					if (datef.getTime()<dated.getTime())
					{
						messerr += "\nLa date de fin de congés est inférieure à la date de début";
						champok=false;
					}
				}
				else
				{
					messerr += "\nLa date de fin de congés n\'est pas saisie";
					champok=false;
				}
			}
		}
	}

	if (champok == false)
	{
		alert (messerr);
	}

	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire technicien -->
function verif_tec(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;

	if (formok==true)
	{
		var objet=document.getElementById("dconges");
		if (objet)
		{
			if (document.tec_maj.dconges.value!='')
			{
				var messerr='';
				if (document.tec_maj.fconges.value!='')
				{
					var tab_dated=document.tec_maj.dconges.value.split('-');
					dated = new Date();
					dated.setDate(tab_dated[0]);
					dated.setMonth(tab_dated[1]-1);
					dated.setFullYear(tab_dated[2]); 
					var tab_datef=document.tec_maj.fconges.value.split('-');
					datef = new Date();
					datef.setDate(tab_datef[0]);
					datef.setMonth(tab_datef[1]-1);
					datef.setFullYear(tab_datef[2]);
					if (datef.getTime()<dated.getTime())
					{
						messerr += "\nLa date de fin de congés est inférieure à la date de début";
						champok=false;
					}
				}
				else
				{
					messerr += "\nLa date de fin de congés n\'est pas saisie";
					champok=false;
				}
			}
		}
	}

	if (champok == false)
	{
		alert (messerr);
	}

	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire intervention -->
function verif_int(formulaire,tab_champ,pays,lng,val_id)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	
	if (formok==true)
	{
		var faitok=true;
		var objet1 = window.document.getElementById('fait');
		if (objet1)
		{
			if (objet1.value != '')
			{
				faitok=verif_fait();
			}
			else
			{
				var messerr='';
				var objet2 = window.document.getElementById('dateprevf');
				var objet3 = window.document.getElementById('datefinf');
				if ((objet2.value != '') || (objet3.value != ''))
				{
					messerr+='Vous n\'avez pas saisi le travail effectué';
				}
				var objet4 = window.document.getElementById('tect');
				if (objet4.value != '')
				{
					if (messerr!='')
						messerr+='\n'
					messerr+='Vous avez saisi un détail horaire et des techniciens traitants sans saisir de travail effectué';
				}
				if (messerr!='')
				{
					faitok=false;
					alert(messerr);
					objet1.focus();
				}
			}
		}
		
		// Contrôles à effectuer si date de cloture
		var repcook=true;
		var dedcook=true;
		var objet1 = window.document.getElementById('datefinf');
		if (objet1)
		{
			if (objet1.value != '')
			{
				// On ne contrôle le choix de report que s'il s'agit d'une clôture
				var objet2 = window.document.getElementById('rep1');
				var objet3 = window.document.getElementById('lsthnc');
				if (objet2 && objet3)
				{
					if (objet2.style.display=='block')
					{
						if ((objet3.length)>1)
						{
							if (objet3.value=='')
							{
								repcook=false;
								alert('Vous devez choisir un mode de report des heures non consommées');
								objet3.focus();
							}
						}
					}
				}
				// On ne contrôle le choix de déduction que s'il s'agit d'une clôture
				var objet4 = window.document.getElementById('rep2');
				var objet5 = window.document.getElementById('lsttded');
				if (objet4 && objet4)
				{
					if (objet4.style.display=='block')
					{
						if ((objet5.length)>1)
						{
							if (objet5.value=='')
							{
								dedcook=false;
								alert('Vous devez choisir un mode de report des heures surconsommées');
								objet5.focus();
							}
						}
					}
				}
			}
		}

		// Contrôle heure de RDV
		var rdvok=true;
		var objet1 = window.document.getElementById('daterdvf');
		var objet2 = window.document.getElementById('hrdv');
		if ((objet1) && (objet2))
		{
			if (objet1.value!='')
			{
				if (objet2.value=='')
				{
					rdvok=false;
					alert('Vous avez pris un rdv : vous devez choisir une heure de rdv');
					objet2.focus();
				}
			}
			else
			{
				if (objet2.value!='')
				{
					rdvok=false;
					alert('Vous avez choisi une heure de rdv sans date...');
					objet1.focus();
				}
			}
		}
		// Site intervention
		var idok=true;
		if (val_id=="")
		{
			idok=false;
			alert('Vous devez choisir un site d\'intervention');
		}
		if ((rdvok==true) && (idok==true) && (faitok==true) && (repcook==true) && (dedcook==true))
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire ordre -->
function verif_ot(formulaire,tab_champ,pays,lng)
{
	var faitok=true;
	var objet1 = window.document.getElementById('fait');
	if (objet1)
	{
		if (objet1.value != '')
		{
			faitok=verif_fait2();
		}
		else
		{
			if ((document.ot_maj.dateprevf.value != '') || (document.ot_maj.datefinf.value != ''))
			{
				faitok=false;
				alert('Vous n\'avez pas saisi le travail effectué');
				document.getElementById("f_fait").className = 'rubfrmrelief';
				document.ot_maj.fait.focus();
			}
			else
			{
				if (document.ot_maj.tect.value != '')
				{
					faitok=false;
					alert('Vous avez saisi un détail horaire et des techniciens traitants sans saisir de travail effectué');
					document.getElementById("f_fait").className = 'rubfrmrelief';
					document.ot_maj.fait.focus();
				}
				else
				{
					document.getElementById("f_fait").className = 'rubfrm';
				}
			}
		}
	}
	var rdvok=true;
	if (document.ot_maj.daterdvf.value!='')
	{
		if (document.ot_maj.hrdv.value=='')
		{
			rdvok=false;
			alert('Vous avez pris un rdv : vous devez choisir une heure de rdv');
			document.getElementById("f_rdv").className = 'rubfrmrelief';
			document.ot_maj.hrdv.focus();
		}
		else
		{
			document.getElementById("f_rdv").className = 'rubfrm';
		}
	}
	if (document.ot_maj.hrdv.value!='')
	{
 		if (document.ot_maj.daterdvf.value=='')
		{
			rdvok=false;
			alert('Vous avez choisi une heure de rdv sans date...');
			document.getElementById("f_rdv").className = 'rubfrmrelief';
			document.ot_maj.rdv.focus();
		}
		else
		{
			document.getElementById("f_rdv").className = 'rubfrm';
		}
	}
	var formok=VForm(formulaire,tab_champ,pays,lng);
	if ((rdvok==true) && (faitok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

function verif_inth(formulaire,tab_champ,pays,lng)
{
	var msgerr='';
	var heuresok=true;
	var lieuok=true;
	var formok=VForm(formulaire,tab_champ,pays,lng);
	if (formok==true)
	{
		// Vérification des heures saisies
		if ((document.inth_maj.heurea.value!='') && (document.inth_maj.heured.value!=''))
		{
			if (document.inth_maj.heurea.value==document.inth_maj.heured.value)
			{
				heuresok=false;
				msgerr+="L'heure de début et l'heure de fin sont identiques\n";
				document.getElementById('f_horaires').className = 'rubfrmrelief';
				document.inth_maj.heurea.focus();
			}
			else
			{
				var tab_heurea=document.inth_maj.heurea.value.split(':');
				var tab_heured=document.inth_maj.heured.value.split(':');
				var heureasec=(Number(tab_heurea[0])*3600)+(Number(tab_heurea[1])*60);
				var heuredsec=(Number(tab_heured[0])*3600)+(Number(tab_heured[1])*60);
				if (heuredsec<heureasec)
				{
					heuresok=false;
					msgerr+="L'heure de fin est inférieure à l'heure de début\n";
					document.getElementById('f_horaires').className = 'rubfrmrelief';
					document.inth_maj.heured.focus();
				}
				else
				{
					document.getElementById('f_horaires').className = 'rubfrm';
				}
			}
		}
		// Vérification du lieu choisi
		var codelieu=document.inth_maj.codelieu.value;
		var avecdep=document.getElementById('_'+codelieu).value;
		if (Number(avecdep)==1)
		{
			if (document.inth_maj.a_mt.value=='')
			{
				lieuok=false;
				msgerr+="Il faut saisir un moyen de transport aller\n";
				document.getElementById('f_transmt').className = 'rubfrmrelief';
				document.inth_maj.a_mt.focus();
			}
			else
			{
				document.getElementById('f_transmt').className = 'rubfrm';
			}
			if (document.inth_maj.r_mt.value=='')
			{
				lieuok=false;
				msgerr+="Il faut saisir un moyen de transport retour\n";
				document.getElementById('f_transmt').className = 'rubfrmrelief';
				document.inth_maj.r_mt.focus();
			}
			else
			{
				document.getElementById('f_transmt').className = 'rubfrm';
			}
			if ((document.inth_maj.a_heured.value!='') && (document.inth_maj.a_heuref.value!=''))
			{
				if (document.inth_maj.a_heured.value==document.inth_maj.a_heuref.value)
				{
					lieuok=false;
					msgerr+="L'heure de début et l'heure de fin du déplacement aller sont identiques\n";
					document.getElementById('f_transh').className = 'rubfrmrelief';
					document.inth_maj.a_heured.focus();
				}
				else
				{
					var tab_heured=document.inth_maj.a_heured.value.split(':');
					var tab_heuref=document.inth_maj.a_heuref.value.split(':');
					var aheuredsec=(Number(tab_heured[0])*3600)+(Number(tab_heured[1])*60);
					var aheurefsec=(Number(tab_heuref[0])*3600)+(Number(tab_heuref[1])*60);
					if (aheurefsec<aheuredsec)
					{
						lieuok=false;
						msgerr+="Pour l'aller, l'heure de fin est inférieure à l'heure de début\n";
						document.getElementById('f_transh').className = 'rubfrmrelief';
						document.inth_maj.a_heured.focus();
					}
					else
					{
						if (aheurefsec>heureasec)
						{
							lieuok=false;
							msgerr+="Impossible d'arriver après le début de l'intervention\n";
							document.getElementById('f_transh').className = 'rubfrmrelief';
							document.inth_maj.a_heuref.focus();
						}
						else
						{
							document.getElementById('f_transh').className = 'rubfrm';
						}
					}
				}
			}
			else
			{
				lieuok=false;
				msgerr+="Il faut saisir une heure de départ et de retour pour le déplacement aller\n";
				document.getElementById('f_transh').className = 'rubfrmrelief';
				document.inth_maj.a_heured.focus();
			}
			if ((document.inth_maj.r_heured.value!='') && (document.inth_maj.r_heuref.value!=''))
			{
				if (document.inth_maj.r_heured.value==document.inth_maj.r_heuref.value)
				{
					lieuok=false;
					msgerr+="L'heure de début et l'heure de fin du déplacement retour sont identiques\n";
					document.getElementById('f_transh').className = 'rubfrmrelief';
					document.inth_maj.r_heured.focus();
				}
				else
				{
					var tab_heured=document.inth_maj.r_heured.value.split(':');
					var tab_heuref=document.inth_maj.r_heuref.value.split(':');
					var rheuredsec=(Number(tab_heured[0])*3600)+(Number(tab_heured[1])*60);
					var rheurefsec=(Number(tab_heuref[0])*3600)+(Number(tab_heuref[1])*60);
					if (rheurefsec<rheuredsec)
					{
						lieuok=false;
						msgerr+="Pour le retour, l'heure de fin est inférieure à l'heure de début\n";
						document.getElementById('f_transh').className = 'rubfrmrelief';
						document.inth_maj.r_heured.focus();
					}
					else
					{
						if (rheuredsec<heuredsec)
						{
							lieuok=false;
							msgerr+="Impossible de partir avant la fin de l'intervention\n";
							document.getElementById('f_transh').className = 'rubfrmrelief';
							document.inth_maj.r_heured.focus();
						}
						else
						{
							document.getElementById('f_transh').className = 'rubfrm';
						}
					}
				}
			}
			else
			{
				if ((document.inth_maj.r_mt.value!='-1') && (document.inth_maj.r_mt.value!=''))
				{
					lieuok=false;
					msgerr+="Il faut saisir une heure de départ et de retour pour le déplacement retour\n";
					document.getElementById('f_transh').className = 'rubfrmrelief';
					document.inth_maj.r_heured.focus();
				}
			}
			if (Number(document.inth_maj.a_km.value)==0)
			{
				lieuok=false;
				msgerr+="Il faut saisir un kilométrage aller\n";
				document.getElementById('f_transkm').className = 'rubfrmrelief';
				document.inth_maj.a_km.focus();
			}
			else
			{
				document.getElementById('f_transkm').className = 'rubfrm';
			}
			if (Number(document.inth_maj.r_km.value)==0)
			{
				if ((document.inth_maj.r_mt.value!='-1') && (document.inth_maj.r_mt.value!=''))
				{
					lieuok=false;
					msgerr+="Il faut saisir un kilométrage retour\n";
					document.getElementById('f_transkm').className = 'rubfrmrelief';
					document.inth_maj.r_km.focus();
				}
			}
			else
			{
				document.getElementById('f_transkm').className = 'rubfrm';
			}
			var codemt1=document.inth_maj.a_mt.value;
			var obj1=document.getElementById('M_'+codemt1);
			if (obj1)
			{
				var coutas1=obj1.value;
				if (Number(coutas1)==1)
				{
					if (Number(document.inth_maj.a_cd.value)==0)
					{
						lieuok=false;
						msgerr+="Merci de saisir un coût de transport aller\n";
						document.getElementById('f_transcd').className = 'rubfrmrelief';
						document.inth_maj.a_cd.focus();
					}
					else
					{
						document.getElementById('f_transcd').className = 'rubfrm';
					}
				}
			}
			var codemt1=document.inth_maj.r_mt.value;
			var obj1=document.getElementById('M_'+codemt1);
			if (obj1)
			{
				if ((document.inth_maj.r_mt.value!='-1') && (document.inth_maj.r_mt.value!=''))
				{
					var coutas1=obj1.value;
					if (Number(coutas1)==1)
					{
						if (Number(document.inth_maj.r_cd.value)==0)
						{
							lieuok=false;
							msgerr+="Merci de saisir un coût de transport retour\n";
							document.getElementById('f_transcd').className = 'rubfrmrelief';
							document.inth_maj.r_cd.focus();
						}
						else
						{
							document.getElementById('f_transcd').className = 'rubfrm';
						}
					}
				}
			}
			if (Number(document.inth_maj.a_fa.value)!=0)
			{
				if (document.inth_maj.a_fad.value=='')
				{
					lieuok=false;
					msgerr+="Merci de donner un détail des frais annexes aller\n";
					document.getElementById('f_transfad').className = 'rubfrmrelief';
					document.inth_maj.a_fad.focus();
				}
				else
				{
					document.getElementById('f_transfad').className = 'rubfrm';
				}
			}
			if (Number(document.inth_maj.r_fa.value)!=0)
			{
				if ((document.inth_maj.r_mt.value!='-1') && (document.inth_maj.r_mt.value!=''))
				{
					if (document.inth_maj.r_fad.value=='')
					{
						lieuok=false;
						msgerr+="Merci de donner un détail des frais annexes retour\n";
						document.getElementById('f_transfad').className = 'rubfrmrelief';
						document.inth_maj.r_fad.focus();
					}
					else
					{
						document.getElementById('f_transfad').className = 'rubfrm';
					}
				}
			}
		}
	}
	if ((heuresok==true) && (lieuok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		if (msgerr!='')
		{
			alert(msgerr);
		}
		return false;
	}
}

function verif_oth(formulaire,tab_champ,pays,lng)
{
	var heuresok=true;

	if ((document.oth_maj.heurea.value!='') && (document.oth_maj.heured.value!=''))
	{
		if (document.oth_maj.heurea.value==document.oth_maj.heured.value)
		{
			heuresok=false;
			alert('L\'heure de début et l\'heure de fin sont identiques');
			document.getElementById("f_horaires").className = 'rubfrmrelief';
			document.oth_maj.heurea.focus();
		}
		else
		{
			var tab_heurea=document.oth_maj.heurea.value.split(':');
			var tab_heured=document.oth_maj.heured.value.split(':');
			var heureasec=(Number(tab_heurea[0])*3600)+(Number(tab_heurea[1])*60);
			var heuredsec=(Number(tab_heured[0])*3600)+(Number(tab_heured[1])*60);
			if (heuredsec<heureasec)
			{
				heuresok=false;
				alert('L\'heure de fin est inférieure à l\'heure de début');
				document.oth_maj.heured.focus();
				document.getElementById("f_horaires").className = 'rubfrmrelief';
			}
			else
			{
				document.getElementById("f_horaires").className = 'rubfrm';
			}
		}
	}

	var formok=VForm(formulaire,tab_champ,pays,lng);
	if ((heuresok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire contrat client-->
function verif_cocl(formulaire,tab_champ,pays,lng,val_delai)
{
	var champok = true;
	var messerr = 'Problème de validation des paramètres :\n';

	var delai_nul=false;
	if ((val_delai=='') || (val_delai=='0'))
	{
		delai_nul=true;
	}

	var txt_sel = document.cocl_maj.cope.options[document.cocl_maj.cope.selectedIndex].text;
	var exist_str = txt_sel.indexOf('demande',0);

	if ((exist_str >= 0) && (delai_nul==true))
	{
		messerr += "\nVous devez choisir un délai d\'intervention pour ce type de fréquence";
		champok=false;
	}

	if ((exist_str == -1) && (delai_nul==false))
	{
		messerr += "\nVous avez saisi un délai d\'intervention pour une fréquence n\'en ayant pas besoin";
		champok=false;
	}

	if (document.cocl_maj.typh.value == '1')
	{
		if (document.cocl_maj.nbh.value == '00:00')
		{
			messerr += "\nVous n\'avez pas saisi de quantité d\'heure alors que c\'est un quota horaire.";
			champok=false;
		}
	}
	
	if (document.cocl_maj.datedf.value != '')
	{
		if (document.cocl_maj.datedf.value != document.cocl_maj.dateff.value)
		{
			if (document.cocl_maj.dateff.value != '')
			{
				var tab_dated=document.cocl_maj.datedf.value.split('-');
				dated = new Date();
				dated.setDate(tab_dated[0]);
				dated.setMonth(tab_dated[1]-1);
				dated.setFullYear(tab_dated[2]); 
				var tab_datef=document.cocl_maj.dateff.value.split('-');
				datef = new Date();
				datef.setDate(tab_datef[0]);
				datef.setMonth(tab_datef[1]-1);
				datef.setFullYear(tab_datef[2]);
				if (datef.getTime()<dated.getTime())
				{
					messerr += "\nLa date de fin de contrat est inférieure à la date de début";
					champok=false;
				}
			}
		}
		else
		{
			messerr += "\nLes dates de début et de fin de contrat sont identiques";
			champok=false;
		}
	}
	else
	{
		messerr += "\nIl manque la date de début de contrat";
		champok=false;
	}	
	
	if (champok == false)
	{
		alert (messerr);
	}

	var formok=VForm(formulaire,tab_champ,pays,lng);
	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire cloture de contrat -->
function verif_coclclos(formulaire,tab_champ,pays,lng,val_id)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	
	if (formok==true)
	{
		var ok=true;
		// On ne contrôle le choix de report que s'il y a un contrat à clore
		if (document.coclclos_maj.codecocl.value != '')
		{
			var objet = window.document.getElementById('lsthnc');
			if (objet )
			{
				if ((objet.length)>1)
				{
					if (objet.value=='')
					{
						ok=false;
						alert('Vous devez choisir un mode de report des heures non consommées');
						objet.focus();
					}
				}
			}
		}
		if (ok==true)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire contrat location -->
function verif_coloc(formulaire,tab_champ,pays,lng)
{
	var champok = true;
	var formok=VForm(formulaire,tab_champ,pays,lng);

	if (formok==true)
	{
		var messerr = 'Problème de validation des paramètres :\n';
	
		if (document.coloc_maj.datedebf.value != '')
		{
			if (document.coloc_maj.datefinf.value != '')
			{
				var tab_dated=document.coloc_maj.datedebf.value.split('-');
				dated = new Date();
				dated.setDate(tab_dated[0]);
				dated.setMonth(tab_dated[1]-1);
				dated.setFullYear(tab_dated[2]); 
				var tab_datef=document.coloc_maj.datefinf.value.split('-');
				datef = new Date();
				datef.setDate(tab_datef[0]);
				datef.setMonth(tab_datef[1]-1);
				datef.setFullYear(tab_datef[2]);
				if (datef.getTime()<dated.getTime())
				{
					messerr += "\nLa date de fin de contrat est inférieure à la date de début";
					champok=false;
				}
			}
		}
		else
		{
			messerr += "\nIl manque la date de début de contrat";
			champok=false;
		}	
		
		if (champok == false)
		{
			alert (messerr);
		}
	}

	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire import data-->
function verif_impd(formulaire,tab_champ,pays,lng,tableau_champs)
{
	var pas_select=false;
	for (i=0; i<tableau_champs.length; i++)
	{
		var champ=document.getElementsByName(tableau_champs[i]);
		var val_champ=champ[0].value;
		if (val_champ=="")
		{
			champ[0].className="frmbad";
			pas_select=true;
		}
		else
		{
			champ[0].className="frmok";
		}
	}
	var champ_ok=true;
	if (pas_select==true)
	{
		champ_ok=false;
		alert('Vous devez paramétrer tous les champs à importer.');
	}
	var formok=VForm(formulaire,tab_champ,pays,lng);
	if ((champ_ok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire purge des logs connexions-->
function verif_logs(formulaire,tab_champ,pays,lng,valbouton)
{
	var nom_form=eval(formulaire);
	if (valbouton=="Purger")
	{
		var formok=VForm(nom_form,tab_champ,pays,lng);

		var champok=true;
		if (formok==true)
		{
			var messerr='';
			var tab_dated=nom_form.date1f.value.split('-');
			dated = new Date();
			dated.setDate(tab_dated[0]);
			dated.setMonth(tab_dated[1]-1);
			dated.setFullYear(tab_dated[2]); 
			var tab_datef=nom_form.date2f.value.split('-');
			datef = new Date();
			datef.setDate(tab_datef[0]);
			datef.setMonth(tab_datef[1]-1);
			datef.setFullYear(tab_datef[2]);
			if (datef.getTime()<dated.getTime())
			{
				messerr += "\nLa date de fin est inférieure à la date de début";
				champok=false;
			}
		}

		if (champok == false)
		{
			alert (messerr);
		}
	
		if ((champok==true) && (formok==true))
		{
			nom_form.submit();
			return true;
		}
		else
		{
			return false;
		}

		return false;
	}
	
	nom_form.submit();
	return true;
}

<!-- Fonction pour valider le formulaire purge des logs fichiers-->
function verif_flogs(formulaire,tab_champ,pays,lng,valbouton)
{
	var nom_form=eval(formulaire);
	if (valbouton=="Purger")
	{
		var formok=VForm(nom_form,tab_champ,pays,lng);

		var champok=true;
		if (formok==true)
		{
			var messerr='';
			var tab_dated=nom_form.date1f.value.split('-');
			dated = new Date();
			dated.setDate(tab_dated[0]);
			dated.setMonth(tab_dated[1]-1);
			dated.setFullYear(tab_dated[2]); 
			var tab_datef=nom_form.date2f.value.split('-');
			datef = new Date();
			datef.setDate(tab_datef[0]);
			datef.setMonth(tab_datef[1]-1);
			datef.setFullYear(tab_datef[2]);
			if (datef.getTime()<dated.getTime())
			{
				messerr += "\nLa date de fin est inférieure à la date de début";
				champok=false;
			}
		}

		if (champok == false)
		{
			alert (messerr);
		}
	
		if ((champok==true) && (formok==true))
		{
			nom_form.submit();
			return true;
		}
		else
		{
			return false;
		}

		return false;
	}
	
	nom_form.submit();
	return true;
}

<!-- Fonction pour valider le formulaire stats des agences-->
function verif_stats_age(formulaire,tab_champ,pays,lng,valbouton)
{
	var nom_form=eval(formulaire);
	if (valbouton=="Calculer")
	{
		var formok=VForm(nom_form,tab_champ,pays,lng);

		var champok=true;
		var ageok=true;
		if (formok==true)
		{
			var messerr='';

			var es = document.getElementById("age");
			var allage=false;
			for ( var i=0; i<es.options.length; i++)
			{
				if (es.options[i].selected == true )
				{
					if (es.options[i].value == '*')
					{
						allage=true;
					}
					else
					{
						if (allage==true)
						{
							messerr += "\nVous ne pouvez sélectionner 'Toutes les agences' que seul";
							champok=false;
						}
					}
				}
			}
	
			var tab_dated=nom_form.date1f.value.split('-');
			dated = new Date();
			dated.setDate(tab_dated[0]);
			dated.setMonth(tab_dated[1]-1);
			dated.setFullYear(tab_dated[2]); 
			var tab_datef=nom_form.date2f.value.split('-');
			datef = new Date();
			datef.setDate(tab_datef[0]);
			datef.setMonth(tab_datef[1]-1);
			datef.setFullYear(tab_datef[2]);
			if (datef.getTime()<dated.getTime())
			{
				messerr += "\nLa date de fin est inférieure à la date de début";
				champok=false;
			}
			
			if (messerr != '')
			{
				alert (messerr);
			}
		}
	
		if ((champok==true) && (formok==true))
		{
			nom_form.submit();
			return true;
		}
		else
		{
			return false;
		}

		return false;
	}
	
	nom_form.submit();
	return true;
}

<!-- Fonction pour valider le formulaire stats des donneurs d'ordres-->
function verif_stats_do(formulaire,tab_champ,pays,lng,valbouton)
{
	var nom_form=eval(formulaire);
	if (valbouton=="Calculer")
	{
		var formok=VForm(nom_form,tab_champ,pays,lng);

		var champok=true;
		var ageok=true;
		if (formok==true)
		{
			var messerr='';

			var es = document.getElementById("do");
			var allage=false;
			for ( var i=0; i<es.options.length; i++)
			{
				if (es.options[i].selected == true )
				{
					if (es.options[i].value == '*')
					{
						allage=true;
					}
					else
					{
						if (allage==true)
						{
							messerr += "\nVous ne pouvez sélectionner 'Tous les donneurs d\'ordres' que seul";
							champok=false;
						}
					}
				}
			}
	
			var tab_dated=nom_form.date1f.value.split('-');
			dated = new Date();
			dated.setDate(tab_dated[0]);
			dated.setMonth(tab_dated[1]-1);
			dated.setFullYear(tab_dated[2]); 
			var tab_datef=nom_form.date2f.value.split('-');
			datef = new Date();
			datef.setDate(tab_datef[0]);
			datef.setMonth(tab_datef[1]-1);
			datef.setFullYear(tab_datef[2]);
			if (datef.getTime()<dated.getTime())
			{
				messerr += "\nLa date de fin est inférieure à la date de début";
				champok=false;
			}
			
			if (messerr != '')
			{
				alert (messerr);
			}
		}
	
		if ((champok==true) && (formok==true))
		{
			nom_form.submit();
			return true;
		}
		else
		{
			return false;
		}

		return false;
	}
	
	nom_form.submit();
	return true;
}

<!-- Fonction pour valider le formulaire stats des sous-traitants -->
function verif_stats_st(formulaire,tab_champ,pays,lng,valbouton)
{
	var nom_form=eval(formulaire);
	if (valbouton=="Calculer")
	{
		var formok=VForm(nom_form,tab_champ,pays,lng);

		var champok=true;
		var ageok=true;
		if (formok==true)
		{
			var messerr='';

			var es = document.getElementById("st");
			var allage=false;
			for ( var i=0; i<es.options.length; i++)
			{
				if (es.options[i].selected == true )
				{
					if (es.options[i].value == '*')
					{
						allage=true;
					}
					else
					{
						if (allage==true)
						{
							messerr += "\nVous ne pouvez sélectionner 'Tous les sous-traitants' que seul";
							champok=false;
						}
					}
				}
			}
	
			var tab_dated=nom_form.date1f.value.split('-');
			dated = new Date();
			dated.setDate(tab_dated[0]);
			dated.setMonth(tab_dated[1]-1);
			dated.setFullYear(tab_dated[2]); 
			var tab_datef=nom_form.date2f.value.split('-');
			datef = new Date();
			datef.setDate(tab_datef[0]);
			datef.setMonth(tab_datef[1]-1);
			datef.setFullYear(tab_datef[2]);
			if (datef.getTime()<dated.getTime())
			{
				messerr += "\nLa date de fin est inférieure à la date de début";
				champok=false;
			}
			
			if (messerr != '')
			{
				alert (messerr);
			}
		}
	
		if ((champok==true) && (formok==true))
		{
			nom_form.submit();
			return true;
		}
		else
		{
			return false;
		}

		return false;
	}
	
	nom_form.submit();
	return true;
}

<!-- Fonction pour valider le formulaire stats des opérateurs-->
function verif_stats_ope(formulaire,tab_champ,pays,lng,valbouton)
{
	var nom_form=eval(formulaire);
	if (valbouton=="Calculer")
	{
		var formok=VForm(nom_form,tab_champ,pays,lng);

		var champok=true;
		var opeok=true;
		if (formok==true)
		{
			var messerr='';

			var es = document.getElementById("ope");
			var allope=false;
			for ( var i=0; i<es.options.length; i++)
			{
				if (es.options[i].selected == true )
				{
					if (es.options[i].value == '*')
					{
						allope=true;
					}
					else
					{
						if (allope==true)
						{
							messerr += "\nVous ne pouvez sélectionner 'Tous les opérateurs' que seul";
							champok=false;
						}
					}
				}
			}
	
			var tab_dated=nom_form.date1f.value.split('-');
			dated = new Date();
			dated.setDate(tab_dated[0]);
			dated.setMonth(tab_dated[1]-1);
			dated.setFullYear(tab_dated[2]); 
			var tab_datef=nom_form.date2f.value.split('-');
			datef = new Date();
			datef.setDate(tab_datef[0]);
			datef.setMonth(tab_datef[1]-1);
			datef.setFullYear(tab_datef[2]);
			if (datef.getTime()<dated.getTime())
			{
				messerr += "\nLa date de fin est inférieure à la date de début";
				champok=false;
			}
			
			if (messerr != '')
			{
				alert (messerr);
			}
		}
	
		if ((champok==true) && (formok==true))
		{
			nom_form.submit();
			return true;
		}
		else
		{
			return false;
		}

		return false;
	}
	
	nom_form.submit();
	return true;
}

<!-- Fonction pour valider le formulaire stats des techniciens -->
function verif_stats_tec(formulaire,tab_champ,pays,lng,valbouton)
{
	var nom_form=eval(formulaire);
	if (valbouton=="Calculer")
	{
		var formok=VForm(nom_form,tab_champ,pays,lng);

		var champok=true;
		var tecok=true;
		if (formok==true)
		{
			var messerr='';

			var es = document.getElementById("tec");
			var alltec=false;
			for ( var i=0; i<es.options.length; i++)
			{
				if (es.options[i].selected == true )
				{
					if (es.options[i].value == '*')
					{
						alltec=true;
					}
					else
					{
						if (alltec==true)
						{
							messerr += "\nVous ne pouvez sélectionner 'Tous les techniciens' que seul";
							champok=false;
						}
					}
				}
			}
	
			var tab_dated=nom_form.date1f.value.split('-');
			dated = new Date();
			dated.setDate(tab_dated[0]);
			dated.setMonth(tab_dated[1]-1);
			dated.setFullYear(tab_dated[2]); 
			var tab_datef=nom_form.date2f.value.split('-');
			datef = new Date();
			datef.setDate(tab_datef[0]);
			datef.setMonth(tab_datef[1]-1);
			datef.setFullYear(tab_datef[2]);
			if (datef.getTime()<dated.getTime())
			{
				messerr += "\nLa date de fin est inférieure à la date de début";
				champok=false;
			}
			
			if (messerr != '')
			{
				alert (messerr);
			}
		}
	
		if ((champok==true) && (formok==true))
		{
			nom_form.submit();
			return true;
		}
		else
		{
			return false;
		}

		return false;
	}
	
	nom_form.submit();
	return true;
}

<!-- Fonction pour valider le formulaire de téléchargement des fichiers-->
function verif_upl(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;

	if (formok==true)
	{
		var messerr='';
		if (document.upl_maj.upload.value=='')
		{
			messerr += "\nMerci de choisir un fichier à télécharger";
			champok=false;
			document.upl_maj.upload.focus();
			document.getElementById("f_upload").className = 'rubfrmrelief';
		}
		else
		{
			document.getElementById("f_upload").className = 'rubfrm';
		}
	}

	if (champok == false)
	{
		alert (messerr);
	}

	if ((champok==true) && (formok==true))
	{
		var objet1=document.getElementById("attn");
		if (objet1)
		{
			objet1.style.display = 'block';
		}
		var objet2=document.getElementById("telech");
		if (objet2)
		{
			objet2.style.display = 'none';
		}
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire de téléchargement des logos agences -->
function verif_upll(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;

	if (formok==true)
	{
		var messerr='';
		if (document.upll_maj.upload.value=='')
		{
			messerr += "\nMerci de choisir un fichier à télécharger";
			champok=false;
			document.upll_maj.upload.focus();
			document.getElementById("f_upload").className = 'rubfrmrelief';
		}
		else
		{
			document.getElementById("f_upload").className = 'rubfrm';
		}
	}

	if (champok == false)
	{
		alert (messerr);
	}

	if ((champok==true) && (formok==true))
	{
		var objet1=document.getElementById("attn");
		if (objet1)
		{
			objet1.style.display = 'block';
		}
		var objet2=document.getElementById("telech");
		if (objet2)
		{
			objet2.style.display = 'none';
		}
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire de téléchargement des logos centre de gestion -->
function verif_upll2()
{
	var champok=true;

	var messerr='';
	if (document.upll_maj.upload.value=='')
	{
		messerr += "\nMerci de choisir un fichier à télécharger";
		champok=false;
		document.upll_maj.upload.focus();
		document.getElementById("f_upload").className = 'rubfrmrelief';
	}
	else
	{
		document.getElementById("f_upload").className = 'rubfrm';
	}

	if (champok == false)
	{
		alert (messerr);
	}

	if (champok==true)
	{
		display('pas_wait','none');display('wait','block');		
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire d'export -->
function verif_exp(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);

	if (formok==true)
	{
		display('patience','block');
		display('boutons','none');
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire client de choix pour déclaration de problème -->
function verif_chxml(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);

	if (formok==true)
	{
 		window.location.href=document.dpbm.chxml.value;
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire de réaffectation de TVA -->
function verif_tvarea(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;

	if (formok==true)
	{
		var messerr='';
		if (document.tvarea_maj.tva1.value==document.tvarea_maj.tva2.value)
		{
			messerr += "\nMerci de choisir 2 TVA différentes !";
			champok=false;
		}
	}

	if (champok == false)
	{
		alert (messerr);
	}

	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire de réaffectation de taxe -->
function verif_tpfrea(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;

	if (formok==true)
	{
		var messerr='';
		if (document.tpfrea_maj.tpf1.value==document.tpfrea_maj.tpf2.value)
		{
			messerr += "\nMerci de choisir 2 taxes différentes !";
			champok=false;
		}
	}

	if (champok == false)
	{
		alert (messerr);
	}

	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire de demande de retour -->
function verif_retd(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;

	if (formok==true)
	{
		var messerr='';
		if (document.retd_maj.daterepf.value!='')
		{
			if  (document.retd_maj.rma.value=='')
			{
				messerr += "\nVous devez saisir un numéro de retour";
				champok=false;
			}
		}
		if (document.retd_maj.rma.value!='')
		{
			if  (document.retd_maj.daterepf.value=='')
			{
				messerr += "\nVous devez saisir une date de réponse";
				champok=false;
			}
		}
	}

	if (champok == false)
	{
		alert (messerr);
	}

	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire de renvoi -->
function verif_rete(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;

	if (formok==true)
	{
		var messerr='';
		var tab_datec=document.rete_maj.datecreaf.value.split('-');
		var datec = new Date();
		datec.setDate(tab_datec[0]);
		datec.setMonth(tab_datec[1]-1);
		datec.setFullYear(tab_datec[2]); 
		var tab_datee=document.rete_maj.dateenvf.value.split('-');
		var datee = new Date();
		datee.setDate(tab_datee[0]);
		datee.setMonth(tab_datee[1]-1);
		datee.setFullYear(tab_datee[2]);
		if (datee.getTime()<datec.getTime())
		{
			messerr += "\nLa date d'envoi est antérieure à la date de création";
			champok=false;
		}
		if (document.rete_maj.clos.checked==true)
		{
			var dateact = new Date();
			if (datee.getTime()<dateact.getTime())
			{
				checkok = confirm("La date d'envoi est antérieure à la date du jour.\nMerci de confirmer.");
				formok=checkok;
			}
		}
		var codeme=document.rete_maj.codeme.value;
		if (codeme!=-1)
		{
			var bord=document.rete_maj.bord.value;
			if (bord=='')
			{
				messerr += "\nSi vous choisissez un mode d'envoi,\nvous devez saisir un numéro de bordereau.";
				champok=false;
			}
		}
	}
	
	if (champok == false)
	{
		alert (messerr);
	}

	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire de traitement retour -->
function verif_retr(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;

	if (formok==true)
	{
		var messerr='';
		document.getElementById("f_avoir").className = 'rubfrm';
		document.getElementById("f_ns").className = 'rubfrm';
		document.getElementById("f_raison").className = 'rubfrm';
		document.getElementById("f_fait").className = 'rubfrm';
		var valope=document.retr_maj.typeope.value;
		if (valope!='')
		{
			switch(valope)
			{
				case '1' :
			 		if (document.retr_maj.avoir.value=='')
					{
						messerr+= "\nVous devez saisir un numéro d'avoir";
						champok=false;
						document.retr_maj.avoir.focus();
						document.getElementById("f_avoir").className = 'rubfrmrelief';
					}
					break;
				case '2' :
			 		if (document.retr_maj.ns.value=='')
					{
						messerr+= "\nVous devez saisir un numéro de série";
						champok=false;
						document.retr_maj.ns.focus();
						document.getElementById("f_ns").className = 'rubfrmrelief';
					}
					break;
				case '4' :
				case '6' :
			 		if (document.retr_maj.raison.value=='')
					{
						messerr+= "\nVous devez saisir un motif de refus";
						champok=false;
						document.retr_maj.raison.focus();
						document.getElementById("f_raison").className = 'rubfrmrelief';
					}
					break;
				case '5' :
			 		if (document.retr_maj.fait.value=='')
					{
						messerr+= "\nVous devez saisir ce qui a été effectué";
						champok=false;
						document.retr_maj.fait.focus();
						document.getElementById("f_fait").className = 'rubfrmrelief';
					}
					break;
				default : break;
			}
		}
		var tab_dater=document.retr_maj.dateretf.value.split('-');
		var dater = new Date();
		dater.setDate(tab_dater[0]);
		dater.setMonth(tab_dater[1]-1);
		dater.setFullYear(tab_dater[2]); 
		var tab_datee=document.retr_maj.dateenvf.value.split('-');
		var datee = new Date();
		datee.setDate(tab_datee[0]);
		datee.setMonth(tab_datee[1]-1);
		datee.setFullYear(tab_datee[2]);
		if (dater.getTime()<datee.getTime())
		{
			messerr += "\nLa date de traitement est antérieure à la date d'envoi.";
			champok=false;
		}
		var dateact = new Date();
		if (dater.getTime()>datee.getTime())
		{
			checkok = confirm("La date de traitement est postérieure à la date du jour.\nMerci de confirmer.");
			formok=checkok;
		}
		var codeme=document.retr_maj.codeme.value;
		if (codeme!=-1)
		{
			var bord=document.retr_maj.bord.value;
			if (bord=='')
			{
				messerr += "\nSi vous choisissez un mode d'envoi,\nvous devez saisir un numéro de bordereau.";
				champok=false;
			}
		}
	}

	if (champok == false)
	{
		alert (messerr);
	}

	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire des produits louables -->
function verif_formrl(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;

	if (formok==true)
	{
		var messerr='';

		var tab_dated=document.formr.dd.value.split('-');
		dated = new Date();
		dated.setDate(tab_dated[0]);
		dated.setMonth(tab_dated[1]-1);
		dated.setFullYear(tab_dated[2]); 
		var tab_heured=document.formr.hd.value.split(':');
		dated.setHours(tab_heured[0]);
		dated.setMinutes(tab_heured[1]);
		dated.setSeconds(0); 
		var tab_datef=document.formr.df.value.split('-');
		datef = new Date();
		datef.setDate(tab_datef[0]);
		datef.setMonth(tab_datef[1]-1);
		datef.setFullYear(tab_datef[2]);
		var tab_heuref=document.formr.hf.value.split(':');
		datef.setHours(tab_heuref[0]);
		datef.setMinutes(tab_heuref[1]);
		datef.setSeconds(0); 
		if (datef.getTime()<dated.getTime())
		{
			messerr += "\nLa date de fin est inférieure à la date de début";
			champok=false;
		}
		else
		{
			if (datef.getTime()==dated.getTime())
			{
				messerr += "\nIl n'y a pas d'écart entre les 2 dates/heures";
				champok=false;
			}
		}

	}

	if (champok == false)
	{
		alert (messerr);
	}

	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire de tarif consommable -->
function verif_tcons(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;

	if (formok==true)
	{
		var messerr='';
		var mini=parseInt(document.barloctc_maj.mini.value);
		var maxi=parseInt(document.barloctc_maj.maxi.value);
		if (maxi>0)
		{
			if (maxi<=mini)
			{
				if  (document.barloctc_maj.maxi.value==(mini+1))
				{
					messerr += "\nle maximum doit être supérieur au minimum";
					champok=false;
				}
			}
		}
		else
		{
			if (maxi!=0)
			{
				messerr += "\nPas de chiffre négatif";
				champok=false;
			}
		}
	}

	if (champok == false)
	{
		alert (messerr);
	}

	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire de tarif consommable -->
function verif_tpen(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;

	if (formok==true)
	{
		var messerr='';
		var mini=parseInt(document.penbar_maj.mini.value);
		var maxi=parseInt(document.penbar_maj.maxi.value);
		if (maxi>0)
		{
			if (maxi<=mini)
			{
				if  (document.penbar_maj.maxi.value==(mini+1))
				{
					messerr += "\nle maximum doit être supérieur au minimum";
					champok=false;
				}
			}
		}
		else
		{
			if (maxi!=0)
			{
				messerr += "\nPas de chiffre négatif";
				champok=false;
			}
		}
	}

	if (champok == false)
	{
		alert (messerr);
	}

	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire de détail dossier -->
function verif_dosd(formulaire,tab_champ,pays,lng)
{
	var messerr='';
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;

	if (formok==true)
	{
		// Vérification des heures saisies
		if ((document.dosd_maj.heured.value!='') && (document.dosd_maj.heuref.value!=''))
		{
			if (document.dosd_maj.heured.value==document.dosd_maj.heuref.value)
			{
				champok=false;
				messerr+="L'heure de début et l'heure de fin sont identiques\n";
				document.getElementById('f_dta').className = 'rubfrmrelief';
				document.dosd_maj.heured.focus();
			}
			else
			{
				var tab_heured=document.dosd_maj.heured.value.split(':');
				var tab_heuref=document.dosd_maj.heuref.value.split(':');
				var heuredsec=(Number(tab_heured[0])*3600)+(Number(tab_heured[1])*60);
				var heurefsec=(Number(tab_heuref[0])*3600)+(Number(tab_heuref[1])*60);
				if (heurefsec<heuredsec)
				{
					champok=false;
					messerr+="L'heure de fin est inférieure à l'heure de début\n";
					document.getElementById('f_dta').className = 'rubfrmrelief';
					document.dosd_maj.heured.focus();
				}
				else
				{
					document.getElementById('f_dta').className = 'rubfrm';
				}
			}
		}
		// Vérification du type d'action choisi
		var typea=document.dosd_maj.typea.value;
		var avecdep=document.getElementById('_'+typea).value;
		if (Number(avecdep)==1)
		{
			if (document.dosd_maj.a_mt.value=='')
			{
				champok=false;
				messerr+="Il faut saisir un moyen de transport aller\n";
				document.getElementById('f_transmt').className = 'rubfrmrelief';
				document.dosd_maj.a_mt.focus();
			}
			else
			{
				document.getElementById('f_transmt').className = 'rubfrm';
			}
			if (document.dosd_maj.r_mt.value=='')
			{
				champok=false;
				messerr+="Il faut saisir un moyen de transport retour\n";
				document.getElementById('f_transmt').className = 'rubfrmrelief';
				document.dosd_maj.r_mt.focus();
			}
			else
			{
				document.getElementById('f_transmt').className = 'rubfrm';
			}
			if ((document.dosd_maj.a_heured.value!='') && (document.dosd_maj.a_heuref.value!=''))
			{
				if (document.dosd_maj.a_heured.value==document.dosd_maj.a_heuref.value)
				{
					champok=false;
					messerr+="L'heure de début et l'heure de fin du déplacement aller sont identiques\n";
					document.getElementById('f_transh').className = 'rubfrmrelief';
					document.dosd_maj.a_heured.focus();
				}
				else
				{
					var tab_heured=document.dosd_maj.a_heured.value.split(':');
					var tab_heuref=document.dosd_maj.a_heuref.value.split(':');
					var aheuredsec=(Number(tab_heured[0])*3600)+(Number(tab_heured[1])*60);
					var aheurefsec=(Number(tab_heuref[0])*3600)+(Number(tab_heuref[1])*60);
					if (aheurefsec<aheuredsec)
					{
						champok=false;
						messerr+="Pour l'aller, l'heure de fin est inférieure à l'heure de début\n";
						document.getElementById('f_transh').className = 'rubfrmrelief';
						document.dosd_maj.a_heured.focus();
					}
					else
					{
						if (aheurefsec>heuredsec)
						{
							champok=false;
							messerr+="Impossible d'arriver après le début de l'action\n";
							document.getElementById('f_transh').className = 'rubfrmrelief';
							document.dosd_maj.a_heuref.focus();
						}
						else
						{
							document.getElementById('f_transh').className = 'rubfrm';
						}
					}
				}
			}
			else
			{
				champok=false;
				messerr+="Il faut saisir une heure de départ et de retour pour le déplacement aller\n";
				document.getElementById('f_transh').className = 'rubfrmrelief';
				document.dosd_maj.a_heured.focus();
			}
			if ((document.dosd_maj.r_heured.value!='') && (document.dosd_maj.r_heuref.value!=''))
			{
				if (document.dosd_maj.r_heured.value==document.dosd_maj.r_heuref.value)
				{
					champok=false;
					messerr+="L'heure de début et l'heure de fin du déplacement retour sont identiques\n";
					document.getElementById('f_transh').className = 'rubfrmrelief';
					document.dosd_maj.r_heured.focus();
				}
				else
				{
					var tab_heured=document.dosd_maj.r_heured.value.split(':');
					var tab_heuref=document.dosd_maj.r_heuref.value.split(':');
					var rheuredsec=(Number(tab_heured[0])*3600)+(Number(tab_heured[1])*60);
					var rheurefsec=(Number(tab_heuref[0])*3600)+(Number(tab_heuref[1])*60);
					if (rheurefsec<rheuredsec)
					{
						champok=false;
						messerr+="Pour le retour, l'heure de fin est inférieure à l'heure de début\n";
						document.getElementById('f_transh').className = 'rubfrmrelief';
						document.dosd_maj.r_heured.focus();
					}
					else
					{
						if (rheuredsec<heurefsec)
						{
							champok=false;
							messerr+="Impossible de partir avant la fin de l'action\n";
							document.getElementById('f_transh').className = 'rubfrmrelief';
							document.dosd_maj.r_heured.focus();
						}
						else
						{
							document.getElementById('f_transh').className = 'rubfrm';
						}
					}
				}
			}
			else
			{
				champok=false;
				messerr+="Il faut saisir une heure de départ et de retour pour le déplacement retour\n";
				document.getElementById('f_transh').className = 'rubfrmrelief';
				document.dosd_maj.r_heured.focus();
			}
			if (Number(document.dosd_maj.a_km.value)==0)
			{
				champok=false;
				messerr+="Il faut saisir un kilométrage aller\n";
				document.getElementById('f_transkm').className = 'rubfrmrelief';
				document.dosd_maj.a_km.focus();
			}
			else
			{
				document.getElementById('f_transkm').className = 'rubfrm';
			}
			if (Number(document.dosd_maj.r_km.value)==0)
			{
				champok=false;
				messerr+="Il faut saisir un kilométrage retour\n";
				document.getElementById('f_transkm').className = 'rubfrmrelief';
				document.dosd_maj.r_km.focus();
			}
			else
			{
				document.getElementById('f_transkm').className = 'rubfrm';
			}
			var codemt1=document.dosd_maj.a_mt.value;
			var obj1=document.getElementById('M_'+codemt1);
			if (obj1)
			{
				var coutas1=obj1.value;
				if (Number(coutas1)==1)
				{
					if (Number(document.dosd_maj.a_cd.value)==0)
					{
						champok=false;
						messerr+="Merci de saisir un coût de transport aller\n";
						document.getElementById('f_transcd').className = 'rubfrmrelief';
						document.dosd_maj.a_cd.focus();
					}
					else
					{
						document.getElementById('f_transcd').className = 'rubfrm';
					}
				}
			}
			if (Number(document.dosd_maj.a_fa.value)!=0)
			{
				if (document.dosd_maj.a_fad.value=='')
				{
					champok=false;
					messerr+="Merci de donner un détail des frais annexes aller\n";
					document.getElementById('f_transfad').className = 'rubfrmrelief';
					document.dosd_maj.a_fad.focus();
				}
				else
				{
					document.getElementById('f_transfad').className = 'rubfrm';
				}
			}
			if (Number(document.dosd_maj.r_fa.value)!=0)
			{
				if (document.dosd_maj.r_fad.value=='')
				{
					champok=false;
					messerr+="Merci de donner un détail des frais annexes retour\n";
					document.getElementById('f_transfad').className = 'rubfrmrelief';
					document.dosd_maj.r_fad.focus();
				}
				else
				{
					document.getElementById('f_transfad').className = 'rubfrm';
				}
			}
		}
		var lst_cage=document.getElementById('cage');
		var nbcage=0;
		for (var nb=0; nb<lst_cage.options.length; nb++)
		{
			if (lst_cage.options[nb].selected)
			{
				nbcage++;
			}
		}
		var lst_tec=document.getElementById('codetec');
		var nbtec=0;
		for (var nb=0; nb<lst_tec.options.length; nb++)
		{
			if (lst_tec.options[nb].selected)
			{
				nbtec++;
			}
		}
		var lst_ccli=document.getElementById('ccli');
		var nbccli=0;
		for (var nb=0; nb<lst_ccli.options.length; nb++)
		{
			if (lst_ccli.options[nb].selected)
			{
				nbccli++;
			}
		}
		var lst_cmque=document.getElementById('cmque');
		var nbcmque=0;
		for (var nb=0; nb<lst_cmque.options.length; nb++)
		{
			if (lst_cmque.options[nb].selected)
			{
				nbcmque++;
			}
		}
		var lst_cdo=document.getElementById('cdo');
		var nbcdo=0;
		for (var nb=0; nb<lst_cdo.options.length; nb++)
		{
			if (lst_cdo.options[nb].selected)
			{
				nbcdo++;
			}
		}
		var lst_cst=document.getElementById('cst');
		var nbcst=0;
		for (var nb=0; nb<lst_cst.options.length; nb++)
		{
			if (lst_cst.options[nb].selected)
			{
				nbcst++;
			}
		}
		if ((nbcage==0) && (nbtec==0) && (nbccli==0) && (nbcmque==0) && (nbcdo==0) && (nbcst==0))
		{
			messerr+="Vous devez saisir au moins un intervenant\n";
			champok=false;
		}
		var clos=document.dosd_maj.clore.checked;
		if (clos==true)
		{
			var res=RLtrim(document.dosd_maj.res.value);
			if (res=='')
			{
				messerr+="Vous devez saisir une synthèse\n";
				champok=false;
			}
			var concl=RLtrim(document.dosd_maj.concl.value);
			if (concl=='')
			{
				messerr+="Vous devez saisir une conclusion\n";
				champok=false;
			}
			var stat=RLtrim(document.dosd_maj.codestatut.value);
			if (stat=='')
			{
				messerr+="Vous devez saisir un nouveau statut\n";
				champok=false;
			}
			var urg=RLtrim(document.dosd_maj.urgence.value);
			if (urg=='')
			{
				messerr+="Vous devez saisir un nouveau niveau d'urgence\n";
				champok=false;
			}
			var proba=RLtrim(document.dosd_maj.proba.value);
			if (proba=='')
			{
				messerr+="Vous devez saisir un nouveau niveau de probabilité\n";
				champok=false;
			}
			var ave=RLtrim(document.dosd_maj.ave.value);
			if (ave=='')
			{
				messerr+="Vous devez saisir un nouveau niveau d'avancement\n";
				champok=false;
			}
		}
	}

	if (champok == false)
	{
		alert (messerr);
	}

	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire de moyen de transport -->
function verif_mt(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;

	if (formok==true)
	{
		var messerr='';
		var mt=document.getElementById('mt');
		if (mt)
		{
			valmt=Number(mt.value);
			switch (valmt)
			{
				// "Interne"
				case 0 :
					var objet1=document.getElementById('coutk');
					if (objet1)
					{
						var val1=objet1.value;
					}
					
					if (val1==0)
					{
						messerr += "\nVous devez saisir un coût kilométrique";
						champok=false;
					}
					break;
				// "Externe"
				case 1 :
					var objet1=document.getElementById('coutf');
					if (objet1)
					{
						var val1=Number(objet1.value);
					}
					var objet11=document.getElementById('coutas');
					if (objet11)
					{
						var val11=objet11.checked;
					}
					var objet2=document.getElementById('kmi');
					if (objet2)
					{
						var val2=Number(objet2.value);
					}
					var objet3=document.getElementById('kmill');
					if (objet3)
					{
						var val3=objet3.checked;
					}
					var objet4=document.getElementById('kms');
					if (objet4)
					{
						var val4=Number(objet4.value);
					}
					
					if (((val1==0) && (val11==false)) || ((val2==0) && (val3==false)) || ((val4==0) && (val3==false)))
					{
						messerr += "\nVous devez saisir un coût forfaitaire ou à saisir,\nun km inclus ou suppl ou illimité";
						champok=false;
					}
					break;
			}
		}
	}

	if (champok == false)
	{
		alert (messerr);
	}

	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		return false;
	}
}

<!-- Fonction pour valider le formulaire suivi facturation -->
function verif_intf(formulaire,tab_champ,pays,lng)
{
	var formok=VForm(formulaire,tab_champ,pays,lng);
	var champok=true;
	var messerr='';

	if (formok==true)
	{
		var objet = document.getElementById('fnulle');
		if (objet)
		{
			if (parseInt(objet.value)==0)
			{
				var objet2=document.getElementById('codeme');
				if (objet2)
				{
					if (objet2.value=='')
					{
						messerr += "\nVous devez saisir un moyen d'envoi";
						objet2.focus();
						champok=false;
					}
				}
				var objet2=document.getElementById('nomf');
				if (objet2)
				{
					if (objet2.value=='')
					{
						messerr += "\nVous devez saisir le nom de celui qui a facturé";
						objet2.focus();
						champok=false;
					}
				}
				var objet2=document.getElementById('numf');
				if (objet2)
				{
					if (objet2.value=='')
					{
						messerr += "\nVous devez saisir un numéro de facture";
						objet2.focus();
						champok=false;
					}
				}
				var objet2=document.getElementById('datefacf');
				if (objet2)
				{
					if (objet2.value=='')
					{
						messerr += "\nVous devez saisir une date de facturation";
						objet2.focus();
						champok=false;
					}
				}
			}
		}
	}
	if ((champok==true) && (formok==true))
	{
		return true;
	}
	else
	{
		alert(messerr);
		return false;
	}
}

