/*

JavaScript:  ATP III LDL Cholesterol Goal Calculator

*/

function riskCalc(form,complete) {
	var age = form.age.value;
	var sbp = form.sbp.value;
	var dbp = form.dbp.value;
	var cholnum = form.cholnum.value;
	var hdl = form.hdl.value;

	var agerf, smokerf, smokerr, dmrf, dmrr, bprf, bprr
	var cholrf, cholrr, hdlrf, hdlrr, sbppt, dbppt, chdrisk
	var avgrisk, lowrisk, BPmed, LDLgoal

//  Check sex
	if (form.sex[0].checked) {
		var sex = "male"
	} else {
		if (form.sex[1].checked) {
		var sex = "female"
		} else {
			alert("Lütfen cinsiyetinizi giriniz.");
			return false
		}
	}

//  Check age

	if (!checkNum(age)) {
		alert("Lütfen yasinizi giriniz.");
		form.age.select();
		form.age.focus();
		return false
	}

	if ((age < 20) || (age > 79)) {
		if (!confirm("Test sonuçlari " +
		"20 ile 79 yas guruplari içindir.Devam etmek istiyormusunuz?")) {
			form.age.select();
			form.age.focus();

			form.agerf.value = "";
			form.smokerf.value = "";
			form.smokerr.value = "";
			form.dmrf.value = "";
			form.dmrr.value = "";
			form.bprf.value = "";
			form.bprr.value = "";
			form.cholrf.value = "";
			form.cholrr.value = "";
			form.hdlrf.value = "";
			form.hdlrr.value = "";
			form.totalpts.value = "";
			form.chdrisk.value = "";
			form.avgrisk.value = "";
			form.lowrisk.value = "";

			return false
		}
	}

//  Check smoking
	if (form.smoke[0].checked) {
		var smoke = "yes"
	} else {
		if (form.smoke[1].checked) {
		var smoke = "no"
		} else {
			alert("Sigara içiyormusunuz?");
			return false
		}
	}


//  Check BPmed
	if (form.BPmed[0].checked) {
		var BPmed = "yes"
	} else {
		if (form.BPmed[1].checked) {
		var BPmed = "no"
		} else {
			alert("Tansiyon ilaci kullaniyormusunuz?");
			return false
		}
	}

if (complete == 1) {
//  Check blood pressure
	if (!checkNum(sbp)) {
		alert("Lütfen büyük (sistolik) tansiyonunuzu giriniz.");
		form.sbp.focus();
		form.sbp.select();
		return false
	}

	if (!checkNum(dbp)) {
		alert("Lütfen küçük(diastolik) tansiyonunuzu giriniz.");
		form.dbp.focus();
		form.dbp.select();
		return false
	}


//  Check cholesterol

	if (!checkNum(cholnum)) {
		alert("Lütfen total kolesterolünüzü giriniz.")
		form.cholnum.select();
		form.cholnum.focus();
		return false
	}

	if (!checkNum(hdl)) {
		alert("Lütfen HDL kolesterolünüzü giriniz.")
		form.hdl.focus();
		form.hdl.select();
		return false
	}
}


//  Calculate risks

//  Sex Risks
	if (sex == "male") {
		if (age < 35) {agerf = -9}
		if ((age >=35) && (age < 40)) {agerf = -4}
		if ((age >=40) && (age < 45)) {agerf = 0}
		if ((age >=45) && (age < 50)) {agerf = 3}
		if ((age >=50) && (age < 55)) {agerf = 6}
		if ((age >=55) && (age < 60)) {agerf = 8}
		if ((age >=60) && (age < 65)) {agerf = 10}
		if ((age >=65) && (age < 70)) {agerf = 11}
		if ((age >=70) && (age < 75)) {agerf = 12}
		if (age >=75) {agerf = 13}
	}

	if (sex == "female") {
		if (age < 35) {agerf = -7}
		if ((age >=35) && (age < 40)) {agerf = -3}
		if ((age >=40) && (age < 45)) {agerf = 0}
		if ((age >=45) && (age < 50)) {agerf = 3}
		if ((age >=50) && (age < 55)) {agerf = 6}
		if ((age >=55) && (age < 60)) {agerf = 8}
		if ((age >=60) && (age < 65)) {agerf = 10}
		if ((age >=65) && (age < 70)) {agerf = 12}
		if ((age >=70) && (age < 75)) {agerf = 14}
		if (age >=75) {agerf = 16}
	}

	form.agerf.value = agerf;


//  Smoking risks
	if (smoke == "yes") {
	if (sex == "male") {
		if (age < 40) {smokerf = 8}
		if ((age >=40) && (age < 50)) {smokerf = 5}
                if ((age >=50) && (age < 60)) {smokerf = 3}
		if (age >=60) {smokerf = 1}
	}
	if (sex == "female") {
		if (age < 40) {smokerf = 9}
		if ((age >=40) && (age < 50)) {smokerf = 7}
                if ((age >=50) && (age < 60)) {smokerf = 4}
                if ((age >=60) && (age < 70)) {smokerf = 2}
		if (age >=70) {smokerf = 1}
	}
		smokerr = "High"
	} else {
		smokerf = 0;
		smokerr = "Low"
	}

	form.smokerf.value = smokerf;
	form.smokerr.value = smokerr;


//  Blood Pressure risks

if (checkNum(sbp)) {
if (sex == "male") {
	if (sbp < 120) {sbppt = 0}
        if ((sbp >=120) && (sbp < 130)) {sbppt = 0}
	if ((sbp >=130) && (sbp < 140)) {sbppt = 1}
	if ((sbp >=140) && (sbp < 160)) {sbppt = 1}
	if (sbp >= 160) {sbppt = 2}
        bprf = sbppt
        if ((BPmed == "yes") && (sbp >=120)) {bprf = sbppt + 1}
} else {		//  For females...
	if (sbp < 120) {sbppt = 0}
        if ((sbp >=120) && (sbp < 130)) {sbppt = 1}
	if ((sbp >=130) && (sbp < 140)) {sbppt = 2}
	if ((sbp >=140) && (sbp < 160)) {sbppt = 3}
	if (sbp >= 160) {sbppt = 4}
        bprf = sbppt
        if ((BPmed == "yes") && (sbp >=120)) {bprf = sbppt + 2}
        }
		bprr = "Very Low"
		if (sbp >= 120)  {bprr = "Low"}
                if (sbp >= 130) {bprr = "Moderate"}
                if (sbp >= 140) {bprr = "High"}
                if (sbp >= 160)  {bprr = "Very High"}
	form.bprf.value = bprf;
	form.bprr.value = bprr;
} else {
	form.sbp.value = "";
	form.dbp.value = "";
	form.bprf.value = "";
	form.bprr.value = "";
}


//  Cholesterol risks

if (checkNum(cholnum)) {
if (sex == "male") {
                cholrf = 0
		if (cholnum >= 240) {cholrf = cholrf + 1}
	        if ((age < 70) && (cholnum >= 160)) {cholrf = cholrf + 1}
	        if ((age < 70) && (cholnum >= 280)) {cholrf = cholrf + 1}
	        if ((age < 60) && (cholnum >= 160)) {cholrf = cholrf + 1}
	        if ((age < 60) && (cholnum >= 200)) {cholrf = cholrf + 1}
	        if ((age < 50) && (cholnum >= 160)) {cholrf = cholrf + 1}
	        if ((age < 50) && (cholnum >= 200)) {cholrf = cholrf + 1}		        if ((age < 50) && (cholnum >= 280)) {cholrf = cholrf + 1}
	        if ((age < 40) && (cholnum >= 160)) {cholrf = cholrf + 1}
	        if ((age < 40) && (cholnum >= 200)) {cholrf = cholrf + 1}		        if ((age < 40) && (cholnum >= 240)) {cholrf = cholrf + 1}	
} else {		//  For females...
                cholrf = 0
		if (cholnum >= 160) {cholrf = cholrf + 1}
		if (cholnum >= 240) {cholrf = cholrf + 1}
	        if ((age < 70) && (cholnum >= 200)) {cholrf = cholrf + 1}
	        if ((age < 70) && (cholnum >= 280)) {cholrf = cholrf + 1}
	        if ((age < 60) && (cholnum >= 160)) {cholrf = cholrf + 1}
	        if ((age < 60) && (cholnum >= 200)) {cholrf = cholrf + 1}
	        if ((age < 60) && (cholnum >= 240)) {cholrf = cholrf + 1}
	        if ((age < 50) && (cholnum >= 160)) {cholrf = cholrf + 1}
	        if ((age < 50) && (cholnum >= 200)) {cholrf = cholrf + 1}
		if ((age < 50) && (cholnum >= 240)) {cholrf = cholrf + 1}
	        if ((age < 40) && (cholnum >= 160)) {cholrf = cholrf + 1}
	        if ((age < 40) && (cholnum >= 200)) {cholrf = cholrf + 1}		        if ((age < 40) && (cholnum >= 240)) {cholrf = cholrf + 1}
}
	cholrr = "Very Low"
        if (cholnum >= 160) {cholrr = "Low"}
	if (cholnum >= 200) {cholrr = "Moderate"}
	if (cholnum >= 240) {cholrr = "High"}
	if (cholnum >= 280) {cholrr = "Very High"}
	form.cholrf.value = cholrf;
	form.cholrr.value = cholrr
} else {
	form.ldlchol.selectedIndex = 0;
	form.cholnum.value = "";
	form.cholrf.value = "";
	form.cholrr.value = ""
}


//  HDL risks
if (checkNum(hdl)) {
	if (hdl < 40) {
		hdlrf = 2;
		hdlrr = "High"
	}
	if ((hdl >=40) && (hdl < 50)) {
		hdlrf = 1;
		hdlrr = "Moderate"
	}
	if ((hdl >= 50) && (hdl < 60)) {
		hdlrf = 0;
		hdlrr = "Low"
	}
	if (hdl >= 60) {
                hdlrf = -1
		hdlrr = "Very Low"
	}
	form.hdlrf.value = hdlrf;
	form.hdlrr.value = hdlrr
} else {
	form.hdl.value = "";
	form.hdlrf.value = "";
	form.hdlrr.value = ""
}


//  Calculate Point Total
	if (isNaN(bprf)) {bprf = 0}
	if (isNaN(cholrf)) {cholrf = 0}
	if (isNaN(hdlrf)) {hdlrf = 0}

	totalpts = agerf + smokerf + bprf + cholrf + hdlrf;
	form.totalpts.value = totalpts;


//  Find 10-Year Risk
if (sex == "male") {
         chdrisk = 1
         if (totalpts >= 5) {chdrisk = 2}
         if (totalpts >= 7) {chdrisk = 3}
         if (totalpts >= 8) {chdrisk = 4}
         if (totalpts >= 9) {chdrisk = 5}
         if (totalpts >= 10) {chdrisk = 6}
         if (totalpts >= 11) {chdrisk = 8}
         if (totalpts >= 12) {chdrisk = 10}
         if (totalpts >= 13) {chdrisk = 12}
         if (totalpts >= 14) {chdrisk = 16}
         if (totalpts >= 15) {chdrisk = 20}
         if (totalpts >= 16) {chdrisk = 25}
         if (totalpts >= 17) {chdrisk = 30}
	//  Male average & low risk
	gh = Math.floor((age - 30) / 5);
	if (gh < 0) {gh = 0}
	if (gh > 8) {gh = 8}

	avgrisk = avgmrisk[gh][0];
} else {	//  Risks for women...
         chdrisk = 1
         if (totalpts >= 13) {chdrisk = 2}
         if (totalpts >= 15) {chdrisk = 3}
         if (totalpts >= 16) {chdrisk = 4}
         if (totalpts >= 17) {chdrisk = 5}
         if (totalpts >= 18) {chdrisk = 6}
         if (totalpts >= 19) {chdrisk = 8}
         if (totalpts >= 20) {chdrisk = 11}
         if (totalpts >= 21) {chdrisk = 14}
         if (totalpts >= 22) {chdrisk = 17}
         if (totalpts >= 23) {chdrisk = 22}
         if (totalpts >= 24) {chdrisk = 27}
         if (totalpts >= 25) {chdrisk = 30}
	//  Female average & low risk
	gh = Math.floor((age - 30) / 5);
	if (gh < 0) {gh = 0}
	if (gh > 8) {gh = 8}

	avgrisk = avgfrisk[gh][0];
}
        LDLgoal = "<160"
        if (chdrisk >= 10) {LDLgoal = "<130"}
        if (chdrisk > 20) {LDLgoal = "<100"}
	form.chdrisk.value = chdrisk;
	form.avgrisk.value = avgrisk;
        form.LDLgoal.value = LDLgoal;

	return true;
}



//  An array of average CHD risk factors for men
//  avgmrisk[x] = [avgrisk, lowrisk]

avgmrisk = new Array(9)
for (g=0; g < 9; g++) {
	avgmrisk[g] = new Array(1)
}

avgmrisk[0] = [1,2]
avgmrisk[1] = [4,3]
avgmrisk[2] = [4,4]
avgmrisk[3] = [8,4]
avgmrisk[4] = [10,6]
avgmrisk[5] = [13,7]
avgmrisk[6] = [20,9]
avgmrisk[7] = [22,11]
avgmrisk[8] = [25,14]


//  An array of average CHD risk factors for women
//  avgfrisk[x] = [avgrisk, lowrisk]

avgfrisk = new Array(9)
for (g=0; g < 9; g++) {
	avgfrisk[g] = new Array(1)
}

avgfrisk[0] = ["< 1","< 1"]
avgfrisk[1] = ["< 1",1]
avgfrisk[2] = [1,2]
avgfrisk[3] = [2,3]
avgfrisk[4] = [3,5]
avgfrisk[5] = [7,7]
avgfrisk[6] = [8,8]
avgfrisk[7] = [9,8]
avgfrisk[8] = [11,8]



function checkNum(val) {
	if ((val == null) || (isNaN(val)) || (val == "") || (val < 0)) {
		return false
	}
	return true;
}
