///////////////////////////////////////////////////////////////////////////////////
// For the date print on every page of the Web site.
// Prepared by Jacky Kwok.
//
// include this line in your HTML file to print date:
// <script language="JavaScript" type="text/javascript" src="/js/date.js"></script>
//
// Usage:
// - The "CustomizedDate" object has been created already and was called "today".
// - "today.printYear()" to print current year, like "2001".
// - "today.printMonth()" to print current month, like "10".
// - "today.printDay()" to print current day of month, like "29".
// - "today.printWeekDay()" to print current day of week, like "Monday".
// - printWeekDay() can print different format of the day of week, they are available as:
//   - today.printWeekDay("dddd")
//     print full name, like "Monday", this format is default
//   - today.printWeekDay("DDDD")
//     print full name in BLOCK LETTERS, like "MONDAY"
//   - today.printWeekDay("ddd")
//     print short name, like "Mon"
//   - today.printWeekDay("DDD")
//     print short name in BLOCK LETTERS, like "MON"
///////////////////////////////////////////////////////////////////////////////////

function CustomizedDate() {
	var currentDate = new Date();
	this.year = currentDate.getFullYear();
	this.month = currentDate.getMonth() + 1;
	this.day = currentDate.getDate();
	this.weekday = currentDate.getDay();
}
CustomizedDate.prototype.printYear = printYear;
CustomizedDate.prototype.printMonth = printMonth;
CustomizedDate.prototype.printDay = printDay;
CustomizedDate.prototype.printWeekDay = printWeekDay;

function printYear() {
	document.write(this.year);
}

function printMonth() {
	var outFormat = arguments[0]? arguments[0] : "";

	var fullname, shortname;
	switch (this.month) {
	case 1:
		fullname = "January";
		shortname = "Jan";
		break;
	case 2:
		fullname = "February";
		shortname = "Feb";
		break;
	case 3:
		fullname = "March";
		shortname = "Mar";
		break;
	case 4:
		fullname = "April";
		shortname = "Apr";
		break;
	case 5:
		fullname = "May";
		shortname = "May";
		break;
	case 6:
		fullname = "June";
		shortname = "Jun";
		break;
	case 7:
		fullname = "July";
		shortname = "Jul";
		break;
	case 8:
		fullname = "August";
		shortname = "Aug";
		break;
	case 9:
		fullname = "September";
		shortname = "Sep";
		break;
	case 10:
		fullname = "October";
		shortname = "Oct";
		break;
	case 11:
		fullname = "November";
		shortname = "Nov";
		break;
	case 12:
		fullname = "December";
		shortname = "Dec";
		break;
	}

	if (outFormat == "mmmm") {
		document.write(fullname);
	} else if (outFormat == "MMMM") {
		document.write(fullname.toUpperCase());
	} else if (outFormat == "mmm") {
		document.write(shortname);
	} else if (outFormat == "MMM") {
		document.write(shortname.toUpperCase());
	} else {
		document.write(this.month);
	}
}

function printDay() {
	document.write(this.day);
}

function printWeekDay() {
	var outFormat = arguments[0]? arguments[0] : "dddd";

	var fullname, shortname;
	switch (this.weekday) {
	case 1:
		fullname = "Monday";
		shortname = "Mon";
		break;
	case 2:
		fullname = "Tuesday";
		shortname = "Tue";
		break;
	case 3:
		fullname = "Wednesday";
		shortname = "Wed";
		break;
	case 4:
		fullname = "Thursday";
		shortname = "Thu";
		break;
	case 5:
		fullname = "Friday";
		shortname = "Fri";
		break;
	case 6:
		fullname = "Saturday";
		shortname = "Sat";
		break;
	case 7:
		fullname = "Sunday";
		shortname = "Sun";
		break;
	}

	if (outFormat == "dddd") {
		document.write(fullname);
	} else if (outFormat == "DDDD") {
		document.write(fullname.toUpperCase());
	} else if (outFormat == "ddd") {
		document.write(shortname);
	} else if (outFormat == "DDD") {
		document.write(shortname.toUpperCase());
	}
}

var today = new CustomizedDate();
