<!--

var elem_female;
var elem_male;
var elem_elderly;
var elem_weight;
var elem_sodium;
var elem_goal_sodium;
var elem_d5w;
var elem_halfns;
var elem_ns;
var elem_3ns;

function initializePage()
{
	document.getElementById("menu_sodium_correction").className = "active";
	
	elem_female=document.getElementById("sex_female");
	elem_male=document.getElementById("sex_male");
	elem_elderly=document.getElementById("elderly");
	elem_weight=document.getElementById("weight");
	elem_sodium=document.getElementById("current_na");
	elem_goal_sodium=document.getElementById("goal_na");
	elem_d5w=document.getElementById("fluid_d5w");
	elem_halfns=document.getElementById("fluid_halfns");
	elem_ns=document.getElementById("fluid_ns");
	elem_3ns=document.getElementById("fluid_3ns");
	elem_d5w_label=document.getElementById("label_d5w");
	elem_halfns_label=document.getElementById("label_halfns");
	elem_ns_label=document.getElementById("label_ns");
	elem_3ns_label=document.getElementById("label_3ns");
	
	elem_sodium.value = "";
	elem_goal_sodium.value = "";
	elem_weight.value="70";
	elem_male.checked=true;
	elem_elderly.checked=false;
	
	disableItem(elem_d5w);
	disableLabel(elem_d5w_label);
	disableItem(elem_halfns);
	disableLabel(elem_halfns_label);
	disableItem(elem_ns);
	disableLabel(elem_ns_label);
	disableItem(elem_3ns);
	disableLabel(elem_3ns_label); 
	elem_sodium.focus();
 	calculo(); 
}

function processKey (code)
{

	switch (code) {
	case code_f:
		elem_female.checked=true;
		calculo();
		break;
	case code_m:
		elem_male.checked=true;
		calculo();
		break;
	case code_e:
		if (elem_elderly.checked) {
			elem_elderly.checked=false;
		}
		else {
			elem_elderly.checked=true;
		}	
		calculo();
		break;
	case code_c:
		elem_sodium.select();
		break;
	case code_g:
		elem_goal_sodium.select();
		break;
	case code_w:
		elem_weight.select();
		break;
	case code_l:
		elem_weight.value = lbsToKg(elem_weight.value);
		break;
	case code_d:
		if (elem_d5w.disabled==false) {
		elem_d5w.checked=true;
		calculo();
		}
		break;
	case code_h:
		if (elem_halfns.disabled==false) {
		elem_halfns.checked=true;
		calculo();
		}
		break;
	case code_n:
		if (elem_ns.disabled==false) {
		elem_ns.checked=true;
		calculo();
		}	
		break;
	case code_s:
		if (elem_3ns.disabled==false) {
		elem_3ns.checked=true;
		calculo();
		}
		break;
	}
}


function calculo()
{
	var ptSodium = parseFloat(elem_sodium.value);
	var ptWeight = parseFloat(elem_weight.value);
	var ptGoal = parseFloat(elem_goal_sodium.value);
  
	var change_per_liter = 0;
	var flowrate = -1;
	var hours=-1;
	var liters=-1;
	var values_valid=false;
	
	var correction_factor=0;
	var fluid_na = 0;
	var fluid_selected = false;

	var recs = "";
	
	if ((elem_sodium.value!="") && (elem_goal_sodium.value!="")) {
		values_valid=true;
		if ((ptGoal < ptSodium) && (ptGoal >= 0)) {
			enableItem(elem_d5w);
			enableLabel(elem_d5w_label);
		}
		else {
			disableItem(elem_d5w);
			disableLabel(elem_d5w_label);
		}
	
		if ((Math.abs(ptSodium-77))>(Math.abs(ptGoal-77))) { // goal is closer to fliud than current Na
			enableItem(elem_halfns);
			enableLabel(elem_halfns_label);
		}
		else {
			disableItem(elem_halfns);
			disableLabel(elem_halfns_label);
		}
	
		if ((Math.abs(ptSodium-154))>(Math.abs(ptGoal-154))) { // goal is closer to fliud than current Na
			enableItem(elem_ns);
			enableLabel(elem_ns_label);
		}
		else {
			disableItem(elem_ns);
			disableLabel(elem_ns_label);
		}
	
		if ((Math.abs(ptSodium-513))>(Math.abs(ptGoal-513))) { // goal is closer to fliud than current Na
			enableItem(elem_3ns);
			enableLabel(elem_3ns_label);
		}
		else {
			disableItem(elem_3ns);
			disableLabel(elem_3ns_label);
		}
	}
	
	
	if ((elem_female.checked) && (elem_elderly.checked)) {correction_factor = 0.45}
	if ((elem_female.checked) && !(elem_elderly.checked)) {correction_factor = 0.50}
	if ((elem_male.checked) && (elem_elderly.checked)) {correction_factor = 0.50}
	if ((elem_male.checked) && !(elem_elderly.checked)) {correction_factor = 0.60}
	
	if (elem_d5w.checked) {
		fluid_selected = "D5W";
		fluid_na=0;
	}
	else if (elem_halfns.checked) {
		fluid_selected = "1/2NS";
		fluid_na=77;
	}
	else if (elem_ns.checked) {
		fluid_selected = "NS";
		fluid_na=154;
	}
	else if (elem_3ns.checked) {
		fluid_selected = "3%NS";
		fluid_na=513;
	}
	
	var output_notes = "<p><br />The flow rate is a calculated rate of "+fluid_selected+" to reach the goal.</p>";
	
	if ((ptSodium != ptGoal) && (ptWeight>0) && (fluid_selected) && (values_valid)) {
		change_per_liter = pseudoRound((fluid_na - ptSodium)/((correction_factor*ptWeight)+1),1);
		liters = Math.abs((ptSodium-ptGoal)/change_per_liter);
		hours = Math.round(Math.abs((ptSodium-ptGoal)/0.5));
		flowrate = Math.round(liters*1000/hours);
		flowrate = Math.round(flowrate/10)*10;
		
		if (flowrate > max_flow_rate) {
			output_notes+="<p class=\"warning\">Alert: flow rate excessively high.</p>"
		}
		
		if (ptGoal>=150) {
			output_notes+="<p class=\"warning\">Alert: goal sodium > 150 meq/L.</p>"
		}
		
		if (ptGoal<=130) {
			output_notes+="<p class=\"warning\">Alert: goal sodium < 130 meq/L.</p>"
		}
		
		document.getElementById("correctionfooter").innerHTML="meq/L per L "+fluid_selected;
    	document.getElementById("flowratefooter").innerHTML="cc/hr for "+hours+" hours";
		document.getElementById("correctionoutput").innerHTML = change_per_liter;
		document.getElementById("flowrateoutput").innerHTML = flowrate;
		document.getElementById("correctionheader").style.display="block";
    	document.getElementById("flowrateheader").style.display="block";
		document.getElementById("correctionfooter").style.display="block";
		document.getElementById("flowratefooter").style.display="block";
		document.getElementById("correctionoutput").style.display="block";
		document.getElementById("flowrateoutput").style.display="block";
		recs=output_notes;
  	}
	else {
		document.getElementById("correctionheader").style.display="none";
		document.getElementById("flowrateheader").style.display="none";
		document.getElementById("correctionfooter").style.display="none";
    	document.getElementById("flowratefooter").style.display="none";
		document.getElementById("correctionoutput").style.display = "none";
		document.getElementById("flowrateoutput").style.display = "none";
		
		if (ptSodium == ptGoal) {
			recs="<p>The patient is at goal.</p>"
		}
		else if (ptWeight<0) {
			recs="<p>The weight cannot be negative.</p>"
		}
		else if ((ptSodium < 0) || (ptGoal < 0)) {
			recs="<p>Sodium values cannot be negative.</p>"
		}
	    else if (elem_sodium.value=="") {
	      recs = "<p>Enter current sodium.</p>";
	    }
		else if (elem_goal_sodium.value=="") {
			recs = "<p>Enter goal sodium.</p>"
		}
	    else if (elem_weight.value=="") {
	      recs = "<p>Enter weight.</p>";
	    }
		else if (fluid_selected==false) {
			recs = "<p>Select a replacement fluid.</p>"
		}
	    else {
	    recs = "<p>Data not valid.</p>";
	    }
	}
	document.getElementById("adviceoutput").innerHTML = recs;
}

-->