// Сохранить ввод пользователя, чтобы можно было восстановить данные
// при следующем открытии страницы
save(amount.value, apr.value, years.value, zipcode.value);
// Реклама: отыскать и отобразить ссылки на сайты местных
// кредитных учреждений, но игнорировать сетевые ошибки
try { // Перехватывать все ошибки, возникающие в этих фигурных скобках
getLenders(amount.value, apr.value, years.value, zipcode.value);
}
catch(e) { /* И игнорировать эти ошибки */ }
// В заключение вывести график изменения остатка по кредиту, а также
// графики сумм, выплачиваемых в погашение кредита и по процентам
chart(principal, interest, monthly, payments);
}
else {
// Результат не является числом или имеет бесконечное значение,
// что означает, что были получены неполные или некорректные данные.
// Очистить все результаты, выведенные ранее,
payment.innerHTML = "";
// Стереть содержимое этих элементов total.innerHTML = totalinterest.innerHTML = "";
chart(); // При вызове без аргументов очищает диаграмму
}
}
// Сохранить ввод пользователя в свойствах объекта localStorage. Значения этих свойств
// будут доступны при повторном посещении страницы. В некоторых броузерах (например.
// в Firefox) возможность сохранения не поддерживается, если страница открывается
// с адресом URL вида file://. Однако она поддерживается при открытии страницы через HTTP.
function save(amount, apr, years, zipcode) {
if (window.localStorage) { // Выполнить сохранение, если поддерживается
localStorage.loan_amount = amount;
localStorage.loan_apr = apr;
localStorage.loan_years = years;
localStorage.loan_zipcode = zipcode;
}
}
// Автоматически восстановить поля ввода при загрузке документа,
window.onload = function() {
// Если броузер поддерживает localStorage и имеются сохраненные данные
if (window.localStorage && localStorage.loan_amount) {
document.getElementById("amount").value = localStorage.loan_amount;
document.getElementById("apr").value = localStorage.loan_apr;
document.getElementById("years").value = localStorage.loan_years;
document.getElementById("zipcode").value = localStorage.loan_zipcode;
}
};
// Передать ввод пользователя серверному сценарию, который может (теоретически) возвращать
// список ссылок на сайты местных кредитных учреждений, готовых предоставить кредит.
// Данный пример не включает фактическую реализацию такого сценария поиска кредитных