function isValidAmount(s) {
	var numPeriods = 0;
	var numDollarSigns = 0;

	// '$' is OK if it is first or last


	for (var i = 0; i < s.length; ++i) {
		var c = s.charAt(i);

		if (c == '.') {
			++numPeriods;
			continue;
		}

		if (c == '$') {
			++numDollarSigns;
			continue;
		}

		if (c < '0' || c > '9') {
			return false;
		}
	}

	if (numPeriods > 1) {
		return false;
	}
	
	if (numDollarSigns > 1) {
		return false;
	}

	// Decimal pt has to be one of the last 3 chars
	if (numPeriods == 1) {
		var pos = s.indexOf('.');
		if (pos < s.length - 3) {
			return false;
		}
	}


	// Dollar sign must be first or last
	if (numDollarSigns == 1) {
		var pos = s.indexOf('$');
		if (pos != 0 && pos != s.length - 1) {
			return false;
		}
	}

	return true;
}


function setElementColor(elm, isValid) {
	if (isValid) {
		elm.style.backgroundColor = "#FFFFFF";
	}
	else {
		elm.style.backgroundColor = "#FF0000";
	}
}


function calculate2Hit() {
	var payrollElm = document.getElementById('payroll');
	var result2Div = document.getElementById('result2');

	var payrollStr = payrollElm.value;
	// strip commas
	payrollStr = payrollStr.replace(/,/g, "");
	var payrollOK = isValidAmount(payrollStr);
	var payroll;

	// Now strip dollar signs	
	payrollStr = payrollStr.replace(/\$/g, "");


	if (payrollOK) {
		// parseInt with leading zeros is buggy.
		// parseFloat first is a workaround
		payroll = parseInt(parseFloat(payrollStr));
		payrollOK = payroll <= 150000;
	}

	setElementColor(payrollElm, payrollOK);

	if (payrollOK) {
		var result2;
		if (payroll <= 30000) { result2 = 950; }
		else if (payroll <= 50000) { result2 = 1150; }
		else if (payroll <= 70000) { result2 = 1675; }
		else if (payroll <= 90000) { result2 = 2175; }
		else if (payroll <= 110000) { result2 = 2550; }
		else { result2 = 2995; }

		result2Div.innerHTML = '$' + result2;
	}
	else {
		result2Div.innerHTML = '---';
	}
}

