Выбрать главу

    // Сохранить ввод пользователя, чтобы можно было восстановить данные

    // при следующем открытии страницы

    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;

  }

};

// Передать ввод пользователя серверному сценарию, который может (теоретически) возвращать

// список ссылок на сайты местных кредитных учреждений, готовых предоставить кредит.

// Данный пример не включает фактическую реализацию такого сценария поиска кредитных