function displayResults(theObj) {
  var callerForm = theObj.form;
  // Get the year, day and month selected.
   for (i = 0; i < callerForm.year.options.length; i++) {
      if (callerForm.year.options[i].selected == true) {
         var yyyy = parseInt(callerForm.year.options[i].value);
      }
   }
   for (j = 0; j < callerForm.day.options.length; j++) {
      if (callerForm.day.options[j].selected == true) {
         var dd = parseInt(callerForm.day.options[j].value);
      }
   }
   for (k = 0; k < callerForm.month.options.length; k++) {
      if (callerForm.month.options[k].selected == true) {
         var mm = parseInt(callerForm.month.options[k].value);
      }
   }
 
   //validate date
   if(!(gIsValidDate((parseInt(mm)+1)+'/'+(dd)+'/'+(yyyy)))){
     alert('The date you selected does not appear to be valid.\nPlease select a new date.');
	  return false;
   }
   
   // Create an instance of the date object from the form fields
   var selDate = (new Date(yyyy,mm,dd)).valueOf();

   for (m = 0 ; m < callerForm.Selection1.options.length; m++) {
      if (callerForm.Selection1.options[m].selected == true) {
         if (callerForm.Selection1.options[m].value == 1) {
           // Date of last menstrual period was selected 
           calcType = 1;
         } else if (callerForm.Selection1.options[m].value == 2) {
           // Date of conception was selected
           calcType = 2;
         } else if (callerForm.Selection1.options[m].value == 3) {
           // Date of conception was selected
           calcType = 3;
         }
         callerForm.Week38.value=calcDate(38,selDate,calcType);
         callerForm.Week10.value=calcDate(10,selDate,calcType);
         callerForm.Week8.value=calcDate(8,selDate,calcType);
         callerForm.Week5.value=calcDate(5,selDate,calcType);
         callerForm.Week4.value=calcDate(4,selDate,calcType);
         callerForm.Week3.value=calcDate(3,selDate,calcType);
         callerForm.Week2.value=calcDate(2,selDate,calcType);
         callerForm.Week0.value=calcDate(0,selDate,calcType);
      }
   } 
}

function calcDate(eWeek,aDate,calcType) {
  // Define some variable constants
  var MINUTE = 60 *1000;
  var HOUR = MINUTE * 60;
  var DAY = HOUR *24;
  var WEEK = DAY * 7;
  var DUEWEEK = WEEK*40;

  // Calculate the Due date based upon value of CalcType
  if (calcType == 1){
     var dueDate = new Date(aDate + (WEEK*40) + (DAY*15));
  } else if (calcType == 2){
     var dueDate = new Date(aDate + (WEEK*40));
  } else if (calcType == 3){
     var dueDate = new Date(aDate);
  }

  var finalDate = new Date(Date.parse(dueDate) - (DUEWEEK - WEEK*eWeek));
  dateStr=((finalDate.getMonth()+1)+'/'+finalDate.getDate()+'/'+gReturnY2KDate(finalDate));
  return dateStr;
}

