

function listDateInMonth(source_form, month_column, year_column, dest_form, day_column)
{
	month_column_index = findFormIndex(source_form, month_column);
	year_column_index = findFormIndex(source_form, year_column);
	day_column_index = findFormIndex(dest_form, day_column);

	if ((month_column_index >= 0) && (year_column_index >= 0) && (day_column_index >= 0))
	{
		month_column_value =  source_form[month_column_index].value;
		year_column_value =  source_form[year_column_index].value;
		day_column_value =  dest_form[day_column_index].value;
		num_day = endOfMonth(month_column_value, year_column_value);

		arr_day = new Array();
		for (i = 0; i < num_day; i++)
		{
			arr_day[i] = (i + 1);
		}
		if (day_column_value > num_day)
			day_column_value = 1;
		listFormSelect(dest_form, day_column, arr_day, arr_day, day_column_value);
	}
}





function endOfMonth(month, year)
{
	if (month < 8) {
		if (month == 2) {
			if (((year % 4) == 0) && (((year % 100) != 0) || ((year % 400) == 0)))
				nDay = 29;
			else
			nDay = 28;
		} else {
		if ((month % 2) == 0) nDay = 30;
			else nDay = 31;
		}
	} else {
		if ((month % 2) == 0) nDay = 31;
		else nDay = 30;
	}
	return nDay;
}




function isCurrent(day, month, year)
{//	return +1, ==0, -1
	today = new Date();

	if (year > today.getUTCFullYear())
		return 1;
	else if (year < today.getUTCFullYear())
		return -1;
	else
	{
		if (month > (today.getUTCMonth() + 1))
			return 1;
		else if (month < (today.getUTCMonth() + 1))
			return -1;
		else
		{
			if (day > today.getUTCDate())
				return 1;
			else if (day < today.getUTCDate())
				return -1;
			else if (day == today.getUTCDate())
				return 0;
			else
				return -1;	// error
		}
	}
}

/*function isPast(day, month, year, offset)
{
	day_tocheck = dtoday + offset;
	mtocheck = mtoday;
	ytocheck = ytoday;

	if (dtocheck > endOfMonth(month, year))
	{
		dtocheck -= daysOfMonth(m,y);
		mtocheck++;
		if (mtocheck > 12) {
			mtocheck = 1;
			ytocheck++;
		}
	}
	if (y < ytocheck || ((y == ytocheck) && ((m < mtocheck) || ((m == mtocheck) && (d < dtocheck)))))
		return true;
	return false;
}*/

/*function ChangeOptionDays(form_name, day_column, month_column, year_column)
{
	alert (form_name);

  DaysObject = eval(form_name.day_column);
  MonthObject = eval(form_name.month_column);
  YearObject = eval(form_name.year_column);


  Month = MonthObject[MonthObject.selectedIndex].text;
  Year = YearObject[YearObject.selectedIndex].text;

  DaysForThisSelection = DaysInMonth(Month, Year);
  CurrentDaysInSelection = DaysObject.length;
  if (CurrentDaysInSelection > DaysForThisSelection)
  {
    for (i=0; i<(CurrentDaysInSelection-DaysForThisSelection); i++)
    {
      DaysObject.options[DaysObject.options.length - 1] = null
    }
  }
  if (DaysForThisSelection > CurrentDaysInSelection)
  {
    for (i=0; i<(DaysForThisSelection-CurrentDaysInSelection); i++)
    {
      NewOption = new Option(DaysObject.options.length + 1);
      DaysObject.add(NewOption);
    }
  }
    if (DaysObject.selectedIndex < 0) DaysObject.selectedIndex == 0;
}*/