var langCalculator = {
ru: {
stpp_title: 'Оплата частями
(стандартная)',
ppdp_title: 'Оплата частями
(деньги в периоде)',
pp_title: 'Оплата частями',
ip_title: 'Мгновенная рассрочка',
amount: 'Сумма платежа',
hrn_per_month: 'грн / мес',
term: 'Срок кредитования',
price: 'Стоимость товара',
month: 'месяцев',
payments: 'платежей',
hrn: 'гривен',
compensation: 'Сумма возмещения',
showTariff: 'Посмотреть тарифную сетку',
printRateSheet: 'Распечатать',
calculator: 'Калькулятор',
real_percent_pp: 'реальная % ставка ОЧ - 0,24%',
real_percent_ip: 'реальная % ставка МР - 84,04%',
allAmount: 'общая стоимость кредита '
},
uk: {
stpp_title: 'Оплата частинами
(стандартна)',
ppdp_title: 'Оплата частинами
(гроші в періоді)',
pp_title: 'Оплата частинами',
ip_title: 'Миттєва розстрочка',
amount: 'Сума платежу',
hrn_per_month: 'грн/міс',
term: 'Строк кредитування',
price: 'Вартість товару',
month: 'місяців',
payments: 'платежів',
hrn: 'Гривень',
compensation: 'Сума відшкодування',
showTariff: 'Переглянути тарифи',
printRateSheet: 'Роздрукувати',
calculator: 'Калькулятор',
real_percent_pp: 'реальна % ставка ОЧ - 0,24%',
real_percent_ip: 'реальна % ставка МР - 84,04%',
allAmount: 'загальна вартість кредиту '
},
ka: {
stpp_title: 'Оплата частями
(стандартная)',
ppdp_title: 'Оплата частями
(деньги в периоде)',
pp_title: 'Оплата частями',
ip_title: 'Мгновенная рассрочка',
amount: 'Сумма платежа',
hrn_per_month: 'грн / мес',
term: 'Срок кредитования',
price: 'Стоимость товара',
month: 'месяцев',
payments: 'платежей',
hrn: 'гривен',
compensation: 'Сумма возмещения',
showTariff: 'Посмотреть тарифную сетку',
printRateSheet: 'Распечатать',
calculator: 'Калькулятор',
real_percent_pp: 'реальная % ставка ОЧ - 0,24%',
real_percent_ip: 'реальная % ставка МР - 84,04%',
allAmount: 'общая стоимость кредита '
},
en: {
stpp_title: 'Payment by parts
(standard)',
ppdp_title: 'Payment by parts
(money in period)',
pp_title: '«Payment by parts»',
ip_title: 'Instant installments',
amount: 'Payment amount',
hrn_per_month: 'UAH / month',
term: 'Credit terms',
price: 'Cost of goods',
month: 'months',
payments: 'payments',
hrn: 'UAH',
compensation: 'Reimbursement amount',
showTariff: 'VIEW TARIFF SCHEDULE',
printRateSheet: 'Print',
calculator: 'Calculator',
real_percent_pp: 'real interest rate PP - 0,24%',
real_percent_ip: 'real interest rate II - 84,04%',
allAmount: 'total loan costs '
}
};
var curLangCalculator = 'ru';
var PP_CALCULATOR = (function () {
var my = {};
var commissions = {
ipCommission: 1.9,
acqCommission: 0.013,
ppCommission: 0.015
};
function privParseInt(num) {
return parseInt(num, 10)
}
function getValByTerm(term) {
var commissions = {
1: 1.1/100,
2: 1.7/100,
3: 3.3/100,
4: 5.5/100,
5: 7.1/100,
6: 9.3/100,
7: 11/100,
8: 12.75/100,
9: 13.4/100,
10: 13.6/100,
11: 13.8/100,
12: 15.1/100,
13: 16.4/100,
14: 17.6/100,
15: 18.9/100,
16: 19.7/100,
17: 21/100,
18: 21.8/100,
19: 23.2/100,
20: 24/100,
21: 25.4/100,
22: 26.2/100,
23: 27/100,
24: 28.5/100
};
return commissions[term];
}
my.calculatePhys = function (paymentsCount, price) {
if (isNaN(paymentsCount) || isNaN(price)) return;
paymentsCount = privParseInt(paymentsCount);
var ip = price / paymentsCount + price * (commissions.ipCommission / 100);
var pp = price / paymentsCount + price * 0.0001;
var ppAll = price + price * 0.0001 * (paymentsCount - 1);
var ipAll = price + price * 0.019 * paymentsCount;
return ({
payCount: paymentsCount,
ipValue: ip.toFixed(2),
ppValue: pp.toFixed(2),
ppAll: langCalculator[curLangCalculator].allAmount + " " + parseFloat(ppAll).toFixed(2),
ipAll: langCalculator[curLangCalculator].allAmount + " " + parseFloat(ipAll).toFixed(2)
});
};
my.calculateJur = function (paymentsCount, price) {
if (isNaN(paymentsCount) || isNaN(price)) return;
paymentsCount = privParseInt(paymentsCount);
var tabVal = getValByTerm(paymentsCount - 1);
var stpp = price * (1 - (tabVal + commissions.acqCommission));
var pp = 0;
var ppValHint = '0.00';
var singlePayment = price / paymentsCount;
var ppFirst = singlePayment - price * (commissions.acqCommission + commissions.ppCommission);
var ppSecond = singlePayment;
var ppOther = (paymentsCount - 1) * ppSecond;
pp = ppFirst + ppOther;
ppValHint = ppFirst.toFixed(2) + " + " + (paymentsCount - 1) + "*" + ppSecond.toFixed(2);
var ip = price * (1 - commissions.acqCommission);
return ({
payCount: paymentsCount,
stPpValue: stpp.toFixed(2),
ipValue: ip.toFixed(2),
ppValue: pp.toFixed(2),
ppValueHint: ppValHint
});
};
return my;
}());