﻿// Used in Choice Calculator.
function roundTo(num, pow) {
	if(isNaN(num)) {
		num = 0;
	}
	num*=Math.pow(10, pow);
	num=(Math.round(num)/Math.pow(10, pow))+"";
	if(num.indexOf(".")==-1) num+=".";
	while(num.length-num.indexOf(".")-1<pow) num += "0";
	return num;
}

function addCommas(num) {
	num+='';
	x=num.split('.');
	x1=x[0];
	x2=x.length>1 ? '.'+x[1] : '';
	var rgx=/(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1=x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

function addTotals() {
	with (document.forms["calq_form"]) {
		var totalResult=Number(price1.value)*Number(quantity1.value);
		var _total1=roundTo(totalResult,2);
		sub_total1.value=_total1;
		var totalResult1=Number(price2.value)*Number(quantity2.value);
		var _total2=roundTo(totalResult1,2);
		sub_total2.value=_total2;
		var totalResult2=Number(price3.value)*Number(quantity3.value);
		var _total3=roundTo(totalResult2,2);
		sub_total3.value=_total3;
		var totalResult3=Number(price4.value)*Number(quantity4.value);
		var _total4=roundTo(totalResult3,2);
		sub_total4.value=_total4;
		var totalResult4=Number(price5.value)*Number(quantity5.value);
		var _total5=roundTo(totalResult4,2);
		sub_total5.value=_total5;
		hidden_answer.value=Number(sub_total1.value)+Number(sub_total2.value)+Number(sub_total3.value)+Number(sub_total4.value)+Number(sub_total5.value);
	}
} 

function compute() {
	with (document.forms["calq_form"]) {
		if(isNaN(price1.value)) {
			alert("Invalid Unit Price.\n\nOnly numbers are allowed.");
			price1.focus();
			return (false);
		}
		if(isNaN(price2.value)) {
			alert("Invalid Unit Price.\n\nOnly numbers are allowed.");
			price2.focus();
			return (false);
		}
		if(isNaN(price3.value)) {
			alert("Invalid Unit Price.\n\nOnly numbers are allowed.");
			price3.focus();
			return (false);
		}
		if(isNaN(price4.value)) {
			alert("Invalid Unit Price.\n\nOnly numbers are allowed.");
			price4.focus();
			return (false);
		}
		if(isNaN(price5.value)) {
			alert("Invalid Unit Price.\n\nOnly numbers are allowed.");
			price5.focus();
			return (false);
		}
		if(isNaN(quantity1.value)) {
			alert("Invalid Quantity.\n\nOnly numbers are allowed.");
			quantity1.focus();
			return (false);
		}
		if(isNaN(quantity2.value)) {
			alert("Invalid Quantity.\n\nOnly numbers are allowed.");
			quantity2.focus();
			return (false);
		}
		if(isNaN(quantity3.value)) {
			alert("Invalid Quantity.\n\nOnly numbers are allowed.");
			quantity3.focus();
			return (false);
		}
		if(isNaN(quantity4.value)) {
			alert("Invalid Quantity.\n\nOnly numbers are allowed.");
			quantity4.focus();
			return (false);
		}
		if(isNaN(quantity5.value)) {
			alert("Invalid Quantity.\n\nOnly numbers are allowed.");
			quantity5.focus();
			return (false);
		}
		total.value=addCommas(roundTo(hidden_answer.value,2));
	}
}