<!--

var elem_female;
var elem_male;
var elem_black;
var elem_nonblack;
var elem_creatinine;
var elem_age;

function initializePage()
{
	document.getElementById("menu_egfr").className = "active";
	
	elem_female=document.getElementById("sex_female");
	elem_male=document.getElementById("sex_male");
	elem_black=document.getElementById("race_black");
	elem_nonblack=document.getElementById("race_nonblack");
	elem_creatinine=document.getElementById("creatinine");
	elem_age=document.getElementById("age");
	elem_mdrd=document.getElementById("formula_mdrd");
	elem_ckdepi=document.getElementById("formula_ckdepi");
	
	elem_creatinine.value = "";
	elem_age.value="";
	elem_male.checked=true;
	elem_nonblack.checked=true;
	elem_mdrd.checked=true;
	
	elem_creatinine.focus();
 	calculo();
}

function processKey (code)
{
	if (code == code_f) {
		elem_female.checked=true;
		calculo();
	}
	else if (code == code_m) {
		elem_male.checked=true;
		calculo();
	}
	else if (code == code_b) {
		elem_black.checked=true;
		calculo();
	}
	else if (code == code_n) {
		elem_nonblack.checked=true;
		calculo();
	}
	else if (code == code_c) {
		elem_creatinine.select();
	}
	else if (code == code_a) {
		elem_age.select();
	}
	else if (code == code_d) {
		elem_mdrd.checked=true;
		calculo();
	}
	else if (code == code_e) 
	{
		elem_ckdepi.checked=true;
		calculo();
	}
}


function calculo()
{
  var ptCreat = parseFloat(elem_creatinine.value);
  var ptAge = parseFloat(elem_age.value);
  
  var GFR = -1;
  var CKDstage = 0;
  var sexFactor = 1;
  var raceFactor = 1;
  var recs = "";
  var intercept=0;
  var crExponent=0;
  var crDenominator=1;
  
  if (elem_mdrd.checked) { /*calculate MDRD GFR */
	  if (elem_female.checked) {sexFactor = 0.742}
	
	  if (elem_black.checked) {raceFactor = 1.212}
	  
	  if ((ptCreat!= 0) && (ptAge != 0)) {
	    GFR = Math.round(186*sexFactor*raceFactor*Math.pow(ptCreat,-1.154)*Math.pow(ptAge,-0.203));
	  }
  }
  if (elem_ckdepi.checked) { /*calculate CKD-EPI GFR */
      if (elem_black.checked && elem_female.checked) { intercept=166}
	  if (elem_black.checked && !elem_female.checked) { intercept=163}
	  if (!elem_black.checked && elem_female.checked) { intercept=144}
	  if (!elem_black.checked && !elem_female.checked) { intercept=141}
	  
	  if (elem_female.checked && ptCreat <= 0.7) {crExponent=-0.329}
	  if (elem_female.checked && ptCreat > 0.7) {crExponent=-1.209}
	  if (!elem_female.checked && ptCreat <= 0.9) {crExponent=-0.411}
	  if (!elem_female.checked && ptCreat > 0.9) {crExponent=-1.209}
	  
	  
	  if (elem_female.checked) {
	  	crDenominator=0.7;
	  }
	  else {
	    crDenominator=0.9;
	  }
	
	  if (elem_black.checked) {}
	  
	  if ((ptCreat!= 0) && (ptAge != 0)) {
	    GFR = Math.round(intercept*Math.pow((ptCreat/crDenominator),crExponent)*Math.pow(0.993, ptAge));
	  }
  }
  
  if (GFR>=0)
  {
    document.getElementById("gfrheader").style.display="block";
    document.getElementById("stageheader").style.display="block";
  }
  else
  {
    document.getElementById("gfrheader").style.display="none";
    document.getElementById("stageheader").style.display="none";
  }

    if (GFR>=90)
  {
   CKDstage = 1;
   recs="<p class=\"stagesummary\">Normal or increased GFR</p><p>Treat comorbid conditions, minimize risk, slow progression.</p>";
  }
    else if (GFR>=60)
  {
   CKDstage = 2;
   recs="<p class=\"stagesummary\">Mild reduction in GFR</p><p>Estimate progression.</p>";
  }
  else if (GFR>=30) {
  CKDstage = 3;
  recs="<p class=\"stagesummary\">Moderately reduced GFR</p><p>Evaluate and treat complications.<br />";
  recs+="Check PTH every 12 months.<br />";
  recs+="PTH goal: 35-70</p>";
  }
  else if (GFR>=15) {
  CKDstage = 4;
  recs="<p class=\"stagesummary\">Severely reduced GFR</p><p>Prepare for kidney replacement therapy.<br />";
  recs+="Check PTH every 3 months.<br />";
  recs+="PTH goal: 70-110</p>";
  }
  else if ((GFR<15) && (GFR>=0)) {
  CKDstage = 5;
  recs="<p class=\"stagesummary\">Kidney failure</p><p>Dialysis or transplatation if uremic.<br />";
  recs+="Check PTH every 3 months.<br />";
  recs+="PTH goal: 150-300</p>";
  }
  else // GFR data is invalid
  {
    GFR="";
    CKDstage="";
    if ((elem_creatinine.value=="") && (elem_age.value=="")) {
      recs = "Enter creatinine and age."
    }
    else if (elem_creatinine.value=="") {
      recs = "Enter creatinine.";
    }
    else if (elem_age.value=="") {
      recs = "Enter age.";
    }
    else {
    recs = "Data not valid.";
    }
  }

  document.getElementById("gfroutput").innerHTML = '<span class=stage'+CKDstage+'>'+GFR+'</span>';
  document.getElementById("stageoutput").innerHTML = '<span class=stage'+CKDstage+'>'+CKDstage+'</span>';

  document.getElementById("adviceoutput").innerHTML = recs;
}

-->