// JavaScript Document

var jourJ, moisM, anneeA, chaine, correct;
    
function recupId(identifiant) {
    chaine = identifiant.name;
    var n = chaine.length;
    n = n - 4;
    chaine = chaine.substring(0,n);
    leJour = chaine + "Jour"
    jourJ = document.getElementsByName(chaine + "Jour")[0].value;
    moisM = document.getElementsByName(chaine + "Mois")[0].value;
    anneeA = document.getElementsByName(chaine + "Anne")[0].value;
}
    
function testDate(j,m,a) {
    correct = true;
    var bi = ((parseInt(a) % 4) == 0);

    if (((m ==  1) || (m == 3) || (m == 5) || (m == 7) || (m == 8) || (m == 10) || (m == 12)) && ((Math.round(j) >= 1) && (Math.round(j) <= 31))) {
        correct = true;
    }
    else {
        if (((m == 4) || (m == 6) || (m == 9) || (m == 11)) && ((Math.round(j) >= 1) && (Math.round(j) <= 30))) {
            correct = true;
        }
        else {
            if (bi) {
                correct = (((Math.round(j) >= 1) && (Math.round(j) <= 29)) && (m == 2));
            }
            else {
                correct = (((Math.round(j) >= 1) && (Math.round(j) <= 28)) && (m == 2));
            }
        }
    }
    return correct;
}

function accepterDate(identifiant) {
    id = identifiant;
    recupId(id);
    testDate(jourJ, moisM, anneeA);
    if (jourJ != "" && moisM != "" && anneeA != "" && !correct) {
        alert("La date que vous venez\nde saisir est incorrecte !");
        document.getElementsByName(chaine + "Jour")[0].value = "";
        document.getElementsByName(chaine + "Mois")[0].value = "";
        document.getElementsByName(chaine + "Anne")[0].value = "";
        document.getElementsByName(chaine)[0].value = "";
    }
    else {
        if (jourJ == "" || moisM == "" || anneeA == "")
        document.getElementsByName(chaine)[0].value = "";
        else {
            switch (jourJ) {
                case '1':
                    jourJ = '01';
                    break;
                case '2':
                    jourJ = '02';
                    break;
                case '3':
                    jourJ = '03';
                    break;
                case '4':
                    jourJ = '04';
                    break;
                case '5':
                    jourJ = '05';
                    break;
                case '6':
                    jourJ = '06';
                    break;
                case '7':
                    jourJ = '07';
                    break;
                case '8':
                    jourJ = '08';
                    break;
                case '9':
                    jourJ = '09';
                    break;
                default:
                    break;
            }
            switch (moisM) {
                case '1':
                    moisM = '01';
                    break;
                case '2':
                    moisM = '02';
                    break;
                case '3':
                    moisM = '03';
                    break;
                case '4':
                    moisM = '04';
                    break;
                case '5':
                    moisM = '05';
                    break;
                case '6':
                    moisM = '06';
                    break;
                case '7':
                    moisM = '07';
                    break;
                case '8':
                    moisM = '08';
                    break;
                case '9':
                    moisM = '09';
                    break;
                default:
                    break;
            }
            document.getElementsByName(chaine + "Jour")[0].value = jourJ;
            document.getElementsByName(chaine + "Mois")[0].value = moisM;
            document.getElementsByName(chaine)[0].value = jourJ + "/" + moisM + "/" + anneeA;
           if ( chaine == "dateDebutContrat" )
            {
                changeDateDebutContrat();
            }
           if ( chaine == "dateDebutContrat" || chaine == "dateNaissance")
            {
                
                if ( document.getElementsByName("dateNaissanceJour")[0].value != "" &&
                     document.getElementsByName("dateNaissanceMois")[0].value != "" &&
                     document.getElementsByName("dateNaissanceAnne")[0].value != ""  &&
                     document.getElementsByName("dateDebutContratJour")[0].value != "" &&
                     document.getElementsByName("dateDebutContratMois")[0].value != "" &&
                     document.getElementsByName("dateDebutContratAnne")[0].value != "" )
                {     
                  var ageMoisPrecd = getAgeMoisPrecedent(document.getElementsByName("dateNaissanceAnne")[0].value,
                                                         document.getElementsByName("dateNaissanceMois")[0].value,
                                                         document.getElementsByName("dateNaissanceJour")[0].value,
                                                         document.getElementsByName("dateDebutContratAnne")[0].value,
                                                         document.getElementsByName("dateDebutContratMois")[0].value)
                
                 document.getElementsByName("ageApprentMoisPrecedDebutContrat")[0].value = ageMoisPrecd;
                 document.getElementById("idTdLibDebutContrat").title = "Age de l'apprenti le mois précédent le début du contrat : "+ ageMoisPrecd ;
                }  
            }

        }
    }
}

function montrerContrat() {
    if(document.forms[0].typeContrat.value != '1') {
        document.getElementById('ancienContrat').style.visibility = 'visible';
    }
    else {
        document.getElementById('ancienContrat').style.visibility = 'hidden';
    }   
}

function montrerSituation() {
    if(document.forms[0].casParticulier.value == '1') {
        document.getElementById('dureeReduction').style.visibility = 'visible';
    }
    else {
        document.getElementById('dureeReduction').style.visibility = 'hidden';
    }
}

function cacher() {
        document.getElementById('ancienContrat').style.visibility = 'hidden';
        document.getElementById('dureeReduction').style.visibility = 'hidden';
}

function getAgeMoisPrecedent(anneeNaissance,moisNaissance,jourNaissance,anneeContrat,moisContrat)
{
          var  nbJour =new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);

          if ( ( moisContrat - 1 ) == 0 )
          {
            moisContrat  = 12;
            anneeContrat =  anneeContrat -1;
          }  
          else
          {
            moisContrat  = moisContrat - 1;
          }
          if(anneeContrat%4==0){nbJour[2]=29;}
        
          if((anneeContrat%100==0)&&(anneeContrat%400!=0)){nbJour[2]=28;}
          
          if ( anneeContrat <= anneeNaissance)
          {
            return "";
          }
          else
          {     
           return getAge(anneeNaissance,moisNaissance,jourNaissance,anneeContrat,moisContrat,nbJour[eval(moisContrat)]);
        }
}

function getAge(anneeNaissance,moisNaissance,jourNaissance,anneeContrat,moisContrat,jourContrat)
{

    var  nbj=new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
    // Attention, en javascript les mois commencent à zéro
    
    //var dateDebut=new Date(anneeNaissance,moisNaissance,jourNaissance,00,00,00); // Année, Mois, Jour, Heure, Minutes, Secondes
    //var dateFin  =new Date(anneeContrat,moisContrat,jourContrat,00,00,00); // Vous pouvez prendre la date du jour : var dateFin=new Date();
    
    //anneeDebut   =dateDebut.getYear();
    //moisDebut   =dateDebut.getMonth()+1;
    //jourDebut   =dateDebut.getDate();
    //heureDebut  =dateDebut.getHours();
    //minuteDebut =dateDebut.getMinutes();
    //secondeDebut=dateDebut.getSeconds();
    
    //anneeFin    =dateFin.getYear();
    //moisFin     =dateFin.getMonth()+1;
    //jourFin     =dateFin.getDate();
    //heureFin    =dateFin.getHours();
    //minuteFin   =dateFin.getMinutes();
    //secondeFin  =dateFin.getSeconds();

    anneeDebut  =eval(anneeNaissance);
    moisDebut   =eval(moisNaissance);
    jourDebut   =eval(jourContrat);
    heureDebut  =0;
    minuteDebut =0;
    secondeDebut=0;
    
    anneeFin    =eval(anneeContrat);
    moisFin     =eval(moisContrat);
    jourFin     =eval(jourContrat);
    heureFin    =0;
    minuteFin   =0;
    secondeFin  =0;
    
    if(anneeFin<1900){anneeFin=anneeFin+1900;}
    
    if(anneeDebut<1900){anneeDebut=anneeDebut+1900;}
    
    if(anneeFin%4==0){nbj[2]=29;}
    
    if((anneeFin%100==0)&&(anneeFin%400!=0)){nbj[2]=28;}
    
    if(secondeFin<secondeDebut){secondeFin=secondeFin+60;minuteFin=minuteFin-1;}
    
    if(minuteFin<minuteDebut){minuteFin=minuteFin+60;heureFin=heureFin-1;}
    
    if(heureFin<heureDebut){heureFin=heureFin+24;jourFin=jourFin-1;}
    
    if(jourFin<jourDebut){jourFin=jourFin+nbj[moisFin];moisFin=moisFin-1;}
    
    if(moisFin<moisDebut){moisFin=moisFin+12;anneeFin=anneeFin-1;}
    
    
    mes=(anneeFin-anneeDebut)+" ans "+(moisFin-moisDebut)+" mois "+(jourFin-jourDebut)+" jours "+(heureFin-heureDebut)+" heures "+(minuteFin-minuteDebut)+" minutes "+(secondeFin-secondeDebut)+" secondes";
    
    
    //alert("Date début : "+dateDebut+"<br>Date de fin : "+dateFin+"<br>");
    
    //alert(mes);
    
    return anneeFin-anneeDebut + " ans";

}








