function Semana(dia) {
	
	/* Saber qual a função chamou esta função
	nomeFuncaoChamou = Semana.caller + "";
	nomeFuncaoChamou = nomeFuncaoChamou.substring(8, nomeFuncaoChamou.indexOf('{'))
	alert(nomeFuncaoChamou);
	*/
	
	nome = new Array(7);
	nome[0] = "Sunday";
	nome[1] = "Monday";
	nome[2] = "Tuesday";
	nome[3] = "Wednesday";
	nome[4] = "Thursday";
	nome[5] = "Friday";
	nome[6] = "Saturday";
	if (dia != undefined) {
		this.nome = nome[dia];
	} else {
		this.nome = nome;
	}
}
function Mes(mesEscolhido,anoEscolhido) {
	
	nome = new Array(12);
	nome[0] = "January";
	nome[1] = "February";
	nome[2] = "March";
	nome[3] = "April";
	nome[4] = "May";
	nome[5] = "June";
	nome[6] = "July";
	nome[7] = "August";
	nome[8] = "September";
	nome[9] = "October";
	nome[10] = "November";
	nome[11] = "December";
	
	duracao = new Array(12);
	duracao[0] = 31;
	duracao[1]=28;
	duracao[2] = 31;
	duracao[3] = 30;
	duracao[4] = 31;
	duracao[5] = 30;
	duracao[6] = 31;
	duracao[7] = 31;
	duracao[8] = 30;
	duracao[9] = 31;
	duracao[10] = 30;
	duracao[11] = 31;
	
	// atribuição das variáveis de instância
	if (mesEscolhido!=undefined) {
		this.nome = nome[mesEscolhido];
		if (anoEscolhido!=undefined) {
			if (anoEscolhido%4==0) duracao[1]++;
			this.duracao = duracao[mesEscolhido];
		}
	} else {
		this.nome = nome;
		if (anoEscolhido!=undefined) {
			if (anoEscolhido%4==0) duracao[1]++;
			this.duracao = duracao;
		}
	}
}