//*******************************************************************************
// FONCTION : Dateheure1InfDateheure2(date1,date2) 
// DESCRIPTION : Retourne faux si un date1 est inferieure ŕ date2 sinon vrai
// PARAMETRE EN ENTREE : 
// date1 : contient une date et une heure
// date2 : contient une date et une heure
function Dateheure1InfDateheure2(dateheure1,dateheure2)
{
	madate1 = dateheure1.slice(6,10)+dateheure1.slice(3,5)+dateheure1.slice(0,2)+dateheure1.slice(11,13)+dateheure1.slice(14,16);
	madate2 = dateheure2.slice(6,10)+dateheure2.slice(3,5)+dateheure2.slice(0,2)+dateheure2.slice(11,13)+dateheure2.slice(14,16);
	if (madate1>madate2) 
	{ 
		return(true); 
	} 
	else
	{ 
		return(false); 
	}
}


//*******************************************************************************
// FONCTION : Date1InfDate2(date1,date2)
// DESCRIPTION : Retourne faux si un date1 est inferieure ŕ date2 sinon vrai
// PARAMETRE EN ENTREE :
// date1 : contient une date
// date2 : contient une date
function Date1InfDate2(date1,date2)
{
 madate1 = date1.slice(6,10)+date1.slice(3,5)+date1.slice(0,2);
 madate2 = date2.slice(6,10)+date2.slice(3,5)+date2.slice(0,2);
 if (madate1>madate2)
 {
  return(true);
 }
 else
 {
  return(false);
 }
}


//*******************************************************************************
// FONCTION : Date1InfouEgalDate2(date1,date2)
// DESCRIPTION : Retourne faux si un date1 est inferieure ou égale ŕ date2 sinon vrai
// PARAMETRE EN ENTREE :
// date1 : contient une date
// date2 : contient une date
function Date1InfouEgalDate2(date1,date2)
{
 madate1 = parseInt(date1.slice(6,10)+date1.slice(3,5)+date1.slice(0,2));
 madate2 = parseInt(date2.slice(6,10)+date2.slice(3,5)+date2.slice(0,2));
 if (madate1>=madate2)
 {
  return(true);
 }
 else
 {
  return(false);
 }
}

//*******************************************************************************
// FONCTION : nb_jour_entre_date(date1,date2)
// DESCRIPTION : Retourne le nombre de jour entre deux dates
// PARAMETRE EN ENTREE :
// date1 : contient une date
// date2 : contient une date
function nb_jour_entre_date(date1,date2)
{
 var split_date1 = date1.split('/');
 var split_date2 = date2.split('/');
  
 var new_date1 = new Date(split_date1[2],split_date1[1]*1 - 1,split_date1[0]*1);
 var new_date2 = new Date(split_date2[2],split_date2[1]*1 - 1,split_date2[0]*1);
 if (new_date1.getTime() > new_date2.getTime())
 {
  var test = Math.floor((new_date1.getTime() - new_date2.getTime()) / 1000 / 60 / 60 / 24);
 }
   else
   {
    var test = Math.floor((new_date2.getTime() - new_date1.getTime()) / 1000 / 60 / 60 / 24);
   }
   return test;
}

//*******************************************************************************
// FONCTION : addDaysToDate(old_date,nb_jour)
// DESCRIPTION : Retourne l'ancienne date ŕ laquelle on a ajouté nb_jour
// PARAMETRE EN ENTREE :
// old_date : contient une date
// nb_jour : contient le nombre de jour ŕ ajouter ŕ la date
function addDaysToDate(old_date, nb_jour)
{
  // Date plus nb_jour
  var split_date = old_date.split('/');
  // Les mois vont de 0 a 11 donc on enleve 1, cast avec *1
  var new_date = new Date(split_date[2]*1, split_date[1]*1 - 1 , split_date[0]*1 + parseInt(nb_jour) ); //parseInt nb_jour pour typer la variable pour l'opération
  var new_day = new_date.getDate();
      new_day = ((new_day < 10) ? '0' : '') + new_day; // ajoute un zéro devant pour la forme
  var new_month = new_date.getMonth() + 1;
      new_month = ((new_month < 10) ? '0' : '') + new_month; // ajoute un zéro devant pour la forme
  var new_year = new_date.getYear();
      new_year = ((new_year < 200) ? 1900 : 0) + new_year; // necessaire car IE et FF retourne pas la meme chose
  var new_date_text = new_day + '/' + new_month + '/' + new_year;
  return new_date_text;
}

//*******************************************************************************
// FONCTION : subDaysToDate(old_date,nb_jour)
// DESCRIPTION : Retourne l'ancienne date ŕ laquelle on a supprimé nb_jour
// PARAMETRE EN ENTREE :
// old_date : contient une date
// nb_jour : contient le nombre de jour ŕ supprimer ŕ la date
function subDaysToDate(old_date, nb_jour)
{
  // Date plus nb_jour
  var split_date = old_date.split('/');
  // Les mois vont de 0 a 11 donc on enleve 1, cast avec *1
  var new_date = new Date(split_date[2]*1, split_date[1]*1 - 1 , split_date[0]*1 - parseInt(nb_jour) ); //parseInt nb_jour pour typer la variable pour l'opération
  var new_day = new_date.getDate();
      new_day = ((new_day < 10) ? '0' : '') + new_day; // ajoute un zéro devant pour la forme
  var new_month = new_date.getMonth() + 1;
      new_month = ((new_month < 10) ? '0' : '') + new_month; // ajoute un zéro devant pour la forme
  var new_year = new_date.getYear();
      new_year = ((new_year < 200) ? 1900 : 0) + new_year; // necessaire car IE et FF retourne pas la meme chose
  var new_date_text = new_day + '/' + new_month + '/' + new_year;
  return new_date_text;
}

//*******************************************************************************
// FONCTION : addMonthToDate(old_date,nb_mois)
// DESCRIPTION : Retourne l'ancienne date ŕ laquelle on a ajouté nb_mois
// PARAMETRE EN ENTREE :
// old_date : contient une date
// nb_jour : contient le nombre de mois ŕ ajouter ŕ la date
function addMonthToDate(old_date, nb_mois)
{
  var split_date = old_date.split('/');
  // Les mois vont de 0 a 11 donc on enleve 1, cast avec *1
  var new_date = new Date(split_date[2]*1, split_date[1]*1 - 1 + parseInt(nb_mois), split_date[0]*1); //parseInt nb_mois pour typer la variable pour l'opération
  var new_day = new_date.getDate();
      new_day = ((new_day < 10) ? '0' : '') + new_day; // ajoute un zéro devant pour la forme
  var new_month = new_date.getMonth() + 1;
      new_month = ((new_month < 10) ? '0' : '') + new_month; // ajoute un zéro devant pour la forme
  var new_year = new_date.getYear();
      new_year = ((new_year < 200) ? 1900 : 0) + new_year; // necessaire car IE et FF retourne pas la meme chose
  var new_date_text = new_day + '/' + new_month + '/' + new_year;
  return new_date_text;
}
