Gas Calculator
<script>
function $(id) { return document.getElementById(id); } function get_values() { var values = { mpg: $(“mpg”).value, price: $(“price”).value, miles: $(“miles”).value, total: $(“total”).value }; return values; } function highlight(anchor) { $(“mpg”).className = “”; $(“price”).className = “”; $(“miles”).className = “”; $(“total”).className = “”; $(anchor).className = “solved”; } function solve(for_id, formula) { return function() { var result = $(for_id); var v = get_values(); result.value = Math.round(formula(v) * 100) / 100; if (for_id === “price” || for_id === “total”) result.value = Number.parseFloat(result.value).toFixed(2) highlight(for_id); return false } } total = solve(“total”, function(v) { return v.miles / v.mpg * v.price }); miles = solve(“miles”, function(v) { return v.total * v.mpg / v.price }); price = solve(“price”, function(v) { return v.total * v.mpg / v.miles }); mpg = solve(“mpg”, function(v) { return v.miles * v.price / v.total });
window.onload = function() { $(“solve-total”).onclick = total; $(“solve-miles”).onclick = miles; $(“solve-price”).onclick = price; $(“solve-mpg”).onclick = mpg; };