function timeline(form)
{

	var a = parseFloat(form.month.value);
	var b = parseFloat(form.day.value);
	var c = parseFloat(form.year.value);
	var d = '';
	var e = '';
	var f = '';
	var b2 = '';
	var c2 = '';
	var a2 = '';
	var b3 = '';
	var c3 = '';
	var a3 = '';
	
	var aa = parseFloat(form.monthm.value);
	var ab = parseFloat(form.daym.value);
	var ac = parseFloat(form.yearm.value);
	var da = '';
	var db = '';
	var dc = '';
	var da1 = '';
	var da2 = '';
	var da3 = '';
	var daset = '';

	d = (c - 2);		
	da = new Date (d, a, b);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.insiders.value = (db );

	d = (c - 1);		
	da = new Date (d, a, b);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.insiders1.value = (db );
        
	d = (b - 90);
	da = new Date (c, a, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.insiders2.value = (db );

	d = (b - 70);
	da = new Date (c, a, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.cash.value = (db );

	d = 1;
	e = (a - 6);
	da = new Date (c, e, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.B22A.value = (db );

	d = (b - 180);
	da = new Date (c, a, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.resident.value = (db );

	d = (b - 30);
	da = new Date (c, a, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.cc.value = (db );

	d = 0;
	da = new Date (c, a, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.B22B.value = (db );

	da = new Date (c, a, b);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.counselingl.value = (db );

	d = (b + 15);
	da = new Date (c, a, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.sfa.value = (db );

	d = (b + 10);
	da = new Date (c, a, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.notice.value = (db );
	
	b2 = b + 30;
	c2 = c;
	a2 = a;

	da1 = new Date (c, a, b);
	daset = new Date (ac, aa, ab);

	if (daset > da1) {b2 = ab};
	if (daset > da1) {c2 = ac};
	if (daset > da1) {a2 = aa};
	
	da = new Date (c2, a2, b2);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.cma.value = (db );
	
	d = b2 -7;
	da = new Date (c2, a2, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.docs.value = (db );

	b3 = b + 30;
	c3 = c;
	a3 = a;

	da2 = new Date (c2, a2, b2)
	da3 = new Date (c, a, (b + 30));
		
	if (da3 > da2) {b3 = b2};
	if (da3 > da2) {c3 = c2};
	if (da3 > da2) {a3 = a2};

	da = new Date (c3, a3, b3);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.intention.value = (db );

	d = b2 + 45;
	da = new Date (c2, a2, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.surrender.value = (db );

	d = b2 + 45;
	da = new Date (c2, a2, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.finm.value = (db );

	d = b2 + 60;
	da = new Date (c2, a2, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.objectd.value = (db );

	d = b2 + 75;
	da = new Date (c2, a2, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.discharge.value = (db );

	d = b2 + 90;
	da = new Date (c2, a2, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.nonIRS.value = (db );

	d = b + 180;
	da = new Date (c2, a2, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.IRS.value = (db );

	d = b2 + 440;
	da = new Date (c2, a2, d);
	db = da.toGMTString()	// Convert to a String in "predictable formt"
	dc = db.split(" ")	// Split the string on spaces
	if ( eval( dc[3] ) < 1970 ) dc[3] = eval( dc[3] ) +100	// Correct any date purporting to be before 1970
	db = dc[2] + " " + dc[1] + ", " + dc[3]	// Ignore day of week and combine date, month and year
	form.audit.value = (db );

	return false;
}

