// leto_vrs 1.4.1 jQuery(document).ready(function($){ $('#mailfrom_submit').on('click', function(e) { e.preventDefault(); $('.mailfrom .field').removeClass('error'); $('.mailfrom .error').empty(); let $name = $('.mailfrom .name_field').val().trim(); let $email = $('.mailfrom .email_field').val().trim(); let $message = $('.mailfrom .message_field').val().trim(); // проверяем, не пусты ли поля if( $name === '' || $email === '' || $message === '' ){ if( $name === '' ){ $( '.mailfrom .name_field' ).addClass('error'); $( '.mailfrom .name_error' ).append( 'Это поле не может быть пустым' ); }; if( $email === '' ){ $( '.mailfrom .email_field' ).addClass('error'); $( '.mailfrom .email_error' ).append( 'Это поле не может быть пустым' ); }; if( $message === '' ){ $( '.mailfrom .message_field' ).addClass('error'); $( '.mailfrom .message_error' ).append( 'Это поле не может быть пустым' ); }; return; }; // проверяем имя на импортные символы let $regex_rus = /^[а-яА-Я\s]+$/i; if( !$regex_rus.test( $name ) ){ $( '.mailfrom .name_field' ).addClass('error'); $( '.mailfrom .name_error' ).append( 'Это поле может быть заполнено только на русском языке' ); return; }; $.ajax({ url: ajax_js_object.ajaxurl, type: 'POST', data: { action: 'send_mailfrom', _ajax_nonce: ajax_js_object.nonce, name: $name, email: $email, message: $message }, beforeSend: function( xhr ) { $('.waiting').toggleClass('disable'); }, success: function( $answer ) { $('.waiting').toggleClass('disable'); if( $answer == 'name_error' ){ $( '.mailfrom .name_field' ).addClass('error'); $( '.mailfrom .name_error' ).append( 'Поле заполнено некорректно' ); }; if( $answer == 'email_error' ){ $( '.mailfrom .email_field' ).addClass('error'); $( '.mailfrom .email_error' ).append( 'Поле заполнено некорректно' ); }; if( $answer == 'message_ok' ){ alert('сообщение успешно отправлено'); // очистить форму }; } }); }); $('.arrival_notification_btn').on('click', function(e) { e.preventDefault(); let $id = $('.arrival_notification_field').attr('data-id'); let $mail = $('.arrival_notification_field').val(); $.ajax({ url: ajax_js_object.ajaxurl, type: 'POST', data: { action: 'ajax_arrival_notification', _ajax_nonce: ajax_js_object.nonce, id: $id, mail: $mail }, beforeSend: function( xhr ) { $('.aes.waiting').toggleClass('disable'); }, success: function( $answer ) { $('.aes.waiting').toggleClass('disable'); if( $answer == 'error' ){ $('.arrival_notification_block .arrival_notification_field').addClass('error') .css('outline','2px solid #a90112') .after( '

Указан некорректный адрес

' ); }; if( $answer == 'ok' ){ $('.arrival_notification_block').empty().html('

Вы успешно подписаны.
Когда товар появится в наличии, мы Вам сообщим.

'); $('.offers .offer.'+$id+' .base .cart ').empty().html('

Вы подписаны на уведомление о поступлении

'); location.reload(); }; if( $answer == 'double' ){ alert('Вы уже подписаны. Когда товар появится в наличии, мы Вам сообщим.'); }; } }); }); function errorSound(){ var errorAudio = new Audio; errorAudio.src = '/wp-content/plugins/leto-frontend-admin/assets/audio/error.mp3'; errorAudio.play(); }; $( '.page .inventory').on('keydown', 'input', function(event){ if( event.which === 13 || event.keyCode === 13 ){ event.stopPropagation(); event.preventDefault(); var position = $(this).index('input'); $('input').eq( position + 1 ).focus(); }; }); function inventory_add( e ){ e.preventDefault(); let $barcode = $('.inventory_block .bcode').val(); let $prod = $('.inventory_block .prod').val(); let $exp_month = $('.inventory_block .exp').val(); let $exp = $('.inventory_block .expdt').val(); let $qty = $('.inventory_block .qty').val(); let $notexp = $('.inventory_block .notexp').prop('checked'); var $prod_date_st, $exp_date_st; if( $barcode.length != 13 || isNaN($barcode) ){ errorSound(); alert('штрихкод указан неверно'); return; }; // проверяем, что поля не пусты if( $barcode === '' || $prod === '' || ( $exp === '' && $exp_month === '' && $notexp != true ) || $qty === '' ){ //console.log('есть незаполненные значения!'); return; }; if( $prod.length != 6 ){ errorSound(); alert('дата производства указана неверно'); return; }; if( $notexp != true ){ if( $exp !== '' && $exp.length != 6 ){ errorSound(); alert('срок годности указан неверно'); return; }; if( $exp_month.length > 2 ){ errorSound(); alert('срок годности в месяцах указан неверно'); return; }; }; if( Number($qty) < 1 || $qty.length > 2 ){ errorSound(); alert('количество неправильное, столько быть не может'); return; }; // проверяем дату производства var $prod_year = parseInt($prod.substr(4, 2), 10); var $prod_month = parseInt($prod.substr(2, 2), 10); var $prod_day = parseInt($prod.substr(0, 2), 10); if( $prod_month === '02' && $prod_day > 28 ){ errorSound(); alert('проверь дату производства!'); return; }; var $prod_date = new Date($prod_year + 2000, $prod_month - 1, $prod_day); $prod_date_st = ( $prod_date.getTime()/1000 + 86400 ); if( $notexp != true ){ if( $exp !== '' ){ var $prod_year_new = parseInt($exp.substr(4, 2), 10); var $prod_month_new = parseInt($exp.substr(2, 2), 10); var $prod_day_new = parseInt($exp.substr(0, 2), 10); if( $prod_month_new === '02' && $prod_day_new > 28 ){ errorSound(); alert('проверь дату срока годности!'); return; }; var $exp_date = new Date($prod_year_new + 2000, $prod_month_new - 1, $prod_day_new); $exp_month = ( $exp_date.getMonth() - $prod_date.getMonth() ) + ( 12 * ( $exp_date.getFullYear() - $prod_date.getFullYear() ) ); }else{ var $exp_date = new Date( $prod_year + 2000, $prod_month + ( Number($exp_month) - 1 ), $prod_day); }; $exp_date_st = ( $exp_date.getTime()/1000 + 86400 ); }else{ $exp_date_st = 'notexist'; $exp_month = ''; }; var $new_date = new Date( '2025-04-30T00:00+03:00' ); if( $notexp != true && $new_date > $exp_date ){ alert('Просрочка!'); errorSound(); return; }else{ if( ( $exp_date !== '' && $exp_month !== '' ) || $notexp == true ){ $.ajax({ url: ajax_js_object.ajaxurl, type: 'POST', data: { action: 'ajax_inventory_add', _ajax_nonce: ajax_js_object.nonce, barcode: $barcode, prod_date: $prod_date_st, exp_date: $exp_date_st, exp_month: $exp_month, qty: $qty }, beforeSend: function( xhr ) { $('.aes.waiting').toggleClass('disable'); }, success: function( $ansver ) { $('.aes.waiting').toggleClass('disable'); if( $ansver === 'barcode_error' ){ errorSound(); alert('штрихкод не найден!'); return; }else{ $('.inventory_block')[0].reset(); console.log( $ansver ); $('.invent_result').prepend('
' + $ansver + '
'); $('.bcode').focus(); }; } }); }else{ alert('что-то пошло не так'); console.log( 'что-то не получилось' ); }; }; }; $('.inventory_add').on('click', function(e) { inventory_add( e ); }); $( '.page .inventory').on('keydown', 'input', function(event){ if( event.which === 17 || event.keyCode === 17 ){ event.stopPropagation(); event.preventDefault(); inventory_add( event ); }; }); });