
function dateChange( d, m, y ) {
	//work out if it is a leap year	
	var IsLeap = parseInt( document.getElementById('year')[document.getElementById('year').selectedIndex].value );
	IsLeap = !( IsLeap % 4 ) && ( ( IsLeap % 100 ) || !( IsLeap % 400 ) );
	//find the number of days in that month
	IsLeap = [31,(IsLeap?29:28),31,30,31,30,31,31,30,31,30,31][document.getElementById('month').selectedIndex];
	//store the current day - reduce it if the new month does not have enough days
	var storedDate = ( document.getElementById('day').selectedIndex > IsLeap - 1 ) ? ( IsLeap - 1 ) : document.getElementById('day').selectedIndex;
	while( document.getElementById('day').options.length ) { document.getElementById('day').options[0] = null; } //empty days box then refill with correct number of days
	for( var x = 0; x < IsLeap; x++ ) { document.getElementById('day').options[x] = new Option( x + 1, x + 1 ); }
	document.getElementById('day').options[storedDate].selected = true; //select the number that was selected before
	if( window.opera && document.importNode ) { window.setTimeout('MWJ_findSelect( \''+document.getElementById('day').name+'\' ).options['+storedDate+'].selected = true;',0); }
}
