function CheckValue(value) 
{
	if ((value == null) || (isNaN(value)) || (value == "") || (value < 0)) 
	{
		return false;
	}
	return true;
}

function CheckForm(form)
{
	var msg = "", sex, diabetes, smoker, blood_pressure_treatment;
	var falsecnt = 0, truecnt = 0;
	for (i = 0; i < form.elements.length - 2 ; i++)
	{
		if (form.elements[i].type == "radio")
		{
			truecnt = 0;
			falsecnt = 0;
			var element_name = form.elements[i].name;
			var element_length = form.elements[eval('"' + element_name + '"')].length;
			for (j = 0; j < element_length; j++)
			{
				if ((form.elements[eval('"' + element_name + '"')][j].checked))
				{			
					truecnt++;
					if (element_name == "sex")
					{
						sex = form.elements[eval('"' + element_name + '"')][j].value;
					}

					else if (element_name == "diabetes")
					{
						diabetes = form.elements[eval('"' + element_name + '"')][j].value;
					}

					else if (element_name == "smoker")
					{
						smoker = form.elements[eval('"' + element_name + '"')][j].value;
					}
					
					else if (element_name == "blood_pressure_treatment")
					{
						blood_pressure_treatment = form.elements[eval('"' + element_name + '"')][j].value;
					}
					
					break;
				}
				
				else
				{
					falsecnt++;
				}
			}

			if ((falsecnt == element_length) && (truecnt == 0))
			{
				msg = msg + element_name + "\n";
				i += element_length-1;
			}			
		}

		else if (form.elements[i].type == "text")
		{
			var element_name = form.elements[i].name;
			if ((form.elements[i].value == null) || (isNaN(form.elements[i].value)) || (form.elements[i].value == ""))
			{
				msg = msg + element_name + "\n";
			}
		}		
	}

	if (msg != "")
	{
		regEx = /\_/ig;
		msg = msg.replace(regEx," ");
		alert("Please answer the following questions:\n\n" + msg);	
		return false;
	}

	else
	{
		if ((form.age.value < 20) || (form.age.value > 79)) 
		{
			if (!confirm("Results are ONLY applicable between the " + "ages of 20 and 79.  Do you still want to proceed?")) 
			{
				form.reset();
				return false;
			}
			
		}
		
		else if (eval(form.total_cholesterol.value) <= eval(form.hdl_cholesterol.value)) 
		{			
			if (!alert("Your Total Cholesterol level must be higher than your HDL level.  Please go back and correct the values.")) 
			{
				return false;
			}
			
		}
		
		else
		{
			RiskCalculation(form,sex,diabetes,smoker,blood_pressure_treatment);			
		}
	}
}

function RiskCalculation(form,sex,diabetes,smoker,blood_pressure_treatment) 
{
	var age = form.age.value;
	var systolic_blood_pressure = form.systolic_blood_pressure.value;
	var total_cholestorol = form.total_cholesterol.value;
	var hdl_cholesterol = form.hdl_cholesterol.value;
	var total_cholesterol_risk = systolic_blood_pressure_risk = hdl_risk = smoker_risk = chdrisk = average_risk = 0;
	var i;
	
	// Sex
	if (sex == "male") { sex = 2; }
	else if (sex == "female") { sex = 3; }	
	
	// Age
	for (i = 0; i < arrRFAge.length; i++)
	{			
		if ((arrRFAge[i][0] <= age) && (age <= arrRFAge[i][1]))
		{
			age_risk = arrRFAge[i][sex];
			break;
		}
	}
	
	// Total Cholesterol
	
	if ((20 <= age) && (age <= 39))
	{		
		for (i = 0; i < arrRFTC2039.length; i++)
		{						
			if ((arrRFTC2039[i][0] <= total_cholestorol) && (total_cholestorol <= arrRFTC2039[i][1]))
			{				
				total_cholesterol_risk = arrRFTC2039[i][sex];
				break;
			}
		}
	}
	
	else if ((40 <= age) && (age <= 49))
	{		
		for (i = 0; i < arrRFTC4049.length; i++)
		{						
			if ((arrRFTC4049[i][0] <= total_cholestorol) && (total_cholestorol <= arrRFTC4049[i][1]))
			{				
				total_cholesterol_risk = arrRFTC4049[i][sex];
				break;
			}
		}
	}
	
	else if ((50 <= age) && (age <= 59))
	{
		for (i = 0; i < arrRFTC5059.length; i++)
		{						
			if ((arrRFTC5059[i][0] <= total_cholestorol) && (total_cholestorol <= arrRFTC5059[i][1]))
			{				
				total_cholesterol_risk = arrRFTC5059[i][sex];
				break;
			}
		}
	}
	
	else if ((60 <= age) && (age <= 69))
	{
		for (i = 0; i < arrRFTC6069.length; i++)
		{						
			if ((arrRFTC6069[i][0] <= total_cholestorol) && (total_cholestorol <= arrRFTC6069[i][1]))
			{				
				total_cholesterol_risk = arrRFTC6069[i][sex];
				break;
			}
		}
	}
	
	else if ((70 <= age) && (age <= 79))
	{
		for (i = 0; i < arrRFTC7079.length; i++)
		{						
			if ((arrRFTC7079[i][0] <= total_cholestorol) && (total_cholestorol <= arrRFTC7079[i][1]))
			{				
				total_cholesterol_risk = arrRFTC7079[i][sex];
				break;
			}
		}
	}
	

	// Blood Pressure Treatment
	if (blood_pressure_treatment == "yes") { blood_pressure_treatment = 1; }
	else if (blood_pressure_treatment == "no") { blood_pressure_treatment = 0; }
	
	// Systolic Blood Pressure	
	for (i = 0; i < arrRFBP.length; i++)
	{						
		if ((arrRFBP[i][0] <= systolic_blood_pressure) && (systolic_blood_pressure <= arrRFBP[i][1]))
		{				
			systolic_blood_pressure_risk = arrRFBP[i][sex][blood_pressure_treatment];
			break;
		}
	}
	
	// HDL
	for (i = 0; i < arrRFHDL.length; i++)
	{						
		if ((arrRFHDL[i][0] <= hdl_cholesterol) && (hdl_cholesterol <= arrRFHDL[i][1]))
		{				
			hdl_risk = arrRFHDL[i][sex];
			break;
		}
	}
	
	// Smoker
	if (smoker == "yes")
	{
		for (i = 0; i < arrRFSmo.length; i++)
		{						
			if ((arrRFSmo[i][0] <= age) && (age <= arrRFSmo[i][1]))
			{				
				smoker_risk = arrRFSmo[i][sex];
				break;
			}
		}
	}
	
	
	total_risk = eval(age_risk + total_cholesterol_risk + systolic_blood_pressure_risk + hdl_risk + smoker_risk);
	// testing purposes
	//alert("total_risk = " + age_risk + "+" + total_cholesterol_risk + "+" + systolic_blood_pressure_risk + "+" + hdl_risk + "+" + smoker_risk);
	form.totalpts.value = total_risk;
	
	if (sex == 2)
	{
		if (total_risk < 0)
		{
			form.chdrisk.value = "< 1";		
		}
		
		else if (total_risk >= 17)
		{
			form.chdrisk.value = ">= 30";
		}
		
		else
		{
			for (i = 0; i < arrTenYrRisk.length; i++)
			{						
				if (arrTenYrRisk[i][0] == total_risk)
				{				
					form.chdrisk.value = arrTenYrRisk[i][sex];		
					break;
				}
			}
		}
	}
	
	else if (sex == 3)
	{
		if (total_risk < 9)
		{
			form.chdrisk.value = "< 1";		
		}
		
		else if (total_risk >= 25)
		{
			form.chdrisk.value = ">= 30";			
		}
		
		else
		{			
			for (i = 0; i < arrTenYrRisk.length; i++)
			{				
				if (arrTenYrRisk[i][0] == total_risk)
				{									
					form.chdrisk.value = arrTenYrRisk[i][sex];		
					break;
				}
			}
		}
	}			
	
	return true;
}