function round(value,precision) { var exp = Math.pow(10,precision); return Math.round(value*exp)/exp; } var activeForm = 0; function initialize() { document.chooseForm0.depositAmount.value = 5000; document.chooseForm0.depositRate.value=0.5; document.chooseForm0.depositTerm.value=90; document.chooseForm0.depositCapitalization.value=0; recalculate(document.chooseForm0.depositAmount,document.chooseForm0); } function recalculate(field,form) { if(field.type=="text") { if(field.value.indexOf(',')>0) field.value = field.value.replace(',','.'); var numberRegExp = new RegExp("^[0-9\.,]*$"); if(!numberRegExp.test(field.value)) field.value = field.value.replace(/[^0-9\.,]*/ig,''); //check for double decimal separator var firstSep = field.value.indexOf("."); var secondSep = firstSep>0?field.value.indexOf(".",firstSep+1):-1; if(firstSep>0 && secondSep>firstSep) { field.value = field.value.substring(0,secondSep); } if(field.value[field.value.length-1]=='.') return; } var amount = parseFloat(form.depositAmount.value); var rate = form.depositRate.value/100; var term = form.depositTerm.value/360; var cap = form.depositCapitalization.value; if(cap==0) cap=term*360; var capy = 360/cap; var interests = round(amount * Math.pow(1 + rate/capy,term*capy) - amount,2); form.resultInterests.value = interests.toMoney(2,'.',' '); form.resultAmount.value = (amount + interests).toMoney(2,'.',' '); form.resultNett.value = round(amount + interests - round(interests*0.19,2),2).toMoney(2,'.',' '); form.resultEfectiveRate.value = round(100 * (Math.pow(1 +(rate/capy),capy) - 1),2).toFixed(2)+"%"; } function activateForm() { activeForm++; document.getElementById("deposit_view_"+activeForm).style.removeProperty("display"); document.forms[activeForm].depositAmount.value = document.forms[activeForm-1].depositAmount.value; document.forms[activeForm].depositRate.value = document.forms[activeForm-1].depositRate.value; document.forms[activeForm].depositTerm.value = document.forms[activeForm-1].depositTerm.value; document.forms[activeForm].depositCapitalization.value = document.forms[activeForm-1].depositCapitalization.value; recalculate(document.forms[activeForm].depositAmount,document.forms[activeForm]); if(activeForm==document.forms.length-1) { document.getElementById("deposit_view_activation").style.display = "none"; } return false; } function selectInput(field) { addClass(field,"input_selected"); for(var i = 0; i < field.form.elements.length; i++) { var currentElement = field.form.elements[i]; if(currentElement == field) continue; removeClass(currentElement,"input_selected"); } } function addClass(item, classname) { var obj = item if (typeof item=="string") { obj = document.getElementById(item) } obj.className += " " + classname } function removeClass(item, classname) { var obj = item if (typeof item=="string") { obj = document.getElementById(item) } var classes = ""+obj.className while (classes.indexOf(classname)>-1) { classes = classes.replace (classname, "") } obj.className = classes } Number.prototype.toMoney = function(decimals, decimalSeparator, thousandsSeparator) { var n = this; c = isNaN(decimals) ? 2 : Math.abs(decimals); d = decimalSeparator || '.'; t = (typeof thousandsSeparator === 'undefined') ? ' ' : thousandsSeparator; sign = (n < 0) ? '-' : '', i = parseInt(n = Math.abs(n).toFixed(c)) + '', j = ((j = i.length) > 3) ? j % 3 : 0; return sign + (j ? i.substr(0, j) + t : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : ''); }