<script>
$(document).ready(function(){
let calkBlock = $('.uc-calc-kbgu');
let calcBtn = $('.sendtocart');
calcBtn.addClass('sendtocart_dis');
let arrStructure = [0,0,0,0];
function summPrice(){
let elemArr = {};
let quantArr = [];
let req = true; drinking='';
//Получаем все выбранные элементы
$('.uc-calc-kbgu [name*="_elem"]').each(function(index){
let name = $(this).attr('name');
if ($(this).attr('type')=='checkbox' ){
name = $(this).closest('.t-input-block').find('.t-checkboxes__hiddeninput').attr('name');
};
name = name.replace('structure_elem', '');
let inpNum = +$('[name="quantity_el'+name+'"]').val();
if(!$(this).val()==''){
//elemArr['"'+$(this).val()+'"'] = inpNum;
elemArr[$(this).val()] = inpNum;
};
});
let arrStructure = [0,0,0,0];
$.each(elemArr, function( key, value ) {
$('.t431__tbody tr').each(function(){
let nameTr = $(this).find('td:first').text();
if( key.includes(nameTr) ){
for(let j=2;j<=5;j++){
arrStructure[j-2] += +( (+$(this).find('td:eq('+j+')').text())*value/100 ).toFixed(1);
arrStructure[j-2] = +arrStructure[j-2].toFixed(1);
};
};
});
});
writeStruct(arrStructure[0],arrStructure[1],arrStructure[2],arrStructure[3]);
};
//При вводе кол-ва
$(calkBlock).on('input', '.quant-form input' , function(){
summPrice();
});
//При нажатии +- кол-ва
$(calkBlock).on('click', '.quant-form .t-inputquantity__btn ' , function(){
summPrice();
});
//При активации параметра
$(calkBlock).on('change', '.prod-form input, .prod-form select' , function(){
let fill = true;
let mn = $(this).val();
if(mn==''){ fill = false};
if ( !$(this).is(':checked') && $(this).attr('type')=='checkbox' ){fill = false};
let name = $(this).attr('name');
if ($(this).attr('type')=='checkbox' ){
name = $(this).closest('.t-input-block').find('.t-checkboxes__hiddeninput').attr('name');
};
name = name.replace('structure_elem', '');
let inp = $('[name="quantity_el'+name+'"]');
let wrap = inp.closest('.tn-elem');
summPrice();
//Включаем или выключаем соответствующее поле воода для количества
if(fill){
wrap.addClass('active-form');
}else{
wrap.removeClass('active-form');
inp.val('');
summPrice();
};
});
function writeStruct(em,en,eb,ev){
$('.result .tn-atom').html( $('input[name="result"]').val());
$('.proteins .tn-atom').html(em);
$('.fats .tn-atom').html(en);
$('.carbohydrate .tn-atom').html(eb);
$('.kilocalories .tn-atom').html(ev);
setTimeout(function(){
let dopSgm = $('input[name="additionally_elem4"').val();
if(dopSgm==''){ dopSgm = ' - Без допов'
}else{ dopSgm = '/ Допы: '+dopSgm };
let prodText = `${drinking} ${dopSgm}`;
}, 100);
};
$(window).resize(function() {clearTimeout(window.resizedFinished); window.resizedFinished = setTimeout(function(){
summPrice()}, 1000);
});
});
//Запрет отправки по Enter
$(document).on("keydown", ".t-form", function(event) {return event.key != "Enter";});
//Запрет ввода букв в количественные поля ввода
$(document).on('input', '.quant-form input', function(){
this.value = this.value.replace(/[^0-9]/g, '');
});
</script>
<style>
div[data-record-type="431"]{
/*height: 0;*/
/*width: 0;*/
/*opacity: 0;*/
/*position: absolute;*/
/*z-index: -1;*/
/*overflow: hidden;*/
}
.sendtocart_dis{
pointer-events:none;
opacity:0.3;
}
.result {
background-color: #fff;
border-radius: 10px;
box-shadow: 40px 0 0 0 #fff;
}
.sendtocart{cursor:pointer}
.proteins:after,
.fats:after,
.carbohydrate:after,
.kilocalories:after,
.result:after
{
position: absolute;
font-size: 12px;
bottom: 5px;
margin-left: 4px;
opacity: 0.5;
font-family: 'Montserrat',Arial,sans-serif;
}
.result .tn-atom:after
{
font-size: 13px;
bottom: 8px;
margin-left: 5px;
opacity: 0.5;
font-family: 'Montserrat',Arial,sans-serif;
}
.proteins:after { content: "Белки"}
.fats:after { content: "Жиры"}
.carbohydrate:after { content: "Углеводы"}
.kilocalories:after { content: "ККал"}
.result:after {content: "Руб"}
.quant-form {
pointer-events: none;
opacity: 0.3;
}
.quant-form.active-form {
pointer-events: auto;
opacity: 1;
}
</style>