var oneYearCost;
var threeYearCost;
var fiveYearCost;
var tenYearCost;

function Comma(number)
{
  number = String(number);
  if (number.length > 3)
  {
    var mod = number.length % 3;
    var output = (mod > 0 ? (number.substring(0,mod)) : "");
    for (i=0 ; i < Math.floor(number.length / 3); i++)
    {
      if ((mod == 0) && (i == 0))
      {
        output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
      }
      else
      {
        output+= "," + number.substring(mod + 3 * i, mod + 3 * i + 3);
      }
    }
    return (output);
  }
  else
  {
    return number;
  }
}


function calculate()
{
  var currentAge        = Number(document.getElementById("age").value)           > 0 ? Number(document.getElementById("age").value)           : 55;
  var ageRequiringLtc   = Number(document.getElementById("ltcAge").value)        > 0 ? Number(document.getElementById("ltcAge").value)        : 80;
  var ltcInflationRate  = Number(document.getElementById("inflationRate").value) > 0 ? Number(document.getElementById("inflationRate").value) : 5;
  var currentLtcRate    = Number(document.getElementById("ltcRate").value)       > 0 ? Number(document.getElementById("ltcRate").value)       : 176;
  var dailyCost         = currentLtcRate*Math.pow((1+(ltcInflationRate/100)),(ageRequiringLtc-currentAge));
  var monthlyCost       = dailyCost*30.4167;

  oneYearCost       = (0-(dailyCost*365)*(1 - (1+(ltcInflationRate/100)))/(ltcInflationRate/100));
  threeYearCost     = (0-(dailyCost*365)*(1 - Math.pow((1+(ltcInflationRate/100)),3))/(ltcInflationRate/100));
  fiveYearCost      = (0-(dailyCost*365)*(1 - Math.pow((1+(ltcInflationRate/100)),5))/(ltcInflationRate/100));
  tenYearCost       = (0-(dailyCost*365)*(1 - Math.pow((1+(ltcInflationRate/100)),10))/(ltcInflationRate/100));

  var finalDaily      = (Comma(Math.round(dailyCost)));
  var finalMonthly    = (Comma(Math.round(monthlyCost)));
  var finalOneYear    = (Comma(Math.round(oneYearCost)));
  var finalThreeYear  = (Comma(Math.round(threeYearCost)));
  var finalFiveYear   = (Comma(Math.round(fiveYearCost)));
  var finalTenYear    = (Comma(Math.round(tenYearCost)));

  var currentAgeElement        = document.getElementById("currentAge");
  var ageRequiringLtcElement   = document.getElementById("ageRequiringLtc");
  var ltcInflationRateElement  = document.getElementById("ltcInflationRate");
  var currentLtcRateElement    = document.getElementById("currentLtcRate");
  var finalDailyElement        = document.getElementById("finalDaily");
  var finalMonthlyElement      = document.getElementById("finalMonthly");
  var finalOneYearElement      = document.getElementById("finalOneYear");
  var finalThreeYearElement    = document.getElementById("finalThreeYear");
  var finalFiveYearElement     = document.getElementById("finalFiveYear");
  var finalTenYearElement      = document.getElementById("finalTenYear");

  currentAgeElement.innerHTML                     = currentAge;
  document.getElementById("age").value            = currentAge;
  ageRequiringLtcElement.innerHTML                = ageRequiringLtc;
  document.getElementById("ltcAge").value         = ageRequiringLtc;
  ltcInflationRateElement.innerHTML               = ltcInflationRate;
  document.getElementById("inflationRate").value  = ltcInflationRate;
  currentLtcRateElement.innerHTML                 = currentLtcRate;
  document.getElementById("ltcRate").value        = currentLtcRate;
  finalDailyElement.innerHTML                     = finalDaily;
  finalMonthlyElement.innerHTML                   = finalMonthly;
  finalOneYearElement.innerHTML                   = finalOneYear;
  finalThreeYearElement.innerHTML                 = finalThreeYear;
  finalFiveYearElement.innerHTML                  = finalFiveYear;
  finalTenYearElement.innerHTML                   = finalTenYear;

  if(document.getElementById("resultsDiv").className.match("closed"))
  {
    document.getElementById("resultsDiv").className = document.getElementById("resultsDiv").className.replace("closed","");
  }
  else
  {
    document.getElementById("resultsDiv").className += "closed";
  }
  location = "#results";

  var graph = setTimeout("buildGraph()", 1000);

}

function buildGraph()
{
  var myChart = new FusionCharts("/include/media/swf/fusionCharts/Column2D.swf", "myChartId", "605", "300", "0", "0");
  var objXml = "<chart canvasBorderThickness='1' numberPrefix='$' formatNumberScale='0' caption='Can you afford to self-insure?'><set label='1 Year Stay' value='" + Math.round(oneYearCost) + "' /><set label='3 Year Stay' value='" + Math.round(threeYearCost) + "' /><set label='5 Year Stay' value='" + Math.round(fiveYearCost) + "' /><set label='10 Year Stay' value='" + Math.round(tenYearCost) + "' /><styles><definition><style name='myCaptionFont' type='font' size='16'/></definition><application><apply toObject='Caption' styles='myCaptionFont' /></application></styles></chart>";
  myChart.setDataXML(objXml);
  myChart.render("chart");
}