PageSourceSearch

https://rabt.digital/wp-content/themes/rabt/script.js?ver=1778148791

js rabt.digital collected 2026-10-02 00:20:32 UTC 50,525 bytes, 1,413 lines download raw bytes

1jQuery(document).ready(function () {
2
3    jQuery("#fb-check").on("click", function (e) {
4        jQuery(this).next().toggleClass('label-checkbox');
5        jQuery(".facebook").toggle(this.checked);
6    });
7
8    jQuery("#tiktok-check").on("click", function (e) {
9        jQuery(this).next().toggleClass('label-checkbox');
10        jQuery(".tiktok").toggle(this.checked);
11    });
12    jQuery("#instagram-check").on("click", function (e) {
13        jQuery(this).next().toggleClass('label-checkbox');
14        jQuery(".instagram").toggle(this.checked);
15    });
16    jQuery("#twitter-check").on("click", function (e) {
17        jQuery(this).next().toggleClass('label-checkbox');
18        jQuery(".twitter").toggle(this.checked);
19    });
20    jQuery("#behance-check").on("click", function (e) {
21        jQuery(this).next().toggleClass('label-checkbox');
22        jQuery(".behance").toggle(this.checked);
23    });
24
25    jQuery("#dribbble-check").on("click", function (e) {
26        jQuery(this).next().toggleClass('label-checkbox');
27        jQuery(".dribbble").toggle(this.checked);
28    });
29
30    jQuery("#linkedin-check").on("click", function (e) {
31        jQuery(this).next().toggleClass('label-checkbox');
32        jQuery(".linkedin").toggle(this.checked);
33    });
34
35    jQuery("#reddit-check").on("click", function (e) {
36        jQuery(this).next().toggleClass('label-checkbox');
37        jQuery(".reddit").toggle(this.checked);
38    });
39
40    jQuery("#whatsapp-check").on("click", function (e) {
41        jQuery(this).next().toggleClass('label-checkbox');
42        jQuery(".whatsapp").toggle(this.checked);
43    });
44
45    jQuery("#youtube-check").on("click", function (e) {
46        jQuery(this).next().toggleClass('label-checkbox');
47        jQuery(".youtube").toggle(this.checked);
48    });
49
50    jQuery("#snapchat-check").on("click", function (e) {
51        jQuery(this).next().toggleClass('label-checkbox');
52        jQuery(".snapchat").toggle(this.checked);
53    });
54});
55
56jQuery(document).ready(function () {
57    $('#file-upload').change(function () {
58        const fileInput = this;
59        const errorMessage = $('.error-message');
60        const fileName = $(fileInput).val().split('\\').pop(); // Get the file name
61        console.log(fileName);
62        // Check if a file has been selected
63        if (fileInput.files.length === 0) {
64            errorMessage.html('Please select a file.');
65            $('.file-name').text('');
66            return;
67        }
68
69        const file = fileInput.files[0];
70
71        // Check the file size (8 MB = 8 * 1024 * 1024 bytes)
72        if (file.size > 8 * 1024 * 1024) {
73            errorMessage.html('File size exceeds 8 MB.');
74            $('.file-name').text('');
75            fileInput.value = ''; // Clear the input field
76            return;
77        }
78
79        // Check the file format
80        const allowedFormats = ['.pdf', '.ai', '.eps', '.svg'];
81        const fileExtension = file.name.toLowerCase().slice((file.name.lastIndexOf('.') - 1 >>> 0) + 2);
82
83        if (!allowedFormats.includes('.' + fileExtension)) {
84            errorMessage.html('Upload file in .pdf, .ai, .eps, or .svg format.');
85            $('.file-name').text(''); // Clear only the file name, not the error message
86            fileInput.value = ''; // Clear the input field
87            return;
88        }
89        // Display the selected file name
90        $('.file-name').text(`Selected File: ${fileName}`);
91        errorMessage.html(''); // Clear any previous error messages
92    });
93    $('#file-upload-metal').change(function () {
94        const fileInput = this;
95        const errorMessage = $('.error-message');
96        const fileName = $(fileInput).val().split('\\').pop(); // Get the file name
97        console.log(fileName);
98        // Check if a file has been selected
99        if (fileInput.files.length === 0) {
100            errorMessage.html('Please select a file.');
101            $('.file-name-metal').text('');
102            return;
103        }
104
105        const file = fileInput.files[0];
106
107        // Check the file size (8 MB = 8 * 1024 * 1024 bytes)
108        if (file.size > 8 * 1024 * 1024) {
109            errorMessage.html('File size exceeds 8 MB.');
110            $('.file-name-metal').text('');
111            fileInput.value = ''; // Clear the input field
112            return;
113        }
114
115        // Check the file format
116        const allowedFormats = ['.pdf', '.ai', '.eps', '.svg'];
117        const fileExtension = file.name.toLowerCase().slice((file.name.lastIndexOf('.') - 1 >>> 0) + 2);
118
119        if (!allowedFormats.includes('.' + fileExtension)) {
120            errorMessage.html('Upload file in .pdf, .ai, .eps, or .svg format.');
121            $('.file-name-metal').text(''); // Clear only the file name, not the error message
122            fileInput.value = ''; // Clear the input field
123            return;
124        }
125        // Display the selected file name
126        $('.file-name-metal').text(`Selected File: ${fileName}`);
127        errorMessage.html(''); // Clear any previous error messages
128    });
129    $("#inner-customized").click(function () {
130        // Remove the 'required' attribute from the input field
131        $("#file-upload").removeAttr("required");
132        
133        if($('#matel-inner-customized').hasClass('active')){
134            $('#inner-custom-content1').hide();
135            $('#inner-customized-content1').show();
136            $('#inner-custom-content').hide();
137            $('#inner-customized-content').show();
138        }else{
139            $('#inner-customized-content1').hide();
140            $('#inner-custom-content1').show();
141            $('#inner-customized-content').hide();
142            $('#inner-custom-content').show();
143        }
144    });
145
146    $("#inner-custom").click(function () {
147        // Restore the 'required' attribute to the input field
148        $("#file-upload").attr("required", true);
149        $('#inner-customized-content').hide();
150        $('#inner-custom-content').show();
151    });
152    // metal case
153    $("#matel-inner-customized").click(function () {
154        // Remove the 'required' attribute from the input field
155        $("#file-upload-metal").removeAttr("required");
156        
157        if($('#matel-inner-customized').hasClass('active')){
158            $('#inner-custom-content1').hide();
159            $('#inner-customized-content1').show();
160            $('#inner-custom-content').hide();
161            $('#inner-customized-content').show();
162        }else{
163            $('#inner-customized-content1').hide();
164            $('#inner-custom-content1').show();
165            $('#inner-customized-content').hide();
166            $('#inner-custom-content').show();
167        }
168    });
169
170    $("#matel-inner-custom").click(function () {
171        // Restore the 'required' attribute to the input field
172        $("#file-upload-metal").attr("required", true);
173        $('#inner-customized-content').hide();
174        $('#inner-custom-content').show();
175    });
176});
177jQuery(document).ready(function () {
178
179    // fb close with cross btn
180    jQuery(".fb-cross-btn").on("click", function () {
181        jQuery(".facebook").css("display", "none");
182        jQuery("#fb-check").prop("checked", false);
183        jQuery("#fb-check").next().removeClass("label-checkbox");
184        jQuery('#facebook_link').val('');
185
186        jQuery(".facebook-icon-active").toggle(false);
187        jQuery(".facebook-icon").toggle(true);
188    });
189
190    // tiktok close with cross btn
191    jQuery(".tktok-cross-btn").on("click", function () {
192        jQuery(".tiktok").css("display", "none");
193        jQuery("#tiktok-check").prop("checked", false);
194        jQuery("#tiktok-check").next().removeClass("label-checkbox");
195        jQuery('#tiktok_link').val('');
196        jQuery(".tiktok-icon-active").toggle(false);
197        jQuery(".tiktok-icon").toggle(true);
198    });
199
200    // instagram close with cross btn
201    jQuery(".instagram-cross-btn").on("click", function () {
202        jQuery(".instagram").css("display", "none");
203        jQuery("#instagram-check").prop("checked", false);
204        jQuery("#instagram-check").next().removeClass("label-checkbox");
205        jQuery('#instagram_link').val('');
206        jQuery(".instagram-icon-active").toggle(false);
207        jQuery(".instagram-icon").toggle(true);
208    });
209
210    // twitter close with cross btn
211    jQuery(".twitter-cross-btn").on("click", function () {
212        jQuery(".twitter").css("display", "none");
213        jQuery("#twitter-check").prop("checked", false);
214        jQuery("#twitter-check").next().removeClass("label-checkbox");
215        jQuery('#twitter_link').val('');
216        jQuery(".twitter-icon-active").toggle(false);
217        jQuery(".twitter-icon").toggle(true);
218    });
219
220    // behance close with cross btn
221    jQuery(".behance-cross-btn").on("click", function () {
222        jQuery(".behance").css("display", "none");
223        jQuery("#behance-check").prop("checked", false);
224        jQuery("#behance-check").next().removeClass("label-checkbox");
225        jQuery('#behance_link').val('');
226        jQuery(".behance-icon-active").toggle(false);
227        jQuery(".behance-icon").toggle(true);
228    });
229
230    // dribbble close with cross btn
231    jQuery(".dribbble-cross-btn").on("click", function () {
232
233        jQuery(".dribbble").css("display", "none");
234        jQuery("#dribbble-check").prop("checked", false);
235        jQuery("#dribbble-check").next().removeClass("label-checkbox");
236        jQuery('#dribble_link').val('');
237        jQuery(".dribble-icon-active").toggle(false);
238        jQuery(".dribble-icon").toggle(true);
239    });
240
241    // linkedin close with cross btn
242    jQuery(".linkedin-cross-btn").on("click", function () {
243        jQuery(".linkedin").css("display", "none");
244        jQuery("#linkedin-check").prop("checked", false);
245        jQuery("#linkedin-check").next().removeClass("label-checkbox");
246        jQuery('#linkedin_link').val('');
247        jQuery(".linkedin-icon-active").toggle(false);
248        jQuery(".linkedin-icon").toggle(true);
249    });
250
251    jQuery(".reddit-cross-btn").on("click", function () {
252        jQuery(".reddit").css("display", "none");
253        jQuery("#reddit-check").prop("checked", false);
254        jQuery("#reddit-check").next().removeClass("label-checkbox");
255        jQuery('#reddit_link').val('');
256        jQuery(".reddit-icon-active").toggle(false);
257        jQuery(".reddit-icon").toggle(true);
258    });
259
260
261    jQuery(".whatsapp-cross-btn").on("click", function () {
262        jQuery(".whatsapp").css("display", "none");
263        jQuery("#whatsapp-check").prop("checked", false);
264        jQuery("#whatsapp-check").next().removeClass("label-checkbox");
265        jQuery('#whatsapp_link').val('');
266        jQuery(".whatsapp-icon-active").toggle(false);
267        jQuery(".whatsapp-icon").toggle(true);
268    });
269
270
271    jQuery(".youtube-cross-btn").on("click", function () {
272        jQuery(".youtube").css("display", "none");
273        jQuery("#youtube-check").prop("checked", false);
274        jQuery("#youtube-check").next().removeClass("label-checkbox");
275        jQuery('#youtube_link').val('');
276        jQuery(".youtube-icon-active").toggle(false);
277        jQuery(".youtube-icon").toggle(true);
278    });
279
280
281    jQuery(".snapchat-cross-btn").on("click", function () {
282        jQuery(".snapchat").css("display", "none");
283        jQuery("#snapchat-check").prop("checked", false);
284        jQuery("#snapchat-check").next().removeClass("label-checkbox");
285        jQuery('#snapchat_link').val('');
286        jQuery(".snapchat-icon-active").toggle(false);
287        jQuery(".snapchat-icon").toggle(true);
288    });
289});
290
291function readURL(input) {
292    if (input.files && input.files[0]) {
293        var file = input.files[0];
294        var size = file.size;
295        if (size > 1024000) { // 1 MB
296            jQuery("#image-fize-error").css('display', 'block');
297            jQuery("#image-fize-error").text('File size must be less than 1 MB');
298            jQuery("#image-fize-error").css('margin-top', '10px');
299            // jQuery('#save-btn').prop('disabled', true);
300            input.value = ""; // Reset the input element
301        } else {
302            jQuery("#image-fize-error").css('display', 'none');
303            jQuery('#save-btn').prop('disabled', false);
304            var reader = new FileReader();
305            reader.onload = function (e) {
306                jQuery(".image-upload-wrap").hide();
307                jQuery(".file-upload-image").attr("src", e.target.result);
308                jQuery(".file-upload-content").show();
309            };
310            reader.readAsDataURL(file);
311
312        }
313    } else {
314        // input.value = ""; // Reset the input element
315        removeUpload();
316    }
317}
318
319jQuery('#share-btn').on('click', function (e) {
320    var url = jQuery(this).attr("data-id");
321    if (navigator.share) {
322        navigator.share({
323                title: 'Share Profile',
324                url: url,
325            }).then(() => {
326                console.log('Thanks for sharing!');
327                $('.tooltiptext').addClass('show_tooltip');
328                setTimeout(function () {
329                    $('.tooltiptext').removeClass('show_tooltip');
330                }, 5000);
331            })
332            .catch(console.error);
333
334    } else {
335        // fallback
336    }
337});
338
339function removeUpload() {
340    jQuery(".file-upload-input").replaceWith(jQuery(".file-upload-input").clone());
341    jQuery(".file-upload-content").hide();
342    jQuery(".image-upload-wrap").show();
343}
344jQuery(".image-upload-wrap").bind("dragover", function () {
345    jQuery(".image-upload-wrap").addClass("image-dropping");
346});
347jQuery(".image-upload-wrap").bind("dragleave", function () {
348    jQuery(".image-upload-wrap").removeClass("image-dropping");
349});
350function isURL(str) {
351    var regex = new RegExp("^(http[s]?:\\/\\/(www\\.)?|www\\.){1}([0-9A-Za-z-\\.@:%_\+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?");
352    var without_regex = new RegExp("^([0-9A-Za-z-\\.@:%_\+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?");
353    if (regex.test(str) || without_regex.test(str)) {
354        return true;
355    } else {
356        return false;
357    }
358}
359jQuery(document).ready(function ($) {
360    var myForm = $('#profile-builder');
361    $(myForm).submit(function (e) {
362        e.preventDefault();
363        $('.error-message-field').remove();
364        jQuery('#loader-wrapper-ajax').show();
365        var valid = true;
366        var scrollto = true;
367        if ($('#full_name').val() == '') {
368            $('#full_name').after('<p class="error-message-field">Full name is required.</p>');
369            $('#full_name').css('border', '1px solid red');
370            scrollToId('full_name', scrollto);
371            scrollto = false;
372            valid = false;
373        }
374        if ($('#phone_number').val() != '') {
375            if (!/^\+\d{10,15}$/.test($('#phone_number').val())) {
376                $('#phone_number').after('<p class="error-message-field">Enter a valid phone number</p>');
377                scrollToId('phone_number', scrollto);
378                scrollto = false;
379                valid = false;
380            }
381        }
382        if ($('#phone_sec').val() != '') {
383            // if (!/^(?=.*[0-9])[+()0-9]+$/.test($('#phone_sec').val())) {
384            if (!/^\+\d{10,15}$/.test($('#phone_sec').val())) {
385                $('#phone_sec').after('<p class="error-message-field" style="color:red !important;">Enter a valid phone number.</p>');
386                scrollToId('phone_sec', scrollto);
387                scrollto = false;
388                valid = false;
389            }
390        }
391        if ($('#whatsapp_link').val() != '') {
392            if (!/^\+\d{10,15}$/.test($('#whatsapp_link').val())) {
393                //  if (!/^\+9\d{10,15}$/.test($('#whatsapp_link').val())){
394                $('#whatsapp_link').after('<p class="error-message-field">Enter a valid phone number.</p>');
395                scrollToId('whatsapp_link', scrollto);
396                scrollto = false;
397                valid = false;
398            }
399        }
400        if ($('#email').val() == '') {
401            $('#email').after('<p class="error-message-field">Email is required.</p>');
402            $('#email').css('border', '1px solid red');
403            scrollToId('email', scrollto);
404            scrollto = false;
405            valid = false;
406        } else {
407            filter = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
408            if (!filter.test($('#email').val())) {
409                $('#email').after('<p class="error-message-field">Enter a valid email.</p>');
410                scrollToId('email', scrollto);
411                scrollto = false;
412                valid = false;
413            }
414        }
415        if ($('#email_sec').val() != '') {
416            filter = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
417            if (!filter.test($('#email_sec').val())) {
418                $('#email_sec').after('<p class="error-message-field">Enter a valid email.</p>');
419                scrollToId('email_sec', scrollto);
420                scrollto = false;
421                valid = false;
422            }
423        }
424        if ($('#website_url').val() != '') {
425            if (!isURL($('#website_url').val())) {
426                $('#website_url').after('<p class="error-message-field">Enter a valid website URL.</p>');
427                scrollToId('website_url', scrollto);
428                scrollto = false;
429                valid = false;
430            }
431        }
432        if ($('#website_sec').val() != '') {
433            if (!isURL($('#website_sec').val())) {
434                $('#website_sec').after('<p class="error-message-field">Enter a valid website URL.</p>');
435                scrollToId('website_sec', scrollto);
436                scrollto = false;
437                valid = false;
438            }
439        }
440        if ($('#facebook_link').val() != '') {
441            if (!isURL($('#facebook_link').val())) {
442                $('#facebook_link').after('<p class="error-message-field">Enter a valid link.</p>');
443                scrollToId('facebook_link', scrollto);
444                scrollto = false;
445                valid = false;
446            }
447        }
448        if ($('#tiktok_link').val() != '') {
449            if (!isURL($('#tiktok_link').val())) {
450                $('#tiktok_link').after('<p class="error-message-field">Enter a valid link.</p>');
451                scrollToId('tiktok_link', scrollto);
452                scrollto = false;
453                valid = false;
454            }
455        }
456        if ($('#instagram_link').val() != '') {
457            if (!isURL($('#instagram_link').val())) {
458                $('#instagram_link').after('<p class="error-message-field">Enter a valid link.</p>');
459                scrollToId('instagram_link', scrollto);
460                scrollto = false;
461                valid = false;
462            }
463        }
464        if ($('#twitter_link').val() != '') {
465            if (!isURL($('#twitter_link').val())) {
466                $('#twitter_link').after('<p class="error-message-field">Enter a valid link.</p>');
467                scrollToId('twitter_link', scrollto);
468                scrollto = false;
469                valid = false;
470            }
471        }
472        if ($('#behance_link').val() != '') {
473            if (!isURL($('#behance_link').val())) {
474                $('#behance_link').after('<p class="error-message-field">Enter a valid link.</p>');
475                scrollToId('behance_link', scrollto);
476                scrollto = false;
477                valid = false;
478            }
479        }
480        if ($('#dribble_link').val() != '') {
481            if (!isURL($('#dribble_link').val())) {
482                $('#dribble_link').after('<p class="error-message-field">Enter a valid link.</p>');
483                scrollToId('dribble_link', scrollto);
484                scrollto = false;
485                valid = false;
486            }
487        }
488        if ($('#linkedin_link').val() != '') {
489            if (!isURL($('#linkedin_link').val())) {
490                $('#linkedin_link').after('<p class="error-message-field">Enter a valid link.</p>');
491                scrollToId('linkedin_link', scrollto);
492                scrollto = false;
493                valid = false;
494            }
495        }
496        if ($('#reddit_link').val() != '') {
497            if (!isURL($('#reddit_link').val())) {
498                $('#reddit_link').after('<p class="error-message-field">Enter a valid link.</p>');
499                scrollToId('reddit_link', scrollto);
500                scrollto = false;
501                valid = false;
502            }
503        }
504        if ($('#appstore').val() != '') {
505            if (!isURL($('#appstore').val())) {
506                $('#appstore').after('<p class="error-message-field">Enter a valid link.</p>');
507                scrollToId('appstore', scrollto);
508                scrollto = false;
509                valid = false;
510            }
511        }
512        if ($('#playstore').val() != '') {
513            if (!isURL($('#playstore').val())) {
514                $('#playstore').after('<p class="error-message-field">Enter a valid link.</p>');
515                scrollToId('playstore', scrollto);
516                scrollto = false;
517                valid = false;
518            }
519        }
520        if (!valid) {
521            jQuery('#loader-wrapper-ajax').hide();
522            return;
523        }
524        $('.error-message').html('').hide();
525        var myformData = new FormData(myForm[0]);
526        myformData.append('action', 'pn_wp_frontend_ajax_upload');
527
528        if (valid) {
529            jQuery('#save-btn').text('Saving changes...');
530            jQuery('#save-btn').prop("disabled", true);
531        }
532
533
534        // show loading on
535        // jQuery(this).text("Loading...");
536        // jQuery(this).prop("disabled", true);
537
538        $.ajax({
539            type: "POST",
540            data: myformData,
541            dataType: "json",
542            url: ajaxurl,
543            cache: false,
544            processData: false,
545            contentType: false,
546            enctype: 'multipart/form-data',
547            success: function (data) {
548                if (data.error) {
549                    $('.error-message').html(data.message).show();
550                    $('.success-message').html('').hide();
551                    $(window).scrollTop(0);
552                    jQuery('#loader-wrapper-ajax').hide();
553                } else {
554                    $('.success-message').html(data.message).show();
555                    $('.error-message').html('').hide();
556                    $(window).scrollTop(0);
557                    document.getElementById('profile-builder').reset();
558                    jQuery('.remove-image').trigger('click');
559                    jQuery("[class$='-cross-btn']").trigger('click');
560                    jQuery('#loader-wrapper-ajax').hide();
561                    setTimeout(function () {
562                        jQuery('.remove-image').trigger('click');
563                        jQuery("[class$='-cross-btn']").trigger('click');
564                        jQuery('#loader-wrapper-ajax').hide();
565                        window.location.href = data.redirect;
566                    }, 1000);
567                }
568            }
569        });
570    });
571});
572function scrollToId(id, scrollto) {
573    if (scrollto) {
574        var offset = 100;
575        jQuery('html, body').animate({
576            scrollTop: jQuery("#" + id).offset().top - offset
577        }, 300);
578    }
579}
580
581function downloadVCF(id) {
582    jQuery('#loader-wrapper-ajax').show();
583
584    var myformData = new FormData();
585    myformData.append('id', id);
586    myformData.append('action', 'download_vcf');
587
588    jQuery.ajax({
589        type: "POST",
590        data: myformData,
591        url: ajaxurl,
592        cache: false,
593        processData: false,
594        contentType: false,
595        success: function (data) {
596            var downloadLink = document.createElement("a");
597            var url = data;
598            downloadLink.href = url;
599
600            document.body.appendChild(downloadLink);
601            downloadLink.click();
602            document.body.removeChild(downloadLink);
603            jQuery('#loader-wrapper-ajax').hide();
604
605            var user_agent = navigator.userAgent.toLowerCase();
606            var parent_id = parseInt(jQuery('#parent_id').val(), 10); // get parent_id from hidden input
607            var showExchangeButton = jQuery('#show_exchange_button_flag').val() === 'true';
608
609            // ✅ Show modal only for iPhone/iPad users
610            if ((user_agent.indexOf('iphone') !== -1 || user_agent.indexOf('ipad') !== -1)) {
611                jQuery('#sv_contact').modal('hide');
612
613                if (showExchangeButton === true) {
614                    jQuery('#contact-share').modal('show');
615                }
616            }
617        }
618    });
619}
620
621function applyCustomFilter(id) {
622    jQuery('.nav-link').removeClass('active');
623    jQuery('#bapf_1_' + id).click();
624    jQuery('#nav-tab-' + id).addClass('active');
625}
626jQuery(document).ready(function ($) {
627    $('.customers_slider').slick({
628        dots: false,
629        infinite: true,
630        speed: 500,
631        slidesToShow: 3,
632        slidesToScroll: 1,
633        autoplay: true,
634        autoplaySpeed: 2000,
635        arrows: false,
636        responsive: [{
637                breakpoint: 600,
638                settings: {
639                    slidesToShow: 2,
640                    slidesToScroll: 1
641                }
642            },
643            {
644                breakpoint: 400,
645                settings: {
646                    arrows: false,
647                    slidesToShow: 1,
648                    slidesToScroll: 1
649                }
650            }
651        ]
652    });
653});
654
655jQuery(document).ready(function ($) {
656    $('.htf-reviews').slick({
657        infinite: true,
658        slidesToShow: 3,
659        slidesToScroll: 1,
660        dots: true,
661        // rtl: true,
662        arrows: false,
663        // rtl: false,
664        // margin: 20,
665        // variableWidth: true,
666        // centerMode: true,
667        responsive: [{
668                breakpoint: 768,
669                settings: {
670                    infinite: true,
671                    slidesToShow: 1,
672                    slidesToScroll: 1,
673                }
674
675            },
676            {
677                breakpoint: 429,
678                settings: {
679                    infinite: true,
680                    slidesToShow: 1,
681                    slidesToScroll: 1,
682                    variableWidth: true,
683                    // centerMode: true,
684                }
685
686            }, {
687
688                breakpoint: 991,
689                settings: {
690                    infinite: true,
691                    slidesToShow: 2,
692                    slidesToScroll: 1,
693                }
694
695            }
696        ]
697    });
698});
699
700// code for NFC guide  slider 
701$(document).ready(function () {
702    // Initialize the slider on page load
703    var guideSlider = $('.nfc-guide-slider');
704    var thumbViewer = $('.thumb-viewer');
705
706    guideSlider.slick({
707        infinite: true,
708        slidesToShow: 1,
709        arrows: true,
710        asNavFor: thumbViewer
711    });
712
713    thumbViewer.slick({
714        infinite: true,
715        slidesToShow: 4,
716        arrows: false,
717        asNavFor: guideSlider,
718        focusOnSelect: true
719    });
720
721    guideSlider.on('beforeChange', function (event, slick, currentSlide, nextSlide) {
722        // Get the current slide element
723        var currentSlideElement = slick.$slides.eq(currentSlide);
724
725        // Find the video element within the current slide
726        var videoElement = currentSlideElement.find('video');
727
728        // Pause the video if it exists
729        if (videoElement.length > 0) {
730            videoElement.get(0).pause();
731        }
732    });
733
734    $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
735
736        // Reset and reinitialize the sliders on tab change
737        guideSlider.slick('unslick').slick({
738            infinite: true,
739            slidesToShow: 1,
740            arrows: true,
741            asNavFor: thumbViewer
742        });
743
744        thumbViewer.slick('unslick').slick({
745            infinite: true,
746            slidesToShow: 4,
747            arrows: false,
748            asNavFor: guideSlider,
749            focusOnSelect: true
750        });
751    });
752
753    $('#myTab a').on('click', function (e) {
754        e.preventDefault();
755        $(this).tab('show');
756    });
757});
758//   on change language update the language in chat
759document.tidioChatLang = document.querySelector('html').getAttribute('lang');
760
761$(document).ready(function () {
762    // Function to update the product price and button text
763    function updateProductInfo() {
764        var activeTab = $('#myTab .nav-link.active').attr('href');
765        var priceInput = $(activeTab).find('input[name$="-price"]');
766        var price = priceInput.val();
767        var button = $('.custom_btn_plain');
768        var buttonText = '';
769
770        if (activeTab === '#lite') {
771            buttonText = 'Continue';
772        } else if (activeTab === '#black') {
773            if (isArabicLanguage()) {
774                buttonText = 'أكتب أسمك ومنصبك بـ';
775            } else {
776                buttonText = 'Customize';
777            }
778        } else if (activeTab === '#custom') {
779            if (isArabicLanguage()) {
780                buttonText = 'صمم بطاقتك الآن بـ';
781            } else {
782                buttonText = 'Customize';
783            }
784        }
785
786        $('.nfc_product_price').text(price);
787        button.text(buttonText);
788    }
789
790    // Function to check if the selected language is Arabic
791    function isArabicLanguage() {
792        var htmlTag = $('html');
793        return htmlTag.attr('dir') === 'rtl';
794    }
795
796    // Update the product price and button text on page load
797    updateProductInfo();
798
799    // Update the product price and button text when a tab is shown
800    $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
801        updateProductInfo();
802    });
803});
804
805// update the button value 
806jQuery(document).ready(function () {
807    jQuery('.nfc_guide_main .nav-link').click(function () {
808        // Get the value of the clicked tab's aria-controls attribute
809        var tabValue = jQuery(this).attr('aria-controls');
810        // Get the current href value of the button
811        var btnUrl = jQuery('.custom_btn').attr('href');
812        // Update the URL with the tab value
813        var newUrl = btnUrl.replace(/tab=[^&]+/, 'tab=' + tabValue);
814        // Update the href attribute of the button
815        jQuery('.custom_btn').attr('href', newUrl);
816    });
817});
818// on url active tab
819jQuery(document).ready(function () {
820    // Get the value of the "tab" parameter from the URL
821    var urlParams = new URLSearchParams(window.location.search);
822    var tabValue = urlParams.get('tab');
823
824    // Set the active tab based on the "tab" parameter
825    if (tabValue === 'custom') {
826        jQuery('#nav-custom-tab').addClass('active');
827        jQuery('.card_detail_area').show();
828        jQuery('.card_input_area').show();
829        jQuery('#nav-custom').show();
830        jQuery('#nav-lite-tab').removeClass('active');
831        jQuery('#nav-black').hide();
832        jQuery('#nav-lite').hide();
833    } else if (tabValue === 'black') {
834        jQuery('#inner-customized-content1').show();
835        jQuery('#nav-black-tab').addClass('active');
836        jQuery('.card_detail_area').show();
837        jQuery('.your_company_input').show();
838        jQuery('#nav-black').show();
839        jQuery('#nav-lite').hide();
840        jQuery('.card_input_area').show();
841        jQuery('#nav-lite-tab').removeClass('active');
842        if($('#nav-custom-tab').hasClass('active')){
843            jQuery('#inner-customized-content').show();
844        }
845    } else if (tabValue === 'lite') {
846        jQuery('#nav-lite-tab').addClass('active');
847        $("#file-upload").removeAttr("required");
848        $("#file-upload-metal").removeAttr("required");
849        jQuery('.card_detail_area').hide();
850        jQuery('.card_input_area').hide();
851    }
852});
853jQuery(function ($) {
854    let timeout;
855    $('.woocommerce').on('change', 'input.qty', function () {
856        if (timeout !== undefined) {
857            clearTimeout(timeout);
858        }
859        timeout = setTimeout(function () {
860            jQuery('.update_cart_btn .button').trigger('click');
861        }, 1000); // 1 second delay, half a second (500) seems comfortable too
862    });
863});
864
865
866
867jQuery('#share-btn').on('click', function (e) {
868    var url = jQuery(this).attr("data-id");
869    if (navigator.share) {
870        navigator.share({
871                title: 'Share Profile',
872                url: url,
873            }).then(() => {
874                console.log('Thanks for sharing!');
875            })
876            .catch(console.error);
877    } else {
878        // fallback
879    }
880});
881
882
883function copyToClipboard(text) {
884    var textArea = document.createElement("textarea");
885    textArea.value = text;
886    document.body.appendChild(textArea);
887    textArea.select();
888    try {
889        var successful = document.execCommand('copy');
890        var msg = successful ? 'successful' : 'unsuccessful';
891        $('.alert').css('display', 'block');
892    } catch (err) {
893        console.log('Oops, unable to copy', err);
894    }
895    document.body.removeChild(textArea);
896}
897
898$(document).on('click', '.swatch:not(.disabled)', function () {
899    var data = jQuery(this).attr('data-value');
900
901    if ($(this).hasClass('selected')) {
902        jQuery('.selected_var span').text(data);
903    } else {
904        jQuery('.selected_var span').text('No Color Selected');
905    }
906});
907$('.swatch').click(function () {
908    if ($(this).hasClass('disabled')) {
909        return false;
910    }
911});
912
913// show out of stock tooltip
914$(document).on('hover', '.swatch-color.disabled', function () {
915    $(this).css('cursor', 'no-drop');
916    $(this).next('.swatch__tooltip').text('Out of Stock');
917});
918function miniCartMethod() {
919    // jQuery(".dropdown-menu-mini-cart").css('display', 'block');
920    jQuery(".dropdown-menu-mini-cart").toggle();
921}
922function sliderFiltering(index, totals) {
923    if (index == 0) {
924        $('.products-wrap').slick('slickUnfilter');
925    } else {
926        $('.products-wrap').slick('slickUnfilter');
927        var filtersStr = "";
928        for (var i = 1; i <= totals; i++) {
929            if (index == i) {
930                filtersStr += ".product-single-" + i + ",";
931            }
932        }
933        filtersStr = filtersStr.replace(/,*$/, '');
934        jQuery('.products-wrap').slick('slickFilter', filtersStr);
935    }
936}
937jQuery(document).ready(function ($) {
938    $('#login-btn').on('click', function () {
939        var email = $('#login-frm #email').val();
940        var password = $('#login-frm #password').val();
941        var validationPassed = true;
942        $(".error").remove();
943
944        if (email.length < 1) {
945            validationPassed = false;
946            $('#email').after('<span class="error">Email field is required</span>');
947        } else {
948            var regEx = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
949            var validEmail = regEx.test(email);
950            if (!validEmail) {
951                validationPassed = false;
952                $('#email').after('<span class="error">Enter a valid email</span>');
953            }
954        }
955        if (password.length < 1) {
956            validationPassed = false;
957            $('#password').after('<span class="error">Password field is required</span>');
958        }
959        if (validationPassed) {
960            var myForm = $('#login-frm');
961            var myformData = new FormData(myForm[0]);
962            myformData.append('action', 'pn_wp_frontend_ajax_login');
963
964            $.ajax({
965                type: "POST",
966                data: myformData,
967                dataType: "json",
968                url: ajaxurl,
969                cache: false,
970                processData: false,
971                contentType: false,
972                enctype: 'multipart/form-data',
973                success: function (data) {
974                    if (data.error) {
975                        $('#loginModal .login-heading').after('<span class="error">' + data.message + '</span>');
976                    } else {
977                        window.location.href = data.redirect;
978                    }
979                }
980            });
981        }
982    });
983});
984// Work Slider
985const work_row = document.querySelector(".work__inner-row");
986jQuery(work_row).slick({
987    slidesToShow: 3,
988    slidesToScroll: 1,
989    autoplay: true,
990    autoplaySpeed: 2500,
991    responsive: [{
992            breakpoint: 840,
993            settings: {
994                slidesToShow: 2
995            }
996        },
997        {
998            breakpoint: 540,
999            settings: {
1000                slidesToShow: 1
1001            }
1002        }
1003    ]
1004});
1005// Cards
1006const cards = document.querySelectorAll(".card"),
1007    buttons = document.querySelectorAll("#card__btn");
1008
1009const activesReset = (arr) => {
1010    arr.forEach(item => {
1011        item.classList.remove("active");
1012    })
1013}
1014
1015buttons.forEach(button => {
1016    button.addEventListener("click", () => {
1017        const value = button.dataset.card;
1018
1019        activesReset(buttons);
1020        button.classList.add("active");
1021
1022        cards.forEach(card => {
1023            if (card.id === value) {
1024                card.classList.add("active");
1025            } else {
1026                card.classList.remove("active");
1027            }
1028        })
1029    })
1030});
1031
1032// card page testing 
1033
1034jQuery(document).ready(function () {
1035    $('#rotate').on('click', function () {
1036        $('.slick-slide.slick-current .card-back-side').toggleClass('rotated_back');
1037        $('.slick-slide.slick-current .card-front-side').toggleClass('rotated_front');
1038    });
1039});
1040
1041$(".slider").slick({
1042    centerMode: true,
1043    centerPadding: "0px",
1044    slidesToShow: 3,
1045    slidesToScroll: 1,
1046    focusOnSelect: true,
1047    responsive: [{
1048        breakpoint: 600,
1049        settings: {
1050            slidesToShow: 1,
1051            slidesToScroll: 1
1052        }
1053    }]
1054});
1055jQuery('#design-tab').on('click', function () {
1056    jQuery('#slider-div').css('display', 'block');
1057    jQuery('#signle-card-div').css('display', 'none');
1058
1059    jQuery('#slider_rotate').css('display', 'block');
1060    jQuery('#signel_image_rotate').css('display', 'none');
1061
1062    var material = jQuery('.tab-list-cards .active').attr('data-material');
1063    jQuery('.slider').slick('slickUnfilter');
1064    if (material == "Plastic") {
1065        jQuery('.slider').slick('slickFilter', '.plastic-slide');
1066    } else if (material == "Metal") {
1067        jQuery('.slider').slick('slickFilter', '.metal-slide');
1068    }
1069
1070    jQuery('#select-template').val(jQuery('.slick-current').attr('data-template'));
1071});
1072
1073jQuery('#custom-upload-tab').on('click', function () {
1074    jQuery('#slider-div').css('display', 'none');
1075    jQuery('#signle-card-div').css('display', 'flex');
1076
1077    jQuery('#slider_rotate').css('display', 'none');
1078    jQuery('#signel_image_rotate').css('display', 'block');
1079    jQuery('#select-template').val('Custom');
1080});
1081
1082
1083jQuery('.plastic').on('click', function (e) {
1084    jQuery('.plastic').addClass('active');
1085    jQuery('.metal').removeClass('active');
1086
1087    jQuery('.information-div ul').css('display', 'flex');
1088});
1089
1090jQuery('.metal').on('click', function (e) {
1091    jQuery('.metal').addClass('active');
1092    jQuery('.plastic').removeClass('active');
1093
1094    jQuery('.information-div ul').css('display', 'none');
1095});
1096
1097
1098
1099// custom upload file select message on nfc card
1100jQuery('#template-custom-front').change(function () {
1101    // Get the file input element
1102    var fileInput = $(this);
1103
1104    // Get the label element
1105    var label = $('#src-success-front');
1106
1107    // Update the label text
1108    if (fileInput.val()) {
1109        var fileName = fileInput.val().split(/(\\|\/)/g).pop();
1110        label.text('File selected: ' + fileName);
1111    } else {
1112        label.text('No file selected');
1113    }
1114});
1115
1116jQuery('#template-custom-back').change(function () {
1117    // Get the file input element
1118    var fileInput = $(this);
1119
1120    // Get the label element
1121    var label = $('#src-success-back');
1122
1123    // Update the label text
1124    if (fileInput.val()) {
1125        var fileName = fileInput.val().split(/(\\|\/)/g).pop();
1126        label.text('File selected: ' + fileName);
1127    } else {
1128        label.text('No file selected');
1129    }
1130});
1131
1132// form enter key disabe
1133jQuery(document).ready(function (jQuery) {
1134    jQuery('#dgwt-wcas-search-input-1').on('keydown', function (event) {
1135        if (event.key === 'Enter') {
1136            event.preventDefault();
1137        }
1138    });
1139});
1140// contact submit scroll top
1141jQuery('.wpcf7-form').on('submit', function () {
1142
1143    var top_extra = 100;
1144
1145    $('html, body').animate({
1146        scrollTop: $('.scroll-top').offset().top - top_extra
1147    }, 500);
1148});
1149
1150// new js for NFC card page 11 JAN 2023
1151jQuery(document).ready(function () {
1152    jQuery('#rotate_front').on('click', function () {
1153        jQuery('.card__flip_front').addClass('rotated_front');
1154        jQuery('.card__flip_back').removeClass('rotated_back');
1155        jQuery(this).addClass('rotated_front_a');
1156        jQuery('#rotate_back').removeClass('rotated_back_a');
1157    });
1158
1159    jQuery('#rotate_back').on('click', function () {
1160        jQuery('.card__flip_back').addClass('rotated_back');
1161        jQuery('.card__flip_front').removeClass('rotated_front');
1162        jQuery(this).addClass('rotated_back_a');
1163        jQuery('#rotate_front').removeClass('rotated_front_a');
1164    });
1165    jQuery("#nav-black-tab").click(function () {
1166        // jQuery(".card_detail_area").hide();
1167        // jQuery(".your_company_input").hide();
1168        // $(".file-name").text("");
1169        $("#file-upload").removeAttr("required");
1170        $("#file-upload-metal").removeAttr("required");
1171        jQuery(".card_input_area").show();
1172        jQuery(".card_detail_area").show();
1173        jQuery("#nav-lite").hide();
1174        jQuery('#nav-black').show();
1175        jQuery('#nav-custom').hide();        
1176        if(jQuery("#matel-inner-custom").hasClass('active')){
1177            $("#file-upload-metal").attr("required", true);
1178            jQuery("#inner-custom-content1").show();
1179            jQuery("#inner-customized-content1").hide();
1180            jQuery(".card_detail_area").hide();
1181            jQuery(".card_input_area").hide();
1182            jQuery(".nfc_rotate_img").hide();
1183            
1184        }else{
1185            jQuery("#inner-custom-content1").hide();
1186            jQuery("#inner-customized-content1").show();
1187            jQuery(".nfc_rotate_img").show();
1188        }
1189    });
1190    jQuery("#nav-lite-tab").click(function () {
1191        jQuery(".card_detail_area").hide();
1192        jQuery(".card_input_area").hide();
1193        jQuery("#nav-lite").show();
1194        jQuery(".nfc_rotate_img").show();
1195        jQuery('#nav-black').hide();
1196        jQuery('#nav-custom').hide();
1197        $("#file-upload-metal").removeAttr("required");
1198        $("#file-upload").removeAttr("required");
1199
1200    });
1201    jQuery("#nav-custom-tab").click(function () {
1202        // $(".file-name").text("");
1203        $("#file-upload").removeAttr("required");
1204        $("#file-upload-metal").removeAttr("required");
1205        jQuery(".card_detail_area").show();
1206        jQuery(".your_company_input").show();
1207        jQuery(".card_input_area").show();
1208        jQuery("#nav-lite").hide();
1209        jQuery('#nav-black').hide();
1210        jQuery('#nav-custom').show();
1211        if (jQuery("#inner-custom").hasClass("active")) {
1212            $("#file-upload").attr("required", true);
1213            jQuery(".card_detail_area").hide();
1214            jQuery('.card_input_area').hide();
1215            jQuery('.nfc_rotate_img').hide();   
1216        }
1217        if (jQuery("#inner-customized").hasClass("active")) {
1218            jQuery("#inner-customized-content").show();
1219            jQuery(".nfc_rotate_img").show();
1220            jQuery("#inner-custom-content").hide();
1221            
1222        }else{
1223            jQuery("#inner-customized-content").hide();
1224            jQuery("#inner-custom-content").show();
1225        }
1226
1227    });
1228    jQuery('#inner-custom , #matel-inner-custom').click(function () {
1229        jQuery(".nfc_rotate_img").hide();
1230        jQuery(".card_detail_area").hide();
1231        jQuery(".nfc_cards_main .card_input_area").hide();
1232        jQuery('#inner-custom-content1 ').show();
1233        jQuery('#inner-customized-content1').hide();
1234    });
1235    jQuery("#inner-customized").click(function () {
1236        jQuery(".nfc_rotate_img").show();
1237        jQuery(".card_detail_area").show();
1238        jQuery(".card_input_area").show();
1239        jQuery('#inner-customized-content').show();
1240        jQuery('#inner-custom-content').hide();
1241    });
1242    jQuery("#matel-inner-customized").click(function () {
1243        jQuery(".nfc_rotate_img").show();
1244        jQuery(".card_detail_area").show();
1245        jQuery(".card_input_area").show();
1246        jQuery('#inner-custom-content1').hide();
1247        jQuery('#inner-customized-content1').show();
1248    });
1249    jQuery('#matel-inner-custom').click(function () {
1250        $('#select-card-metarial').val('Metal Custom Design');
1251    });
1252
1253    jQuery("#matel-inner-customized").click(function () {
1254        $('#select-card-metarial').val('Metal Custom');
1255    });
1256
1257
1258
1259});
1260
1261
1262/*Code for the stand*/
1263jQuery(document).ready(function ($) {
1264    var myForm = $('#stand-link-frm');
1265    $(myForm).submit(function (e) {
1266        e.preventDefault();
1267        $('.error-message-field').remove();
1268        jQuery('#loader-wrapper-ajax').show();
1269        var valid = true;
1270        var scrollto = true;
1271        if ($('#custom_link').val() == '') {
1272            $('#custom_link').after('<p class="error-message-field">Link is required.</p>');
1273            $('#custom_link').css('border', '1px solid red');
1274            scrollToId('full_name', scrollto);
1275            scrollto = false;
1276            valid = false;
1277        } else if (!isURL($('#custom_link').val())) {
1278            $('#custom_link').after('<p class="error-message-field">Enter a valid URL.</p>');
1279            scrollToId('custom_link', scrollto);
1280            scrollto = false;
1281            valid = false;
1282        }
1283        $('.error-message').html('').hide();
1284        var myformData = new FormData(myForm[0]);
1285        myformData.append('action', 'pn_wp_frontend_ajax_link');
1286
1287        $.ajax({
1288            type: "POST",
1289            data: myformData,
1290            dataType: "json",
1291            url: ajaxurl,
1292            cache: false,
1293            processData: false,
1294            contentType: false,
1295            enctype: 'multipart/form-data',
1296            success: function (data) {
1297                if (data.error) {
1298                    $('.error-message').html(data.message).show();
1299                    $('.success-message').html('').hide();
1300                    $(window).scrollTop(0);
1301                    jQuery('#loader-wrapper-ajax').hide();
1302                } else {
1303                    $('.success-message').html(data.message).show();
1304                    $('.error-message').html('').hide();
1305                    $(window).scrollTop(0);
1306                    jQuery('#loader-wrapper-ajax').hide();
1307                    alert(data.message);
1308                    window.location.href = "/";
1309                }
1310            }
1311        });
1312    });
1313});
1314// add parent to combine 2 elements for styling
1315$('body.single-product:not(.nfc_product_detail):not(.rabt_stickers_product) .quantity, body.single-product:not(.nfc_product_detail):not(.rabt_stickers_product) .single_add_to_cart_button').wrapAll('<div class="parent_case_section"></div>'); 
1316
1317$(document).ready(function () {
1318    var htmlTag = $('html');
1319    if (htmlTag.attr('dir') === 'rtl' && htmlTag.attr('lang') === 'ar') {
1320        $('#billing_countrycode, #billing_phone').attr('dir', 'ltr');
1321        $('#billing_phone').attr('inputmode', 'numeric');
1322    }
1323    // Map country codes to dial codes
1324    var countryToDialCode = {
1325        'BH': '+973', // Bahrain
1326        'KW': '+965', // Kuwait
1327        'OM': '+968', // Oman
1328        'QA': '+974', // Qatar
1329        'AE': '+971', // United Arab Emirates
1330        'SA': '+966' // Saudi Arabia
1331    };
1332
1333    // Function to set the selected dial code based on the selected country
1334    function setDialCode() {
1335        var selectedCountry = $('#billing_country').val();
1336        var dialCode = countryToDialCode[selectedCountry];
1337
1338        // Set the selected dial code in the country code dropdown
1339        $('#billing_countrycode').val(dialCode);
1340    }
1341
1342    // Set the initial dial code on page load
1343    setDialCode();
1344
1345    // When the country dropdown changes
1346    $('#billing_country').change(function () {
1347        setDialCode();
1348    });
1349});
1350
1351/*Code for the review*/
1352jQuery(document).ready(function ($) {
1353    var myForm = $('#review-link-frm');
1354    $(myForm).submit(function (e) {
1355        e.preventDefault();
1356        $('.error-message-field').remove();
1357        jQuery('#loader-wrapper-ajax').show();
1358        // var valid = true;
1359        // var scrollto = true;
1360        // if ($('#custom_link').val() == '') {
1361        //     $('#custom_link').after('<p class="error-message-field">Link is required.</p>');
1362        //     $('#custom_link').css('border', '1px solid red');
1363        //     scrollToId('full_name', scrollto);
1364        //     scrollto = false;
1365        //     valid = false;
1366        // } else if (!isURL($('#custom_link').val())) {
1367        //     $('#custom_link').after('<p class="error-message-field">Enter a valid URL.</p>');
1368        //     scrollToId('custom_link', scrollto);
1369        //     scrollto = false;
1370        //     valid = false;
1371        // }
1372        $('.error-message').html('').hide();
1373        var myformData = new FormData(myForm[0]);
1374        myformData.append('action', 'pn_wp_frontend_review_link');
1375
1376        $.ajax({
1377            type: "POST",
1378            data: myformData,
1379            dataType: "json",
1380            url: ajaxurl,
1381            cache: false,
1382            processData: false,
1383            contentType: false,
1384            enctype: 'multipart/form-data',
1385            success: function (data) {
1386                if (data.error) {
1387                    $('.error-message').html(data.message).show();
1388                    $('.success-message').html('').hide();
1389                    // $(window).scrollTop(0);
1390                    jQuery('#loader-wrapper-ajax').hide();
1391                } else {
1392                    $('.success-message').html(data.message).show();
1393                    $('.error-message').html('').hide();
1394                    // $(window).scrollTop(0);
1395                    jQuery('#loader-wrapper-ajax').hide();
1396                    alert(data.message);
1397                    window.location.href = "/";
1398                }
1399            }
1400        });
1401    });
1402});
1403
1404jQuery(document).ready(function ($) {
1405    function setBillingCountryCode() {
1406        let savedCode = $("select[name='billing_countrycode']").find("option[selected]").val();
1407        if (savedCode) {
1408            $("select[name='billing_countrycode']").val(savedCode).change();
1409        }
1410    }
1411    // Run after a slight delay to ensure WooCommerce doesn't override the value
1412    setTimeout(setBillingCountryCode, 1000);
1413});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.