PageSourceSearch

https://mtv-ludwigsburg.de/wp-content/plugins/wpjobboard/public/js/frontend.js?ver=5.11.3

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

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.