//////////////////////////////////////////////////////////////
function checkEmail(EmailField){
	var EmailCorrect = false
	var EmailPoint = false
	if (EmailField.value.length < 5)  {
    		alert("Tapez au moins 5 caractères dans le champ \"email\".");
    		EmailField.focus();
    		return (false);
  	}
	for (var i = 1; i <= EmailField.value.length-4; i++) {
 		if (EmailField.value.charAt(i) == "@") {EmailCorrect = true}
 	}
	for (var i = 3; i <= EmailField.value.length-3; i++) {
 		if (EmailField.value.charAt(i) == ".") {EmailPoint = true}
 	}
	if (EmailCorrect==false | EmailPoint==false) {
    		alert("Le champ \"email\" n'est pas valide. Il faut une adresse du type xxxx@xxxx.xxx.");
    		EmailField.focus();
		return (false);
	}
  	if (EmailField.value.length > 45)  {
    		alert("Tapez au plus 45 caractères dans le champ \"email\".");
    		EmailField.focus();
    		return (false);
  	}
	return (true);
}



//////////////////////////////////////////////////////////////
function ValiderListe(LeChamp, LeMess) {
//////////////////////////////////////////////////////////////
//Vérifier si c'est le premier Item de la liste qui est sélectionné
if(LeChamp.selectedIndex==0)
	{
	alert(LeMess);
	LeChamp.focus();
	OK=false;
	return false;
	}
else
	OK=true;
	return true;
}


//////////////////////////////////////////////////////////////
function ValiderChamp(LeChamp, LeMess) {
//////////////////////////////////////////////////////////////
//Vérifier si le champ est vide : 
//Afficher Mess Personnalisé
//Focus sur le champ

if(LeChamp.value=="")
	{
	alert(LeMess);
	LeChamp.focus();
	OK=false;
	return false;
	}
else
	{
	OK=true;
	return true;
	}
}


//////////////////////////////////////////////////////////////
function ValiderChampInt(LeChamp, LeMess) {
//////////////////////////////////////////////////////////////
//Vérifier si le champ un numérique ENTIER : 
//Afficher Mess Personnalisé
//Focus sur le champ

if(parseInt(LeChamp.value,10)!=LeChamp.value)
	{
	alert(LeMess);
	LeChamp.focus();
	OK=false;
	return false;
	}
else
	{
	OK=true;
	return true;
	}
}


//////////////////////////////////////////////////////////////
function ValiderChampCPFrance(LeChamp, LeMess) {
//////////////////////////////////////////////////////////////
//Vérifier si le champ un numérique ENTIER de longueur 5: 
//Afficher Mess Personnalisé
//Focus sur le champ

if(parseInt(LeChamp.value,10)!=LeChamp.value)
	{
	alert(LeMess);
	LeChamp.focus();
	OK=false;
	return false;
	}
	
if(LeChamp.value.length!=5)	
	{
	alert(LeMess);
	LeChamp.focus();
	OK=false;
	return false;
	}
	
return true;

}
//////////////////////////////////////////////////////////////




//////////////////////////////////////////////////////////////
function Js_Trim(txt) {
//////////////////////////////////////////////////////////////
//Supprime les espaces de début et de fin d'une chaine : 
var Pos=0;
var i;
for(i=0;i<txt.length;i++)
{
	if(txt.charAt(i) !=" ")
		break;
	else
		Pos=i;
}
if (Pos>0) txt = txt.substr(Pos+1);

Pos=0;
for(i=txt.length-1;i>0;i--)
{
	if(txt.charAt(i) ==" ")
		Pos=i;
	else
		break;
}
if (Pos>0)  txt = txt.substr(0,Pos);
return txt;

}


//////////////////////////////////////////////////////////////
function Trim(orgString){
///////Suppression des espaces extérieurs//////////////////////
  return LTrim(RTrim(orgString))
}

//////////////////////////////////////////////////////////////
function LTrim(orgString){
////////Suppression des espaces de Gauche//////////////////////
  return orgString.replace(/^\s+/,'')
}

//////////////////////////////////////////////////////////////
function RTrim(orgString){
////////Suppression des espaces de Droite//////////////////////
  return orgString.replace(/\s+$/,'')
}
//////////////////////////////////////////////////////////////



//////////////////////////////////////////////////////////////
function EstBissextile(Annee) {
//////////////////////////////////////////////////////////////
return ((Annee % 4 == 0) && (Annee % 100 != 0) || (Annee % 400 == 0));
}


//////////////////////////////////////////////////////////////
function DateMinDateMax(DateMin, DateMax) {
//////////////////////////////////////////////////////////////
//==============================//
//Pour Format JJ/MM/AAAA       //
//Pour Format JJ-MM-AAAA       //
//Vérifie que DateMin <=DateMax//  
//==============================//
var strDateMin;
var strDateMax;

strDateMin = DateMin.substring(6,10)+DateMin.substring(3,5)+DateMin.substring(0,2);
strDateMax = DateMax.substring(6,10)+DateMax.substring(3,5)+DateMax.substring(0,2);

if (strDateMin <= strDateMax)
	return true;
else
	{
	alert("La date Min doit être inférieure à la date Max");
	return false;
	}


}


//////////////////////////////////////////////////////////////
function DateMinDateMaxTyp(ChampDateMin, ChampDateMax,LeType) {
//////////////////////////////////////////////////////////////
//==============================//
//Pour Format JJ/MM/AAAA       //
//Pour Format JJ-MM-AAAA       //
//Vérifie que DateMin <=DateMax//  
//==============================//
var strDateMin;
var strDateMax;
var DateMin=ChampDateMin.value;
var DateMax=ChampDateMax.value;

if (LeType=="JJ/MM/AAAA" || LeType=="JJ-MM-AAAA")
{
	strDateMin = DateMin.substring(6,10)+DateMin.substring(3,5)+DateMin.substring(0,2);
	strDateMax = DateMax.substring(6,10)+DateMax.substring(3,5)+DateMax.substring(0,2);	
	if (strDateMin <= strDateMax)
		return true;
	else
	{
		alert("La date de début doit être inférieure à la date de fin");
		return false;
	}
}
if (LeType=="AAAA-MM-JJ")
{
	if (DateMin <= DateMax)
		return true;
	else
	{
		alert("La date de début doit être inférieure à la date de fin");
		return false;
	}
}

}



//////////////////////////////////////////////////////////////
function VerifDate(ChampDate,LeType) {
//////////////////////////////////////////////////////////////

var LaDate=ChampDate.value;
	
if (LeType=="jj/mm/aaaa" )
{
	//===========================
	//Pour Format JJ/MM/AAAA//
	//===========================
	
	var DateOK = true
	var LeJour = LaDate.substring(0,2)
	var Sep1 = LaDate.substring(2,3)
	var LeMois = LaDate.substring(3,5)
	var Sep2 = LaDate.substring(5,6)
	var Annee = LaDate.substring(6,10)
	if (Sep1 != "/"  || Sep2 != "/" )
	{
		alert ("La Date doit être au format jj/mm/aaaa")
		DateOK = false
		ChampDate.focus();
		return false
	}

}

if (LeType=="JJ/MM/AAAA" )
{
	//===========================
	//Pour Format JJ/MM/AAAA//
	//===========================
	
	var DateOK = true
	var LeJour = LaDate.substring(0,2)
	var Sep1 = LaDate.substring(2,3)
	var LeMois = LaDate.substring(3,5)
	var Sep2 = LaDate.substring(5,6)
	var Annee = LaDate.substring(6,10)
	if (Sep1 != "/"  || Sep2 != "/" )
	{
		alert ("La Date doit être au format JJ/MM/AAAA")
		DateOK = false
		ChampDate.focus();
		return false
	}

}


if (LeType=="JJ-MM-AAAA")
{
	//===========================
	//Pour Format JJ-MM-AAAA//
	//===========================
	
	var DateOK = true
	var LeJour = LaDate.substring(0,2)
	var Sep1 = LaDate.substring(2,3)
	var LeMois = LaDate.substring(3,5)
	var Sep2 = LaDate.substring(5,6)
	var Annee = LaDate.substring(6,10)
	if (Sep1 != "-"  || Sep2 != "-" )
	{
		alert ("La Date doit être au format JJ/MM/AAAA")
		DateOK = false
		ChampDate.focus();
		return false
	}

}
if (LeType=="AAAA-MM-JJ")
{
	//===========================
	//Pour Format AAAA-MM-JJ//
	//===========================
	
	var DateOK = true
	var Annee = LaDate.substring(0,4)
	var Sep1 = LaDate.substring(4,5)
	var LeMois = LaDate.substring(5,7)
	var Sep2 = LaDate.substring(7,8)
	var LeJour = LaDate.substring(8,10)
	if (Sep1 != "-"  || Sep2 != "-" )
	{
		alert ("La Date doit être au format AAAA-MM-JJ")
		DateOK = false
		ChampDate.focus();
		return false
	}

}

if(parseInt(LeJour,10)!=LeJour) {alert("Le Jour de votre date de naissance doit être numérique...");return false;}
if(parseInt(LeMois,10)!=LeMois) {alert("Le Mois de votre date de naissance doit être numérique...");return false;}
if(parseInt(Annee,10)!=Annee) {alert("L'Année de votre date de naissance doit être numérique...");return false;}


if (Annee < 1000)
{
	alert ("L' Année n'est pas OK")
	DateOK = false
	ChampDate.focus();
	return false
}
	
if (LeMois < 1 || LeMois > 12 )
{
	alert ("Le Mois est supérieur à 12")
	DateOK = false
	ChampDate.focus();
	return false
}

if ((LeMois == "01" || LeMois == "03" || LeMois == "05" || LeMois == "07" || LeMois == "08" || LeMois == "10" || LeMois == "12" ) && (LeJour  > "31"))
{
	alert ("Le Jour est supérieur à 31 ")
	DateOK = false
	ChampDate.focus();
	return false
}
	
if ((LeMois == "04" || LeMois == "06" || LeMois == "09" || LeMois == "11" ) && (LeJour > "30"))
{
	alert ("Le Jour est supérieur à 30 ")
	DateOK = false
	ChampDate.focus();
	return false
}

if (LeMois == "02" && EstBissextile(Annee)  && LeJour > "29")
{
	alert ("Le Jour est supérieur à 29 ")
	DateOK = false
	ChampDate.focus();
	return false
}
	
if (LeMois == "02" && !EstBissextile(Annee)  && LeJour > "28")
{
	alert ("Le Jour est supérieur à 28 ")
	DateOK = false
	ChampDate.focus();
	return false
}

if (LeJour < 1 || LeJour > 31 )
{
	alert ("Le Jour n'est pas OK")
	DateOK = false
	ChampDate.focus();
	return false
}

return DateOK
}


//////////////////////////////////////////////////////////////
function ConFormatDate(LaDate,F_Ori, F_Cib) {
//////////////////////////////////////////////////////////////
//Conversion d'un format de date en un autre
switch(F_Ori)
{
case  "JJ/MM/AAAA":
	//===========================
	//Pour Format JJ/MM/AAAA//
	//===========================
	
	var DateOK = true
	var LeJour = LaDate.substring(0,2)
	var Sep1 = LaDate.substring(2,3)
	var LeMois = LaDate.substring(3,5)
	var Sep2 = LaDate.substring(5,6)
	var Annee = LaDate.substring(6,10)
	if (Sep1 != "/"  || Sep2 != "/" )
	{
		alert ("La Date doit être au format JJ/MM/AAAA")
		DateOK = false
		return false
	}
	break;
case  "AAAA-MM-JJ":
	//===========================
	//Pour Format AAAA-MM-JJ//
	//===========================
	
	var DateOK = true
	var Annee = LaDate.substring(0,4)
	var Sep1 = LaDate.substring(4,5)
	var LeMois = LaDate.substring(5,7)
	var Sep2 = LaDate.substring(7,8)
	var LeJour = LaDate.substring(8,10)
	if (Sep1 != "-"  || Sep2 != "-" )
	{
		alert ("La Date doit être au format AAAA-MM-JJ")
		DateOK = false
		return false
	}
	break;
default:
	alert ("Ce Format de date n'est pas géré ....");
	break;
	return false;
}


if(parseInt(LeJour,10)!=LeJour) {alert("Le Jour doit être numérique...");return false;}
if(parseInt(LeMois,10)!=LeMois) {alert("Le Mois doit être numérique...");return false;}
if(parseInt(Annee,10)!=Annee) {alert("L'Année doit être numérique...");return false;}



switch(F_Cib)
{
case  "JJ/MM/AAAA":
	LaDate = LeJour + "/" + LeMois + "/" + Annee;
	break;
case  "AAAA-MM-JJ":
	LaDate = Annee + "-" + LeMois + "-" + LeJour;
	break;

default:
	alert ("Ce Format de date n'est pas géré ....");
	break;
	return false;
}


return(LaDate);

}

///////////////////////////////////////////////////
function DateAjoutJour(LaDate, NbJours,LeFormat)
{
var DureeJour = 1000*60*60*24;	//millisecond * seconds * minutes * heures 
if(LeFormat=="AAAA-MM-JJ")
{
	var Annee = LaDate.substring(0,4);
	var LeMois = LaDate.substring(5,7);
	var LeJour = LaDate.substring(8,10);
	DateDeb=new Date( Annee,LeMois-1,LeJour);
	DateDeb.setTime(DateDeb.getTime() + (DureeJour*NbJours));
	if (DateDeb.getMonth()+1 < 10)
		DateFin = DateDeb.getYear()+"-0"+(DateDeb.getMonth()+1)+"-"+(DateDeb.getDate()<10 ? "0" + DateDeb.getDate() : DateDeb.getDate());
	else
		DateFin = DateDeb.getYear()+"-"+(DateDeb.getMonth()+1)+"-"+(DateDeb.getDate()<10 ? "0" + DateDeb.getDate() : DateDeb.getDate());
	
	return DateFin;
}	
	
}///////////////////////////////////////////////////

