
function doERCalc(form) {
 	var thep1 = form.p1.value;
 	if (!isPositiveNumber(thep1)) {
 		return false;
 	}
 	if (thep1 == "") thep1 = 0;
 	thep1 = parseFloat(thep1);
 	var thep2 = form.p2.value;
 	if (!isPositiveNumber(thep2)) {
 		return false;
 	}
 	if (thep2 == "") thep2 = 0;
 	thep2 = parseFloat(thep2);
 	var thep3 = form.p3.value;
 	if (!isPositiveNumber(thep3)) {
 		return false;
 	}
 	if (thep3 == "") thep3 = 0;
 	thep3 = parseFloat(thep3);
 	var thep4 = form.p4.value;
 	if (!isPositiveNumber(thep4)) {
 		return false;
 	}
 	if (thep4 == "") thep4 = 0;
 	thep4 = parseFloat(thep4);
 	var thep5 = form.p5.value;
 	if (!isPositiveNumber(thep5)) {
 		return false;
 	}
 	if (thep5 == "") thep5 = 0;
 	thep5 = parseFloat(thep5);
 	var sumP = thep1 + thep2 + thep3 + thep4 + thep5;
 	if (sumP != 100) {
 		alert("The sum of the probabilities must equal 100\%.");
 		return false;
 	}
 	var ther11 = form.r11.value;
 	if (!isNumber(ther11)) {
 		return false;
 	}
 	if (ther11 == "") ther11 = 0;
 	ther11 = parseFloat(ther11);
 	var ther12 = form.r12.value;
 	if (!isNumber(ther12)) {
 		return false;
 	}
 	if (ther12 == "") ther12 = 0;
 	ther12 = parseFloat(ther12);
 	var ther13 = form.r13.value;
 	if (!isNumber(ther13)) {
 		return false;
 	}
 	if (ther13 == "") ther13 = 0;
 	ther13 = parseFloat(ther13);
 	var ther14 = form.r14.value;
 	if (!isNumber(ther14)) {
 		return false;
 	}
 	if (ther14 == "") ther14 = 0;
 	ther14 = parseFloat(ther14);
 	var ther15 = form.r15.value;
 	if (!isNumber(ther15)) {
 		return false;
 	}
 	if (ther15 == "") ther15 = 0;
 	ther15 = parseFloat(ther15);
 	var ther21 = form.r21.value;
 	if (!isNumber(ther21)) {
 		return false;
 	}
 	if (ther21 == "") ther21 = 0;
 	ther21 = parseFloat(ther21);
 	var ther22 = form.r22.value;
 	if (!isNumber(ther22)) {
 		return false;
 	}
 	if (ther22 == "") ther22 = 0;
 	ther22 = parseFloat(ther22);
 	var ther23 = form.r23.value;
 	if (!isNumber(ther23)) {
 		return false;
 	}
 	if (ther23 == "") ther23 = 0;
 	ther23 = parseFloat(ther23);
 	var ther24 = form.r24.value;
 	if (!isNumber(ther24)) {
 		return false;
 	}
 	if (ther24 == "") ther24 = 0;
 	ther24 = parseFloat(ther24);
 	var ther25 = form.r25.value;
 	if (!isNumber(ther25)) {
 		return false;
 	}
 	if (ther25 == "") ther25 = 0;
 	ther25 = parseFloat(ther25);
 	var theER1 = (thep1*ther11 + thep2*ther12  + thep3*ther13  + thep4*ther14  + thep5*ther15)/100;
 	var theER2 = (thep1*ther21 + thep2*ther22  + thep3*ther23  + thep4*ther24  + thep5*ther25)/100;
 	var theV1 = (thep1*Math.pow(ther11-theER1,2) + thep2*Math.pow(ther12-theER1,2)  + thep3*Math.pow(ther13-theER1,2)  + thep4*Math.pow(ther14-theER1,2)  + thep5*Math.pow(ther15-theER1,2))/1000000;
 	var theV2 = (thep1*Math.pow(ther21-theER2,2) + thep2*Math.pow(ther22-theER2,2)  + thep3*Math.pow(ther23-theER2,2)  + thep4*Math.pow(ther24-theER2,2)  + thep5*Math.pow(ther25-theER2,2))/1000000;
 	var theSD1 = Math.sqrt(theV1);
 	var theSD2 = Math.sqrt(theV2);
 	var theCov = (thep1*(ther11-theER1)*(ther21-theER2) + thep2*(ther12-theER1)*(ther22-theER2)  + thep3*(ther13-theER1)*(ther23-theER2)  + thep4*(ther14-theER1)*(ther24-theER2)  + thep5*(ther15-theER1)*(ther25-theER2))/1000000;
	var theCorr = "";
	if ((theSD1 > 0) && (theSD2 > 0)) {
		theCorr = (theCov)/(theSD1*theSD2);
	}	
 	form.er1.value = "" + Math.round(theER1*100)/100;
 	form.er2.value = "" + Math.round(theER2*100)/100;
 	form.v1.value = "" + Math.round(theV1*100000)/100000;
 	form.v2.value = "" + Math.round(theV2*100000)/100000;
 	form.sd1.value = "" + Math.round(theSD1*10000)/100;
 	form.sd2.value = "" + Math.round(theSD2*10000)/100;
 	form.cov.value = "" + Math.round(theCov*100000)/100000;
 	form.corr.value = "" + Math.round(theCorr*100000)/100000;
 	return true;
}

function clearERCalc(form) {
	form.p1.value = "0";
	form.p2.value = "0";
	form.p3.value = "0";
	form.p4.value = "0";
	form.p5.value = "0";
	form.r11.value = "0";
	form.r12.value = "0";
	form.r13.value = "0";
	form.r14.value = "0";
	form.r15.value = "0";
	form.r21.value = "0";
	form.r22.value = "0";
	form.r23.value = "0";
	form.r24.value = "0";
	form.r25.value = "0";
	form.er1.value = "";
	form.er2.value = "";
	form.v1.value = "";
	form.v2.value = "";
	form.sd1.value = "";
	form.sd2.value = "";
	form.cov.value = "";
	form.corr.value = "";
}
 
 function isPositiveNumber(inputStr) {
 	var decFlag = false;
 	if (inputStr == ".") {
 		alert("Please make sure that only numbers are input.");
 		return false;
 	}
 	for (var i = 0; i < inputStr.length; i++) {
 		var oneChar = inputStr.substring(i,i+1);
 		if (((oneChar >= "0") && (oneChar <= "9")) || ((oneChar == ".") && (decFlag == false))) {
 		
 		} else {
 			alert("Please make sure that only numbers are input.");
 			return false;
 		}
 		if (oneChar == ".") {
	 		decFlag = true;
	 	}
 	}
	return true;
 }
 
 function isNumber(inputStr) {
 	var decFlag = false;
 	if (inputStr == ".") {
 		alert("Please make sure that only numbers are input.");
 		return false;
 	}
 	for (var i = 0; i < inputStr.length; i++) {
 		var oneChar = inputStr.substring(i,i+1);
 		if ((i == 0) && (inputStr.length > 1)) {
	 		if (((oneChar >= "0") && (oneChar <= "9")) || ((oneChar == ".") && (decFlag == false)) || (oneChar == "-")) {
	 		
	 		} else {
	 			alert("Please make sure that only numbers are input.");
	 			return false;
	 		}
	 	} else {
	 		if (((oneChar >= "0") && (oneChar <= "9")) || ((oneChar == ".") && (decFlag == false))) {
	 		
	 		} else {
	 			alert("Please make sure that only numbers are input.");
	 			return false;
	 		}
	 	}
	 	if (oneChar == ".") {
	 		decFlag = true;
	 	}	
 	}
	return true;
 }
 
function launchERCalc() {
    window.open("ERCalcWindow.html","Win1","menubar,resizable,height=320,width=334");
}

