<b> </tr></b>
<b> <tr></b>
<b> <th>Sponsors:c/th></b>
<b> <td colspan=2></b>
<b> Apply for your loan with one of these fine lenders:</b>
<b> <div id="lenders"></div></b>
<b> </td></b>
<b> </tr></b>
<b></table></b>
<b><!-- Остальная часть примера - JavaScript-код в теге <script> ниже. Обычно сценарии --> </b>
<b><!-- помещаются в начало документа, в заголовок <head>, но в данном случае вам проще --> </b>
<b><!-- будет понять пример, если JavaScript-код будет находиться ниже HTML-содержимого. --> </b>
<b><script></b>
<b>"use strict"; // Использовать строгий режим ECMAScript 5, если броузер поддерживает его</b>
<b>/*</b>
<b>* Этот сценарий определяет функцию calculate(), вызываемую обработчиками событий</b>
<b>* в разметке HTML выше. Функция читает значения из элементов <input>, вычисляет размеры</b>
<b>* платежей по ссуде, отображает результаты в элементах <span>. Кроме того, она сохраняет</b>
<b>* пользовательские данные, отображает ссылки на кредитные учреждения и рисует диаграмму. </b>
<b>*/</b>
<b>function calculate() {</b>
<b> // Отыскать элементы ввода и вывода в документе</b>
<b> var amount = document.getElementById("amount");</b>
<b> var apr = document.getElementByld("apr”);</b>
<b> var years = document.getElementById("years");</b>
<b> var zipcode = document.getElementById("zipcode");</b>
<b> var payment = document.getElementById("payment");</b>
<b> var total = document.getElementById("total");</b>
<b> var totalinterest = document.getElementById("totalinterest");</b>
<b> // Получить ввод пользователя из элементов ввода. Предполагается, что все данные </b>
<b> // являются корректными. Преобразовать процентную ставку из процентов </b>
<b> // в десятичное число и преобразовать годовую ставку в месячную ставку.</b>
<b> // Преобразовать период платежей в годах в количество месячных платежей.</b>
<b> var principal = parseFloat(amount.value);</b>
<b> var interest = parseFloat(apr.value) / 100 / 12;</b>
<b> var payments = parseFloat(years.value) * 12;</b>
<b> // Теперь вычислить сумму ежемесячного платежа.</b>
<b> var х = Math.pow(1 + interest, payments); // Math.pow() вычисляет степень </b>
<b> var monthly = (principal * x * interest)/(x-1);</b>
<b> // Если результатом является конечное число, следовательно, пользователь </b>
<b> // указал корректные данные и результаты можно отобразить </b>
<b> if (isFinite(monthly)) {</b>
<b> // Заполнить поля вывода, округлив результаты до 2 десятичных знаков</b>
<b> payment.innerHTML = monthly.toFixed(2);</b>
<b> total.innerHTML = (monthly * payments).toFixed(2);</b>
<b> totalinterest.innerHTML = ((monthly*payments)-principal).toFixed(2);</b>
<b> // Сохранить ввод пользователя, чтобы можно было восстановить данные </b>
<b> // при следующем открытии страницы</b>
<b> save(amount.value, apr.value, years.value, zipcode.value);</b>
<b> // Реклама: отыскать и отобразить ссылки на сайты местных </b>
<b> // кредитных учреждений, но игнорировать сетевые ошибки </b>
<b> try { // Перехватывать все ошибки, возникающие в этих фигурных скобках </b>
<b> getLenders(amount.value, apr.value, years.value, zipcode.value);</b>
<b> }</b>
<b> catch(e) { /* И игнорировать эти ошибки */ }</b>
<b> // В заключение вывести график изменения остатка по кредиту, а также </b>
<b> // графики сумм, выплачиваемых в погашение кредита и по процентам </b>
<b> chart(principal, interest, monthly, payments);</b>
<b> }</b>
<b> else {</b>
<b> // Результат не является числом или имеет бесконечное значение,</b>
<b> // что означает, что были получены неполные или некорректные данные.</b>
<b> // Очистить все результаты, выведенные ранее, </b>