Product
Value of the product
Please choose a loan option
6 months Interest free (0%) 12 months Interest 19.9% 24 months Interest 19.9% 36 months Interest 19.9%
How much deposit would you like to pay?
10% deposit 20% deposit 30% deposit 40% deposit 50% deposit
// on page load update the calculator
window.onload = function() {
var productprice = document.querySelector('[itemprop=price]').getAttribute('content');
document.getElementById("productvalue").value = productprice;
// Get the modal
var modal = document.getElementById('myModal1');
// Get the button that opens the modal
var btn = document.getElementById("myBtn");
// Get the element that closes the modal
var span = document.getElementsByClassName("close")[0];
// When the user clicks the button, open the modal
btn.onclick = function() {
modal.style.display = "block";
}
// When the user clicks on (x), close the modal
span.onclick = function() {
modal.style.display = "none";
}
var uniqueref = Math.floor(Math.random() * (999999999999 - 0 + 1)) + 0;
var retailersuniqueref = document.getElementById("retailersuniqueref");
retailersuniqueref.value = Math.floor(uniqueref);
// update the calculator
var financecode = document.getElementById("financecode");
var res = financecode.value.split("-");
var theterm = res[0].replace( /^\D+/g, '');
var theapr = res[1];
var fdeposit = document.getElementById("financedeposit");
var loanval = productvalue.value - fdeposit.value;
updateomnicalc (theterm, loanval, theapr);
}
// when value of product-value changes update the values of the deposit dropdowns
var productvalue = document.getElementById("productvalue");
productvalue.onchange = function()
{
// update deposit10 value
var deposit10 = document.getElementById("deposit10");
deposit10.setAttribute("value", productvalue.value *.1);
// update deposit20 value
var deposit20 = document.getElementById("deposit20");
deposit20.setAttribute("value", productvalue.value *.2);
// update deposit30 value
var deposit30 = document.getElementById("deposit30");
deposit30.setAttribute("value", productvalue.value *.3);
// update deposit40 value
var deposit40 = document.getElementById("deposit40");
deposit40.setAttribute("value", productvalue.value *.4);
// update deposit50 value
var deposit50 = document.getElementById("deposit50");
deposit50.setAttribute("value", productvalue.value *.5);
// update the calculator
var financecode = document.getElementById("financecode");
var res = financecode.value.split("-");
var theterm = res[0].replace( /^\D+/g, '');
var theapr = res[1];
var fdeposit = document.getElementById("financedeposit");
var loanval = productvalue.value - fdeposit.value;
updateomnicalc (theterm, loanval, theapr);
}
// this code updates the finance calculator
function updateomnicalc (term, loanvalue, apr) {
var depositamount = document.getElementById("financedeposit").value;
document.getElementById("depositamount").innerHTML = '£' + eval(depositamount).toFixed(2);
document.getElementById("theterm").innerHTML = term + ' months';
document.getElementById("apr").innerHTML = apr + '%';
document.getElementById("loanvalue").innerHTML = '£' + loanvalue.toFixed(2);
if (apr==0.00) {
var monthlypayments = loanvalue / term;
var mp = monthlypayments.toFixed(2);
var costofloan = loanvalue;
} else {
var bb = apr/100;
var cc = bb+1;
var dd = 1/12;
var ee = dd-1;
var perperiodrate = Math.pow(cc,dd)-1;
var a = loanvalue * perperiodrate;
var b = 1+perperiodrate;
var c = Math.pow(b, -term);
var d = 1-c;
var monthlypayments = a/d;
var mp = monthlypayments.toFixed(2);
var costofloan = mp * term;
}
document.getElementById("monthlypayment").innerHTML = '£' + mp;
//var totalpayable = eval(loanvalue) + costofloan;
var totalpayable = parseFloat(depositamount) + parseFloat(costofloan);
console.log(mp);
console.log(term);
console.log(costofloan);
console.log(depositamount);
console.log(totalpayable);
document.getElementById("totalamountpayable").innerHTML = '£' + parseFloat(totalpayable).toFixed(2);
}
// update calculator when the finance option changes
var financeoption = document.getElementById("financecode");
financeoption.onchange = function()
{
// update the calculator
var financecode = document.getElementById("financecode");
var res = financecode.value.split("-");
var theterm = res[0].replace( /^\D+/g, '');
var theapr = res[1];
var fdeposit = document.getElementById("financedeposit");
var loanval = productvalue.value - fdeposit.value;
updateomnicalc (theterm, loanval, theapr);
}
// update calculator when the deposit option changes
var depositoption = document.getElementById("financedeposit");
depositoption.onchange = function()
{
// update the calculator
var financecode = document.getElementById("financecode");
var res = financecode.value.split("-");
var theterm = res[0].replace( /^\D+/g, '');
var theapr = res[1];
var fdeposit = document.getElementById("financedeposit");
var loanval = productvalue.value - fdeposit.value;
updateomnicalc (theterm, loanval, theapr);
}
// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}