function updateDayField (monthField,dayField,yearField)
{
  // get the maximum day for this month and year
  var maxDay = getMaxDay(monthField.options[monthField.selectedIndex].value,
    yearField.options[yearField.selectedIndex].value);

  // if the current day is invalid, set it to the max day    
  if (dayField.selectedIndex >= maxDay)
    dayField.selectedIndex = maxDay - 1;
  
  // if the max day is larger than the current max day, expand the day range
  if (maxDay > dayField.length)
    for (var i = dayField.length; i < maxDay; i++)
      dayField.options[i] = new Option(i + 1, i + 1);
  
  // if the max day is smaller than the current max day, shrink the day range
  if (maxDay < dayField.length)
    dayField.options.length = maxDay;
}

function getMaxDay (month, year)
{
  var maxDay = 31;
  if ((month == 3) || (month == 5) || (month == 8) || (month == 10))
    maxDay = 30;
  if (month == 1)
    maxDay = (isLeapYear(year) ? 29 : 28);
  return maxDay;
}

function isLeapYear (year)
{
  if ((year % 4) > 0)
    return false;    
  if ( ((year % 100) == 0) && ((year % 400) > 0) )
    return false;
  return true;
}
function setTodaysDate (monthField,dayField,yearField)
{
var today = new Date();
  
  	var month = today.getMonth();
  	var day = today.getDate();
  	var year = today.getYear();
	
monthField.selectedIndex.value = month;
  dayField.selectedIndex.value = day;
   yearField.selectedIndex.value = year;
}
	

function setTomorrowsDate (monthField,dayField,yearField)
{
	
 	var today = new Date();
  	var month = today.getMonth();
  	var day = today.getDate();
  	var year = today.getYear();
	
  
  	// START: set tomorrow's date
  	var daysinmonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	var leapyear = (year % 4 == 0) && ((year % 100 > 0) || (year % 400 == 0))
  	var daysincurrentmonth = daysinmonth[month];
 	if ((daysincurrentmonth == 28) && (leapyear == true)) {
    	daysincurrentmonth = 29;
	}
	day = day;
  	if (day > daysincurrentmonth) {
    	day = 1;
    	month = month + 1;
	}
   if (month >= 12) {
      	month = 0;
     	 year = year + 1;
    }
	if (daysincurrentmonth == 30 || daysincurrentmonth == 28 || daysincurrentmonth == 29) {
			day = 0;
    	month = month + 1;
	}
	 
	
  // END: add one day
  
  monthField.selectedIndex = month;
  dayField.selectedIndex = day;
   yearField.value = year;

}

