// you may use/modify this code, but please give credit as a courtesy
// script by Arash Ramin (http://www.digitalroom.net)


function setCurrentDate(form) {
  // changes the date selector menus to the current date
  var currentDate = new Date();
  form.year.selectedIndex = 0;
  form.month.selectedIndex = currentDate.getMonth();

  setDays(form);
  form.day.selectedIndex = currentDate.getDate() - 1;
}

function setDays(form) {
  var y = form.year.options[form.year.selectedIndex].value;
  if (y == "" ) {
      y  =1;
  }
  var m = form.month.selectedIndex;
  if (m == "") {
      days = 0;
      return;
  }
  //m--;
  var d;

  // find number of days in current month
  if ( (m == 3) || (m == 5) || (m == 8) || (m == 10) ) {
    days = 30;
  }
  else if (m == 1) {
    // 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++;
  // if (days in new month > current days) then we must add the extra days
  if (days > form.day.length) {
    for (i = 1; i < days; i++) {
      form.day.length = days;
      form.day.options[i].text = i;
      form.day.options[i].value = i;
    }
  }


  // if (days in new month < current days) then we must delete the extra days
  if (days < form.day.length) {
    form.day.length = days;
    if (form.day.selectedIndex == -1)
      form.day.selectedIndex = days - 1;
  }

}
function setStartDays(form) {
  var y = form.startYear.options[form.startYear.selectedIndex].value;
  if (y == "" ) {
      y  =1;
  }
  var m = form.startMonth.selectedIndex;
  if (m == "") {
      days = 0;
      return;
  }
  //m--;
  var d;
  // find number of days in current month
  if ( (m == 3) || (m == 5) || (m == 8) || (m == 10) ) {
alert("30");
    days = 30;
  }
  else if (m == 1) {
    // 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++;
  // if (days in new month > current days) then we must add the extra days
  if (days > form.startDay.length) {
    for (i = 1; i < days; i++) {
      form.startDay.length = days;
      form.startDay.options[i].text = i;
      form.startDay.options[i].value = i;
    }
  }


  // if (days in new month < current days) then we must delete the extra days
  if (days < form.startDay.length) {
    form.startDay.length = days;
    if (form.startDay.selectedIndex == -1)
      form.startDay.selectedIndex = days - 1;
  }

}
function setExpDays(form) {
  var y = form.expYear.options[form.expYear.selectedIndex].value;
  if (y == "" ) {
      y  =1;
  }
  var m = form.expMonth.selectedIndex;
  if (m == "") {
      days = 0;
      return;
  }
  //m--;
  var d;

  // find number of days in current month
  if ( (m == 3) || (m == 5) || (m == 8) || (m == 10) ) {
    days = 30;
  }
  else if (m == 1) {
    // 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++;
  // if (days in new month > current days) then we must add the extra days
  if (days > form.expDay.length) {
    for (i = 1; i < days; i++) {
      form.expDay.length = days;
      form.expDay.options[i].text = i;
      form.expDay.options[i].value = i;
    }
  }


  // if (days in new month < current days) then we must delete the extra days
  if (days < form.expDay.length) {
    form.expDay.length = days;
    if (form.expDay.selectedIndex == -1)
      form.expDay.selectedIndex = days - 1;
  }

}
