function convert_power(value)
{
	var last = value.charAt(value.length - 1);

	if (last == 'k' || last == 'K') {
		return Number(value.substring(0, value.length - 1)) * 1000;
	}
	else if (last == 'm' || last == 'M') {
		return Number(value.substring(0, value.length - 1)) * 1000000;
	}
	else {
		return Number(value);
	}
}


function power_notation(a)
{
	if ((a / 1000000) >= 1) {
		return a / 1000000 + 'M';
	}
	else if ((a / 1000) >= 1) {
		return a / 1000 + 'K';
	}
	else {
		return a;
	}
}


//// fc_select_handler -------------------------------------------------
// Calculate C7 given fc, and R3, R4 and R7.

function fc_select_handler(form)
{
	var r3 = convert_power(form.r3.value);
	var r4 = convert_power(form.r4.value);
	var r7 = convert_power(form.r7.value);
	var fc = Number(form.fc.value);

	var abb = (r7 / (r3 + r4)) + 1;
	var k = Math.sqrt(abb * abb - 2);
	var c7 = (k / (2 * Math.PI * fc * r7)) * 1000000;
		
	var div = document.getElementById("fc_answer");
	var answer = Math.round(c7 * 1000) / 1000;
	div.innerHTML = "then C7 = " + answer + " &micro;F";

	return false;	// make browser avoid actual "submit" operation
}


//// char_select_handler -----------------------------------------------
// Calculate filter characteristics

function char_select_handler(form)
{
	var r3 = convert_power(form.r3.value);
	var r4 = convert_power(form.r4.value);
	var r7 = convert_power(form.r7.value);
	var c7 = Number(form.c7.value) / 1000000;

	var abb = (r7 / (r3 + r4)) + 1;
	var k = Math.sqrt(abb * abb - 2);
	var ftau = 2 * Math.PI * r7 * c7;
	var fc = k / ftau;
	var fs = abb / (ftau * k);
	var fo = Math.sqrt(abb) / ftau;

	var fc_answer = Math.round(fc);
	var fs_answer = Math.round(fs);
	var fo_answer = Math.round(fo);
	var boost_answer = Math.round(abb * 10) / 10;
	var boost_db = Math.round(20 * Math.log(boost_answer) / Math.LN10);

	var div = document.getElementById("char_answer");
	div.innerHTML = "then ";
	if (abb > 2) {
		div.innerHTML += "&fnof;<font size=-2>c</font> = " +
				fc_answer + " Hz, " + "&fnof;<font size=-2>s</font> = " +
				fs_answer + " Hz";
	}
	else {
		div.innerHTML += "&fnof;<font size=-2>o</font> = " +
				fo_answer + " Hz";
	}
	div.innerHTML += ", and boost = " + boost_answer + "&times; (" +
			boost_db + " dB)";

	return false;	// make browser avoid actual "submit" operation
}

