PageSourceSearch

https://photopedia.in/wp-content/plugins/meta-data-filter/js/front.js?ver=6.5.12

js photopedia.in collected 2026-10-05 21:33:11 UTC 43,030 bytes, 1,113 lines download raw bytes

1var mdf_range_update = false;
2var mdf_ajax_content_redraw_page = 0;
3try {
4    var mdf_woo_catalog_order_by = mdf_default_order_by;
5    var mdf_woo_catalog_order = mdf_default_order;
6} catch (e) {
7
8}
9//***
10jQuery(function () {
11    jQuery.fn.life = function (types, data, fn) {
12        jQuery(this.context).on(types, this.selector, data, fn);
13        return this;
14    };
15    //+++
16    mdf_init();
17});
18//***
19function mdf_init() {
20
21    if (!jQuery('#pn_html_buffer').length) {
22        jQuery('body').append('<div id="pn_html_buffer" class="mdf_info_popup" style="display: none;"></div>');
23        jQuery('body').append('<div id="pn_html_buffer2" style="display: none;"></div>');
24    }
25    //+++
26
27    mdf_hide_empty_blocks_titles();
28
29    //+++
30    mdf_tooltip_init();
31    mdf_init_checkboxes_scroll();
32    mdf_init_selects();
33    mdf_init_checkboxes();
34    mdf_init_multislect_emulator();
35    //+++
36
37    jQuery('.mdf_range_min').life('change', function () {
38        var slider_id = jQuery(this).data('slider-id');
39        mdf_range_update = true;
40        jQuery("#" + slider_id).ionRangeSlider("update", {
41            from: parseFloat(jQuery(this).val(), 10)
42        });
43        mdf_range_update = false;
44        mdf_ajax_content_redraw_page = 0;
45        //jQuery("#" + slider_id).slider("values", 0, parseInt(j
45Query(this).val(), 10));
46    });
47
48
49    jQuery('.mdf_range_max').life('change', function () {
50        var slider_id = jQuery(this).data('slider-id');
51        mdf_range_update = true;
52        jQuery("#" + slider_id).ionRangeSlider("update", {
53            to: parseFloat(jQuery(this).val(), 10)
54        });
55        mdf_range_update = false;
56        mdf_ajax_content_redraw_page = 0;
57        //jQuery("#" + slider_id).slider("values", 1, parseInt(jQuery(this).val(), 10));
58    });
59    //css selects
60    mdf_init_selects();
61    //work with taxonomy
62    //select
63    jQuery('.mdf_taxonomy').life('change', function () {
64        mdf_deinit_chosen_selects();
65        var tax_name = jQuery(this).data('tax-name');
66        //+++
67        jQuery(this).next('.mdf_taxonomy_child_container').show(200);
68        var _this = this;
69        var is_auto_submit = jQuery(this).parents('.mdf_input_container').hasClass('mdf_tax_auto_submit');
70        var is_tax_ajax_autorecount = jQuery(this).parents('.mdf_input_container').hasClass('mdf_tax_ajax_autorecount');
71        var slug = jQuery(this).parents('form').find('input[name="mdf[mdf_widget_options][slug]"]').val();
72        var form = jQuery(this).parents('form');
73        mdf_ajax_content_redraw_page = 0;
74        var data = {
75            action: "mdf_draw_term_childs",
76            type: 'select',
77            tax_name: tax_name,
78            mdf_parent_id: jQuery(this).val(),
79            hide: jQuery(this).data('hide'),
80            page_mdf: jQuery(this).parents('form').find('.hidden_page_mdf_for_ajax').val(),
81            mdf_cat: jQuery(this).parents('form').find('input[name="mdf[mdf_widget_options][meta_data_filter_cat]"]').val(),
82            slug: slug,
83            is_auto_submit: is_auto_submit
84        };
85        jQuery.post(ajaxurl, data, function (content) {
86            if (is_auto_submit || is_tax_ajax_autorecount) {
87                jQuery(_this).next('.mdf_taxonomy_child_container').hide();
88            }
89
90            //+++
91
92            jQuery(_this).next('.mdf_taxonomy_child_container').html(content);
93
94            if (jQuery(_this).next('.mdf_taxonomy_child_container').next('.mdf_taxonomy_child_container2').length) {
95                jQuery(_this).next('.mdf_taxonomy_child_container').next('.mdf_taxonomy_child_container2').remove();
96            } else {
97                jQuery(_this).next('.mdf_taxonomy_child_container').next('.mdf_taxonomy_child_container').remove();
98            }
99
100            //+++
101
102            if (!content) {
103                jQuery(_this).next('.mdf_taxonomy_child_container').hide().html(mdf_tax_loader);
104            }
105            if (jQuery(_this).parents('.mdf_input_container').hasClass('mdf_tax_auto_submit')) {
106                jQuery(_this).parents('form').submit();
107            }
108
109            //ajax recount
110            if (jQuery(form).hasClass('mdf_ajax_auto_recount')) {
111                mdf_ajax_data_recount(jQuery(form).attr('id'), slug, false);
112            }
113        });
114
115        return true;
116    });
117
118    //checkbox
119    jQuery('.mdf_taxonomy_checkbox').life('change', function () {
120        var tax_name = jQuery(this).data('tax-name');
121        var is_auto_submit = jQuery(this).parents('.mdf_input_container').hasClass('mdf_tax_auto_submit');
122        var form = jQuery(this).parents('form');
123        if (!jQuery(this).hasClass('mdf_has_childs') && !jQuery(form).hasClass('mdf_ajax_auto_recount')) {
124            if (is_auto_submit) {
125                jQuery(this).parents('form').submit();
126            }
127            return true;
128        }
129
130        //+++
131        var _this = this;
132        var term_id = jQuery(this).val();
133        var slug = jQuery(this).parents('form').find('input[name="mdf[mdf_widget_options][slug]"]').val();
134        //+++
135        mdf_ajax_content_redraw_page = 0;
136        if (jQuery(this).is(":checked")) {
137            jQuery(this).prev("input[type=hidden]").val(term_id);
138
139            if (!show_tax_all_childs)
140            {
141                if (mdf_use_custom_icheck) {
142                    jQuery(_this).parent().parent().find('.mdf_taxonomy_child_container').show(200);
143                } else {
144                    jQuery(_this).parent().find('.mdf_taxonomy_child_container').show(200);
145                }
146
147                var data = {
148                    action: "mdf_draw_term_childs",
149                    type: 'checkbox',
150                    tax_name: tax_name,
151                    mdf_parent_id: term_id,
152                    hide: jQuery(this).data('hide'),
153                    page_mdf: jQuery(this).parents('form').find('.hidden_page_mdf_for_ajax').val(),
154                    mdf_cat: jQuery(this).parents('form').find('input[name="mdf[mdf_widget_options][meta_data_filter_cat]"]').val(),
155                    slug: slug,
156                    is_auto_submit: is_auto_submit
157                };
158                jQuery.post(ajaxurl, data, function (content) {
159                    if (is_auto_submit) {
160                        jQuery(_this).parent().find('.mdf_taxonomy_child_container').hide();
161                    }
162
163                    if (mdf_use_custom_icheck) {
164                        jQuery(_this).parent().parent().find('.mdf_taxonomy_child_container').html(content);
165                        mdf_init_checkboxes();
166                    } else {
167                        jQuery(_this).parent().find('.mdf_taxonomy_child_container').html(content);
168                    }
169
170                    if (!content) {
171                        jQuery(_this).parent().find('.mdf_taxonomy_child_container').hide().html(mdf_tax_loader);
172                    }
173                    if (jQuery(_this).parents('.mdf_input_container').hasClass('mdf_tax_auto_submit')) {
174                        jQuery(_this).parents('form').submit();
175                    }
176
177                    //ajax recount
178                    if (jQuery(form).hasClass('mdf_ajax_auto_recount')) {
179                        mdf_ajax_data_recount(jQuery(form).attr('id'), slug, false);
180                    }
181                });
182            } else {
183                if (jQuery(_this).parents('.mdf_input_container').hasClass('mdf_tax_auto_submit')) {
184                    jQuery(_this).parents('form').submit();
185                }
186
187                //ajax recount
188                if (jQuery(form).hasClass('mdf_ajax_auto_recount')) {
189                    mdf_ajax_data_recount(jQuery(form).attr('id'), slug, false);
190                }
191            }
192        } else {
193
194            if (!show_tax_all_childs) {
195                if (mdf_use_custom_icheck) {
196                    jQuery(_this).parent().parent().find('.mdf_taxonomy_child_container').hide().html(mdf_tax_loader);
197                } else {
198                    jQuery(_this).parent().find('.mdf_taxonomy_child_container').hide().html(mdf_tax_loader);
199                }
200            }
201            //***
202            if (jQuery(this).parents('.mdf_input_container').hasClass('mdf_tax_auto_submit')) {
203                jQuery(this).parents('form').submit();
204            }
205            //ajax recount
206            if (jQuery(form).hasClass('mdf_ajax_auto_recount')) {
207                mdf_ajax_data_recount(jQuery(form).attr('id'), slug, false);
208            }
209        }
210
211        return true;
212    });
213
214    //+++
215    //for shortcode
216    try {
217        //console.log(mdf_found_totally);
218        jQuery('.mdf_widget_found_count span').html(mdf_found_totally);
219    } catch (e) {
220
221    }
222
223    jQuery('.mdf_sort_panel_order_by').change(function () {
224        var val = jQuery(this).val();
225        if (val == 0) {
226            val = mdf_default_order_by;
227        }
228        var href = window.location.href;
229        if (mdf_is_search_going == 1) {
230            window.location.href = href + '&order_by=' + val + '&order=' + mdf_sort_order;
231        } else {
232            mdf_util_order_no_search(mdf_sort_order, val);
233            return false;
234        }
235
236    });
237
238
239    jQuery('.mdf_sort_panel_ordering').change(function () {
240        var val = jQuery(this).val();
241        var href = window.location.href;
242        if (mdf_is_search_going == 1) {
243            window.location.href = href + '&order_by=' + mdf_order_by + '&order=' + val;
244        } else {
245            mdf_util_order_no_search(val, mdf_order_by);
246            return false;
247        }
248    });
249
250    jQuery('.mdf_custom_filter_panel a').click(function () {
251        var href = window.location.href;
252        if (mdf_is_search_going == 1) {
253            window.location.href = href + '&order_by=' + jQuery(this).data('order-by') + '&order=' + jQuery(this).data('order');
254        } else {
255            mdf_util_order_no_search(jQuery(this).data('order'), jQuery(this).data('order-by'));
256            return false;
257        }
258        return false;
259    });
260
261
262    //+++
263    jQuery('.mdf_front_toggle').life('click', function () {
264        var condition = jQuery(this).data('condition');
265        if (condition == 'opened') {
266            jQuery(this).removeClass('mdf_front_toggle_opened');
267            jQuery(this).addClass('mdf_front_toggle_closed');
268            jQuery(this).data('condition', 'closed');
269            jQuery(this).text(mdf_toggle_open_sign);
270            jQuery(this).parent().prev('.mdf_filter_post_blocks_toggles').val(2);
271        } else {
272            jQuery(this).addClass('mdf_front_toggle_opened');
273            jQuery(this).removeClass('mdf_front_toggle_closed');
274            jQuery(this).data('condition', 'opened');
275            jQuery(this).text(mdf_toggle_close_sign);
276            jQuery(this).parent().prev('.mdf_filter_post_blocks_toggles').val(1);
277        }
278
279        if (jQuery(this).parent().next('.mdf_filter_section, .mdf_tax_filter_section').hasClass('mdf_front_toggle_closed_section')) {
280            jQuery(this).parent().next('.mdf_filter_section, .mdf_tax_filter_section').hide();
281            jQuery(this).parent().next('.mdf_filter_section, .mdf_tax_filter_section').removeClass('mdf_front_toggle_closed_section');
282        }
283        jQuery(this).parent().next('.mdf_filter_section, .mdf_tax_filter_section').toggle(500);
284        return false;
285    });
286
287    //activate submit button
288    jQuery('.mdf_widget_form, .mdf_shortcode_form').find('input').life('click', function () {
289        jQuery(this).parents('form').find("input[type=submit]").removeProp('disabled');
290    });
291
292    jQuery('.mdf_widget_form, .mdf_shortcode_form').find('input').life('change', function () {
293        jQuery(this).parents('form').find("input[type=submit]").removeProp('disabled');
294    });
295
296    jQuery('.mdf_widget_form, .mdf_shortcode_form').find('select').life('change', function () {
297        jQuery(this).parents('form').find("input[type=submit]").removeProp('disabled');
298    });
299
300    //+++
301    jQuery('.mdf_filter_categories').life('change', function () {
302        var term_id = jQuery(this).val();
303        //for ajax searching
304        if (jQuery(this).parents('.widget-meta-data-filter').find('form').hasClass('mdf_ajax_content_redraw')) {
305            var s = jQuery('#mdf_results_by_ajax').data('shortcode');
306            var old_mdf_cat = jQuery(this).parents('.widget-meta-data-filter').find('form').find('input[name="mdf[mdf_widget_options][meta_data_filter_cat]"]').val();
307            s = s.replace('meta_data_filter_cat=' + old_mdf_cat, 'meta_data_filter_cat=' + term_id);
308            jQuery('#mdf_results_by_ajax').data('shortcode', s);
309        }
310        jQuery(this).parents('.widget-meta-data-filter').find('form').find('input[name="mdf[mdf_widget_options][meta_data_filter_cat]"]').val(term_id);
311        jQuery(this).parents('.widget-meta-data-filter').find('form').find('input[name="meta_data_filter_cat"]').val(term_id);
312
313        mdf_ajax_data_recount(jQuery(this).parents('.widget-meta-data-filter').find('form').attr('id'), jQuery(this).data('slug'), true);
314    });
315
316    //fix for textinput if its under ajax redraw (another way redirect works)
317    jQuery('form.mdf_ajax_content_redraw .mdf_textinput, form.mdf_ajax_auto_recount .mdf_textinput').keydown(function (e) {
318        if (e.keyCode == 13) { // enter key was pressed
319            jQuery(this).blur();
320            return false; // prevent execution of rest of the script + event propagation / event bubbling + prevent default behaviour
321        }
322    });
323
324    //+++ remove empty taxonomies selects
325    remove_empty_mdf_taxonomy();
326}
327
328//if we do sort while no searching
329function mdf_util_order_no_search(order, order_by) {
330    mdf_tmp_order = order;
331    mdf_tmp_orderby = order_by;
332    var form = jQuery('.mdf_search_form').eq(0);
333    if (form.hasClass('mdf_ajax_content_redraw')) {
334        mdf_ajax_data_recount(form.attr('id'), form.data('slug'), false);
335    } else {
336        form.submit();
337    }
338}
339
340//fixed 20-07-2014
341function remove_empty_mdf_taxonomy() {
342    jQuery.each(jQuery('.mdf_widget_form select.mdf_taxonomy'), function (index, select) {
343        var len = jQuery(select).children('option').length;
344        if (len < 2) {
345            jQuery(select).parent().remove();
346        }
347    });
348}
349
350function mdf_draw_ui_slider_items(act_without_button, uniqid) {
351    var items = jQuery(".ui_slider_item_" + uniqid);
352    mdf_ajax_content_redraw_page = 0;
353    jQuery.each(items, function (key, item) {
354        var input = jQuery(item).next('input');
355        mdf_init_range_sliders(item, input, act_without_button, uniqid);
356    });
357}
358
359
360function mdf_get_ui_slider_step(input) {
361    var step = jQuery(input).data('step');
362    if (!step) {
363        step = Math.ceil(parseInt((jQuery(input).data('max') - jQuery(input).data('min')) / 100, 10));
364    }
365    return step;
366}
367
368function mdf_init_range_sliders(item, input, act_without_button, uniqid) {
369    try {
370        var type = jQuery(input).data('type');
371        //if (type == 'double') {
372        jQuery(item).ionRangeSlider({
373            min: jQuery(input).data('min'),
374            max: jQuery(input).data('max'),
375            from: jQuery(input).data('min-now'),
376            to: jQuery(input).data('max-now'),
377            type: type,
378            prefix: jQuery(input).data('slider-prefix'),
379            postfix: jQuery(input).data('slider-postfix'),
380            //maxPostfix: "+",
381            prettify: jQuery(input).data('slider-prettify'),
382            hideMinMax: false,
383            hideFromTo: false,
384            hasGrid: true,
385            step: mdf_get_ui_slider_step(input),
386            onFinish: function (ui) {
387
388                jQuery(input).val(ui.fromNumber + '^' + ui.toNumber);
389                jQuery(input).parent().find('.mdf_range .mdf_range_min').val(ui.fromNumber);
390                jQuery(input).parent().find('.mdf_range .mdf_range_max').val(ui.toNumber);
391                if (act_without_button) {
392                    jQuery("#meta_data_filter_" + uniqid).submit();
393                }
394
395                //ajax recount
396                if (jQuery("#meta_data_filter_" + uniqid).hasClass('mdf_ajax_auto_recount')) {
397                    mdf_ajax_data_recount(jQuery("#meta_data_filter_" + uniqid).attr('id'), jQuery("#meta_data_filter_" + uniqid).data('slug'), false);
398                }
399                return false;
400            },
401            onChange: function (ui) {
402                jQuery(input).val(ui.fromNumber + '^' + ui.toNumber);
403                jQuery(input).parent().find('.mdf_range .mdf_range_min').val(ui.fromNumber);
404                jQuery(input).parent().find('.mdf_range .mdf_range_max').val(ui.toNumber);
405                jQuery(input).parents('form').find("input[type=submit]").removeProp('disabled');
406                mdf_ajax_content_redraw_page = 0;
407            },
408            onLoad: function (ui) {
409                if (mdf_range_update) {
410                    jQuery(input).val(ui.fromNumber + '^' + ui.toNumber);
411                    jQuery(input).parent().find('.mdf_range .mdf_range_min').val(ui.fromNumber);
412                    jQuery(input).parent().find('.mdf_range .mdf_range_max').val(ui.toNumber);
413                    if (act_without_button) {
414                        jQuery("#meta_data_filter_" + uniqid).submit();
415                    }
416
417                    //ajax recount
418                    if (jQuery("#meta_data_filter_" + uniqid).hasClass('mdf_ajax_auto_recount')) {
419                        mdf_ajax_data_recount(jQuery("#meta_data_filter_" + uniqid).attr('id'), jQuery("#meta_data_filter_" + uniqid).data('slug'), false);
420                    }
421                    return false;
422                }
423            }
424        });
425        //}
426    } catch (e) {
427
428    }
429}
430
431function mdf_click_checkbox(_this) {
432    if (jQuery(_this).is(":checked")) {
433        jQuery(_this).prev("input[type=hidden]").val(1);
434        jQuery(_this).next("input[type=hidden]").val(1);
435        jQuery(_this).val(1);
436    } else {
437        jQuery(_this).prev("input[type=hidden]").val('~');
438        jQuery(_this).next("input[type=hidden]").val('~');
439        jQuery(_this).val('~');
440    }
441
442    return true;
443}
444
445
446function mdf_init_search_form(uniqid, slug, search_url, act_without_button, ajax_searching) {
447    if (act_without_button === 1) {
448        //checkbox actions
449        jQuery("#meta_data_filter_" + uniqid + " .mdf_option_checkbox").life('change', function () {
450            mdf_click_checkbox(this);
451            jQuery("#meta_data_filter_" + uniqid).submit();
452            return true;
453        });
454        //select actions
455        jQuery("#meta_data_filter_" + uniqid + " .mdf_filter_select").life('change', function () {
456            jQuery("#meta_data_filter_" + uniqid).submit();
457            return true;
458        });
459        //textinput
460        jQuery("#meta_data_filter_" + uniqid + " .mdf_textinput").life('change', function () {
461            jQuery("#meta_data_filter_" + uniqid).submit();
462            return true;
463        });
464    } else {
465        jQuery("#meta_data_filter_" + uniqid + " .mdf_option_checkbox").unbind('click');
466        jQuery("#meta_data_filter_" + uniqid + " .mdf_option_checkbox").unbind('change');
467        jQuery("#meta_data_filter_" + uniqid + " .mdf_option_checkbox").life('change', function () {
468            mdf_click_checkbox(this);
469            //recount items count by ajax
470            if (ajax_searching) {
471                mdf_ajax_data_recount("meta_data_filter_" + uniqid, slug, false);
472            }
473        });
474        jQuery("#meta_data_filter_" + uniqid + " .mdf_filter_select").unbind('change');
475
476        //recount items count by ajax
477        jQuery("#meta_data_filter_" + uniqid + " .mdf_filter_select").life('change', function () {
478            if (ajax_searching) {
479                mdf_ajax_data_recount("meta_data_filter_" + uniqid, slug, false);
480            }
481        });
482        jQuery("#meta_data_filter_" + uniqid + " .mdf_textinput").life('change', function () {
483            if (ajax_searching) {
484                mdf_ajax_data_recount("meta_data_filter_" + uniqid, slug, false);
485            }
486        });
487        //***
488        redraw_ajax_pagination(slug);
489    }
490
491    //+++
492    mdf_draw_ui_slider_items(act_without_button, uniqid);
493    //+++
494
495    mdf_init_submit_button(uniqid, slug, search_url);
496    //calendar
497    mdf_init_calendars(uniqid, act_without_button, ajax_searching, slug);
498}
499
500function mdf_init_submit_button(uniqid, slug, search_url) {
501
502    var submit_mode = 'submit';
503    var type = 'widget';
504    var form_id = "meta_data_filter_" + uniqid;
505    if (jQuery("#" + form_id).hasClass('mdf_shortcode_form')) {
506        type = 'shortcode';
507        shortcode_id = jQuery("#" + form_id).data('shortcode-id');
508    }
509
510    //+++
511
512    jQuery('#' + form_id + ' .mdf_reset_button').click(function () {
513
514        submit_mode = 'reset';
515        //if (type == 'widget') {
516        if (jQuery("#" + form_id).hasClass('mdf_ajax_content_redraw')) {
517            mdf_ajax_content_redraw_page = 0;
518            mdf_ajax_data_recount(form_id, slug, true);
519            return;
520        }
521        //}
522
523        if (jQuery(this).attr('href') && !jQuery("#" + form_id).hasClass('mdf_ajax_content_redraw')) {
524            var href = jQuery(this).attr('href');
525            if (href.length > 1) {
526                window.location = href;
527                return;
528            }
529        }
530
531        jQuery("#" + form_id).submit();
532        return false;
533    });
534
535
536
537    var is_ajaxed_reset = false;
538    //check is form inserted in popup
539    var is_in_popup = false;
540    if (jQuery(this).parents('.advanced_wp_popup_content')) {
541        is_in_popup = true;
542        is_ajaxed_reset = true;
543    }
544    //***
545
546    var shortcode_id = 0;
547    var widget_id = 0;
548    var sidebar_name = "";
549    var sidebar_id = 0;
550
551
552    if (type == 'widget') {
553        sidebar_name = jQuery("#" + form_id).data('sidebar-name');
554        sidebar_id = jQuery("#" + form_id).data('sidebar-id');
555        widget_id = jQuery("#" + form_id).data('widget-id');
556    }
557
558
559
560
561    jQuery("#" + form_id).submit(function () {
562        jQuery(this).find("input[type='submit'], .mdf_reset_button").replaceWith(mdf_tax_loader);
563        jQuery("#" + form_id + " .mdf_one_moment_txt span").show();
564
565        var mdf_widget_search_url = search_url + "slg=" + slug + "&";
566
567        mdf_show_stat_info_popup(lang_one_moment);
568
569        var data = {
570            action: "mdf_encode_search_get_params",
571            vars: jQuery(this).serialize(),
572            mode: submit_mode,
573            mdf_front_qtrans_lang: mdf_front_qtrans_lang,
574            mdf_front_wpml_lang: mdf_front_wpml_lang,
575            type: type,
576            shortcode_id: shortcode_id,
577            sidebar_id: sidebar_id,
578            sidebar_name: sidebar_name,
579            widget_id: widget_id,
580            is_ajaxed_reset: is_ajaxed_reset
581        };
582        jQuery.post(ajaxurl, data, function (response) {
583            if (is_ajaxed_reset && submit_mode == 'reset' && type == 'shortcode') {
584                //jQuery('#pn_html_buffer2').html(response);
585                if (response.indexOf('mdf_ajax_content_redraw') != -1) {
586                    //ajax content redraw
587                    var parent = jQuery("#" + form_id).parent('.mdf_shortcode_container');
588                    jQuery(parent).replaceWith('<div id="mdtf_replace_me"></div>');
589                    jQuery('#mdtf_replace_me').html(response);
590                    mdf_ajax_content_redraw_page = 0;
591                    var f = jQuery('#mdtf_replace_me').find('.mdf_ajax_content_redraw').eq(0);
592                    jQuery(f).parent().unwrap();
593                    mdf_ajax_data_recount(jQuery(f).attr('id'), slug, false);
594                } else {
595                    jQuery("#" + form_id).parents('.mdf_shortcode_container').replaceWith(response);
596                    mdf_init_selects();
597                }
598            } else {
599                if (mdf_widget_search_url.substring(0, 4) == 'self') {
600                    mdf_widget_search_url = mdf_widget_search_url.replace('self', (mdf_current_page_url.length > 0 ? mdf_current_page_url : window.location.href));
601                }
602
603                if (mdf_widget_search_url.match(/\?/g).length > 1) {
604                    var index = mdf_widget_search_url.lastIndexOf('?');
605                    mdf_widget_search_url = mdf_widget_search_url.substr(0, index) + '&' + mdf_widget_search_url.substr(index + 1);
606
607                }
608                //only for project TODO
609                //mdf_widget_search_url = mdf_widget_search_url.replace("#butique_woo_products", "");
610                var redirect_url = mdf_widget_search_url + response;
611                if (mdf_front_wpml_lang.length) {
612                    //redirect_url = mdf_site_url + '/' + mdf_front_wpml_lang + '/' + redirect_url;
613                    //redirect_url = redirect_url.replace(mdf_site_url, mdf_site_url + '/' + mdf_front_wpml_lang + '/');
614                }
615
616                if (mdf_front_qtrans_lang.length) {
617                    redirect_url = redirect_url + '&lang=' + mdf_front_qtrans_lang;
618                }
619
620                //ordering when sort panel is not while search going
621                if (mdf_tmp_order != 0 && mdf_tmp_orderby != 0) {
622                    redirect_url += '&order_by=' + mdf_tmp_orderby + '&order=' + mdf_tmp_order;
623                }
624                //+++
625
626                window.location = redirect_url;
627            }
628
629
630        });
631
632        return false;
633    });
634}
635
636var mdf_ajax_lock = false;//remove twice ajax request on the same time
637function mdf_ajax_data_recount(form_id, slug, simple_form_redraw) {
638    if (mdf_ajax_lock) {
639        return;
640    }
641    mdf_ajax_lock = true;
642    //+++
643    mdf_show_stat_info_popup(lang_one_moment);
644    var type = 'widget';
645    var shortcode_id = 0;
646    var widget_id = 0;
647    var sidebar_name = "";
648    var sidebar_id = 0;
649
650    if (jQuery("#" + form_id).hasClass('mdf_shortcode_form')) {
651        type = 'shortcode';
652        shortcode_id = jQuery("#" + form_id).data('shortcode-id');
653    }
654
655    if (type == 'widget') {
656        sidebar_id = jQuery("#" + form_id).data('sidebar-id');
657        sidebar_name = jQuery("#" + form_id).data('sidebar-name');
658        widget_id = jQuery("#" + form_id).data('widget-id');
659    }
660
661    //***
662    var mdf_ajax_content_redraw = false;
663    if (jQuery("#" + form_id).hasClass('mdf_ajax_content_redraw')) {
664        mdf_ajax_content_redraw = true;
665    }
666
667    var data = {
668        action: "mdf_get_ajax_auto_recount_data",
669        vars: jQuery("#" + form_id).serialize(),
670        slug: slug,
671        type: type,
672        shortcode_id: shortcode_id,
673        sidebar_id: sidebar_id,
674        sidebar_name: sidebar_name,
675        widget_id: widget_id,
676        mode: 'submit',
677        mdf_current_term_id: mdf_current_term_id,
678        mdf_current_tax: mdf_current_tax,
679        simple_form_redraw: (simple_form_redraw ? 1 : 0), //need for filter-category changing
680        mdf_front_qtrans_lang: mdf_front_qtrans_lang,
681        mdf_front_wpml_lang: mdf_front_wpml_lang,
682        mdf_ajax_content_redraw: mdf_ajax_content_redraw,
683        shortcode_txt: jQuery('#mdf_results_by_ajax').data('shortcode'),
684        content_redraw_page: mdf_ajax_content_redraw_page,
685        mdf_tmp_order: mdf_tmp_order, //only when we do sort before searching
686        mdf_tmp_orderby: mdf_tmp_orderby, //only when we do sort before searching
687        mdf_is_search_going: mdf_is_search_going
688    };
689    mdf_is_search_going = 1;
690    //+++
691    if (mdf_ajax_content_redraw && jQuery('#mdf_results_by_ajax').length) {
692        data.order_by = mdf_woo_catalog_order_by;
693        data.order = mdf_woo_catalog_order;
694    }
695    //***
696    jQuery.post(ajaxurl, data, function (response) {
697        response = jQuery.parseJSON(response);
698        //+++
699        mdf_hide_stat_info_popup();
700        if (type == 'shortcode') {
701            jQuery("#" + form_id).parents('.mdf_shortcode_container').replaceWith(response.form);
702        } else {
703            jQuery('#pn_html_buffer2').html(response.form);
704            var widget = jQuery('#pn_html_buffer2').find('.widget-meta-data-filter').clone();
705            //jQuery("#" + form_id).parents('.widget-meta-data-filter').replaceWith(widget);
706            jQuery("#" + form_id).parents('.widget-meta-data-filter').replaceWith(response.form);
707            jQuery('#pn_html_buffer2').html("");
708            mdf_draw_ui_slider_items(false, jQuery(widget).find('form').data('unique-id'));
709
710            mdf_hide_empty_blocks_titles();
711            mdf_init_submit_button(jQuery(widget).find('form').data('unique-id'), slug, jQuery(widget).find('form').data('search-url'));
712            //+++
713            //повторная перерисовка формы. после изменений в index.php#1034 ненужна
714            /* fixed 20-07-2014
715             if (simple_form_redraw) {
716             mdf_ajax_lock = false;
717             mdf_ajax_data_recount('meta_data_filter_' + jQuery(widget).find('form').data('unique-id'), slug, false);
718             return;
719             }
720             */
721        }
722        remove_empty_mdf_taxonomy();
723        mdf_tooltip_init();
724        mdf_init_checkboxes_scroll();
725        mdf_init_checkboxes();
726        mdf_init_selects();
727        mdf_init_multislect_emulator();
728        mdf_ajax_lock = false;
729        //next code row need when show disabled drop-downs - butaforia
730        jQuery(".mdf_input_container").find('.mdf_taxonomy_child_container2').next('.mdf_taxonomy_child_container').remove();
731
732        //after ajax is place for search form manipulation
733
734
735        //redraw posts if we need do this by options
736        if (mdf_ajax_content_redraw && jQuery('#mdf_results_by_ajax').length) {
737            jQuery('#mdf_results_by_ajax').html(response.content);
738            jQuery('.woo-pagination').remove();
739            redraw_ajax_pagination(slug);
740            //+++
741            if (jQuery('.mdf_sort_panel_select').length) {
742                jQuery('.mdf_sort_panel_order_by').change(function () {
743                    var form_id = jQuery('.mdf_ajax_content_redraw.mdf_ajax_auto_recount').attr('id');
744                    mdf_woo_catalog_order_by = jQuery(this).val();
745                    mdf_ajax_data_recount(form_id, slug, false);
746                });
747                jQuery('.mdf_sort_panel_ordering').change(function () {
748                    var form_id = jQuery('.mdf_ajax_content_redraw.mdf_ajax_auto_recount').attr('id');
749                    mdf_woo_catalog_order = jQuery(this).val();
750                    mdf_ajax_data_recount(form_id, slug, false);
751                });
752            }
753
754            if (jQuery('.mdf_custom_filter_panel').length) {
755                jQuery('.mdf_custom_filter_panel a').life('click', function () {
756                    var form_id = jQuery('.mdf_ajax_content_redraw.mdf_ajax_auto_recount').attr('id');
757                    mdf_woo_catalog_order_by = jQuery(this).data('order-by');
758                    mdf_woo_catalog_order = jQuery(this).data('order');
759                    mdf_ajax_data_recount(form_id, slug, false);
760                    return false;
761                });
762            }
763        }
764
765
766        //fix for textinput if its under ajax redraw (another way redirect works)
767        jQuery('form.mdf_ajax_content_redraw .mdf_textinput, form.mdf_ajax_auto_recount .mdf_textinput').keydown(function (e) {
768            if (e.keyCode == 13) { // enter key was pressed
769                jQuery(this).blur();
770                return false; // prevent execution of rest of the script + event propagation / event bubbling + prevent default behaviour
771            }
772        });
773
774        mdf_js_after_ajax_done();
775
776        //hide woo standard sort panel
777        if (jQuery('form.woocommerce-ordering').length) {
778            jQuery('form.woocommerce-ordering').hide();
779        }
780
781    });
782}
783
784//for mdf_ajax_content_redraw mode
785function redraw_ajax_pagination(slug) {
786    var pagination_links = jQuery('#mdf_results_by_ajax .tw-pagination li a');
787    jQuery.each(pagination_links, function (i, o) {
788        jQuery(o).click(function () {
789            mdf_ajax_content_redraw_page = parseInt(jQuery(o).attr('title'), 10);
790            var form_id = jQuery('.mdf_ajax_content_redraw.mdf_ajax_auto_recount').attr('id');
791            mdf_ajax_data_recount(form_id, slug, false);
792            return false;
793        });
794    });
795    //jump to top
796    //document.getElementById('mdf_results_by_ajax').scrollIntoView();
797
798    if (jQuery('#mdf_results_by_ajax').data('animate')) {
799        var target = jQuery('#mdf_results_by_ajax').data('animate-target');
800        if (jQuery(target).length)
801        {
802            var top = jQuery(target).offset().top;
803            jQuery('html,body').animate({scrollTop: top}, 577);
804            return false;
805        }
806    }
807
808    //here you can do smth after ajax is done
809
810
811}
812
813
814function mdf_hide_empty_blocks_titles() {
815    var section = jQuery('.widget-meta-data-filter .mdf_filter_section');
816    jQuery.each(section, function (index, value) {
817        var count = jQuery(value).find('table').find('tr').size();
818        if (!count) {
819            jQuery(value).hide();
820            jQuery(value).find('table').hide();
821            jQuery(value).prev('h4.data-filter-section-title').hide();
822        }
823    });
824}
825
826function mdf_tooltip_init() {
827    try {
828        jQuery('.mdf_tooltip').tooltipster({
829            maxWidth: tooltip_max_width,
830            //iconDesktop:true,
831            animation: 'fade',
832            delay: 200,
833            theme: 'tooltipster-' + mdf_tooltip_theme,
834            touchDevices: false,
835            trigger: 'hover',
836            contentAsHTML: true
837                    //content: jQuery('<span><strong>' + jQuery(this).find('i').html() + '</strong></span>')
838        });
839    } catch (e) {
840        //console.log(e);
841    }
842}
843
844
845function mdf_init_checkboxes_scroll() {
846    try {
847        if (!mdf_use_custom_scroll_bar) {
848            return;
849        }
850    } catch (e) {
851        console.log('Just an info: ' + e);
852    }
853    //+++
854    try {
855        jQuery(".mdf_filter_section_scrolled").mCustomScrollbar('destroy');
856        jQuery(".mdf_filter_section_scrolled").mCustomScrollbar({
857            scrollButtons: {
858                enable: true
859            },
860            advanced: {
861                updateOnContentResize: true,
862                updateOnBrowserResize: true
863            },
864            theme: "dark-2",
865            horizontalScroll: false,
866            mouseWheel: true,
867            scrollType: 'pixels',
868            contentTouchScroll: true
869        });
870    } catch (e) {
871        //console.log(e);
872    }
873}
874
875//by chosen js
876function mdf_init_selects() {
877    mdf_deinit_chosen_selects();
878    try {
879        if (mdf_use_chosen_js_w) {
880            jQuery(".mdf_widget_form select").chosen({disable_search_threshold: 10});
881        }
882        if (mdf_use_chosen_js_s) {
883            jQuery(".mdf_shortcode_container select").chosen({disable_search_threshold: 10});
884        }
885    } catch (e) {
886
887    }
888}
889
890//http://fronteed.com/iCheck/
891function mdf_init_checkboxes() {
892    try {
893        if (mdf_use_custom_icheck == 0) {
894            return;
895        }
896
897        //+++
898
899        var selectors = ".mdf_shortcode_form input, .mdf_widget_form input";
900        //jQuery(selectors).iCheck('destroy');
901
902        jQuery(selectors).iCheck({
903            checkboxClass: 'icheckbox_' + icheck_skin.skin + '-' + ic
903heck_skin.color,
904            radioClass: 'iradio_flat'
905        });
906
907
908        jQuery(selectors).on('ifChecked', function (event) {
909            //jQuery(this).attr("checked", true);
910            if (jQuery(this).hasClass('mdf_option_checkbox')) {
911                jQuery(this).parent().prev("input[type=hidden]").val(1);
912                jQuery(this).parent().next("input[type=hidden]").val(1);
913                jQuery(this).val(1);
914            }
915            jQuery(this).trigger('change');
916        });
917
918        jQuery(selectors).on('ifUnchecked', function (event) {
919            //jQuery(this).attr("checked", false);
920            if (jQuery(this).hasClass('mdf_option_checkbox')) {
921                jQuery(this).parent().prev("input[type=hidden]").val('~');
922                jQuery(this).parent().next("input[type=hidden]").val('~');
923                jQuery(this).val('~');
924            }
925            jQuery(this).trigger('change');
926        });
927    } catch (e) {
928
929    }
930}
931
932function mdf_deinit_chosen_selects() {
933    try {
934        if (mdf_use_chosen_js_w) {
935            jQuery(".mdf_widget_form select").chosen('destroy').trigger("liszt:updated");
936        }
937        if (mdf_use_chosen_js_s) {
938            jQuery(".mdf_shortcode_container select").chosen('destroy').trigger("liszt:updated");
939        }
940
941    } catch (e) {
942
943    }
944
945    //jQuery(".mdf_shortcode_form select, .mdf_widget_form select").removeClass("chzn-done").css('display', 'inline').data('chosen', null);
946    //jQuery("*[class*=chzn]").remove();
947}
948
949function mdf_show_stat_info_popup(text) {
950    if (mdtf_overlay_skin == 'default') {
951        jQuery("#pn_html_buffer").text(text);
952        jQuery("#pn_html_buffer").fadeTo(200, 0.9);
953    } else {
954        switch (mdtf_overlay_skin) {
955            case 'loading-balls':
956            case 'loading-bars':
957            case 'loading-bubbles':
958            case 'loading-cubes':
959            case 'loading-cylon':
960            case 'loading-spin':
961            case 'loading-spinning-bubbles':
962            case 'loading-spokes':
963                jQuery('body').plainOverlay('show', {progress: function () {
964                        return jQuery('<div id="woof_svg_load_container"><img style="height: 100%;width: 100%" src="' + mdf_plugin_url + 'images/loading-master/' + mdtf_overlay_skin + '.svg" alt=""></div>');
965                    }});
966                break;
967            default:
968                jQuery('body').plainOverlay('show', {duration: -1});
969                break;
970        }
971    }
972}
973
974
975function mdf_hide_stat_info_popup() {
976    if (mdtf_overlay_skin == 'default') {
977        window.setTimeout(function () {
978            jQuery("#pn_html_buffer").fadeOut(400);
979        }, 500);
980    } else {
981        jQuery('body').plainOverlay('hide');
982    }
983
984
985
986}
987
988function mdf_init_calendars(uniqid, act_without_button, ajax_searching, slug) {
989    try {
990        jQuery("#meta_data_filter_" + uniqid + " .mdf_calendar").datepicker(
991                {
992                    showWeek: true,
993                    firstDay: mdf_week_first_day,
994                    changeMonth: true,
995                    changeYear: true,
996                    showButtonPanel: true,
997                    onSelect: function (selectedDate, self) {
998                        var date = new Date(parseInt(self.currentYear, 10), parseInt(self.currentMonth, 10), parseInt(self.currentDay, 10), 23, 59, 59);
999                        var mktime = (date.getTime() / 1000);
1000                        var css_class = 'mdf_calendar_from';
1001                        if (jQuery(this).hasClass('mdf_calendar_from')) {
1002                            css_class = 'mdf_calendar_to';
1003                            jQuery(this).parent().find('.' + css_class).datepicker("option", "minDate", selectedDate);
1004                        } else {
1005                            jQuery(this).parent().find('.' + css_class).datepicker("option", "maxDate", selectedDate);
1006                        }
1007                        jQuery(this).prev('input[type=hidden]').val(mktime);
1008
1009                        //+++
1010
1011                        if (ajax_searching) {
1012                            window.setTimeout(function () {
1013                                mdf_ajax_data_recount("meta_data_filter_" + uniqid, slug, false);
1014                            }, 300);
1015                        }
1016
1017                        if (act_without_button) {
1018                            window.setTimeout(function () {
1019                                jQuery("#meta_data_filter_" + uniqid).submit();
1020                            }, 300);
1021                        }
1022
1023                    }
1024                }
1025        );
1026        jQuery(".mdf_calendar").datepicker("option", "dateFormat", mdf_calendar_date_format);
1027        jQuery(".mdf_calendar").datepicker("option", "showAnim", 'fadeIn');
1028        //+++
1029        jQuery(".mdf_calendar").life('keyup', function (e) {
1030            if (e.keyCode == 8 || e.keyCode == 46) {
1031                jQuery.datepicker._clearDate(this);
1032                jQuery(this).prev('input[type=hidden]').val("");
1033            }
1034        });
1035        //+++
1036        jQuery(".mdf_calendar").each(function () {
1037            var mktime = parseInt(jQuery(this).prev('input[type=hidden]').val(), 10);
1038            if (mktime > 0) {
1039                var date = new Date(mktime * 1000);
1040                jQuery(this).datepicker('setDate', new Date(date));
1041                //+++
1042                var css_class = 'mdf_calendar_from';
1043                var selectedDate = jQuery(this).datepicker('getDate');
1044                if (jQuery(this).hasClass('mdf_calendar_from')) {
1045                    css_class = 'mdf_calendar_to';
1046                    jQuery(this).parent().find('.' + css_class).datepicker("option", "minDate", selectedDate);
1047                } else {
1048                    jQuery(this).parent().find('.' + css_class).datepicker("option", "maxDate", selectedDate);
1049                }
1050            }
1051        });
1052    } catch (e) {
1053
1054    }
1055}
1056
1057function mdf_init_multislect_emulator() {
1058    /*
1059     Dropdown with Multiple checkbox select with jQuery - May 27, 2013
1060     (c) 2013 @ElmahdiMahmoud
1061     license: http://www.opensource.org/licenses/mit-license.php
1062     */
1063    jQuery(".dropdown dt a").on('click', function () {
1064        //jQuery(".dropdown dd ul").slideToggle('fast');
1065        var is_visible=false;
1066        if (jQuery(this).parents('dl.dropdown').find('dd ul').css('display') != 'none'){
1067            is_visible=true;
1068        }
1069        
1070        jQuery('body dl.dropdown').find('dd ul').hide();
1071
1072        if (!is_visible) {
1073            jQuery(this).parents('dl.dropdown').find('dd ul').slideToggle('fast');
1074        }
1075        return false;
1076    });
1077
1078    jQuery(".dropdown dd ul li a").on('click', function () {
1079        //jQuery(".dropdown dd ul").hide();
1080        jQuery(this).parents('dl.dropdown').find('dd ul').hide();
1081        return false;
1082    });
1083    /*
1084     function getSelectedValue(id) {
1085     return jQuery("#" + id).find("dt a span.value").html();
1086     }
1087     */
1088    jQuery(document).bind('click', function (e) {
1089        var $clicked = jQuery(e.target);
1090        if (!$clicked.parents().hasClass("dropdown")) {
1091            //jQuery(".dropdown dd ul").hide();
1092            jQuery('body dl.dropdown').find('dd ul').hide();
1093        }
1094    });
1095
1096    /*
1097     jQuery('.mutliSelect input[type="checkbox"]').on('click', function () {
1098     
1099     var title = jQuery(this).closest('.mutliSelect').find('input[type="checkbox"]').val(),
1100     title = jQuery(this).val() + ",";
1101     
1102     if (jQuery(this).is(':checked')) {
1103     var html = '<span title="' + title + '">' + title + '</span>';
1104     jQuery('.multiSel').append(html);
1105     jQuery(".hida").hide();
1106     } else {
1107     jQuery('span[title="' + title + '"]').remove();
1108     var ret = jQuery(".hida");
1109     jQuery('.dropdown dt a').append(ret);
1110     }
1111     });
1112     */
1113}

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.