PageSourceSearch

https://mahilasaarthi.in/wp-content/plugins/booking-and-rental-man…/js/rbfw_script.js?ver=1790250058

js mahilasaarthi.in collected 2026-09-24 11:42:57 UTC 22,909 bytes, 605 lines download raw bytes

1
2
3
4
5(function($) {
6    $(document).ready(function() {
7
8        // rbfw TAB
9        $('.rbfw-tab-a').click(function(e) {
10            e.preventDefault();
11            $('.rbfw-tab-a').removeClass('active-a')
12            $(this).addClass('active-a')
13
14            $(".rbfw-tab").removeClass('rbfw-tab-active');
15            $(".rbfw-tab[data-id='" + $(this).attr('data-id') + "']").addClass("rbfw-tab-active");
16            $(this).parent().find(".tab-a").addClass('active-a');
17        });
18
19        //Donut Template FAQ/Review Tab
20        jQuery('.rbfw_dt_heading_tab').click(function(e) {
21            jQuery('.rbfw_dt_heading_tab').removeClass('active');
22            jQuery('.rbfw_dt_faq_tab_content').removeClass('active');
23            let this_tab = jQuery(this).attr('data-tab');
24            jQuery(this).addClass('active');
25            jQuery('.rbfw_dt_faq_tab_content[data-content="' + this_tab + '"]').addClass('active');
26        });
27
28        //Muffin Template FAQ/Review Tab
29        jQuery('.rbfw_muff_heading_tab').click(function(e) {
30            jQuery('.rbfw_muff_heading_tab').removeClass('active');
31            jQuery('.rbfw_muff_faq_tab_content').removeClass('active');
32            let this_tab = jQuery(this).attr('data-tab');
33            jQuery(this).addClass('active');
34            jQuery('.rbfw_muff_faq_tab_content[data-content="' + this_tab + '"]').addClass('active');
35        });
36
37        //Grid List Auto Height Function
38        //rbfw_grid_list_auto_height_func();
39
40        function rbfw_grid_list_auto_height_func(extra_height = null) {
41            let rbfw_rent_list_height_arr = [];
42            let elemlength = jQuery(".rbfw_rent_list_style_grid .rbfw_rent_list_col").length;
43
44            for (let index = 1; index <= elemlength; index++) {
45                rbfw_rent_list_height_arr.push(jQuery(".rbfw_rent_list_style_grid .rbfw_grid_list_col_" + index).height());
46            }
47
48            let max_value = parseInt(Math.max.apply(Math, rbfw_rent_list_height_arr));
49
50            if (extra_height != '') {
51                max_value = max_value + extra_height;
52            }
53
54            jQuery(".rbfw_rent_list_style_grid .rbfw_rent_list_col .rbfw_rent_list_inner_wrapper").css({ "min-height": max_value });
55            //jQuery('.rbfw_rent_list_style_grid .rbfw_rent_list_button_wrap').css({ "position": "absolute", "bottom": "20px" });
56        }
57
58
59        jQuery('.rbfw_grid_view_more_features_btn').click(function(e) {
60            jQuery(this).siblings('.rbfw_absolute_list').find('ul').slideToggle().show();
61            jQuery(this).text(function(i, text) {
62                return text === rbfw_ajaxurl.view_more_feature_btn_text ? rbfw_ajaxurl.hide_more_feature_btn_text : rbfw_ajaxurl.view_more_feature_btn_text;
63            })
64        });
65
66        //End: Grid List Auto Height Function
67
68
69
70        jQuery('.rbfw_muff_lmf_btn').click(function(e) {
71            let this_parent = jQuery(this).closest('ul');
72            let this_target = this_parent.find('li[data-status="extra"]');
73            this_target.slideToggle();
74
75            jQuery(this).text(function(i, text) {
76                return text === rbfw_ajaxurl.view_more_feature_btn_text ? rbfw_ajaxurl.view_more_feature_btn_text : rbfw_ajaxurl.hide_more_feature_btn_text;
77            })
78        });
79
80
81        jQuery(document).on('click', '.rbfw_view_more_offers', function(e) {
82            let this_parent = jQuery(this).closest('.rbfw_muff_discount_feature_wrap');
83            let this_target = this_parent.find('.rbfw_muff_discount_feature[data-status="extra"]');
84            this_target.slideToggle();
85
86            jQuery(this).text(function(i, text) {
87                return text === rbfw_ajaxurl.view_more_offers_btn_text ? rbfw_ajaxurl.view_more_offers_btn_text : rbfw_ajaxurl.hide_more_offers_btn_text;
88            })
89        });
90
91
92        function setCookie( name, value, days ) {
93            let expires = "";
94            if (days) {
95                let date = new Date();
96                date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); // Convert days to milliseconds
97                expires = "; expires=" + date.toUTCString();
98            }
99            document.cookie = name + "=" + (value || "") + expires + "; path=/";
100        }
101
102        function getCookie(name) {
103            let cookieArr = document.cookie.split(';');
104            for (let i = 0; i < cookieArr.length; i++) {
105                let cookiePair = cookieArr[i].split('=');
106                if (name === cookiePair[0].trim()) {
107                    return decodeURIComponent(cookiePair[1]);
108                }
109            }
110            return null;
111        }
112        function deleteCookie( name ) {
113            document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
114        }
115
116        $(document).on( 'click', '.rbfw_rent_items_list_grid', function(){
117
118            let clickedId = $(this).attr('id');
119
120            $("#"+clickedId).siblings().removeClass('selected_list_grid');
121            $("#"+clickedId).addClass('selected_list_grid');
122
123            var wrapperElement = document.getElementById('rbfw_rent_list_wrapper');
124
125            /*if( 'Grid '){
126                var image = 'rbfw_rent_list_grid_view_top';
127                var info = 'rbfw_inner_details';
128                var list_info = 'rbfw_rent_list_info';
129            }else{
130                image = 'rbfw_rent_list_lists_images';
131                info = 'rbfw_rent_list_lists_info';
132                list_info = 'rbfw_rent_item_content_list_bottom';
133            }*/
134
135            var minHeightValue = '';
136
137            if( clickedId === 'rbfw_rent_items_grid' ){
138               wrapperElement.classList.replace(wrapperElement.classList[wrapperElement.classList.length - 1], 'rbfw_rent_list_style_grid');
139               let $element = $('#rbfw_rent_list_wrapper').find('.rbfw_rent_list_lists_images');
140               let $element1 = $('#rbfw_rent_list_wrapper').find('.rbfw_rent_list_lists_info');
141               let $element2 = $('#rbfw_rent_list_wrapper').find('.rbfw_rent_item_content_list_bottom');
142
143               $element.removeClass('rbfw_rent_list_lists_images').addClass('rbfw_rent_list_grid_view_top');
144               $element1.removeClass('rbfw_rent_list_lists_info').addClass('rbfw_inner_details');
145               $element2.removeClass('rbfw_rent_item_content_list_bottom').addClass('rbfw_rent_list_info');
146
147                $(".rbfw_rent_item_description_text").css("display", "none");
148
149               setCookie( 'rbfw_rent_item_list_grid', 'rbfw_rent_item_grid', 1 );
150
151           } else{
152
153               wrapperElement.classList.replace(wrapperElement.classList[wrapperElement.classList.length - 1], 'rbfw_rent_list_style_list');
154               let $element = $('#rbfw_rent_list_wrapper').find('.rbfw_rent_list_grid_view_top');
155               let $element1 = $('#rbfw_rent_list_wrapper').find('.rbfw_inner_details');
156               let $element2 = $('#rbfw_rent_list_wrapper').find('.rbfw_rent_list_info');
157
158               $element.removeClass('rbfw_rent_list_grid_view_top').addClass('rbfw_rent_list_lists_images');
159               $element1.removeClass('rbfw_inner_details').addClass('rbfw_rent_list_lists_info');
160               $element2.removeClass('rbfw_rent_list_info').addClass('rbfw_rent_item_content_list_bottom');
161               let inner_wrapper = $('.rbfw_rent_list_inner_wrapper');
162               inner_wrapper.css('min-height', '' );
163
164                setCookie( 'rbfw_rent_item_list_grid', 'rbfw_rent_item_list', 1 );
165
166                $(".rbfw_rent_item_description_text").css("display", "-webkit-box");
167
168           }
169
170        });
171
172        function rbfw_pick_date_from_flatpicker(){
173
174
175            let today = new Date();
176            let tomorrow = new Date();
177            tomorrow.setDate(today.getDate() + 1); // Add 1 day to get tomorrow
178            let todayFormatted = flatpickr.formatDate(today, "d-m-Y");
179            let calendar = flatpickr(".rbfw_flatpicker", {
180                disableMobile: "true",
181                dateFormat: rbfw_js_variables.timeFormat,
182                defaultDate: todayFormatted,
183                minDate: "today",
184                showMonths: 1,
185                onChange: function(selectedDates, dateStr, instance) {
186                    if (selectedDates.length === 1) {
187                        let selectedDate = flatpickr.formatDate(selectedDates[0], wp_date_format);
188                        $("#rbfw_rent_item_search_pickup_date").val(selectedDate);
189                    }
190                }
191            });
192
193            $("#rbfw_rent_item_search_pickup_date").on('focus', function (){
194                //calendar.open();
195            });
196        }
197
198
199        rbfw_pick_date_from_flatpicker();
200
201        $('#rbfw_popup_close_btn').on('click', function() {
202            $('#rbfw_popup_wrapper').hide();
203            $('#rbfw_popup_content').empty(); // Clear the content when closed
204        });
205        $('#rbfw_left_filter_popup_close_btn').on('click', function() {
206            $('#rbfw_left_filter_popup_wrapper').hide();
207            $('#rbfw_left_filter_popup_content').empty(); // Clear the content when closed
208        });
209
210        $('body').on( 'click', '.rbfw_see_more_category', function(e){
211            e.preventDefault();
212            let clickedId = $(this).attr('id');
213            let item_number = clickedId.split('-').pop();
214            $("#rbfw_popup_wrapper").show();
215            $("#rbfw_popup_content").html('<div class="rbfw_loader">Loading....</div>')
216
217            jQuery.ajax({
218                type: 'POST',
219                url: rbfw_ajax_front.rbfw_ajaxurl,
220                data: {
221                    'action' : 'rbfw_get_rent_item_category_info',
222                    'post_id': item_number,
223                    'nonce' : rbfw_ajax_front.nonce_get_rent_item_category_info
224                },
225                success: function (response) {
226                    $('#rbfw_popup_content').html( response.data );
227                },
228            });
229        });
230
231
232        $('body').on( 'click', '.rbfw_see_resort_datewise_price', function(e){
233            e.preventDefault();
234            let post_id = $(this).data('post_id');
235            let price = $(this).data('price');
236            let total_days = $(this).data('total_days');
237            let checkout_date = $(this).data('checkout_date');
238            let checkin_date = $(this).data('checkin_date');
239            let room_type = $(this).data('room_type');
240            let active_tab = $(this).data('active_tab');
241
242            $("#rbfw_popup_wrapper").show();
243            $("#rbfw_popup_content").html('<div class="rbfw_loader">Loading....</div>')
244
245            jQuery.ajax({
246                type: 'POST',
247                url: rbfw_ajax_front.rbfw_ajaxurl,
248                data: {
249                    'action' : 'rbfw_get_resort_sessional_day_wise_price',
250                    'post_id': post_id,
251                    'price': price,
252                    'total_days': total_days,
253                    'checkout_date': checkout_date,
254                    'checkin_date': checkin_date,
255                    'room_type': room_type,
256                    'active_tab': active_tab,
257                    'nonce' : rbfw_ajax_front.nonce_get_resort_sessional_day_wise_price
258                },
259                success: function (response) {
260                    $('#rbfw_popup_content').html( response.data );
261                },
262            });
263        });
264
265//Left Filtering
266        $('.rbfw_toggle-content').show();
267        $('.rbfw_toggle-icon').on('click', function() {
268            var content = $(this).next('.rbfw_toggle-content');
269            content.slideToggle();
270            var icon = $(this);
271            if (icon.text() === '+') {
272                icon.text('−');
273            } else {
274                icon.text('+');
275            }
276        });
277        function get_left_filter_data( filter_date ){
278
279            filter_date = JSON.stringify(filter_date);
280
281            $("#rbfw_left_filter_clearButton").show();
282            $("#rbfw_left_filter_cover").show();
283
284            if ($('#rbfw_rent_list_wrapper').hasClass('rbfw_rent_list_style_grid')) {
285                var rbfw_item_style = 'grid';
286            } else {
287                rbfw_item_style = 'list';
288            }
289            $(".rbfw_left_filter_button").text('Filtering...');
290            $('#rbfw_rent_list_pagination').hide();
291
292            jQuery.ajax({
293                type: 'POST',
294                url: rbfw_ajax_front.rbfw_ajaxurl,
295                data: {
296                    'action' : 'rbfw_get_left_side_filter_data',
297                    'filter_date': filter_date,
298                    'rbfw_item_style': rbfw_item_style,
299                    'nonce' : rbfw_ajax_front.nonce_get_left_side_filter_data
300                },
301                success: function (response) {
302                    if( response.success ){
303
304                        let text_display = response.data.show_text;
305
306                        $("#rbfw_left_filter_cover").hide();
307
308                        // $('#rbfw_rent_list_wrapper').html( response.data.display_date );
309                        $('#rbfw_rent_list_wrapper').fadeOut(200, function () {
310                            $(this).html(response.data.display_date).fadeIn(300);
311                        });
312
313                        $('#rbfw_shoe_result_text').html('<span >'+text_display+'</span>');
314                        $(".rbfw_left_filter_button").text(rbfw_translation.filter);
315                    }else{
316                        alert('ok');
317                        $('#rbfw_shoe_result_text').html('<div class="rbfw_search_result_empty" data-placeholder="" style="display: block;">No Match Result Found!</div>');
318                    }
319
320                },
321            });
322        }
323
324        var selectedLocation = [];
325        var selectedcategory = [];
326        var selectedType = [];
327        var selectedFeatures = [];
328        var get_filters = {
329            location: [],
330            category: [],
331            type: [],
332            price: {},
333            title_text: '',
334        };
335        $(document).on('change', '.rbfw_location', function() {
336            var value = $(this).val();
337            if ($(this).is(':checked')) {
338                if (!selectedLocation.includes(value)) {
339                    selectedLocation.push(value);
340                }
341            } else {
342                selectedLocation = selectedLocation.filter(function(item) {
343                    return item !== value;
344                });
345            }
346            get_filters.location = selectedLocation;
347
348            get_left_filter_data(get_filters);
349        });
350
351        $(document).on('change', '.rbfw_category', function() {
352            var value = $(this).val();
353            if ($(this).is(':checked')) {
354                if (!selectedcategory.includes(value)) {
355                    selectedcategory.push(value);
356                }
357            } else {
358                selectedcategory = selectedcategory.filter(function(item) {
359                    return item !== value;
360                });
361            }
362            get_filters.category = selectedcategory;
363
364            get_left_filter_data(get_filters);
365        });
366
367        $(document).on('change', '.rbfw_rent_type', function() {
368            var value = $(this).val();
369            if ($(this).is(':checked')) {
370                if (!selectedType.includes(value)) {
371                    selectedType.push(value);
372                }
373            } else {
374                selectedType = selectedType.filter(function(item) {
375                    return item !== value;
376                });
377            }
378            get_filters.type = selectedType;
379
380            get_left_filter_data(get_filters);
381        });
382
383        $(document).on('change', '.rbfw_rent_feature', function() {
384            var value = $(this).val();
385            if ($(this).is(':checked')) {
386                if (!selectedFeatures.includes(value)) {
387                    selectedFeatures.push(value);
388                }
389            } else {
390                selectedFeatures = selectedFeatures.filter(function(item) {
391                    return item !== value;
392                });
393            }
394            get_filters.feature = selectedFeatures;
395
396            get_left_filter_data(get_filters);
397        });
398
399
400
401        $('.rbfw_price_start_end').on('focusout', function () {
402
403            let startPrice = $("#rbfw_price_start").val();
404            let endPrice = $("#rbfw_price_end").val();
405
406            if( startPrice === '' && endPrice === '' ){
407                get_filters.price = {};
408            }else{
409                if( startPrice === '' ){
410                    startPrice =  0;
411                }
412                if( endPrice === '' ){
413                    endPrice =  100000;
414                }
415                get_filters.price.start = parseInt( startPrice );
416                get_filters.price.end = parseInt( endPrice );
417            }
418
419            get_left_filter_data( get_filters );
420
421        });
422
423        $(document).on('click', '.rbfw_left_filter_search_btn', function() {
424
425            let filter_title_text = $("input[name='rbfw_search_by_title']").val();
426            get_filters.title_text = filter_title_text.trim();
427            get_left_filter_data(get_filters);
428
429        });
430
431        $(document).on('click', '.rbfw_left_filter_more_feature_loaders', function(e) {
432
433            e.preventDefault();
434            let filter_type = $(this).attr('id');
435            // alert( filter_type );
436            $("#rbfw_left_filter_popup_wrapper").show();
437
438            let category = 'feature';
439
440            let appendId = filter_type+'_popup_content';
441            $('#'+appendId).siblings().hide();
442            $('#'+appendId).show();
443
444            if ($('#' + appendId + ' input[type="checkbox"]').length > 0) {
445                $('.rbfw_loader').hide();
446            } else {
447                $("#"+appendId).append('<div class="rbfw_loader" id="rbfw_left_filter_loader">Loading....</div>');
448                jQuery.ajax({
449                    type: 'POST',
450                    url: rbfw_ajax_front.rbfw_ajaxurl,
451                    data: {
452                        'action': 'rbfw_get_rent_item_left_filter_more_data_popup',
453                        'filter_type': filter_type,
454                        'rbfw_nonce': rbfw_vars.rbfw_nonce,
455                        'nonce' : rbfw_ajax_front.nonce_get_rent_item_left_filter_more_data_popup
456                    },
457                    success: function (response) {
458                        $('#' + appendId).append(response.data);
459                        $('.rbfw_loader').hide();
460                    },
461                });
462            }
463
464        });
465
466        $(document).on('click', '.rbfw_left_filter_clearButton',function() {
467            $('.rbfw_location, .rbfw_category, .rbfw_rent_type, .rbfw_rent_feature').prop('checked', false);
468            get_filters = {
469                location: [],
470                category: [],
471                type: [],
472                price: {},
473                title_text: '',
474            };
475            get_left_filter_data( get_filters );
476            $("#rbfw_price_start").val('');
477            $("#rbfw_price_end").val('');
478            $("#rbfw_left_filter_clearButton").hide();
479        });
480
481    });
482
483
484    //========= faq accordion=============
485    $('#rbfw_faq_accordion .rbfw_faq_item .rbfw_faq_header').first().addClass('active');
486    $('#rbfw_faq_accordion .rbfw_faq_item .rbfw_faq_content_wrapper').first().addClass('active');
487    $('#rbfw_faq_accordion .rbfw_faq_item .rbfw_faq_content_wrapper').first().slideDown();
488    $('#rbfw_faq_accordion .rbfw_faq_item .rbfw_faq_header').first().find('i').removeClass('fa-plus').addClass('fa-minus');
489    $('.rbfw_faq_header').click(function (e) {
490        e.preventDefault();
491        $(this).next('.rbfw_faq_content_wrapper').slideToggle();
492        $(this).toggleClass(' active');
493        $(this).next('.rbfw_faq_content_wrapper').toggleClass(' active');
494        $(this).find('i').toggleClass('fa-plus fa-minus');
495    });
496
497    rbfw_alphabetic_order($('#rbfw_toggle-content-categor'));
498    rbfw_alphabetic_order($('#rbfw_toggle_content_location'));
499    rbfw_alphabetic_order($('#rbfw_toggle_content_types'));
500    rbfw_alphabetic_order($('#rbfw_toggle_content_feature'));
501
502
503})(jQuery)
504
505/* Additional Gallary Images */
506// Open the Modal
507function rbfw_aig_openModal() {
508    document.getElementById("rbfw_aig_Modal").style.display = "block";
509}
510
511// Close the Modal
512function rbfw_aig_closeModal() {
513    document.getElementById("rbfw_aig_Modal").style.display = "none";
514}
515
516var slideIndex = 1;
517rbfw_aig_showSlides(slideIndex);
518
519// Next/rbfw_aig_previous controls
520function rbfw_aig_plusSlides(n) {
521    rbfw_aig_showSlides(slideIndex += n);
522}
523
524// Thumbnail image controls
525function rbfw_aig_currentSlide(n) {
526    rbfw_aig_showSlides(slideIndex = n);
527}
528
529
530function rbfw_alphabetic_order(container){
531
532   // var container = jQuery('#rbfw_toggle-content-category');
533
534    var items = container.find('.rbfw_rent_item_left_feature_title').get();
535
536    items.sort(function (a, b) {
537        var textA = jQuery(a).find('span').text().toUpperCase();
538        var textB = jQuery(b).find('span').text().toUpperCase();
539
540        if (textA < textB) return -1;
541        if (textA > textB) return 1;
542        return 0;
543    });
544
545    jQuery.each(items, function (index, item) {
546        container.append(item);
547    });
548
549}
550
551
552function rbfw_aig_showSlides(n) {
553    var i;
554    var slides = document.getElementsByClassName("rbfw_aig_slides");
555
556    if (slides.length == 0) {
557        return;
558    }
559
560    var dots = document.getElementsByClassName("rbfw_aig_img_thumb");
561    var captionText = document.getElementById("rbfw_aig_caption-caption");
562    if (n > slides.length) { slideIndex = 1 }
563    if (n < 1) { slideIndex = slides.length }
564    for (i = 0; i < slides.length; i++) {
565        slides[i].style.display = "none";
566    }
567    for (i = 0; i < dots.length; i++) {
568        dots[i].className = dots[i].className.replace(" active", "");
569    }
570    slides[slideIndex - 1].style.display = "block";
571    dots[slideIndex - 1].className += " active";
572    captionText.innerHTML = dots[slideIndex - 1].alt;
573}
574
575
576/* End: Additional Gallary Images */
577// using muffin tempalte descriptoin show hide 
578jQuery(document).ready(function($) {
579    $('.rbfw-read-more').on('click', function(e) {
580        e.preventDefault();
581        var $this = $(this);
582        var $postContent = $this.closest('.rbfw_muff_post_content');
583        $postContent.find('.trimmed-content').toggle();
584        $postContent.find('.full-content').toggle();
585
586    });
587});
588
589jQuery(document).ready(function($){
590    $('.rbfw-book-now-btn').on('click', function(e){
591        var select = $('.rbfw-location .rbfw-select');
592
593        if(select.val() === ''){
594            select.css('border', '1px solid red');
595            //e.preventDefault(); // submit বন্ধ করবে
596        } else {
597            select.css('border', '');
598        }
599    });
600});
601
602
603
604
605

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.