Date.prototype.adjust = function(yr,mn,dy,hr,mi,se) {
	var m,t;
	this.setYear(this.getFullYear() + yr);
	m = this.getMonth() + mn;
	if(m != 0) this.setYear(this.getFullYear() + Math.floor(m/12));
		if(m < 0) {
			this.setMonth(12 + (m%12));
		} else if(m > 0) {
			this.setMonth(m%12);}
	else if(m == 0) {
		this.setMonth(m) ;}
	t = this.getTime();
	t += (dy * 86400000);
	t += (hr * 3600000);
	t += (mi * 60000);
	t += (se * 1000);
	this.setTime(t);
	return this;
}

function DtAdjust(dt, dys) {
	if (dys < 30) {
		return GetDateOnly(dt.adjust(0, 0, dys, 0, 0, 0));
	}
	if (dys == 30) {
		return GetDateOnly(dt.adjust(0, 1, 0, 0, 0, 0));
	}
	if (dys > 30 && dys < 60) {
		return GetDateOnly(dt.adjust(0, 0, dys, 0, 0, 0));
	}
	if (dys < 365 ) {
		return GetDateOnly(dt.adjust(0, dys/30, 0, 0, 0, 0));
	} else {
		return GetDateOnly(dt.adjust(dys/365, 0, 0, 0, 0, 0));
	}
}

function GetDateOnly(aDt) {
	var nday = aDt.getDate();
	var nmonth = aDt.getMonth() + 1;
	var nyear = aDt.getFullYear();
	return nmonth + "/" + nday + "/" + nyear;
}

Example Field onChange:
var dt = new Date();
var fld = f.MyFldNm;
var dys = fld.options[fld.selectedIndex].value;

f.PP_SchStartDt.value = DtAdjust(dt, dys);