jQuery(document).ready(function($){
const LABOR_COMMISSION=6600;
const CIVIL_COMMISSION=4500;
function calculateTotal(){
const contractType=$('input[name="contract-type"]:checked').val();
const salary=parseInt($('input[name="salary"]').val())||0;
const employees=parseInt($('input[name="employees"]').val())||1;
const stavka=parseFloat($('input[name="stavka"]:checked').val())||1;
let commission;
if(contractType==='labor'){
commission=LABOR_COMMISSION;
$('.calculator__commission').text(commission);
$('.calculator__row_stavka').show();
}else{
commission=CIVIL_COMMISSION;
$('.calculator__commission').text(commission);
$('.calculator__row_stavka').hide();
}
let total;
if(contractType==='labor'){
const baseSalary=salary + commission;
const taxes=salary * 0.43 * stavka;
total=Math.round((baseSalary * stavka + taxes) * employees);
}else{
const baseSalary=salary + commission;
const taxes=salary * 0.401;
total=Math.round((baseSalary + taxes) * employees);
}
$('.calculator__total').text(total.toLocaleString('ru-RU'));
}
calculateTotal();
$('.calculator__input, .calculator__radio input').on('change input', function(){
calculateTotal();
});
$('.calculator__form').on('submit', function(e){
e.preventDefault();
let valid=true;
const salary=parseInt($('input[name="salary"]').val())||0;
if(salary <=0){
$('input[name="salary"]').addClass('error');
valid=false;
}else{
$('input[name="salary"]').removeClass('error');
}
const employees=parseInt($('input[name="employees"]').val())||0;
if(employees <=0){
$('input[name="employees"]').addClass('error');
valid=false;
}else{
$('input[name="employees"]').removeClass('error');
}
const phone=$('input[name="phone"]').val();
if(!phone){
$('input[name="phone"]').addClass('error');
valid=false;
}else{
$('input[name="phone"]').removeClass('error');
}
if(valid){
const formData={
contractType: $('input[name="contract-type"]:checked').val(),
salary: salary,
employees: employees,
stavka: parseFloat($('input[name="stavka"]:checked').val())||1,
commission: $('.calculator__commission').text(),
total: $('.calculator__total').text(),
name: $('input[name="name"]').val(),
phone: phone,
email: $('input[name="email"]').val()
};
$.ajax({
url: '/wp-admin/admin-ajax.php',
type: 'POST',
data: {
action: 'process_calculator',
form_data: formData
},
success: function(response){
if(response.success){
$('.calculator__form')[0].reset();
window.location.href='/spasibo/';
}else{
alert('Произошла ошибка при отправке: ' + response.data);
}},
error: function(){
alert('Ошибка соединения с сервером');
}});
}});
});