var jour = 0,
    mois = 0,
    annee = 1941,
    selJour = $( "#jour" ),
	selMois = $( "#mois" ),
	selAnnee = $( "#annee" ),
	valAnnee,
	valMois;

// On désactives le select des jours et des mois
selJour.attr('disabled', 'disabled');
selMois.attr('disabled', 'disabled');

var minYearOffset = 18, maxYearOffset = 70; // Change to whatever you want
var thisYear = (new Date()).getFullYear();
for (var i = minYearOffset; i <= maxYearOffset; i++) {
    var year = thisYear - i;
    $('<option>', {value: year, text: year}).appendTo(selAnnee);
}


var minMonthOffset = 1, maxMonthOffset = 12; // Change to whatever you want
var nommois = new Array ("janvier","février","mars","avril","mai","juin","juillet","août",
"septembre","octobre","novembre","décembre");
thisMonth = 0;
for (var i = minMonthOffset; i <= maxMonthOffset; i++) {
    var month = thisMonth + i;
    $('<option>', {value: month, text:  nommois[month-1]}).appendTo(selMois);
}


		// Quand on change l'année
		selAnnee.change(function () {
        // On enregistre la valeur choisie. Ou NaN si valeur incorrecte
		
		anneeVal =$("option:selected", this).val();
		valAnnee = parseInt(anneeVal,10);
		selMois.removeAttr('disabled');
        // Si l'année et le mois sont des valeurs correctes
        if (!isNaN(valAnnee) && !isNaN(valMois)) {
            // On construit le select jour
           $("option",selJour).remove();
			$(selJour).append('<option  value="">--Jour--</option>');
			afficherJours();
            // et on le réactive
			selJour.removeAttr('disabled');
            //selJour.disabled = false;
        } else { // Si l'année ou le mois est incorrect
            // On désactive les jours
			selJour.attr('disabled', 'disabled');
        }
    });

// Même chose pour les mois
selMois.change( function () {
		moisVal =$("option:selected", this).val();
		valMois = parseInt(moisVal,10);
		  selJour.removeAttr('disabled');
        if (!isNaN(valAnnee) && !isNaN(valMois)) {
        	$("option",selJour).remove();
			$(selJour).append('<option  value="">--Jour--</option>');
afficherJours();
        } else {
			selJour.attr('disabled', 'disabled');
        }
    });

// Fonction qui construit le select des jours

function afficherJours() {
	
        // Ce petit calcul est une astuce pour connaître le nombre de jours dans le mois
        // en utilisant l'objet Date, on n'a pas à gérer les années bissextiles, etc.
        var nbJours = 32 - (new Date(valAnnee, valMois - 1, 32)).getDate();
		// On sauvegarde le nombre d'options présentes
		var minDayOffset = 1, maxDayOffset =nbJours ; // Change to whatever you want
		thisDay = 0;
		for (var i = minDayOffset; i <= maxDayOffset; i++) {
    	var day = thisDay + i;
   		 $('<option>', {value: day, text:  day}).appendTo(selJour);
		}		
    }

