//Fonctions JAVASCRIPT Emplois

//Fonctions liées aux contrôles des formulaires emplois
function EnregistrerCompteRendu(){
//vérifie si la valeur true qui correspond à une bonne saisie est envoyée
  if (verifier_compte_rendu())
    {
      document.formCompteRendu.submit();
    }

}

//Vérification des champs du formulaire de saisie d'un nouvel emploi
function verifier_compte_rendu(){
	if (document.formCompteRendu.date_entretien.value==''){
		alert('*** La date de l\'entretien ne doit pas être vide !  ***');
		document.formCompteRendu.date_entretien.focus();
		return false;
	}
	if(document.formCompteRendu.date_entretien.value!="" && document.formCompteRendu.date_entretien.value !="00-00-0000"){
		if(!(isDate_cr(document.formCompteRendu.date_entretien.value))){
			alert('*** La date de début doit être de la forme jj-mm-aaaa ***');
			document.formCompteRendu.date_entretien.focus();
			return false;
		}
	}
    if (document.formCompteRendu.but.value==''){
		alert('*** Le but de l\'entretien doit être renseigné !  ***');
		document.formCompteRendu.but.focus();
		return false;
	}
	if (document.formCompteRendu.contenu.value==''){
		alert('*** Le contenu de l\'entretien ne doit pas être vide !  ***');
		document.formCompteRendu.contenu.focus();
		return false;
	}	
	return true;
}



//Vérification de la modification des emplois
function ModifierCompteRendu()
{//vérifie si la valeur true qui correspond à une bonne saisie est envoyée
  if (verifier_modif_compte_rendu())
    {
      document.formCompteRendu.submit();
    }
}

//Vérification des champs du formulaire de saisie d'un emploi
function verifier_modif_compte_rendu(){
	if (document.formCompteRendu.date_entretien.value==''){
		alert('*** La date de l\'entretien ne doit pas être vide !  ***');
		document.formCompteRendu.date_entretien.focus();
		return false;
	}
	if(document.formCompteRendu.date_entretien.value!="" && document.formCompteRendu.date_entretien.value !="00-00-0000"){
		if(!(isDate_cr(document.formCompteRendu.date_entretien.value))){
			alert('*** La date de début doit être de la forme jj-mm-aaaa ***');
			document.formCompteRendu.date_entretien.focus();
			return false;
		}
	}
    if (document.formCompteRendu.but.value==''){
		alert('*** Le but de l\'entretien doit être renseigné !  ***');
		document.formCompteRendu.but.focus();
		return false;
	}
	if (document.formCompteRendu.contenu.value==''){
		alert('*** Le contenu de l\'entretien ne doit pas être vide !  ***');
		document.formCompteRendu.contenu.focus();
		return false;
	}	
	return true;
}

function isDate_cr(date) {
  // Cette fonction permet de vérifier la validité d'une date au format jj-mm-aa ou jj-mm-aaaa

  d = date;
  //if (d == "") // si la variable est vide on retourne faux
  // return false;

  e = new RegExp("^[0-9]{2}\-[0-9]{2}\-[0-9]{4}$");

  if (!e.test(d)) // On teste l'expression régulière pour valider la forme de la date
    return false; // Si pas bon, retourne faux

  // On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
  j = parseInt(d.split("-")[0], 10); // jour
  m = parseInt(d.split("-")[1], 10); // mois
  a = parseInt(d.split("-")[2], 10); // année

  // Si l année n est composée que de 2 chiffres on complète automatiquement
  if (a < 1000) {
    if (a < 89){
    	a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900
    }else{
    	a+=1900;
    }
  }

  // Définition du dernier jour de février
  // Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
  if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
  else fev = 28;

  // Nombre de jours pour chaque mois
  nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);

  // Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
  return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
}