// Called from the onChange attribute of monetary text inputs.  This function
// ensures that the field has a numeric value (if any), and that it's rounded
// and displayed to two decimal places.
function formatMoney(obj) {
    textString = obj.value;
    if (textString != '') {
	var isNumeric = true;
	var validChars = "0123456789.";
	var dotCount = 0;  // Keeps track of how many periods are in the string.  More than 1 = Not a valid number
	var dashCount = 0;  // Keeps track of hyphens.  (User is given a different alert if hyphen is found.)
	for (i=0; i < textString.length; i++) {
	    Char = textString.charAt(i);
	    if (validChars.indexOf(Char) == -1) isNumeric = false;
	    if (Char == ".") dotCount++;
	    if (Char == "-") dashCount++;
	}
	if (dotCount > 1) isNumeric = false;
	if (!isNumeric) {
/*
	    if (dashCount > 0) {
		alert("'"+textString+"' is not a valid answer.  Please enter a number.");
	    } else {
		alert("'"+textString+"' is not a valid answer.  Please enter a positive number.");
	    }
*/
            alert("Please enter an amount without commas, such as '1000'.");
	    newValue = '';
	} else {
	    newValue = Math.round(obj.value) + ".00";
	}
	obj.value = newValue;
    }
}


// Retrieves the user's answer for a given question on a given page.
// Note: This function does not support checkbox inputs
function getAnswer(pageNum, questionNum) {

    if (typeof answer != 'undefined') {
        ans = answer[pageNum][questionNum];
        if (ans == '') ans = "0.00";
        if (ans=="0.00" && pageNum==2) ans=0;
        return ans;
    }

    var id = "p" + pageNum + "q" + questionNum;
    if (document.getElementById(id)) {              // Text and select inputs
        var ans = document.getElementById(id).value;
        if (ans == '') ans = "0.00";
        if (ans=="0.00" && pageNum==2) ans=0;
        return ans;

    } else if (document.getElementById(id+"c1")) {  // Radio button inputs
	var c = 1;
	while (document.getElementById(id+"c"+c)) {
	    if (document.getElementById(id+"c"+c).checked) return document.getElementById(id+"c"+c).value;
	    c++;
	}

    } else if (document.form1.getElementById(id)) {
        var ans = document.getElementById(id).value;
        if (ans == '') ans = "0.00";
        if (ans=="0.00" && pageNum==2) ans=0;
        return ans;

    } else if (document.form1.getElementById(id+"c1")) {
	var c = 1;
	while (document.form1.getElementById(id+"c"+c)) {
	    if (document.form1.getElementById(id+"c"+c).checked)
		return document.form1.getElementById(id+"c"+c).value;
	    c++;
	}
    }
    return -1;   // Question or answer not found.
}


// To simplify things for the user, some expense questions just ask the user a Yes/No question,
// then compute the expected cost for that category behind the scenes with this function.
// Given the page number (p), question number of the Yes/No question (q), and costTier for the selected
// TC's area, this function returns the average financial cost for the given category.

function getCost(p, q, costTier) {

    var ans = getAnswer(p, q);
    if (ans == "No") return 0;  // If the user didn't need the given category, it won't cost anything.


    // This tool was originally designed to base estimated expenses on the location of the
    // transplant center.  That idea was later scrapped, but the code below has been left intact 
    // in case it's ever revisited.  If that happens, delete the following line of code and
    // resolve the inconsistencies within the data (a few of the "Average" costs are more 
    // expensive than their "High" cost counter-parts)
    costTier = "Average";


    if (costTier == "High") {  ////////////////////////////////////////////////////////////

	if (p==9) {  //===== Relocation expenses =====//
	    if (q==1) {  // Child-care
                var numberOfChildren = getAnswer(p, 2);
                if (numberOfChildren==0) return 0;
                if (numberOfChildren==1) return 1338;  // 1338.40
                if (numberOfChildren==2) return 2161;  // 2161.11
                if (numberOfChildren==3) return 3500;  // 3499.51
                if (numberOfChildren==4) return 5651;  // 5650.65
	    }
	    if (q==3) {  // Lodging
                var lodgingType = getAnswer(p,4);
                if (lodgingType=="Apartment")                  return 900;
                if (lodgingType=="Hotel or Motel")             return 227;
                if (lodgingType=="Hospital-sponsored housing") return 2300;
                if (lodgingType=="Ronald McDonald House")      return 750;
                if (lodgingType=="Hope Lodge House")           return 750;
                if (lodgingType=="Other")                      return "Other";
	    }
	    if (q==5)  return 2000; // Food
	    if (q==6)  return 80;   // Laundry
	    if (q==7)  return 3000; // Travel
	    if (q==8)  return 2210; // Transportation and Parking
	    if (q==9)  return 855;  // Pet Boarding


	} else if (p==10) {  //===== Local Living Expenses =====//

	    if (q==1) {  // Child-care
                var numberOfChildren = getAnswer(p,2);
                if (numberOfChildren==0) return 0;
                if (numberOfChildren==1) return 1338;
                if (numberOfChildren==2) return 2161;
                if (numberOfChildren==3) return 3500;
                if (numberOfChildren==4) return 5651;
	    }
	    if (q==3) return 2000;  // Food
	    if (q==4) return 2210;  // Transportation and Parking
	    if (q==5) return 855;   // Pet Boarding

	} else if (p==11) {  //===== After Transplant and Returning Home Expenses =====//

	    if (q==1) {
                var numberOfChildren = getAnswer(p, 2);
                if (numberOfChildren==0) return 0;
                if (numberOfChildren==1) return 1338;  // 1338.40
                if (numberOfChildren==2) return 2161;  // 2161.11
                if (numberOfChildren==3) return 3500;  // 3499.51
                if (numberOfChildren==4) return 5651;  // 5650.65
	    }
	    if (q==3) return 700;  // Cleaning
	    if (q==4) return 1000; // Travel
	    if (q==5) return 855;  // Pet Boarding
	    if (q==6) return 500;  // Clothing

	}

    } else if (costTier == "Low") {  ///////////////////////////////////////////////////////////////

	if (p==9) {  //===== Relocation expenses =====//
	    if (q==1) {  // Child-care
                var numberOfChildren = getAnswer(p,2);
                if (numberOfChildren==0) return 0;
                if (numberOfChildren==1) return 323;   // 322.83
                if (numberOfChildren==2) return 626;   // 626.16
                if (numberOfChildren==3) return 1215;  // 1214.54
                if (numberOfChildren==4) return 2356;  // 2355.76
	    }
	    if (q==3) {  // Lodging
                var lodgingType = getAnswer(p,4);
                if (lodgingType=="Apartment")                  return 500;
                if (lodgingType=="Hotel or Motel")             return 132;
                if (lodgingType=="Hospital-sponsored housing") return 500;
                if (lodgingType=="Ronald McDonald House")      return 155;
                if (lodgingType=="Hope Lodge House")           return 155;
                if (lodgingType=="Other")                      return "Other";
	    }
	    if (q==5)  return 750;  // Food
	    if (q==6)  return 50;   // Laundry
	    if (q==7)  return 600;  // Travel
	    if (q==8)  return 1055; // Transportation and Parking
	    if (q==9)  return 765;  // Pet Boarding

	} else if (p==10) {  //===== Local Living Expenses =====//

	    if (q==1) {  // Child-care
                var numberOfChildren = getAnswer(p,2);
                if (numberOfChildren==0) return 0;
                if (numberOfChildren==1) return 323;
                if (numberOfChildren==2) return 626;
                if (numberOfChildren==3) return 1215;
                if (numberOfChildren==4) return 2356;
	    }
	    if (q==3) return 750;   // Food
	    if (q==4) return 1055;  // Transportation and Parking
	    if (q==5) return 765;   // Pet Boarding

	} else if (p==11) {  //===== After Transplant and Returning Home Expenses =====//

	    if (q==1) {
                var numberOfChildren = getAnswer(p, 2);
                if (numberOfChildren==0) return 0;
                if (numberOfChildren==1) return 323;   // 322.83
                if (numberOfChildren==2) return 626;   // 626.16
                if (numberOfChildren==3) return 1215;  // 1214.54
                if (numberOfChildren==4) return 2356;  // 2355.76
	    }
	    if (q==3) return 250;  // Cleaning
	    if (q==4) return 150;  // Travel
	    if (q==5) return 765;  // Pet Boarding
	    if (q==6) return 300;  // Clothing

	}

    } else {  // costTier=="Average"  ////////////////////////////////////////////////////////

	if (p==9) {  //===== Relocation expenses =====//
	    if (q==1) {  // Child-care
                var numberOfChildren = getAnswer(p,2);
                if (numberOfChildren==0) return 0;
                if (numberOfChildren==1) return 800;
                if (numberOfChildren==2) return 1600;
                if (numberOfChildren==3) return 2400;
                if (numberOfChildren==4) return 3200;
	    }
	    if (q==3) {  // Lodging
                var lodgingType = getAnswer(p,4);
                if (lodgingType=="Apartment")                  return 900;
                if (lodgingType=="Hotel or Motel")             return 1500;
                if (lodgingType=="Hospital-sponsored housing") return 1500;
                if (lodgingType=="Ronald McDonald House")      return 750;
                if (lodgingType=="Hope Lodge House")           return 750;
                if (lodgingType=="Other")                      return 0;
	    }
	    if (q==5)  return 1200;  // Food
	    if (q==6)  return 100;   // Laundry
	    if (q==7)  return 1400;  // Travel
	    if (q==8)  return 1075;  // Transportation and Parking
	    if (q==9)  return 800;   // Pet Boarding

	} else if (p==10) {  //===== Local Living Expenses =====//

	    if (q==1) {  // Child-care
                var numberOfChildren = getAnswer(p,2);
                if (numberOfChildren==0) return 0;
                if (numberOfChildren==1) return 800;
                if (numberOfChildren==2) return 1600;
                if (numberOfChildren==3) return 2400;
                if (numberOfChildren==4) return 3200;
	    }
	    if (q==3) return 1200;  // Food
	    if (q==4) return 275;   // Transportation and Parking
	    if (q==5) return 800;   // Pet Boarding

	} else if (p==11) {  //===== After Transplant and Returning Home Expenses =====//

	    if (q==1) {
                var numberOfChildren = getAnswer(p, 2);
                if (numberOfChildren==0) return 0;
                if (numberOfChildren==1) return 800;
                if (numberOfChildren==2) return 1600;
                if (numberOfChildren==3) return 2400;
                if (numberOfChildren==4) return 3200;
	    }
	    if (q==3) return 150;  // Cleaning
	    if (q==4) return 200;  // Travel
	    if (q==5) return 800;  // Pet Boarding
	    if (q==6) return 200;  // Clothing

	}

    }  ////////////////////////////////////////////////////////////////////////////////////////

    return -5;  // If the question wasn't found, return -2 by default

}



// For a given Transplant Center ID, return it's name
function getName(TCID) {
    var i=0;
    if (document.getElementById("p3q1")) {
      while (document.getElementById("p3q1").options[i]) {
	if (document.getElementById("p3q1").options[i].value == TCID) {
	    return document.getElementById("p3q1").options[i].innerHTML;
	}
	i++;
      }
      return "Transplant center name not found for TC ID#" + TCID;
    }
    return "Transplant center data not found.";
}


// For a given Transplant Center ID, return "low", "average", or "high" depending on the cost of living in its area.
function getTier(TCID) {

  //-- The system was originally designed to support separate cost tiers based on the location of the center selected,
  //-- but that idea was scrapped.  This code has been left here in case the idea is ever revisited.  In the meantime,
  //-- the cost tier will always be "Average" by default.
  //highCost = new Array(440,518,433,592,505,421,587,557,406,432,442,436,448,501,523,405,443,319,409,517,509,428,429,548,317,524,597,447,422,424,497,302,576,513,486,527,312,579,522,515,481,584,525,514,590,449,485);
  //lowCost = new Array(521,581,308,535,417,539,423,313,316,410,307,510,541,402,503,593,427,326,530,403,543,582,425,536,412,411,446,578);
  //for (i=0; i<highCost.length; i++) if (highCost[i] == TCID) return "High";
  //for (i=0; i<lowCost.length; i++) if (lowCost[i] == TCID) return "Low";

  return "Average";
}


// For a given page, return 1 if the user is allowed to view the page and 0 if not.
function isViewable(page) {   
  if (page==5) {          // This page is no longer used and therefore is never viewable.
    return 0;  
  } else if (page==9) {   // Relocation Expenses page is only shown if patient and/or caregiver selects 'Relocating'.
	if (getAnswer(3,2)=="Relocating" || getAnswer(3,3)=="Relocating") return 1;
	return 0;
  } else if (page==10) {  // Local Living Expenses page is only shown if patient and/or caregiver selects 'Staying local'
	if (getAnswer(3,2)=="Staying local" || getAnswer(3,3)=="Staying local") return 1;
	return 0;
  } else {                // All other pages are automatically viewable by default
	return 1;
  }
}


// Make all content in a given page's <div> visible and hide content in all other page <div>s.
// If page isn't viewable (see isViewable()) then loadPage is called with page+increment.
// If the optional parameter increment isn't used, its value is set to 1 by default.  In plain
// English, this means that when a page can't be viewed the next one should be tried.  Use
// an increment value of -1 to try the previous page instead.
function loadPage(page, increment) {

  // If the current page isn't viewable, try loading a different one
  if (typeof increment == 'undefined') increment = 1;
  if (increment==0) increment=1;  // Prevents a potentially infinite recursive loop.
  if (!isViewable(page)) {
	if (page < 30) {  // There aren't this many pages, so stop looping if you get to 30.
      loadPage(page+increment, increment);
      return;
	} else {
      alert("Error: The function loadPage() has been caught in a recursive loop.  Now aborting.");
      return;
	}
  }

  //-- Hide all sections except current page --//
  var i=0;
  while (document.getElementById("page" + i)) {
	if (i == page) {
      document.getElementById("page" + i).className = "show";
	} else {
      document.getElementById("page" + i).className = "hide";    
	}
	i++;
  }
    
  var i=0;
  while (document.getElementById("more" + i)) { // Allow for second div where needed
    if (i == page) {
      document.getElementById("more" + i).className = "show"; 
    } else {
      document.getElementById("more" + i).className = "hide";        
    }
	i++;
  }

  if (page==12) populateReport();   // Complete all report fields    

  window.location = "#top";
}



function populateReport() {

/*
    // If the user selected a TC in a high-cost area, display a note (page 14?)
    if (getTier(getAnswer(3,1)) == "High") {
	document.getElementById("high_cpi_note").className = "show";
    } else {
	document.getElementById("high_cpi_note").className = "hide";
    }
    document.getElementById("typeOfCells").innerHTML = getAnswer(3,4);
    document.getElementById("preparativeRegimen").innerHTML = getAnswer(3,5);
*/

/*
    // Only show relevant age-related content  (page 13)
    document.getElementById("ageGroup1").className = "hide";
    document.getElementById("ageGroup2").className = "hide";
    document.getElementById("ageGroup3").className = "hide";
    document.getElementById("ageGroup4").className = "hide";
    var age = getAnswer(2,1);
    if (age==0 || age=='') {  // The user probably didn't provide an age, so display all age categories
        document.getElementById("ageGroup1").className = "show";
        document.getElementById("ageGroup2").className = "show";
        document.getElementById("ageGroup3").className = "show";
        document.getElementById("ageGroup4").className = "show";
    } else if (age >= 0&& age <= 17) {
        document.getElementById("ageGroup1").className = "show";
    } else if (age >= 18&& age <= 23) {
        document.getElementById("ageGroup2").className = "show";
    } else if (age >= 24&& age <= 44) {
        document.getElementById("ageGroup3").className = "show";
    } else if (age >= 45) {
        document.getElementById("ageGroup4").className = "show";
    } else {  // This scenario *should* never arise, but just in case...
        document.getElementById("ageGroup1").className = "show";
        document.getElementById("ageGroup2").className = "show";
        document.getElementById("ageGroup3").className = "show";
        document.getElementById("ageGroup4").className = "show";
    }
*/

	// Primary Monthly Income (pmi)

        if (getAnswer(4,2)=="Yes") {
	  document.getElementById("pmi1").innerHTML = getAnswer(4,1);
	} else {
	  document.getElementById("pmi1").innerHTML = "0.00";
	}
	document.getElementById("pmi2").innerHTML = getAnswer(4,3);
	document.getElementById("pmi3").innerHTML = getAnswer(4,4);
	document.getElementById("pmi4").innerHTML = getAnswer(4,5);
	var primaryMainIncome = getAnswer(4,3)*1 + getAnswer(4,4)*1 + getAnswer(4,5)*1;
        if (getAnswer(4,2)=="Yes") primaryMainIncome += getAnswer(4,1)*1;
	document.getElementById("pmi5").innerHTML = getAnswer(4,6);
	document.getElementById("pmi6").innerHTML = getAnswer(4,7);
	document.getElementById("pmi7").innerHTML = getAnswer(4,8);
	var primaryOtherIncome = getAnswer(4,6)*1+getAnswer(4,7)*1+getAnswer(4,8)*1

	    //    alert("A=="+primaryMainIncome+", B=="+primaryOtherIncome);
        

	// Secondary Monthly Income (smi)
        if (getAnswer(5,2)=="Yes") {
	  document.getElementById("smi1").innerHTML = getAnswer(5,1);
        } else {
	  document.getElementById("smi1").innerHTML = "0.00";
	}
	document.getElementById("smi2").innerHTML = getAnswer(5,3);
	document.getElementById("smi3").innerHTML = getAnswer(5,4);
	document.getElementById("smi4").innerHTML = getAnswer(5,5);
	var secondaryMainIncome = getAnswer(5,3)*1 + getAnswer(5,4)*1 + getAnswer(5,5)*1;
	if (getAnswer(5,2)=="Yes") secondaryMainIncome += getAnswer(5,1)*1;
	document.getElementById("smi5").innerHTML = getAnswer(5,6);
	document.getElementById("smi6").innerHTML = getAnswer(5,7);
	document.getElementById("smi7").innerHTML = getAnswer(5,8);
	var secondaryOtherIncome = getAnswer(5,6)*1+getAnswer(5,7)*1+getAnswer(5,8)*1;

	// Primary Additional Resources (par)
	document.getElementById("par1").innerHTML = getAnswer(4,9);
	document.getElementById("par2").innerHTML = getAnswer(4,10);
	document.getElementById("par3").innerHTML = getAnswer(4,11);
	var primaryAdditionalResources = getAnswer(4,9)*1 + getAnswer(4,10)*1 + getAnswer(4,11)*1;

	// Secondary Additional Resources (sar)
	document.getElementById("sar1").innerHTML = getAnswer(5,9);
	document.getElementById("sar2").innerHTML = getAnswer(5,10);
	document.getElementById("sar3").innerHTML = getAnswer(5,11);
	var secondaryAdditionalResources = getAnswer(5,9)*1 + getAnswer(5,10)*1 + getAnswer(5,11)*1;

	// Medical Expenses and Health Insurance (mehi)
	document.getElementById("mehi1").innerHTML  = getAnswer(6,1);  // Co-payments
	document.getElementById("mehi2").innerHTML  = getAnswer(6,2);  // Current medical debt
	document.getElementById("mehi3a").innerHTML = getAnswer(6,3);  // Health insurance premium
	document.getElementById("mehi3b").innerHTML = getAnswer(6,4);  // Deducted from pay / Billed separately
	document.getElementById("mehi4").innerHTML  = getAnswer(6,5);  // Other medical expenses
	var currentMedAndHealth = 0;
	for (q=1; q<=5; q++) {
	    if (q!=4) currentMedAndHealth += getAnswer(6,q)*1;
	}

	// Household Expenses (he)
	document.getElementById("he1").innerHTML = getAnswer(7,1);  // Mortgage or rent
	document.getElementById("he2").innerHTML = getAnswer(7,2);  // Mortgage or renters insurance
	document.getElementById("he3").innerHTML = getAnswer(7,3);  // Utilities
	document.getElementById("he4").innerHTML = getAnswer(7,4);  // Car
	document.getElementById("he5").innerHTML = getAnswer(7,5);  // Credit card payement(s)
	document.getElementById("he6").innerHTML = getAnswer(7,6);  // Food
	document.getElementById("he7").innerHTML = getAnswer(7,7);  // Other
	var householdExpenses = 0;
	for (q=1; q<=7; q++) {
	    householdExpenses += getAnswer(7,q)*1;
	}

	// Other Living Expenses (ole)
	document.getElementById("ole1").innerHTML = getAnswer(8,1);  // Child-care
	document.getElementById("ole2").innerHTML = getAnswer(8,2);  // Alimony and child support
	document.getElementById("ole3").innerHTML = getAnswer(8,3);  // Education and enrichment classes
	document.getElementById("ole4").innerHTML = getAnswer(8,4);  // Charitable contributions and tithing
	document.getElementById("ole5").innerHTML = getAnswer(8,5);  // Savings / Investments
	document.getElementById("ole6").innerHTML = getAnswer(8,6);  // Other
	var otherLivingExpenses = 0;
	for (var q=1; q<=6; q++) {
	    otherLivingExpenses += getAnswer(8,q)*1;
	}

	// Relocation Expenses (re)
	var tier = getTier(getAnswer(3,1));  // "High", "Average" or "Low"
	document.getElementById("re1").innerHTML  = getAnswer(9,1);          // Child-care: yes/no
	document.getElementById("re2a").innerHTML = getAnswer(9,2);          // # of children
	document.getElementById("re2b").innerHTML = getCost(9,1,tier)+".00"+" *"; // Cost of child-care
	document.getElementById("re3").innerHTML  = getCost(9,3,tier)+".00"+" *"; // Lodging: yes/no
	document.getElementById("re4").innerHTML  = getCost(9,5,tier)+".00"+" *"; // Food
	document.getElementById("re5").innerHTML  = getCost(9,6,tier)+".00"+" *"; // Laundry
	document.getElementById("re6").innerHTML  = getCost(9,7,tier)+".00"+" *"; // Travel
	document.getElementById("re7").innerHTML  = getCost(9,8,tier)+".00"+" *"; // Transportation
	document.getElementById("re8").innerHTML  = getCost(9,9,tier)+".00"+" *"; // Pet boarding
	document.getElementById("re9").innerHTML  = getAnswer(9,10);         // Additional expenses
	var relocationExpenses = 0;
	if (isViewable(9)) {
	    for (var q=1; q<=9; q++) {
		if (q!=2&& q!=4) {  // Don't add the # of children or lodging type to the dollar amount
		    relocationExpenses += getCost(9,q,tier)*1;
		}
	    }
	    relocationExpenses += getAnswer(9,10)*1;  // Add 'Other' amount
	}

	// Local Living Expenses (lle)
	document.getElementById("lle1").innerHTML = getAnswer(10,1);           // Child-care: yes/no
	document.getElementById("lle2").innerHTML = getAnswer(10,2);           // # of children
	document.getElementById("lle2b").innerHTML = getCost(10,1,tier)+".00"+" *"; // Cost of child-care
	document.getElementById("lle3").innerHTML = getCost(10,3,tier)+".00"+" *";  // Food
	document.getElementById("lle4").innerHTML = getCost(10,4,tier)+".00"+" *";  // Transportation and parking
	document.getElementById("lle5").innerHTML = getCost(10,5,tier)+".00"+" *";  // Pet boarding
	document.getElementById("lle6").innerHTML = getAnswer(10,6);           // Additional monthly expenses
	var localLivingExpenses = 0;
	if (isViewable(10)) {
	    for (var q=1; q<=5; q++) {
		if (q!=2) {  // Don't add the # of children to the dollar amount.
		    localLivingExpenses += getCost(10,q,tier)*1;
		}
	    }
	    localLivingExpenses += getAnswer(10,6)*1;  // Add 'Other' amount
	}

	// After Transplant and Returning Home Expenses (atrhe)
	document.getElementById("atrhe1").innerHTML = getAnswer(11, 1); // Child-care: yes/no
	document.getElementById("atrhe2").innerHTML = getAnswer(11, 2); //# of children
	document.getElementById("atrhe2b").innerHTML = getCost(11, 1, tier)+".00"+" *"; // Child-care: Cost 
	document.getElementById("atrhe3").innerHTML = getCost(11, 3, tier)+".00"+" *"; // Cleaning: yes/no 
	document.getElementById("atrhe4").innerHTML = getCost(11, 4, tier)+".00"+" *"; // Travel: yes/no 
	document.getElementById("atrhe5").innerHTML = getCost(11, 5, tier)+".00"+" *"; // Pet boarding: yes/no
	document.getElementById("atrhe6").innerHTML = getCost(11,6)+".00"+" *";            // Clothing: yes/no 
    document.getElementById("atrhe7").innerHTML = getAnswer(11,7);            // Other
	var afterTransplantExpenses = 0;
	for (var q=1; q<=6; q++) {
	    if (q!=2) { // Don't add the # of children to the dollar amount.
		afterTransplantExpenses += getCost(11,q,tier)*1;
	    }
	}
	afterTransplantExpenses += getAnswer(11,7)*1;  // Add 'Other' amount

	//-- TOTALS --//
	var totalMonthlyIncome = primaryMainIncome + primaryOtherIncome + secondaryMainIncome + secondaryOtherIncome;
	var otherResources = primaryAdditionalResources + secondaryAdditionalResources;
	var currentMonthlyExpenses = currentMedAndHealth + householdExpenses + otherLivingExpenses;
	var futureMonthlyExpenses = relocationExpenses*1 + localLivingExpenses*1 + afterTransplantExpenses*1;
	document.getElementById("itemizedTotalMonthlyIncome").innerHTML = "\$"+totalMonthlyIncome+".00";
	document.getElementById("itemizedOtherResources").innerHTML = "\$"+otherResources+".00";
	document.getElementById("itemizedCurrentMonthlyExpenses").innerHTML = "\$"+currentMonthlyExpenses+".00";
	document.getElementById("itemizedFutureMonthlyExpenses").innerHTML = "\$"+futureMonthlyExpenses+".00";

	//-- CHANGE IN INCOME NOTES --//
	if (getAnswer(4,2)=="No") {
        if (getAnswer(4,1) > 0){    
	    document.getElementById("primaryIncomeNote").className = "show";
	    document.getElementById("primaryIncomeNoteValue").innerHTML = "\$"+getAnswer(4,1);
	    document.getElementById("primaryIncomeNote2").className = "show";
	    document.getElementById("primaryIncomeNoteValue2").innerHTML = "\$"+getAnswer(4,1);
	} else {
	    document.getElementById("primaryIncomeNote").className = "hide";
	    document.getElementById("primaryIncomeNote2").className = "hide";
        }
    }
    
	if (getAnswer(5,2)=="No") {
        if (getAnswer(5,1) > 0){
    	    document.getElementById("secondaryIncomeNote").className = "show";
    	    document.getElementById("secondaryIncomeNoteValue").innerHTML = "\$"+getAnswer(5,1);
    	    document.getElementById("secondaryIncomeNote2").className = "show";
    	    document.getElementById("secondaryIncomeNoteValue2").innerHTML = "\$"+getAnswer(5,1);
    	} else {
    	    document.getElementById("secondaryIncomeNote").className = "hide";
    	    document.getElementById("secondaryIncomeNote2").className = "hide";
            }
        }

	//-- LOAD VALUES TO TABLE --//
	// General info (top of page)
//	document.getElementById("patientsAge").innerHTML = getAnswer(2,1);
//	document.getElementById("householdSize").innerHTML = getAnswer(2,2);

	//document.getElementById("transplantCenter").innerHTML = getName(getAnswer(3,1));
        var TCname = document.getElementById("hiddenTCname").value;
	document.getElementById("transplantCenter").innerHTML = TCname;

	//document.getElementById("transplantCenterContact").innerHTML = "XXX";
        var TCcontact = document.getElementById("hiddenTCinfo").value;
	document.getElementById("transplantCenterContact").innerHTML = TCcontact;


	// Income (left column)
	//document.getElementById("primaryIncome").innerHTML      = "\$" + primaryMainIncome + ".00";
	//document.getElementById("secondaryIncome").innerHTML    = "\$" + secondaryMainIncome + ".00";
	//document.getElementById("otherMonthlyIncome").innerHTML = "\$" + (primaryOtherIncome+secondaryOtherIncome) + ".00";
        //document.getElementById("totalMonthlyIncome").innerHTML="\$"+ (primaryMainIncome+secondaryMainIncome+primaryOtherIncome+secondaryOtherIncome) +".00";
        var totalMonthlyIncomeVar = primaryMainIncome+secondaryMainIncome+primaryOtherIncome+secondaryOtherIncome + primaryAdditionalResources+secondaryAdditionalResources
        document.getElementById("totalMonthlyIncome").innerHTML="\$"+ totalMonthlyIncomeVar +".00";
	//document.getElementById("otherResources").innerHTML     = "\$" + (primaryAdditionalResources+secondaryAdditionalResources) + ".00";

        // Income Sub-totals
        document.getElementById("primaryMonthlySubTotal").innerHTML   = "\$" + (primaryMainIncome+primaryOtherIncome) + ".00";
        document.getElementById("secondaryMonthlySubTotal").innerHTML = "\$" + (secondaryMainIncome+secondaryOtherIncome) + ".00";
        document.getElementById("primaryOtherResourcesSubTotal").innerHTML = "\$" + primaryAdditionalResources + ".00";
	document.getElementById("secondaryOtherResourcesSubTotal").innerHTML = "\$" + secondaryAdditionalResources + ".00";

	// Current expenses (middle column)
	//document.getElementById("currentMedAndHealth").innerHTML    = "\$"+currentMedAndHealth+".00";
	//document.getElementById("householdExpenses").innerHTML      = "\$"+householdExpenses+".00";
	//document.getElementById("otherLivingExpenses").innerHTML    = "\$"+otherLivingExpenses+".00";
	document.getElementById("currentMonthlyExpenses").innerHTML = "\$"+currentMonthlyExpenses+".00";

	// Future expenses (right column)
	//document.getElementById("relocationExpenses").innerHTML      = "\$"+relocationExpenses+".00";
	//document.getElementById("localLivingExpenses").innerHTML     = "\$"+localLivingExpenses+".00";
	//document.getElementById("afterTransplantExpenses").innerHTML = "\$"+afterTransplantExpenses+".00";
	document.getElementById("futureMonthlyExpenses").innerHTML   = "\$"+futureMonthlyExpenses+".00";
}

