var ns4 = (document.layers)? true : false;
var ie4 = (document.all)? true : false;
//  var ie4 = (document.all && !document.getElementById)? true : false;
//  var ie5 = (document.getElementById && document.all)? true : false;
var ns6 = (document.getElementById && !document.all)? true: false;
var w3c = (document.getElementById)? true : false;

var dayName = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");

var monName = new Array("January", "February", "March", "April",	"May", "June", "July", "August", "September", "October",
	"November", "December"); 

	//  Create array of maximum days
	var maxDays = new Array(12);

	maxDays[0] = 31;	// January has 31 days
	maxDays[1] = 28;
	maxDays[2] = 31;
	maxDays[3] = 30;
	maxDays[4] = 31;
	maxDays[5] = 30;
	maxDays[6] = 31;
	maxDays[7] = 31;
	maxDays[8] = 30;
	maxDays[9] = 31;
	maxDays[10] = 30;
	maxDays[11] = 31;

function numDays(month,year) {
	//  Year 2000 test
	if (year < 300) {year += 1900}
	if (month == 1) {		//  February
		if ((year / 4) == Math.floor(year/4)) {
			if ((year / 100) == Math.floor(year/100)) {
				if ((year / 400) == Math.floor(year/400)) {days = 29;}
				else {days = 28;}
			} else {days = 29;}
		} else {days = 28;}
	} else {days = maxDays[month]}
	
	return days;
}

function whatDay(form,whichOne) {
	var month = eval("form.month" + whichOne + ".selectedIndex;");
	var date = eval("form.date" + whichOne + ".selectedIndex + 1;");
	var year = eval("form.year" + whichOne + ".value;");
	if (month==-1 || date==0 || year=="") {return;}

	//  Change dates to reflect max days in selected month
	newDays = numDays(month,year);
	daysObject = eval("form.date" + whichOne);
	curDays = daysObject.length;
		
	if (curDays > newDays) {
    	for (i=0; i<(curDays - newDays); i++) {
			daysObject.options[daysObject.options.length - 1] = null
		}
		if (date > newDays) {daysObject.selectedIndex = (daysObject.options.length - 1);}
	}
	if (newDays > curDays) {
		for (i=curDays; i < newDays; i++) {
			newOption = new Option(daysObject.options.length + 1);
			daysObject.options[i] = newOption;
		}
	}
	if (daysObject.selectedIndex < 0) {daysObject.selectedIndex = daysObject.options.length - 1;}
	date = daysObject.selectedIndex + 1;

	var whatDate = new Date(monName[month] + " " + date + ", " + year + " 12:00:00");
	eval("form.whatTime" + whichOne + ".value = whatDate.getTime();");

	//  Change name of day
	//  eval("form.day" + whichOne + ".selectedIndex = whatDate.getDay();");
	var changeDay = eval(getLabel("day" + whichOne));
	changeDay.innerHTML = dayName[whatDate.getDay()];

	
	if (whichOne == 0) {				// Calculate current age
		var today = new Date();
		var addTime = today.getTime() - whatDate.getTime();

		var addDays = addTime / (1000*60*60*24);
		var addWeeks = addDays / 7;
		var oldaddWeeks = addWeeks;
//		var addMonths = addDays / 30;
			var addMonthsYr = 12 * (today.getFullYear() - whatDate.getFullYear());
			var addMonthsMon = today.getMonth() - whatDate.getMonth();
			var addMonthsDay = (today.getDate() - whatDate.getDate()) / 30;
			
			addMonths = addMonthsYr + addMonthsMon + roundNum(addMonthsDay,1);
		var addYears = addMonths / 12;
		
		var addWeekDays = roundNum((addDays % 7),0);
		if (addWeekDays == 7) {
			addWeeks += 1;
			oldaddWeeks += 1;
			addWeekDays = 0
		}
		addWeeks = Math.floor(addWeeks);
		var oldaddWeeks = addWeeks;
		if (addWeekDays != 0) {addWeeks = addWeeks + " " + addWeekDays + "/7"}

		form.ageDays.value = roundNum(addDays,0);
		form.ageWeeks.value = addWeeks;
		form.ageMonths.value = roundNum(addMonths,1);
		form.ageYears.value = roundNum(addYears,1);

		if (addYears < 1) {var ageType = 2} else {ageType = 3};
		if (addMonths < 1) {var ageType = 1};
		if (oldaddWeeks < 1) {var ageType = 0};
		
		getAge(ageType);
	}
	if (whichOne == 1) {				// Calculate gestational age
		if (document.growthForm.isNewborn.checked  || document.growthForm.isPremie.checked) {
			var monthBirth = document.growthForm.month0.selectedIndex;
			var dateBirth = document.growthForm.date0.selectedIndex + 1;
			var yearBirth = document.growthForm.year0.value;
			var birthDate = new Date(monName[monthBirth] + " " + dateBirth + ", " + yearBirth + " 12:00:00");
			birthDate = birthDate.getTime();

			eddDate = whatDate.getTime();

			//  Gestational age, in weeks
			var gestAge = (birthDate - eddDate) / (1000 * 60 * 60 * 24) + (40 * 7);
			document.growthForm.gestAge.value = gestAge / 7;

/*			This was taken out because it the "premie tags" always disappeared if user didn't change dates in correct order

			//  If gest age > 38 weeks, baby is NOT a premie
			if (((gestAge/7) >= 38) && document.growthForm.isPremie.checked) {document.growthForm.isPremie.click();}
			if (((gestAge/7) < 38) && !(document.growthForm.isPremie.checked)) {document.growthForm.isPremie.click();}
*/			
			var gestAgeDays = roundNum((gestAge % 7),0);
			if (gestAgeDays == 7) {
				gestAge += 1;
				gestAgeDays = 0;
			}
			gestAge = Math.floor(gestAge / 7);
			if (gestAgeDays != 0) {gestAge = gestAge + " " + gestAgeDays + "/7"}
				
			document.growthForm.age1.value = gestAge;
			document.growthForm.gestAgeText.value = gestAge;
		}
	}
	if (document.growthForm.isPremie.checked) {calccAge()}
	
	return true;
}

function calccAge() {
	//  Calculate corrected Gestational Age
		var gf = document.growthForm;
		var gestAge = gf.gestAge.value;	//  Gest Age in weeks
		var today = new Date();
		var eddDate = new Date();
		var birthDate = new Date();
		var edd = gf.whatTime1.value;
		var birth = gf.whatTime0.value;
		var correctGest;

		//  Calculate Corrected Gestational Age (in days)
		if (edd != "") {
			eddDate.setTime(edd);
			correctGest = (today.getTime() - eddDate.getTime()) / (1000 * 60 * 60 * 24);
		} else {
			if (birth != "") {
				birthDate.setTime(birth);
				var age = today.getTime() - birthDate.getTime();
				var age = age / (1000 * 60 * 60 * 24);
			} else {
				var age = gf.age0.value;
				var ageType = gf.ageType0.selectedIndex;

				if (ageType == 1) {
					if (age.indexOf("/") != -1) {		// Is this value a fraction?
						age = evalFrac(age);
						if (age == false) {return false}
					}
					age *= 7;
				}
				if (ageType == 2) {age *= 30}
				if (ageType == 3) {age *= 365}
			}
			correctGest = age - 7 * (40 - gestAge);
		}
		correctGest += 40 * 7;

		if (correctGest > (40 * 7)) {
			gf.correctGest.value = correctGest / 7;
			//  If corrected gest age > 40 weeks...
			correctGest = correctGest - (40 * 7);

			correctDays = correctGest;
			var correctWeeks = correctDays / 7;
			var oldcorrectWeeks = correctWeeks;
			if (edd != "") {
				var correctMonthsYr = 12 * (today.getFullYear() - eddDate.getFullYear());
				var correctMonthsMon = today.getMonth() - eddDate.getMonth();
				var correctMonthsDay = (today.getDate() - eddDate.getDate()) / 30;
			
				correctMonths = correctMonthsYr + correctMonthsMon + roundNum(correctMonthsDay,1);
				var correctYears = correctMonths / 12;
			} else {
				var correctMonths = correctDays / 30;
				var correctYears = correctDays / 365;
			}
/*
	alert("correctDays = " + correctDays +
		"\ncorrectWeeks = " + correctWeeks +
		"\ncorrectMonths = " + correctMonths +
		"\ncorrectYears = " + correctYears +
		"\ntoday Year = " + today.getFullYear() +
		"\neddDate Year = " + eddDate.getFullYear());
*/
			var addWeekDays = roundNum((correctDays % 7),0);
			if (addWeekDays == 7) {
				correctWeeks += 1;
				oldcorrectWeeks += 1;
				addWeekDays = 0
			}
			correctWeeks = Math.floor(correctWeeks);
			var oldcorrectWeeks = correctWeeks;
			if (addWeekDays != 0) {correctWeeks = correctWeeks + " " + addWeekDays + "/7"}

			gf.correctDays.value = roundNum(correctDays,0);
			gf.correctWeeks.value = correctWeeks;
			gf.correctMonths.value = roundNum(correctMonths,1);
			gf.correctYears.value = roundNum(correctYears,1);

			if (correctYears < 1) {var ageType = 2} else {ageType = 3};
			if (correctMonths < 1) {var ageType = 1};
			if (oldcorrectWeeks < 1) {var ageType = 0};
			
			getCorrectAge(ageType);
		} else {
			//  If corrected gest age < 40 weeks
			document.growthForm.correctGest.value = correctGest / 7;
			
			var corrGestDays = roundNum((correctGest % 7),0);
			if (corrGestDays == 7) {
				correctGest += 1;
				corrGestDays = 0;
			}
			correctGest = Math.floor(correctGest / 7);
			if (corrGestDays != 0) {correctGest = correctGest + " " + corrGestDays + "/7"}
			
			gf.correctGestText.value = document.growthForm.age2.value = correctGest;
			gf.ageType2.selectedIndex = 1;
		}
	return true;
}

function checkGestWeek(frac) {
	document.growthForm.gestAgeText.value = frac;
	if (frac.indexOf("/") != -1) {		// Is this value a fraction?
		frac = evalFrac(frac);
		if (frac == false) {return false}
	}

	if (isNaN(parseFloat(frac)) || frac < 15) {
		alert("Please enter a valid gestational age.");
		document.growthForm.age1.select();
		document.growthForm.age1.focus();
		return false;
	}
	document.growthForm.gestAge.value = frac;
	return true;
}

function recalcGest(form) {
	if (form.isPremie.checked && form.whatTime1.value != "") {
		whatDay(document.growthForm,1);
	}
	return true;
}

function clearBirth(form) {
	// form.day0.selectedIndex=-1;
	form.month0.selectedIndex=-1;
	form.date0.selectedIndex=-1;
	form.year0.value='';
	form.whatTime0.value='';
	var changeDay = eval(getLabel("day0"));
	changeDay.innerHTML = "";
	return true;
}

function clearGest(form) {
	// form.day1.selectedIndex=-1;
	form.month1.selectedIndex=-1;
	form.date1.selectedIndex=-1;
	form.year1.value='';
	form.whatTime1.value = "";
	form.correctDays.value = "";
	form.correctWeeks.value = "";
	form.correctMonths.value = "";
	form.correctYears.value = "";
	var changeDay = eval(getLabel("day1"));
	changeDay.innerHTML = "";
	return true;
}

function getAge(ageType) {
	if (ageType == 0) {var whatAge = document.growthForm.ageDays.value};
	if (ageType == 1) {var whatAge = document.growthForm.ageWeeks.value};
	if (ageType == 2) {var whatAge = document.growthForm.ageMonths.value};
	if (ageType == 3) {var whatAge = document.growthForm.ageYears.value};

	document.growthForm.age0.value = whatAge;
	document.growthForm.ageType0.selectedIndex = ageType;
	return true;
}

function getCorrectAge(ageType) {
	if (ageType == 0) {var whatAge = document.growthForm.correctDays.value};
	if (ageType == 1) {var whatAge = document.growthForm.correctWeeks.value};
	if (ageType == 2) {var whatAge = document.growthForm.correctMonths.value};
	if (ageType == 3) {var whatAge = document.growthForm.correctYears.value};

	document.growthForm.age2.value = whatAge;
	document.growthForm.ageType2.selectedIndex = ageType;
	return true;
}

function checkDate(month,day,year) {
	//  Reset February's "maxdays"
	maxDays[1] = 28;

	//  Check February leap year
	//  Years divisible by 100 are NOT leap years (1700, 1800, 1900), 
	//  	except years divisible by 400 (2000, 2400) are leap years.

	if ((month == 1) && ((year % 4) == 0)) {
		if (((year % 100) == 0) && ((year % 400) != 0)) {maxDays[1] = 28}
			else {maxDays[1] = 29}
	}

	if (day > maxDays[month]) {return false}

	return true;
}


function evalFrac(frac) {
	var slash = frac.indexOf("/");

	if (frac.charAt(slash + 1) != 7) {	// Is denominator 7?
		alert("Weeks are expressed in fractions of 7.");
		document.growthForm.age1.select();
		document.growthForm.age1.focus();
		return false;
	}

	//  Check numerator
	if ((Number(frac.charAt(slash-1)) > 6) || 
	   //isNaN(chaz) || frac.chuckhu(swish)
	   (isNaN(frac.charAt(slash-1)))) {
		alert("Please enter a proper fraction.");
		document.growthForm.age1.select();
		document.growthForm.age1.focus();
		return false;
	}

	if ((frac.charAt(slash-2) != " ") && (frac.indexOf("/") != 1))
		{alert("Please enter a proper fraction.");
		document.growthForm.age1.select();
		document.growthForm.age1.focus();
		return false;
	}

	//  Evaluate the fraction
	var top = Number(frac.charAt(slash-1));
	var fraction = top / 7;

	//  Anything before the fraction?
	if (frac.indexOf("/") == 1) {
		if (fraction == 0) {
			fraction = 0.001
				//  Prevents script from interpreting
				//  this as a 'false' value
		}
		return fraction
	}

	var fullNum = frac.substring(0,frac.indexOf(" "));
	if (isNaN(fullNum)) {
		alert("Please enter a proper number of weeks.");
		document.growthForm.age1.select();
		document.growthForm.age1.focus();
		return false
	}

	frac = Number(fullNum) + fraction;
		if (frac == 0) {frac = 0.001}
	return frac;
}

function checkForm(form) {
	var age = form.age0.value;
	var ageType = form.ageType0.selectedIndex;
	var sex = form.sex.selectedIndex;
	var height = Number(form.height.value);
	var heightTypeNum = form.heightType.selectedIndex;
	var weight = Number(form.weight.value);
	var weightTypeNum = form.weightType.selectedIndex;
	var hc = form.hc.value;
	var hcType = form.hcType.selectedIndex;
	
	if (age == "") {
		if (form.month0.selectedIndex!=-1 && form.date0.selectedIndex!=-1 && form.year0.value!="") {
			whatDay(document.growthForm,0);
			age = form.age0.value;
		}
	}
	
	if ((isNaN(parseFloat(age))) || (age < 0)) {
		alert("Please enter a valid patient age.");
		form.age0.select();
		form.age0.focus();
		return false;
	}
	if ((age > 20) && (ageType == 3)) {
		alert("Growth charts are valid only for children LESS THAN age 20.")
		form.age0.select();
		form.age0.focus();
		return false;
	}
	if ((age > 240) && (ageType == 2)) {
		alert("Growth charts are valid only for children LESS THAN age 20.")
		form.age0.select();
		form.age0.focus();
		return false;
	}
	//  Select wrong growth chart?
	var whatAge = "";
	if ((age > 3 && ageType == 3) || (age > 36 && ageType == 2) || (age > 156 && ageType == 1) || (age > 1095 && ageType == 0)) {
		var whatAge = "older";
	}
	if ((age < 2 && ageType == 3) || (age < 24 && ageType == 2) || (age < 105 && ageType == 1) || (age < 730 && ageType == 0)) {
		var whatAge = "younger";
	}
	if (((isNaN(parseFloat(height))) || parseFloat(height) <= 0) && (form.chart[4].checked==0 && form.chart[7].checked==0 && form.chart[10].checked==0)) {
		alert("Please enter a valid patient height.");
		form.height.select();
		form.height.focus();
		return false;
	}
	if (((isNaN(parseFloat(weight))) || parseFloat(weight) <= 0) && (form.chart[6].checked==0 && form.chart[7].checked==0 && form.chart[12].checked==0)) {
		alert("Please enter a valid patient weight.");
		form.weight.select();
		form.weight.focus();
		return false;
	}
	if (((isNaN(parseFloat(hc))) || (hc <= 0)) && (whatAge == "younger") && (form.chart[0].checked || form.chart[1].checked || form.chart[7].checked || form.chart[8].checked)) {
		alert("Please enter a valid head circumference.");
		form.hc.select();
		form.hc.focus();
		return false;
	}
	
	//  Any charts selected?
	var anyChart = 0;
	for (var i=0; i < form.chart.length; i++) {
		if (form.chart[i].checked) {
			var whatChart = document.growthForm.chart[i].value;
			//  alert("whatChart = " + whatChart + "\nchartValue = " + form.chart[i].value);
			if (i == 0) {whatChart = "Newborn";}			//  Newborn Growth Chart
				else if (i == 1) {whatChart = "Premie";}		//  Premie Growth Chart
				else if (i == 2) {							//  Down's Growth Chart
					if (sex == 0) {whatChart = "downgirl1"} else {whatChart = "downboy1"}
				} else if (i == 3) {
					if (sex == 0) {whatChart = "downgirl2"} else {whatChart = "downboy2"}
				} else {
					if (sex == 0) {parseInt(whatChart);whatChart++;};
					if (parseInt(whatChart) < 10) {whatChart = "0" + whatChart;}
					if (parseInt(whatChart) > 16) {whatChart = "CJ41C0" + whatChart;}
						else {whatChart = "chart" + whatChart;}
			}
			form.chartNum.value = i;
			anyChart = 1;
		}
	}
	if (anyChart == 0) {
		alert("Please select a growth chart.");
		return false;
	}
	
	//  Convert height
	var heightType = form.heightType.options[heightTypeNum].text;
	if (heightType == "inches") {height *= 2.54;}		// convert inches to cm
	if (heightType == "feet") {					// convert feet to cm
		var inch = Number(form.inch.value);
		if ((isNaN(parseFloat(inch))) || (inch < 0) || (inch >= 12)) {
			alert("Please enter a valid height in inches.");
			form.inch.select();
			form.inch.focus();
			return false;
		}
		height += inch/12;
		height *= 30.48;
	}
	if (heightType == "meters") {height *= 100}
	if (heightType != "cm") {
		form.height.value = roundNum(height,2);
		form.heightType.selectedIndex = 0;
	}

	//  Convert weight
	var weightType = form.weightType.options[weightTypeNum].text;
	if (weightType != "kg") {
		if (weightType == "grams") {						// convert grams to kg
			weight = weight / 1000;
			form.weight.value = roundNum(weight,3);
		}
		if (weightType == "lbs") {						// convert lbs to kg
			var ounce = Number(form.ounce.value);
			if ((isNaN(parseFloat(ounce))) || (ounce < 0) || (ounce >= 16)) {
				alert("Please enter valid ounces.");
				form.ounce.select();
				form.ounce.focus();
				return false;
			}
			weight += ounce/16;
			weight *= 0.45359237;
			form.weight.value = roundNum(weight,2);
		}
		form.weightType.selectedIndex = 1;
	}

	//  Convert head circumference
	if (hcType == 1) {							// convert inches to cm
		hc *= 2.54;
		form.hc.value = roundNum(hc,2);
		form.hcType.selectedIndex = 0;
	}
	
	if (form.chart[0].checked || form.chart[1].checked || form.chart[2].checked || form.chart[4].checked || form.chart[5].checked || form.chart[6].checked || form.chart[7].checked || form.chart[8].checked) {
		if (whatAge == "older") {
			alert("Please choose an APPROPRIATE growth chart for this age group.");
			return false;
		}
		if (ageType != "2") {
			age = convertAge(age, ageType, "month");
			form.age0.value = age;
			form.ageType0.selectedIndex = 2;
		}
	}

	if (form.chart[3].checked || form.chart[9].checked || form.chart[10].checked || form.chart[11].checked || form.chart[12].checked || form.chart[13].checked) {
		if (whatAge == "younger") {
			alert("Please choose an APPROPRIATE growth chart for this age group.");
			return false;
		}
		if (ageType != "3") {
			age = convertAge(age, ageType, "year");
			form.age0.value = age;
			form.ageType0.selectedIndex = 3;
		}
	}
	
	form.whatChart.value = whatChart;
//	alert("correctGest =" + form.correctGest.value);
		
	return true;
}

function chartOptions() {
	var gf = document.growthForm;
	var age = gf.age0.value;
	var ageType = gf.ageType0.selectedIndex;
	if (age == "" || isNaN(parseFloat(age)) || age < 0) {return false}

//	age = parseFloat(age);
	var ageYears = convertAge(age, ageType, "year");
	ageYears = parseFloat(ageYears);
	
//	alert("ageYears = " + ageYears + "\nageType = " + ageType);
	
	if (ageYears < 2) {
		//  color parameters to change
		//		bgcolor="#e3e3ff" style="color:gray"
		gf.youngOld.value = "younger";		
		if (ie4 || ns6) {
			changeTable ("old", "olderLight");
			changeTable ("young", "younger");
		} else if (ns4) {
/*			document.layers["younger"].bgColor = "#e3e3ff";
			document.layers["older"].bgColor = "#ccccff"
*/		}
	} else if (ageYears > 3) {
		gf.youngOld.value = "older";
		if (ie4 || ns6) {
			changeTable ("young", "youngerLight");
			changeTable ("old", "older");
		} else if (ns4) {
/*			document.layers["older"].bgColor = "#e3e3ff"
			document.layers["younger"].bgColor = "#ccccff"
*/		}
	} else {
		gf.youngOld.value = "both";
		if (ie4 || ns6) {
			changeTable ("old", "older");
			changeTable ("young", "younger");
		} else if (ns4) {
/*			document.layers["younger"].bgColor = "#ccccff"
			document.layers["older"].bgColor = "#ccccff"
*/		}
	}
	
	//  Display appropriate Down's charts
	if (gf.isDown.checked) {
		var yOld = gf.youngOld.value;
		if (yOld == "younger") {
			if (ie4) {
				document.all["downChart"].style.display = "";
				document.all["downChart2"].style.display = "none";
			} else if (ns6) {
				document.getElementById("downChart").style.display = "";
				document.getElementById("downChart2").style.display = "none";
			}
			if (gf.chart[3].checked) {gf.chart[2].click();}
		}
		if (yOld == "older") {
			if (ie4) {
				document.all["downChart"].style.display = "none";
				document.all["downChart2"].style.display = "";
			} else if (ns6) {
				document.getElementById("downChart").style.display = "none";
				document.getElementById("downChart2").style.display = "";
			}
			if (gf.chart[2].checked) {gf.chart[3].click();}
//			if (gf.chart.value == "down") {gf.chart[3].click();}
		}
		if (yOld == "both") {
			if (ie4) {
				document.all["downChart"].style.display = "";
				document.all["downChart2"].style.display = "";
			} else if (ns6) {
				document.getElementById("downChart").style.display = "";
				document.getElementById("downChart2").style.display = "";
			}
		}
	}
	
	//  Check to see if child is a newborn (less than 7 days old)
	var ageDays = convertAge (age, ageType, "day");
	ageDays = parseFloat (ageDays);
	
	if (ageDays < 8) {
		if (ie4) {
			//  document.all["newborn"].style.display = "";}
			gf.isNewborn.checked = true;
		}
			//  else if (ns4) {document.layers["newborn"].display = "";}
	} 
/*	This section removed to allow evaluation of newborn data, even if baby is no longer a newborn	
	else {
		if (ie4) {document.growthForm.isNewborn.checked = false;}
	}
*/
	newbornTags();	
	
	return true;
}

function changeTable(oldYoung, whatColor) {
//	if (oldYoung == "young") {var lastText = 8} else {var lastText = 6}
	for (var i=1; i < 5; i++) {
		if (ie4) {
			iText = "document.all[\"" + oldYoung + i + "\"].className = \"" + whatColor + "\"";
			eval (iText);
		}
		if (ns6) {document.getElementById(oldYoung+i).className = whatColor;}
	}
	
	if (whatColor.indexOf("Light") != -1) {whatColor = "gray"} else {whatColor = "black"};
	if (oldYoung == "young") {var lastText = 8} else {var lastText = 5}
	for (i=0; i < (lastText + 1); i++) {
		if (ie4) {
			iText = "document.all[\"" + oldYoung + "Text" + i + "\"].style.color = \"" + whatColor + "\"";
			eval (iText);
		}
		if (ns6) {document.getElementById(oldYoung+"Text"+i).style.color = whatColor;}
	}
	return true;
}

function convertAge(age, ageType, convertTo) {
	parseFloat(age);
	if (convertTo == "month") {
		if (ageType == "2") {return age;}
		if (document.growthForm.ageMonths.value != "") {
			return document.growthForm.ageMonths.value;
		}
		if (ageType == "0") {age = age/30}
		if (ageType == "1") {age = age/4}
		if (ageType == "3") {age *= 12}

		age = roundNum(age,1);
		return age;
	}
	
	if (convertTo == "year") {
		if (ageType == "3") {return age;}
		if (document.growthForm.ageYears.value != "") {
			return document.growthForm.ageYears.value;
		}
		if (ageType == "0") {age = age/365}
		if (ageType == "1") {age = age/52}
		if (ageType == "2") {age = age/12}

		age = roundNum(age,1);
		return age;
	}

	if (convertTo == "day") {
		if (ageType == "0") {return age;}
		if (document.growthForm.ageDays.value != "") {
			return document.growthForm.ageDays.value;
		}
		if (ageType == "1") {age = age * 7}
		if (ageType == "2") {age = age * 30}
		if (ageType == "3") {age = age * 365}

		age = roundNum(age,1);
		return age;
	}
}

function newbornTags() {
	if (document.growthForm.isNewborn.checked) {
		if (ie4) {
			document.all["edd"].style.display = "";
			document.all["newbornChart"].style.display = "";
		} else if (ns6) {
			document.getElementById("edd").style.display = "";
			document.getElementById("newbornChart").style.display = "";
		} else if (ns4) {}
		if (document.growthForm.weight.value == "") {document.growthForm.weightType.selectedIndex = 0}
	} else {
		if (ie4) {
			if (!document.growthForm.isPremie.checked) {document.all["edd"].style.display = "none";}
			document.all["newbornChart"].style.display = "none";
		} else if (ns6) {
			if (!document.growthForm.isPremie.checked) {document.getElementById("edd").style.display = "none";}
			document.getElementById("newbornChart").style.display = "none";
		} else if (ns4) {}
		if (document.growthForm.weight.value == "") {document.growthForm.weightType.selectedIndex = 1}
	}
	return true;
}

function premieTags() {
	if (document.growthForm.isPremie.checked) {
		if (ie4) {
			document.all["nowGestAge"].style.visibility = "";
			document.all["edd"].style.display = "";
			document.all["premieChart"].style.display = "";
		} else if (ns6) {
			document.getElementById("nowGestAge").style.visibility = "";
			document.getElementById("edd").style.display = "";
			document.getElementById("premieChart").style.display = "";
		} else if (ns4) {
/*			document.layers["nowGestAge"].document.open();
			document.layers["nowGestAge"].document.write("Hi there!");
			document.layers["nowGestAge"].document.close();
			document.layers["edd"].display = "";
			document.layers["premieChart"].display = "";
*/
		}
		if (document.growthForm.weight.value == "") {document.growthForm.weightType.selectedIndex = 0}
	} else {
		if (ie4) {
			document.all["nowGestAge"].style.visibility = "hidden";
			document.all["premieChart"].style.display = "none";
			if (!document.growthForm.isNewborn.checked) {document.all["edd"].style.display = "none";}
		} else if (ns6) {
			document.getElementById("nowGestAge").style.visibility = "hidden";
			document.getElementById("premieChart").style.display = "none";
			if (!document.growthForm.isNewborn.checked) {document.getElementById("edd").style.display = "none";}
		} else if (ns4) {
/*			document.layers["nowGestAge"].visibility = "hide";
			document.layers["edd"].display = "none";
			document.layers["premieChart"].display = "none";
*/		}
		if (document.growthForm.weight.value == "") {document.growthForm.weightType.selectedIndex = 1}
	}
	return true;
}

function downTags() {
	var yOld = document.growthForm.youngOld.value;
//	alert("youngOld = " + yOld);

	if (document.growthForm.isDown.checked) {
		if (ie4) {
			if (yOld != "older") {document.all["downChart"].style.display = "";}
			if (yOld != "younger") {document.all["downChart2"].style.display = "";}
		} else if (ns6) {
			if (yOld != "older") {document.getElementById("downChart").style.display = "";}
			if (yOld != "younger") {document.getElementById("downChart2").style.display = "";}
		} else if (ns4) {
/*			document.layers["nowGestAge"].document.open();
			document.layers["nowGestAge"].document.write("Hi there!");
			document.layers["nowGestAge"].document.close();
			document.layers["edd"].display = "";
			document.layers["premieChart"].display = "";
*/
		}
	} else {
		if (ie4) {
			document.all["downChart"].style.display = "none";
			document.all["downChart2"].style.display = "none";
//			if (!document.growthForm.isNewborn.checked) {document.all["edd"].style.display = "none";}
		} else if (ns6) {
			document.getElementById("downChart").style.display = "none";
			document.getElementById("downChart2").style.display = "none";
//			if (!document.growthForm.isNewborn.checked) {document.getElementById("edd").style.display = "none";}
		} else if (ns4) {
/*			document.layers["nowGestAge"].visibility = "hide";
			document.layers["edd"].display = "none";
			document.layers["premieChart"].display = "none";
*/		}
	}
	return true;
}

function isFeet() {
	var gF = document.growthForm;
	var huNum = gF.heightType.selectedIndex;
	var hu = gF.heightType.options[huNum].text;
	var inchRow = eval(getLabel("inchRow"));

	if (hu == "feet") {inchRow.style.display = "";}
		else {inchRow.style.display = "none"}
	
	return true;
}

function isOunce() {
	var gF = document.growthForm;
	var wtNum = gF.weightType.selectedIndex;
	var wt = gF.weightType.options[wtNum].text;
	var ounceRow = eval(getLabel("ounceRow"));

	if (wt == "lbs") {ounceRow.style.display = "";}
		else {ounceRow.style.display = "none"}
	return true;
}

function getLabel(nameID) {
	var whatTag;
	if (ie4 || w3c) {whatTag = "document.all[\"" + nameID + "\"]";}
	if (ns6) {whatTag = "document.getElementById(\"" + nameID + "\")";}
	return whatTag;	
}

function roundNum(thisNum,dec) {
	thisNum = thisNum * Math.pow(10,dec)
	thisNum = Math.round(thisNum)
	thisNum = thisNum / Math.pow(10,dec)
	return thisNum
}

