// Dependências: (nenhumas).
//
// Funções para assistir no tratamento de datas.

// Determina se 'year' é bissexto.
function isLeapYear (year) {
  if (year % 4) {
    return false;       // Se fôr divisivel por 4, é bissexto.
  }
  if (year < 1582) {
    return true;        // Antes deste ano, nenhum ano era bissexto.
  }
  if (year % 100) {
    return true;
  }
  if (year % 400) {
    return false;
  }
  return true;
}

// Retorna o nº do último dia do mês 'mon' do ano 'year'.
function getLastDayOfMonth (year, mon) {
	switch (mon) {
	case 1:
	case 3:
	case 5:
	case 7:
	case 8:
	case 10:
	case 12:
		return 31;
	case 4:
	case 6:
	case 9:
	case 11:
		return 30;
	case 2:
		return isLeapYear (year) ? 29 : 28;
	default:
		return -1;
	}
}

