// fill in Year options	function fillElementYear() {	var element = this.elementYear;	element.options[0] = new Option("1999", "1999");	element.options[1] = new Option("2000", "2000");	element.options[2] = new Option("2001", "2001");	element.options[3] = new Option("2002", "2002");	element.options[this.date.getFullYear() - 1999].selected=true;}// fill in Month optionsfunction fillElementMonth() {	var element = this.elementMonth;	var months = new Array("January","February","March","April","May","June",                  "July","August","September","October","November","December");	for (i = 0; i < 12; i++) {		element.options[i] = new Option(months[i], i + 1);	}	element.options[this.date.getMonth()].selected=true;}// fill in Day optionsfunction fillElementDay() {	var element = this.elementDay;	var days = this.getMaxDays(this.date.getMonth(), this.date.getYear());		if (this.date.getDate() > days) {		this.date.setDate(days);	}		// add days	if (element.length < days) {		for (i = element.length; i < days; i++) {			element.options[i] = new Option(i+1, i+1);		}	}	// subtrack days	else if (element.length > days) {		for (i = element.length; i >= days; i--) {			element.options[i] = null;		}	}		element.options[this.date.getDate()-1].selected=true;}// returns the last day(number) in month or maximium dayfunction getMaxDays(month, year) {	month++;	var maxDays=31;//default	// months with 30 days	if (month==4 || month==6 || month==9 || month==11) {		maxDays=30	}	// february, leap year	if (month==2) {		// feb		if ((year/4)!=parseInt(year/4)) {			maxDays=28		}		else {			//leap year			maxDays=29		}	}	return maxDays}function fillElements() {	this.fillElementYear();	this.fillElementMonth();	this.fillElementDay();}function update(field) {	switch (field) {	case "Year" :		this.date.setFullYear(this.elementYear[this.elementYear.selectedIndex].value);		break;			case "Month" :		var month = this.elementMonth[this.elementMonth.selectedIndex].value - 1;		var maxDays = this.getMaxDays(month, this.date.getYear());		if (this.date.getDate() > maxDays) { 			this.date.setDate(maxDays);		}		this.date.setMonth(month);		break;			case "Day" :  		this.date.setDate(this.elementDay[this.elementDay.selectedIndex].value);		break;			}	this.fillElementDay();}// create FormDate Objectfunction FormDate(date, form, elementNameYear, elementNameMonth, elementNameDay) {	// fields	this.date = date;	this.form = form;	this.elementYear = form.elements[elementNameYear];	this.elementMonth = form.elements[elementNameMonth];	this.elementDay = form.elements[elementNameDay];		// methods	this.getMaxDays = getMaxDays;	this.fillElementYear = fillElementYear;	this.fillElementMonth = fillElementMonth;		this.fillElementDay = fillElementDay;	this.fillElements = fillElements;	this.update = update;}