// JScript source code

function ResetForm(f)
{
	// Clear the values of all the input boxes

	f.txtSample1.value = "";
	f.txtSample2.value = "";
	f.txtResponse1.value = "";
	f.txtResponse2.value = "";
	f.txtCompError.value = "";
	f.txtDifference.value = "";
	f.txtSignificance.value = "";
}

function ValidateForm(f)
{
	// Check each input box
	// Requirements:  Non-Null integer input
	// Returns true if all fields are valid
	// Returns false if any fields are invalid

	var alertMessage = "Please enter valid integers for the following fields:\n\n"
	var initialLength = alertMessage.length;
	
	if ((f.txtSample1.value == "") || (isNaN(f.txtSample1.value)))
		alertMessage += "   - Sample Size #1\n";
	if ((f.txtSample2.value == "") || (isNaN(f.txtSample2.value)))
		alertMessage += "   - Sample Size #2\n";
	if ((f.txtResponse1.value == "") || (isNaN(f.txtResponse1.value)))
		alertMessage += "   - Response #1\n";
	if ((f.txtResponse2.value == "") || (isNaN(f.txtResponse2.value)))
		alertMessage += "   - Response #2\n";

	if (initialLength == alertMessage.length) {
		return true;
	}
	else {
		alert(alertMessage);
		return false;
	}
}

function CalcStatSig(f)
{
	// Calls the ValidateForm(f) function
	// If the form is valid we calculate

	if (ValidateForm(f)) {
		var s1 = f.txtSample1.value;
		var s2 = f.txtSample2.value;
		var r1 = f.txtResponse1.value;
		var r2 = f.txtResponse2.value;

		// This tells us if we have a non-real result
		var preCalc = ((r1*(100-r1))/s1) + ((r2*(100-r2))/s2);
		
		var compError;
		var difference;

		// Make sure the parameters yield a real number

		if (preCalc >= 0) {

			// Calculate Comparative Error

			compError = Math.round(1.96*Math.sqrt(preCalc)*10)/10;
			f.txtCompError.value = compError;

			// Calculate Difference

			difference = Math.abs(r1-r2);
			f.txtDifference.value = difference;

			// Calculate Significance

			(difference > compError) ? f.txtSignificance.value = "Yes" : f.txtSignificance.value = "No";
		}
		else {
			alert("Non-real result:  Please enter new parameters.");
			f.txtCompError.value = "Non-real result";
			f.txtDifference.value = "<< error >>";
			f.txtSignificance.value = "<< error >>";
		}
	}
}