Hi All!
This form has three selections to choose from initially, after filling out the personal info, "Undergraduate/Graduate*/Credential" "Masters of Business Admin" and "Doctorate." Under each section the user will select their status, which will populate the Cost per Unit field accordingly (using the "printStatus" function) then enter the number of units, next they can press the tab key or click update and the form does the calculations.

It functions correctly on everything I've tested, except for Vista Business using IE 8 and it's only one section that doesn't work, the "Undergraduate/Graduate*/Credential" section. Instead of populating the appropriate Cost/Unit, it enters "undefined" in the field.

The select drop down has both Id and Name identified, I use the name for the printStatus function and the Id for the resetOnlyThese function. I tried to remove the Id, but it didn't make a difference. Funny thing is I'm using the same code on the other two sections which work fine.

Here's the form itself in action:
http://www.csustan.edu/summer/ippcontract.html

Here's most of the code; see external js file for all of it.
Code:
<!-- CHECK STATUS AND POPULATE COST PER UNIT -->
var statusopts1 = new Array();
statusopts1["Undergraduate"] = "295";
statusopts1["Credential"] = "320";
statusopts1["Graduate"] = "325";

function printStatus1(){
var text = document.getElementsByName('status1')[0].options[document.getElementsByName('status1')[0].selectedIndex].value;
document.getElementsByName('costperunit')[0].value = statusopts1[text];

} 

var statusopts2 = new Array();
statusopts2["MBA resident"] = "617";
statusopts2["MBA nonresident"] = "617";

function printStatus2(){
var text = document.getElementsByName('status2')[0].options[document.getElementsByName('status2')[0].selectedIndex].value;
document.getElementsByName('costperunit2')[0].value = statusopts2[text];

} 

var statusopts3 = new Array();
statusopts3["Doctorate resident"] = "4773";
statusopts3["Doctorate nonresident"] = "372";

function printStatus3(){
var text = document.getElementsByName('status3')[0].options[document.getElementsByName('status3')[0].selectedIndex].value;
if (text == "Doctorate resident") {
	document.getElementsByName('summerfee3')[0].value = statusopts3[text];
	}
	else {
	document.getElementsByName('summerfee3')[0].value = "4773";
	document.getElementsByName('costperunit3')[0].value = statusopts3[text];
	}

} 

<!-- The Following JS gets all the TOTALS for CALCS1 under/grad/credentials -->
function startTotal(){
  interval = setInterval("Total()",1);
}

function stopTotal(){
  clearInterval(interval);
}

function Total(){

<!-- The Following JS gets the total SUMMER COST -->
  units = document.UserDataForm.units.value;
  CPU = document.UserDataForm.costperunit.value; 
  if (units <= 0){
	document.UserDataForm.units.value = "";
	//document.UserDataForm.status.focus();
  }
  else{
  document.UserDataForm.summerfee.value = (units * 1) * (CPU * 1);
}

<!-- The Following JS gets the PAYMENT AMOUNT -->
  summerfee = document.UserDataForm.summerfee.value;
  four = "3"; 
  ippfee = "33";

  payments = (summerfee * 1) / (four * 1);
  firstpayment = (payments * 1) + (ippfee * 1);
  rfirstpayment = Math.round((firstpayment)*100)/100;
  document.UserDataForm.installment1.value = rfirstpayment;
  document.UserDataForm.installment1.style.background = "pink";
  document.UserDataForm.installment2.value = Math.round((payments)*100)/100;
  document.UserDataForm.installment2.style.background = "pink";
  document.UserDataForm.installment3.value = Math.round((payments)*100)/100;
  document.UserDataForm.installment3.style.background = "pink";

/**/
}

--- had to remove some to keep the post small see external js file if you need to see all of it ---

}

<!-- CLEAR CALCs1 FIELDS ONLY -->
function resetOnlyThese(){
document.getElementById('status1').value = "";
document.getElementById('units').value = "";
document.getElementById('costperunit').value = "";
document.getElementById('summerfee').value = "";
document.getElementById('installment1').value = "";
document.getElementById('installment2').value = "";
document.getElementById('installment3').value = "";
}

<!-- CLEAR CALCs2 FIELDS ONLY -->
function resetOnlyThese2(){
document.getElementById('status2').value = "";
document.getElementById('units2').value = "";
document.getElementById('costperunit2').value = "";
document.getElementById('nonresunitcost2').value = "";
document.getElementById('summerfee2').value = "";
document.getElementById('finalsummerfee2').value = "";
document.getElementById('installment12').value = "";
document.getElementById('installment22').value = "";
document.getElementById('installment32').value = "";
}

<!-- CLEAR CALCs2 FIELDS ONLY -->
function resetOnlyThese3(){
document.getElementById('status3').value = "";
document.getElementById('units3').value = "";
document.getElementById('costperunit3').value = "";
document.getElementById('summerfee3').value = "";
document.getElementById('finalsummerfee3').value = "";
document.getElementById('installment13').value = "";
document.getElementById('installment23').value = "";
document.getElementById('installment33').value = "";
}