PageSourceSearch

https://www.acfomi.ca/wp-content/plugins/wpjobboard/public/js/frontend.js?ver=5.12.2

js acfomi.ca collected 2026-10-01 01:32:16 UTC 20,092 bytes, 702 lines download raw bytes

1var WPJB = WPJB || {};
2
3WPJB.execute = function(functionName, context /*, args */) {
4    var args = [].slice.call(arguments).splice(2);
5    var namespaces = functionName.split(".");
6    var func = namespaces.pop();
7    for(var i = 0; i < namespaces.length; i++) {
8        context = context[namespaces[i]];
9    }
10    return context[func].apply(context, args);
11}
12
13WPJB.form = function( selector ) {
14    
15    this.form = selector;
16
17    this.addError = function(message) {
18        var $ = jQuery;
19        var error = $("<div></div>");
20        error.addClass("wpjb-flash-error");
21        error.append($("<span></span>").addClass("wpjb-glyphs wpjb-icon-attention"));
22        error.append($("<span></span>").text(message));
23
24        $(this.form).prepend(error);
25    };
26
27    this.addFieldError = function(field, message) {
28        var $ = jQuery;
29        var row = $(this.form + " " + field);
30        
31        row.addClass("wpjb-error");
32        
33        if(row.find(".wpjb-errors").length == 0) {
34            row.find(".wpjb-field").append($("<ul></ul>").addClass("wpjb-errors"));
35        }
36        
37        row.find(".wpjb-errors").append($("<li></li>").text(message));
38    };
39    
40    this.clearErrors = function() {
41        var $ = jQuery;
42        $(this.form).find(".wpjb-flash-error").remove();
43        $(this.form).find(".wpjb-errors").remove();
44        $(this.form).find(".wpjb-error").removeClass("wpjb-error");
45    };
46}
47
48jQuery(function($) {
49    
50    if($(".wpjb-date-picker, .daq-date-picker").length == 0) {
51        return;
52    }
53
54    $(".wpjb-date-picker, .daq-date-picker").each(function(index, item) {
55        var $item = $(item);
56        var yearRange = "c-10:c+10";
57
58        if($item.data("year-range") && $item.data("year-range").length > 0) {
59            yearRange = $item.data("year-range");
60        }
61
62        var data = {
63            dateFormat: WpjbData.datepicker_date_format,
64            yearRange: yearRange,
65            changeMonth: false,
66            changeYear: true
67        };
68
69        if($item.data("date-min") && $item.data("date-min").length > 0) {
70            data.minDate = wpjb_get_date_formatted($item.data("date-min"));
71        }
72
73        if($item.data("date-max") && $item.data("date-max").length > 0) {
74            data.maxDate = wpjb_get_date_formatted($item.data("date-max"));
75        }
76
77        $item.datepicker(data);
78    });
79    
80});
81
82function wpjb_get_date_formatted(str) {
83  const regex = /^\d{4}-\d{2}-\d{2}$/;
84  if (!regex.test(str)) {
85    return str;
86  }
87
88  const date = new Date(str);
89  const [year, month, day] = str.split('-').map(Number);
90
91  if (
92    date.getFullYear() === year &&
93    date.getMonth() === month - 1 &&
94    date.getDate() === day
95  ) {
96    return date;
97  } else {
98    return str;
99  }
100}
101
102jQuery(function($) {
103   
104    if(! $.isFunction($.fn.selectList)) {
105        return;
106    }
107    
108    $(".daq-multiselect").selectList({
109        sort: false,
110        template: '<li class="wpjb-upload-item">%text%</li>',
111        onAdd: function (select, value, text) {
112
113            if(value.length == 0) {
114                $(select).parent().find(".selectlist-item:last-child")
115                    .css("display", "none")
116                    .click();
117            }
118            
119            $(select).next().val("");
120        }
121    });
122    $(".daq-multiselect").each(function(index, item) {
123        if($(item).find("option[selected=selected]").length == 0) {
124            $(item).prepend('<option value="" selected="selected"> </option>');
125        }
126    });
127});
128
129(function($) {
130    $.fn.wpjb_menu = function(options) {
131
132        // merge default options with user options
133        var settings = $.extend({
134            position: "left",
135            classes: "wpjb-dropdown wpjb-dropdown-shadow",
136            postfix: "-menu"
137        }, options);
138
139        return this.each(function() {
140
141            var menu = $(this);
142            var img = menu.find("img");
143            var ul = menu.find("ul");
144
145            //var id = $(this).attr("id");
146            var menuId = ul.attr("id");
147
148            $("html").click(function() {
149                $("#"+menuId).hide();
150                $("#"+menuId+"-img").removeClass("wpjb-dropdown-open");
151            });
152            
153            ul.find("li a").hover(function() {
154                $(this).addClass("wpjb-hover");
155            }, function() {
156                $(this).removeClass("wpjb-hover");
157            });
158
159            ul.hide();
160            $(this).after(ul);
161            $(this).click(function(e) {
162                var dd = $("#"+menuId);
163                var visible = dd.is(":visible");
164                dd.css("position", "absolute");
165                dd.css("margin", "0");
166                dd.css("padding", "0");
167
168                $("html").click();
169                
170                img.addClass("wpjb-dropdown-open");
171
172                var parent = $(this).position();
173                var parent_width = $(this).width();
174
175                //dd.css("top", parent.top+$(this).height());
176
177                if(settings.position == "left") {
178                    dd.css("left", parent.left);
179                } else {
180                    dd.show();
181                    dd.css("left", parent.left+parent_width-dd.width());
182                }
183
184                if(visible) {
185                    dd.hide();
186                } else {
187                    dd.show();
188                }
189
190                e.stopPropagation();
191                e.preventDefault();
192            });
193        });
194
195
196    }
197})(jQuery);
198
199jQuery(function() {
200
201    if(jQuery("input#protection").length > 0) {
202        jQuery("input#protection").attr("value", WpjbData.Protection);
203    }
204
205    if(jQuery(".wpjb_apply_form").length > 0) {
206        var hd = jQuery('<input type="hidden" />');
207        hd.attr("name", "protection");
208        hd.attr("value", WpjbData.Protection);
209        jQuery(".wpjb_apply_form").append(hd);
210    }
211});
212
213jQuery(function() {
214    
215    var autoClear = jQuery("input.wpjb-auto-clear");
216    
217    autoClear.each(function(index, item) {
218        var input = jQuery(item);
219        input.attr("autocomplete", "off");
220        input.attr("wpjbdef", input.val());
221        input.addClass("wpjb-ac-enabled");
222    });
223    
224    autoClear.keydown(function() {
225        jQuery(this).removeClass("wpjb-ac-enabled");
226    });
227    
228    autoClear.focus(function() {
229        var input = jQuery(this);
230        
231        if(input.val() == input.attr("wpjbdef")) {
232            input.val("");
233            input.addClass("wpjb-ac-enabled");
234        }
235        
236    });
237    
238    autoClear.blur(function() {
239        var input = jQuery(this);
240        input.removeClass("wpjb-ac-enabled");
241        
242        if(input.val() == "") {
243            input.val(input.attr("wpjbdef"));
244            input.addClass("wpjb-ac-enabled");
245        }
246    });
247    
248    autoClear.closest("form").submit(function() {
249        autoClear.unbind("click");
250        if(autoClear.val() == autoClear.attr("wpjbdef")) {
251            autoClear.val("");
252        }
253    });
254
255});
256
257jQuery(function($) {
258    $(".wpjb-form-toggle").click(function(event) {
259        var id = $(this).data("wpjb-form");
260        
261        if(!id) {
262            id = $(this).attr("data-wpjb-form");
263        }        
264        
265        $(this).find(".wpjb-slide-icon").toggleClass("wpjb-slide-up");
266        
267        $("#"+id).slideToggle("fast", function() {
268            if(typeof WPJB.upload == 'object') WPJB.upload.refresh();
269        });
270        return false;
271    });
272    $(".wpjb-slide-icon").removeClass("wpjb-none");
273});
274
275jQuery(function($) {
276    $(".wpjb-subscribe").click(function() {
277
278        $("#wpjb-overlay").show();
279        
280        //$("#wpjb-overlay").css("height", $(document).height());
281        //$("#wpjb-overlay").css("width", $(document).width());
282        
283
284        return false;
285    });
286    
287    $(".wpjb-overlay-close").click(function() {
288        $(this).closest(".wpjb-overlay").hide();
289        return false;
290    });
291    $(".wpjb-overlay").click(function() {
292        $(this).hide();
293        return false;
294    });
295    $(".wpjb-overlay > div").click(function(e) {
296        e.stopPropagation();
297    });
298    $(".wpjb-subscribe-save").click(function(e) {
299        
300        e.preventDefault();
301        
302        if(typeof WPJB_SEARCH_CRITERIA === 'undefined' || WPJB_SEARCH_CRITERIA == "") {
303            
304            WPJB_SEARCH_CRITERIA = {
305                'filter' : 'active',
306                'query' : $(".wpjb-ls-query").val(),
307                'category' : $(".wpjb-ls-category").val(),
308                'type' : $(".wpjb-ls-type").val(),
309            }
310        }
311        
312        var data = {
313            action: "wpjb_main_subscribe",
314            email: $("#wpjb-subscribe-email").val(),
315            frequency: $(".wpjb-subscribe-frequency:checked").val(),
316            criteria: WPJB_SEARCH_CRITERIA
317        };
318        
319        $(".wpjb-subscribe-save").hide();
320        $(".wpjb-subscribe-load").show();
321        
322	$.post(ajaxurl, data, function(response) {
323            
324            $(".wpjb-subscribe-load").hide();
325            
326            var span = $(".wpjb-subscribe-result");
327            
328            span.css("display", "block");
329            span.text(response.msg);
330            span.removeClass("wpjb-subscribe-success");
331            span.removeClass("wpjb-subscribe-fail");
332            span.removeClass("wpjb-flash-info");
333            span.removeClass("wpjb-flash-error");
334            
335            if(response.result == "1") {
336                span.addClass("wpjb-subscribe-success");
337                span.addClass("wpjb-flash-info");
338                $("#wpjb-subscribe-email").hide();
339            } else {
340                span.addClass("wpjb-subscribe-fail"); 
341                span.addClass("wpjb-flash-error"); 
342                $(".wpjb-subscribe-save").show();
343                
344            }
345	}, "json");
346        
347        return false;
348    });
349});
350
351jQuery(function($) {
352    $(".wpjb-tooltip").click(function() {
353        if($(".wpjb-map-slider iframe").length==0) {
354            return false;
355        }
356        if($(".wpjb-map-slider iframe").attr("src").length == 0) {
357            $(".wpjb-map-slider iframe").attr("src", $(this).attr("href"));
358            $(".wpjb-map-slider iframe").fadeIn();
359        }
360        $(".wpjb-map-slider").toggle();
361        return false;
362    });
363});
364
365jQuery(function($) {
366    if($(".wpjb-form .switch-tmce").length>0) {
367        $(".wpjb-form .switch-tmce").closest("form").submit(function() {
368            $(this).find(".html-active .switch-tmce").click();
369        });
370    }
371});
372
373jQuery(function($) {
374    $(".wpjb-refine-button").click(function(e) {
375        e.preventDefault();
376        $(".wpjb-form-to-refine").slideToggle("fast");
377    });
378    
379    $(".wpjb-refine-cancel").click(function(e) {
380        e.preventDefault();
381        
382        var field = $(this).data("wpjb-field-remove");
383        var element = $(".wpjb-element-name-"+field);
384
385        if(element.find("input[type=text]").length > 0) {
386            element.find("input[type=text]").val("");
387        }
388        if(element.find(".daq-multiselect-holder").length > 0) {
389            var v = $(this).data("wpjb-field-value");
390            element.find("input[type=checkbox][value='"+v+"']").attr("checked", null).change();
391        }
392        if(element.find("select").length > 0) {
393            element.find("select").val("");
394        }
395        if(element.find("input[type=checkbox]").length > 0) {
396            var v = $(this).data("wpjb-field-value");
397            element.find("input[type=checkbox][value='"+v+"']").attr("checked", null).change();
398        }
399        if(element.find("input[type=radio]").length > 0) {
400            var v = $(this).data("wpjb-field-value");
401            element.find("input[type=radio][value='"+v+"']").attr("checked", null).change();
402        }
403        
404        $(".wpjb-form-to-refine").submit();
405    });
406    
407    $(".wpjb-form[method=get]").submit(function(e) {
408        var all_empty = true;
409        $(this).find('input, textarea, select').each(function(_, inp) {
410          if ($(inp).val() === '' || $(inp).val() === null) {
411            $(inp).attr("name", "");
412          } else {
413              all_empty = true;
414          }
415        });
416        if(all_empty) {
417            $(this).append('<input type="hidden" name="results" value="1" />');
418        }
419    });
420});
421
422jQuery(function($) {
423    $(".wpjb-button-submit").on("click", function(e) {
424        e.preventDefault();
425        jQuery(this).closest("form").submit();
426    });
427});
428
429if(window.location.hash == "#wpjb-sent" && history.pushState) {
430    history.pushState('', document.title, window.location.pathname);
431}
432
433function wpjb_hide_scroll_hash() {
434    if(window.location.hash == "#wpjb-scroll" && history.pushState) {
435        history.pushState('', document.title, window.location.pathname);
436    } 
437}
438
439jQuery(function($) {
440
441    $(".wpjb-candidate-remove-application-btn").click( function(e) {
442        e.preventDefault();
443        var id = $(this).data("id");
444        $(".wpjb-candidate-remove-application-box-"+id).show();
445    });
446
447    $(".wpjb-candidate-remove-application-cancel").click( function(e) {
448        e.preventDefault();
449        var id = $(this).data("id");
450        $(".wpjb-candidate-remove-application-box-"+id).hide();
451    });
452});
453
454
455
456// live search livesearch
457
458var WPJB_SEARCH_CRITERIA = WPJB_SEARCH_CRITERIA || {};
459var WpjbXHR = null;
460
461function wpjb_ls_jobs_init() {
462                
463    var $ = jQuery;
464
465
466    $("#wpjb-top-search ul").css("width", "100%");
467    $(".wpjb-top-search-submit").hide();
468    
469    $('#wpjb-top-search-form').on('change', 'select', function(e) {
470
471        //var f_name = $(this).attr("name");
472        //var f_val = $(this).children("option:selected").val();
473
474        $(this).blur();
475
476        wpjb_ls_jobs();
477
478        wpjbMapCallbacks.loadData.location = function(data) {
479
480
481            $.each( WPJB_SEARCH_CRITERIA, function( index, value ) {
482                data[index] = value;
483            } );
484            //data[f_name] = f_val;
485        }
486
487        wpjb_map_load_data();
488        
489        return false;
490    });
491
492    $('#wpjb-top-search-form').on('change', 'input[type="checkbox"]', function(e) {
493
494        var f_name = $(this).attr("name");
495        var checkedVals = $('input[name="'+f_name+'"]:checked').map(function() {
496            return this.value;
497        }).get();
498
499        $(this).blur();
500
501        if( typeof wpjbMapCallbacks !== "undefined" ) {
502            wpjbMapCallbacks.loadData.location = function(data) {
503                data[f_name] = checkedVals;
504            }
505        }
506
507        wpjb_ls_jobs();
508
509        if( typeof wpjbMapCallbacks !== "undefined" ) {
510            wpjb_map_load_data();
511        }
512        return false;
513    })
514
515    $('#wpjb-top-search-form').on('keyup', ':input', function(e) {
516
517        var f_name = $(this).attr("name");
518        var f_val = $(this).val();
519        
520        if( typeof wpjbMapCallbacks !== "undefined" ) {
521            wpjbMapCallbacks.loadData.location = function(data) {
522                data[f_name] = f_val;
523            }
524        }
525
526        wpjb_ls_jobs();
527
528        if( typeof wpjbMapCallbacks !== "undefined" ) {
529            wpjb_map_load_data();
530        }
531        
532        return false;
533    });
534 
535    /*$(".wpjb-ls-query, .wpjb-ls-location").keyup(function() {
536        wpjb_ls_jobs();
537    });
538    $(".wpjb-ls-type").change(function() {
539        wpjb_ls_jobs();
540        return false;
541    });*/
542                
543    $(".wpjb-paginate-links").hide();
544                
545    wpjb_ls_jobs();
546}        
547     
548function wpjb_ls_jobs(e) {
549        
550    var $ = jQuery;
551        
552    if(WpjbXHR) {
553        WpjbXHR.abort();
554    }
555                
556    var page = null;
557                
558    if(typeof e == 'undefined') {
559        page = 1;
560    } else {
561        page = parseInt($(".wpjb-ls-load-more a.btn").data("wpjb-page"));
562    }
563      
564    var data = $.extend({}, WPJB_SEARCH_CRITERIA);
565    data.action = "wpjb_jobs_search";
566    data.page = page;
567    //data.type = [];
568
569    $('#wpjb-top-search-form select').each( function ( index ) {
570
571        var key = $(this).attr("name");
572        var value = $(this).children("option:selected").val();
573
574        if( typeof key !== "undefined" ) {
575
576            WPJB_SEARCH_CRITERIA[key] = value;
577            data[key] = value;
578        }
579
580    } );
581
582    $('#wpjb-top-search-form input[type="checkbox"], input[type="radio"]').each( function ( index ) {
583
584        var key = $(this).attr("name");
585
586        var checkedVals = $('#wpjb-top-search-form input[name="' + key + '"]:checked').map(function() {
587            return this.value;
588        }).get();
589
590        if( typeof key !== "undefined" ) {
591
592            WPJB_SEARCH_CRITERIA[key] = checkedVals;
593            data[key] = checkedVals;
594        }
595
596    } );
597
598    $('#wpjb-top-search-form input[type="text"]').each( function ( index ) {
599
600        var value = $(this).val();
601        var key = $(this).attr("name");
602
603        if( typeof key !== "undefined" ) {
604
605            WPJB_SEARCH_CRITERIA[key] = value;
606            data[key] = value;
607        }
608
609    } );
610
611    $(".wpjb-job-list").css("opacity", "0.4");
612                
613    WpjbXHR = $.ajax({
614        type: "POST",
615        data: data,
616        url: ajaxurl,
617        dataType: "json",
618        success: function(response) {
619                        
620            var total = parseInt(response.total);
621            var nextPage = parseInt(response.page)+1;
622            var perPage = parseInt(response.perPage);
623            var loaded = 0;
624                                
625            $(".wpjb-subscribe-rss input[name=feed]").val(response.url.feed);
626            $(".wpjb-subscribe-rss a.wpjb-button.btn").attr("href", response.url.feed);
627
628            if(total == 0) {
629                $(".wpjb-job-list").css("opacity", "1");
630                $(".wpjb-job-list").html('<div>'+WpjbData.no_jobs_found+'</div>');
631                return;
632            }
633                                
634            var more = perPage;
635                                
636            if(nextPage == 2) {
637                $(".wpjb-job-list").empty();
638            }
639                        
640            $(".wpjb-job-list .wpjb-ls-load-more").remove();
641            $(".wpjb-job-list").css("opacity", "1");
642            $(".wpjb-job-list").append(response.html);
643                                
644            loaded = $(".wpjb-job-list").children().length;
645                                
646            var delta = total-loaded;
647                                
648            if(delta > perPage) {
649                more = perPage;
650            } else if(delta > 0) {
651                more = delta;
652            } else {
653                more = 0;
654            }
655                                
656            if(more) {
657                var txt = WpjbData.load_x_more.replace("%d", more);
658                var loadMoreHtml = "";
659                
660                if($(".wpjb-job-list").prop("tagName") == "TBODY") {
661                    loadMoreHtml = '<tr class="wpjb-ls-load-more"><td colspan="3"><a href="#" data-wpjb-page="'+(nextPage)+'" class="btn">'+txt+'</a></td></tr>';
662                } else {
663                    loadMoreHtml = '<div class="wpjb-ls-load-more"><a href="#" data-wpjb-page="'+(nextPage)+'" class="wpjb-button btn">'+txt+'</a></div>';
664                }
665                
666                $(".wpjb-job-list").append(loadMoreHtml);
667                $(".wpjb-job-list .wpjb-ls-load-more a").click(wpjb_ls_jobs);
668            }
669                                
670        }
671    });
672     
673    return false;
674}
675
676/**
677 * Repositions $path
678 * 
679 * @deprecated              No longer needed since version 4.4.4
680 * @param string $path      jQuery selector
681 * @returns                 Null
682 */
683function wpjb_overlay_reposition(path) {
684    // do nothing
685}
686
687// Job Details Page
688var WPJB_ALREADY_SENT = false;
689jQuery(function($) {
690    if($("form#wpjb-apply-form").length === 1) {
691        $("form#wpjb-apply-form").on("submit", function(e) {
692            if(WPJB_ALREADY_SENT===true) {
693                e.preventDefault();
694                return;
695            }
696
697            $(this).find("input[type=submit]").prop("disabled", true);
698            WPJB_ALREADY_SENT = true;
699        });
700
701    }
702});

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.