function NameOfDay(y, m, d){
	var DateName=["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"];
	var newDay =new Date(y,m-1, d-1,0,0,0,0);
	var DayNumber = newDay.getDay();
	var DayName = DateName[DayNumber];
	return DayName;
}

function setDays(dYear, dMonth, dDay) {

  var y = dYear.options[dYear.selectedIndex].value;
  var m = dMonth.options[dMonth.selectedIndex].value;
  var days;

  // find number of days in current month
  if ( (m == 4) || (m == 6) || (m == 9) || (m == 11) ) {
    days = 30;
  }
  else if (m == 2) {
    // check for leapyear - Any year divisible by 4, except those divisible by 100 (but NOT 400)
    if ( (Math.floor(y/4) == (y/4)) && ((Math.floor(y/100) != (y/100)) || (Math.floor(y/400) == (y/400))) )
      days = 29
    else
      days = 28
  }
  else {
    days = 31;
  }


  // if (days in new month > current days) then we must add the extra days
  if (days > dDay.length) {
    for (i = dDay.length; i < days; i++) {
      dDay.length = days;
      dDay.options[i].text = i + 1;
      dDay.options[i].value = i + 1;
    }
  }
  
  // if (days in new month < current days) then we must delete the extra days
  if (days < dDay.length) {
    dDay.length = days;
    if (dDay.selectedIndex == -1) 
      dDay.selectedIndex = days - 1;
  }
}
function setDaysWithName(dYear, dMonth, dDay) {

  var y = dYear.options[dYear.selectedIndex].value;
  var m = dMonth.options[dMonth.selectedIndex].value;
  var days;

  // find number of days in current month
  if ( (m == 4) || (m == 6) || (m == 9) || (m == 11) ) {
    days = 30;
  }
  else if (m == 2) {
    // check for leapyear - Any year divisible by 4, except those divisible by 100 (but NOT 400)
    if ( (Math.floor(y/4) == (y/4)) && ((Math.floor(y/100) != (y/100)) || (Math.floor(y/400) == (y/400))) )
      days = 29
    else
      days = 28
  }
  else {
    days = 31;
  }


  // if (days in new month > current days) then we must add the extra days
  if (days > dDay.length) {
    for (i = dDay.length; i < days; i++) {
      dDay.length = days;
      dDay.options[i].text = i + 1;
      dDay.options[i].value = i + 1;
    }
  }
  
  // if (days in new month < current days) then we must delete the extra days
  if (days < dDay.length) {
    dDay.length = days;
    if (dDay.selectedIndex == -1) 
      dDay.selectedIndex = days - 1;
  }
	for (i = 0; i < days; i++) {
      dDay.options[i].text = NameOfDay(y,m, i+1)+ " " + (i + 1);
      dDay.options[i].value = i + 1;
    }
}

function setDaysNull(dYear, dMonth, dDay) 
{

  var y = dYear.options[dYear.selectedIndex].value;
  var m = dMonth.options[dMonth.selectedIndex].value;
  var days;

  // find number of days in current month
  if ( (m == 4) || (m == 6) || (m == 9) || (m == 11) ) {
    days = 30;
  }
  else if (m == 2) {
    // check for leapyear - Any year divisible by 4, except those divisible by 100 (but NOT 400)
    if ( (Math.floor(y/4) == (y/4)) && ((Math.floor(y/100) != (y/100)) || (Math.floor(y/400) == (y/400))) )
      days = 29
    else
      days = 28
  }
  else {
    days = 31;
  }
  days = days + 1
	
  // if (days in new month > current days) then we must add the extra days
  if (days > dDay.length) {
    for (i = dDay.length; i < days; i++) {
      dDay.length = days;
      dDay.options[i].text = i + 1;
      dDay.options[i].value = i + 1;
    }
  }
  
  // if (days in new month < current days) then we must delete the extra days
  if (days < dDay.length) {
    dDay.length = days;
    if (dDay.selectedIndex == -1) 
      dDay.selectedIndex = days - 1;
  }
	
  dDay.options[0].text  = "-";
  dDay.options[0].value = 0;
	for (i = 1; i < days; i++) {
      dDay.options[i].text  = i;
      dDay.options[i].value = i;
    }
}

