var days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
var months = ['Januar', 'Februar', 'Marts', 'April', 'Maj', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'December'];
function printTime(day, month, year, name)
{	var lists = [];
	lists=initList(day, month, year, name);
	document.write(lists[0] + lists[1] + lists[2]);
}
 
function initList(day, month, year, name)
{	var thisDate = new Date();
	var dayList, monthList, yearList, thisDate;
	dayList = '<td><select name="'+name+'_day" size="1">';
	dayList += generateList(1, days[thisDate.getMonth()], day);
	dayList += '</select></td>';
	monthList = '<td><select name="'+name+'_month" size="1" onChange="formatDate(this.form, \''+name+'\');">';
	monthList += generateList(1, 12, month);
	monthList += '</select></td>';
	yearList = '<td><select name="'+name+'_year" size="1" onChange="formatDate(this.form, \''+name+'\');">';
	tmpYear=navigator.appName=='Netscape'?thisDate.getYear()+1900:thisDate.getYear();
	yearList += generateList(thisDate.getYear()-3, tmpYear + 1, year);
	yearList += '</select></td>';
	return [dayList, monthList, yearList];
}

function generateList(start, stop, curVal)
{	var tmpVar = '';
	for(i = start; i <= stop; i++)
	{	tmpVar += '<option value="'+ i +'"'+ (i == curVal?' selected="selected"':'') +'>'+ (stop==12?months[i-1]:i) +'</option>';
	}
	return tmpVar;
}

function formatDate(form, name)
{	var thisDate = new Date();
	dValue = form.elements[name+'_day'].options[form.elements[name+'_day'].selectedIndex].value;
	mValue = form.elements[name+'_month'].options[form.elements[name+'_month'].selectedIndex].value;
	yValue = form.elements[name+'_year'].options[form.elements[name+'_year'].selectedIndex].value;
	form.elements[name+'_day'].options.length = 0;
	days[1]=(yValue%4==0&&yValue%100!=0)||(yValue%400==0)?29:28;
			
	for (i = 0; i < days[mValue - 1]; i++)
	{	form.elements[name+'_day'].options[i] = new Option(i + 1, i + 1);
		if(i == dValue)
		{	form.elements[name+'_day'].selectedIndex = i - 1;
		}
	}
		    
	if(form.elements[name+'_day'].selectedIndex<=0&&dValue!=1)
	{	form.elements[name+'_day'].selectedIndex = thisDate.getDate() - 1;
	}
	else if (mValue==2&&form.elements[name+'_day'].selectedIndex>27)
	{	form.elements[name+'_day'].selectedIndex=27;
	}
}
