function js_chaine(FormName,StringField,FieldName,js_opt,js_type,js_opt_car_min,js_opt_car_max,js_opt_anchor,js_check)
{var a=document.forms[FormName].elements[StringField];var b=document.forms[FormName].elements[StringField].value;retour=true;message='';car_min=typeof(js_opt_car_min)=='undefined'?1:js_opt_car_min;if(js_opt)
{if(b.length<=0)
{message='Champ '+FieldName+' : Entrez une chaine de caractères !';retour=false;}}
if(b.length>0&&b.length<car_min&&retour)
{message='Champ '+FieldName+' : Entrez une chaine un peu plus longue !';retour=false;}
else if(a.length>=js_opt_car_max&&typeof(js_opt_car_max)!='undefined')
{message='Champ '+FieldName+' : Entrez une chaine de moins de '+js_opt_car_max+' caractères !';retour=false;}
else
{if(!js_check)
{for(i=0;i<b.length;i++)
{if(b.charAt(i)=='<'||b.charAt(i)=='>'||b.charAt(i)=='\\'||b.charAt(i)=='"')
{message='Champ '+FieldName+' contient un des caractères interdits  ( <,>,\\," ) !';retour=false;}
else
{if(js_type)
{if(b.charAt(i)=='\'')
{message='Champ '+FieldName+' contient un des caractères interdits ( <,>,\\,",\' ) !';retour=false;}}}}}
if(!js_check)
{if(retour)
{pluslongmot=0;longueurmot=0;for(i=0;i<b.length;i++)
{if(b.charAt(i)==' '||b.charAt(i)=='\t'||b.charAt(i)=='\n')
{if(pluslongmot<longueurmot)
pluslongmot=longueurmot;longueurmot=0;}
else
{longueurmot++;}}
if(pluslongmot>26||longueurmot>26)
{message='Champ '+FieldName+' contient au moins un mot trop grand !';retour=false;}}}}
if(!retour)erreur_champ(FormName,a,js_opt_anchor,message);else a.style.backgroundColor='#f0f0FF';return retour;}
function js_checkbox(FormName,StringField,FieldName,js_opt_anchor)
{var a=document.forms[FormName].elements[StringField];if(!a.checked)
{erreur_champ(FormName,a,js_opt_anchor,'Champ '+FieldName+' : Champ obligatoire !');return false;}
else
{a.style.backgroundColor='#f0f0FF';return true;}}
function CheckLen(FormName,StringField,Target,js_opt_car_max)
{var a=document.forms[FormName].elements[StringField];if(a.value.length>js_opt_car_max)
{a.value=a.value.substring(0,js_opt_car_max);CharsLeft=js_opt_car_max;}
else
{CharsLeft=a.value.length;}
document.forms[FormName].elements[Target].value=js_opt_car_max-CharsLeft;}
function js_CheckDiff(FormName,StringField1,StringField2,FieldName,js_opt_anchor)
{var a=document.forms[FormName].elements[StringField2];var StringOne=document.forms[FormName].elements[StringField1].value;var StringTwo=document.forms[FormName].elements[StringField2].value;retour=true;message='';if(StringOne!=StringTwo)
{message='Champ '+FieldName+' : Les champs sont différents ! !';retour=false;}
if(!retour)erreur_champ(FormName,a,js_opt_anchor,message);else a.style.backgroundColor='#f0f0FF';return retour;}
function js_CheckDiffDate(FormName,StringFieldDay,StringFieldMonth,StringFieldYear,StringFieldDay2,StringFieldMonth2,StringFieldYear2,FieldName,js_opt_anchor)
{var a=document.forms[FormName].elements[StringFieldDay];var StringOne=new Date(document.forms[FormName].elements[StringFieldYear].value,document.forms[FormName].elements[StringFieldMonth].value,document.forms[FormName].elements[StringFieldDay].value,0,0,0);var StringTwo=new Date(document.forms[FormName].elements[StringFieldYear2].value,document.forms[FormName].elements[StringFieldMonth2].value,document.forms[FormName].elements[StringFieldDay2].value,24,0,0);retour=true;message='';if(StringOne.getTime()>StringTwo.getTime())
{message='Champ '+FieldName+' : Le jour de début '+FieldName+' doit être inférieur ou égal à celui de fin !';retour=false;}
if(!retour)erreur_champ(FormName,a,js_opt_anchor,message);else a.style.backgroundColor='#f0f0FF';return retour;}
function js_combo(FormName,StringField,FieldName,js_opt_anchor)
{var a=document.forms[FormName].elements[StringField];var b=document.forms[FormName].elements[StringField].value;var b=document.forms[FormName].elements[StringField].options[document.forms[FormName].elements[StringField].options.selectedIndex].value;retour=true;message='';if(b=="0"&&retour)
{message='Champ '+FieldName+' : Sélectionnez une valeur !';retour=false;}
if(!retour)erreur_champ(FormName,a,js_opt_anchor,message);else a.style.backgroundColor='#f0f0FF';return retour;}
function isEmail(str)
{var supported=0;if(window.RegExp){var tempStr="a";var tempReg=new RegExp(tempStr);if(tempReg.test(tempStr))supported=1;}
if(!supported)
return(str.indexOf(".")>2)&&(str.indexOf("@")>0);var r1=new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");var r2=new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3}|[a-zA-Z]{2,4}\\.[a-zA-Z]{2,4})(\\]?)$");return(!r1.test(str)&&r2.test(str));}
function js_email(FormName,StringField,FieldName,js_opt,js_opt_anchor)
{var a=document.forms[FormName].elements[StringField];var b=document.forms[FormName].elements[StringField].value;retour=true;message='';if(js_opt)
{if(b.length<=0)
{message='Champ '+FieldName+' : Entrez une chaine de caractères !';retour=false;}}
if(b.length>0&&retour)
{if(!isEmail(b))
{message='Champ '+FieldName+' : Adresse email non valide !';retour=false;}
else if(b.length<=2)
{message='Champ '+FieldName+' : Entrez une chaine un peu plus longue !';retour=false;}}
if(!retour)erreur_champ(FormName,a,js_opt_anchor,message);else a.style.backgroundColor='#f0f0FF';return retour;}
function js_number(FormName,StringField,FieldName,js_opt,js_opt_car_min,js_opt_car_max,js_opt_anchor)
{var a=document.forms[FormName].elements[StringField];var b=document.forms[FormName].elements[StringField].value;retour=true;message='';car_min=typeof(js_opt_car_min)=='undefined'?1:js_opt_car_min;if(js_opt)
{if(b.length<=0)
{message='Champ '+FieldName+' : Entrez une chaine de caractères !';retour=false;}}
if(b.length>0&&b.length<car_min&&retour)
{message='Champ '+FieldName+' : Entrez une chaine un peu plus longue !';retour=false;}
else if(a.length>=js_opt_car_max&&typeof(js_opt_car_max)!='undefined')
{message='Champ '+FieldName+' : Entrez une chaine de moins de '+js_opt_car_max+' caractères !';retour=false;}
else
{testm=true;for(var j=0;j<(b.length);j++)
{if(b.charAt(j)<'0'||b.charAt(j)>'9')
testm=false;}
if(testm==false)
{message='Champ '+FieldName+' : Nombre incorrect !';retour=false;}}
if(!retour)erreur_champ(FormName,a,js_opt_anchor,message);else a.style.backgroundColor='#f0f0FF';return retour;}
function js_radio(FormName,StringField,FieldName,js_opt,js_NbFields,js_opt_anchor)
{var a=document.forms[FormName].elements[StringField];retour=true;message='';for(var i=0;i<js_NbFields;i++)
{if(a[i].checked!=0)retour=false;}
if(!retour)
{message='Champ '+FieldName+' : Nombre incorrect !';erreur_champ(FormName,a,js_opt_anchor,message);}
else
{a.style.backgroundColor='#f0f0FF';}
return retour;}
var nbclic=0
function CompteClic(FormName)
{nbclic++;retour=true;if(nbclic>1)
{alert("Vous avez déjà cliqué ce bouton.\nLe formulaire est en cours de traitement... Patience");retour=false;}
return retour;}
function erreur_champ(FormName,champ,ancre,message)
{document.forms[FormName].elements['valid'].value="Continuer";if(typeof(ancre)!='undefined')location.href='#'+ancre;champ.style.backgroundColor='#F2B48A';alert(message);if(!champ.options)champ.select();champ.focus();}
