<html><title>Calculator</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
<!-- Begin
var interval_0 = 0;
var interval_500 = 111;
var interval_1000 = 123;
var interval_1500 = 136;
var interval_2500 = 146;
var interval_5000 = 215;
var interval_10000 = 336;
var max_units = 10000; // quantities in excess of max_units all have the same unit price
var currency = "$"; // currency sign used in 'formatMessage()'
// Edit this function to reflect your discount prices!
function getDiscountPrice(units) {
// Note: It is important to work your way down from max to min amounts!
if (units > 5000) return 0.0242;
if (units > 2500) return 0.0276;
if (units > 1500) return 0.01;
if (units > 1000) return 0.026;
if (units > 500) return 0.024;
if (units <= 0) return 0;
}
function getNumberOfUnits() {
var units = document.calculator.units.value;
return (units == "") ? 0 : units;
}
function showResult(result) {
// adjust the following line if result must popup somewhere else
document.calculator.respons.value = result;
}
function formatMessage0(units, unit_price) {
return currency + formatPrice((units) * unit_price + interval_0);
}
function formatMessage500(units, unit_price) {
return currency + formatPrice((units - 500) * unit_price + interval_500);
}
function formatMessage1000(units, unit_price) {
return currency + formatPrice((units - 1000) * unit_price + interval_1000);
}
function formatMessage1500(units, unit_price) {
return currency + formatPrice((units - 1500) * unit_price + interval_1500);
}
function formatMessage2500(units, unit_price) {
return currency + formatPrice((units - 2500) * unit_price + interval_2500);
}
function formatMessage5000(units, unit_price) {
return currency + formatPrice((units - 5000) * unit_price + interval_5000);
}
function formatMessage10000(units, unit_price) {
return currency + formatPrice((units - 10000) * unit_price + interval_10000);
}
// AltUnits (alternate units): add extra units to reach minimum for next discount price
function getAltUnits(units) {
var discount_price = getDiscountPrice(units);
if (units < max_units)
return units;
}
function findPrice() {
var units = getNumberOfUnits();
var unit_price = getDiscountPrice(units);
var alt_units = getAltUnits(units);
var alt_unit_price = getDiscountPrice(alt_units);
var result;
if (units < 500) result = formatMessage0(0,0);
else if (units == 10000) result = formatMessage10000(0,0);
else if (units == 5000) result = formatMessage5000(0,0);
else if (units == 2500) result = formatMessage2500(0,0);
else if (units == 1500) result = formatMessage1500(0,0);
else if (units == 1000) result = formatMessage1000(0,0);
else if (units == 500) result = formatMessage500(0,0);
else if (units > 10000) result = formatMessage10000(units, unit_price);
else if (units > 5000) result = formatMessage5000(units, unit_price);
else if (units > 2500) result = formatMessage2500(units, unit_price);
else if (units > 1500) result = formatMessage1500(units, unit_price);
else if (units > 1000) result = formatMessage1000(units, unit_price);
else if (units > 500) result = formatMessage500(units, unit_price);
else if ((units * unit_price) < (alt_units * alt_unit_price))
result = formatMessage500(units, unit_price);
else
result = formatMessage500(alt_units, alt_unit_price);
showResult(result);
}
function formatPrice(value) {
var result= Math.floor(value) + ".";
var cents = 100 * (value-Math.floor(value)) + 0.5;
result += Math.floor(cents / 10);
result += Math.floor(cents % 10);
return result;
}
function filterNonNumeric(field) {
var result = new String();
var numbers = "0123456789";
var chars = field.value.split(""); // create array
for (i = 0; i < chars.length; i++) {
if (numbers.indexOf(chars[i]) != -1) result += chars[i];
}
if (field.value != result) field.value = result;
}
// End -->
//-->
</script>
<BODY onLoad="findPrice()">
<p> </p>
<table border="1" cellspacing="0" cellpadding="3" width="300">
<tr>
<td>500</td>
<td width=50 align=right>$111</td>
</tr>
<tr>
<td>1000 </td>
<td width=50 align=right> $123</td>
</tr>
<tr>
<td>1500 </td>
<td width=50 align=right>$136</td>
</tr>
<tr>
<td>2500</td>
<td width=50 align=right> $146</td>
</tr>
<tr>
<td>5000</td>
<td width=50 align=right>$215</td>
</tr>
<tr>
<td>10000</td>
<td width=50 align=right> $336</td>
</tr>
</table>
<br>
<form name=calculator>
Units:
<input type=text value="500" name="units" onkeydown="findPrice()" onKeyUp="filterNonNumeric(this); findPrice()" onkeypress="findPrice()" size="4">
<input type=text onfocus="this.blur()" name="respons" style="border:0; font-weight:bold;">
</form>
<p><center>
</center><p>
</body>
</html>