jQuery(document).ready(function ($){
var show_cookie_agree=true;
if(localStorage.getItem('dont_show_cookie_agree')&&parseInt(localStorage.getItem('dont_show_cookie_agree')) > Date.now()){
show_cookie_agree=false;
}
if(show_cookie_agree){
$('body').append('<div class="block_cookies_agree"><div class="container">We use cookie to interact with visitors and improve the site. By staying on the site, you agree to the use of cookie. <button>OK</button></div></div>');
$('.block_cookies_agree button').click(function(){
$('.block_cookies_agree').fadeOut(function(){
$(this).remove();
let date_expired=new Date();
date_expired.setDate(date_expired.getDate() + 1);
localStorage.setItem('dont_show_cookie_agree', date_expired.getTime());
});
});
}});
document.addEventListener('DOMContentLoaded', function (){
const VISIBLE_COUNT=7;
document.querySelectorAll('.tags__buttons .catalog__buttons').forEach(function (container){
const links=Array.from(container.querySelectorAll('a'));
if(links.length <=VISIBLE_COUNT) return;
const hiddenWrap=document.createElement('div');
hiddenWrap.className='catalog__buttons-hidden';
links.slice(VISIBLE_COUNT).forEach(function (link){
hiddenWrap.appendChild(link);
});
container.appendChild(hiddenWrap);
hiddenWrap.style.maxHeight='0px';
const showMoreBtn=document.createElement('button');
showMoreBtn.type='button';
showMoreBtn.className='catalog__buttons-toggle';
showMoreBtn.textContent='Show more';
let isExpanded=false;
showMoreBtn.addEventListener('click', function (){
isExpanded = !isExpanded;
if(isExpanded){
hiddenWrap.style.maxHeight=hiddenWrap.scrollHeight + 'px';
}else{
hiddenWrap.style.maxHeight=hiddenWrap.scrollHeight + 'px';
requestAnimationFrame(function (){
hiddenWrap.style.maxHeight='0px';
});
}
showMoreBtn.textContent=isExpanded ? 'Less':'Show more';
showMoreBtn.classList.toggle('is-active', isExpanded);
});
container.after(showMoreBtn);
window.addEventListener('resize', function (){
if(isExpanded){
hiddenWrap.style.maxHeight=hiddenWrap.scrollHeight + 'px';
}});
});
});
jQuery(function($){
$(document).on('click', '.obj__wrapper-send-request-btn', function(e){
if($('body').hasClass('single-product')){
$('.request__popup').addClass('active');
}});
$('#request_form').on('submit', function(e){
e.preventDefault();
let $this=$(this);
const inputs=$this.find(' > div > input:not([type="email"])');
const emailInputs=$this.find(' > div > input[type="email"]');
let is_valid=true;
inputs.each(function (index, element){
if(element.value.trim()===''){
is_valid=false;
element.classList.add('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.add('invalid-div');
}}else{
element.classList.remove('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.remove('invalid-div');
}}
});
emailInputs.each(function (index, element){
const emailValue=element.value.trim();
if(emailValue!==''){
const isValidEmail=/^[a-zA-Z]+@[a-zA-Z]+\.[a-zA-Z]+$/.test(emailValue);
if(!isValidEmail){
is_valid=false;
element.classList.add('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.add('invalid-div');
}}else{
element.classList.remove('invalid');
const parentDiv=element.parentElement;
if(parentDiv){
parentDiv.classList.remove('invalid-div');
}}
}});
if(is_valid){
submit=true;
let name=$this.find('input[name="name"]').val();
let email_or_phone=$this.find('input[name="email"]').val();
let message=$this.find('textarea[name="message"]').val();
let product_lot=$('.order__popup-item-info-type').html();
let product_image=$('.order__popup-item-ph > img').attr('src');
let product_name=$('.order__popup-item-info-name').html();
let page_link=$this.find('input[name="page_link"]').val();
let page_url=window.location.href;
message=message.replace(/\r?\n/g, '<br />');
$.ajax({
url: ajax_var.url,
type: "POST",
dataType: "json",
data: {
action: 'artefact_send_request',
name: name,
email_or_phone: email_or_phone,
message: message,
product_lot: product_lot,
product_image: product_image,
product_name: product_name,
page_link: page_link,
page_url: page_url,
_ajax_nonce: ajax_var.nonce,
},
success: function(result){
if(result.success!=undefined){
window.location.assign('/thank');
}
if(result.error!=undefined){
console.log("error: ", 'Ошибка отправки');
}
submit=false;
}});
}});
});