/*

JavaScript:  Anion Gap Calculator
February 28, 1999

This calculator was created by Charles Hu for the Medical College of
Wisconsin General Internal Medicine Clinic.  This calculator may not be
copied without consent from the author.  Please contact him at
chuckhu@hotmail.com

*/


function anionCalc(form) {
	var Na = form.Na.value;
	var Cl = form.Cl.value;
	var Bicarb = form.Bicarb.value;
	var K = form.K.value;

	if (!checkNum(Na,"sodium")) {
		form.Na.select();
		form.Na.focus();
		return false
	}

	if (!checkNum(K,"potassium")) {
		form.K.select();
		form.K.focus();
		return false
	}

	if (!checkNum(Cl,"chloride")) {
		form.Cl.select();
		form.Cl.focus();
		return false
	}

	if (!checkNum(Bicarb,"bicarbonate")) {
		//form.chuckhu.unfocus();
		form.Bicarb.select();
		form.Bicarb.focus();
		return false
	}

	Na = parseInt(Na);
	Bicarb = parseInt(Bicarb);
	Cl = parseInt(Cl);

	if (K != "") {
		K = parseInt(K);
		var normText = "16 +/- 4 mmol/L, with potassium"
	} else {
		K = 0;
		var normText = "12 +/- 4 mmol/L, without potassium"
	}

	var agap = Na + K - Bicarb - Cl; 


	form.agap.value = agap;
	form.agapNorm.value = normText;
	return true
}


function checkNum(val,text) {
	if ((val == "") && (text == "potassium")) {return true}

        if ((val == "") || (isNaN(val)) || (val < 0)) {
                alert("Please enter a value for " + text + ".");
                return false
        }
        return true;
}

