PageSourceSearch

https://www.vhs-oberhausen.de/typo3conf/ext/kubus_lech/Resources/Public/JavaScript/layout.js?1624623490

js vhs-oberhausen.de collected 2026-10-08 00:22:20 UTC 14,606 bytes, 482 lines download raw bytes

1/**
2 * Owl Carousel
3 */
4$(document).ready(function(){
5  $(".owl-carousel-highlights").owlCarousel({      
6    navText:['<i class="fas fa-chevron-left" aria-label="rückwärts"></i>','<i class="fas fa-chevron-right" aria-label="vorwärts"></i>'],
7    responsiveClass:true,    
8      responsive:{
9        0:{
10            items:1,
11            nav:false
12        },
13        700:{
14            items:2,
15            nav:false
16        },
17        992:{
18            items:3,
19            nav:true            
20        }
21    }
22  });
23
24
25  $(".news-list-slider").owlCarousel({      
26    navText:['<i class="fas fa-chevron-left" aria-label="rückwärts"></i>','<i class="fas fa-chevron-right" aria-label="vorwärts"></i>'],
27    
28    //autoplay:true,
29    //autoplayTimeout:3000,
30    //autoplayHoverPause:true,
31    margin:20,
32    responsiveClass:true,    
33      responsive:{
34        0:{
35            items:1,
36            nav:false
37        },
38        700:{
39            items:2,
40            nav:false
41        },
42        992:{
43            items:3,
44            nav:true            
45        }
46    }
47  });
48
49
50});
51
52/**
53 * Dropdown Fade in/out
54 */
55
56$('.dropdown').on('show.bs.dropdown', function (e) {
57    $(this).find('.dropdown-menu').first().stop(true, true).fadeToggle(200);
58});
59$('.dropdown').on('hide.bs.dropdown', function (e) {
60    $(this).find('.dropdown-menu').first().stop(true, true).fadeToggle(0);
61});
62
63
64
65/**
66 * To top
67 */
68$(document).ready(function () {
69    $(window).scroll(function () {
70        if ($(this).scrollTop() > 200) {
71            $('.scrollToTop').fadeIn();
72        } else {
73            $('.scrollToTop').fadeOut();
74        }
75    });
76    $('.scrollToTop').click(function () {
77        $('html, body').animate({ scrollTop: 0 }, 800);
78        return false;
79    });
80});
81
82/**
83 * Sticky Nav
84 */
85$(document).ready(function () {
86    $(window).scroll(function () {
87        var scroll = $(window).scrollTop();
88        var height = $("nav.navbar").height() + 250;
89        if (scroll >= height+250) {
90            $("nav.navbar").addClass('isstuck');
91        } else {
92            $("nav.navbar").removeClass("isStuck");
93        }
94    });
95});
96
97/**
98 * News
99 */
100$(document).ready(function () {
101    $('.news-single-backlink a').addClass('btn btn-secondary');
102});
103
104/**
105 * KuferWEB
106 */
107/*Kurs in den Warenkorb legen*/
108$(document).ready(function() {
109    $('#after-kurs-in-wk').modal('show'); //show modal
110    
111   /*Animation Warenkorb*/
112    if  ($(".kw-wk-animation-trigger").is(":visible")) { //bei xs und sm ausschalten.
113        $('.kw-add-to-cart').click(function(event){
114            event.preventDefault();        
115            let link = $(this).attr('href');;
116            let btn_position = $(this).offset();
117            //let cart_position =	$(".wk-menu").position();	
118            let cart_position =	$(".wk-menu").offset();	
119
120            $("body").append('<div class="kw-floating-cart"></div>');		
121            let floating_cart = $('.kw-floating-cart');	
122            $(floating_cart).css({'top' : btn_position.top + 'px', "left" : btn_position.left + 'px'}).fadeIn("slow").addClass('moveToCart');  //einblenden      
123            $(floating_cart).css({'top' : cart_position.top+10 + 'px', "left" : cart_position.left + 10 + 'px'}); //animate
124            $('html, body').animate({ scrollTop: 0 }, 800);						
125                        
126            setTimeout(function(){
127                $('.kw-floating-cart').remove();           
128            location.href = link;
129            }, 900);
130            
131        });
132    }   
133
134}); 
135
136$(document).ready(function () {
137    /*dropdown fuerr Kateogorien Sidebar*/
138    $('li.kw-kat-dropdown>a').on('click', function (event) {
139      event.preventDefault();
140      event.stopPropagation();
141      $(this).parent().toggleClass('opened');
142      $(this).parent().find('.kw-kat-dropdown-submenu').first().slideToggle(); 
143    });
144});
145
146
147/**
148 * Readonly fuer die Bankbezeichnung Felder
149 */
150$("input#tedit_bankbezid, input[id^='bvedit_bankbez']").each(function () {
151    $(this).attr('readonly', true);
152    $(this).tooltip({ title: "Wird automatisch ausgefüllt" });
153
154});
155
156$(document).ready(function () {
157    $("#tedit_bundeslandid").addClass('form-control');
158});
159
160/**
161 * Tooltip
162 */
163$(function () {
164    $('.kw-login-actions-menue [data-toggle="tooltip"]').tooltip( {
165            container: 'body',
166            placement: 'right'
167          });
168  })
169
170// Nur buchbare Kurse anzeigen
171$(document).ready(function () {
172  jQuery('.kw-nurbuchbare .btn').click(function () {
173    $(this).toggleClass('selected');
174    $('.nichtbuchbar').toggle("300");
175    $('.nichtbuchbar').toggleClass("ausgeblendet");
176  
177    $('.kw-table-row').each(function () {
178      $(this).removeClass('alt1');
179      $(this).removeClass('alt2');
180    });
181    if ($(this).hasClass("selected")) {
182      $('.kw-table-row:not(.ausgeblendet)').each(function (index) {
183        if (index % 2 == 1) {
184          $(this).addClass("alt2");
185        }
186      });
187    } else {
188      $('.kw-table-row').each(function () {
189        $('.kw-table-row:odd').addClass('alt2');
190        $('.kw-table-row:even').addClass('alt1');
191      });
192    }
193  });
194}); 
195
196/**
197 * Teilnehmer-Login Meine Kurse
198 */
199
200if (typeof(kw) === "undefined") {
201    kw = {};
202  }
203  kw.meineKurse = {};
204  kw.meineKurse.getDifferentStatus = function() {
205    var zeilen = jQuery('.kw-meine-kurse');
206    var vorhandeneStatus = [];
207    zeilen.each(function(index, item) {
208      var classes = jQuery(item).attr('class');
209      var stat = jQuery.trim(classes.replace('kw-meine-kurse', ''));
210      if (vorhandeneStatus.indexOf(stat) === -1) {
211        vorhandeneStatus.push(stat);
212      }
213    });
214    return vorhandeneStatus;
215  };
216  kw.meineKurse.berechneStatusgruppen = function(pArray) {
217    var result = [];
218    for (var index in pArray) {
219      var stat = kw.meineKurse.getStatusgruppe(pArray[index]);
220      if (result.indexOf(stat) === -1) {
221        result.push(stat);
222      }
223    }
224    return result;
225  };
226  kw.meineKurse.getStatusgruppe = function(pStatus) {
227    if (typeof(pStatus) !== "string" || pStatus.length > 1) {
228      return '';
229    }
230    if (pStatus === 'T')
231      return 'A';
232    else if (pStatus === 'Z')
233      return 'S';
234    else
235      return pStatus;
236  };
237  kw.meineKurse.getStatusText = function(pStatus) {
238    switch (pStatus) {
239      case 'A': return "tatsächliche Anmeldungen";
240      case 'S': return "stornierte Anmeldungen";
241      case 'W': return "Anmeldungen auf Warteliste";
242    }
243  };
244  kw.meineKurse.filter = function() {
245      var value = jQuery('#kw-meine-kurse-status option:selected').val();
246      var zeilen = jQuery('.kw-meine-kurse');
247      if (value.length != 0) {
248      var selector = '.' + value;
249      if (value === 'A') {
250        selector += ", .T";
251      }
252      else if (value === 'S') {
253        selector += ", .Z";
254      }     
255      
256      zeilen.hide();
257      zeilen.filter(selector).show();
258      } else{
259         zeilen.show();
260      }
261  };
262  
263$(function () {
264  $('.kw-meine-kurse [data-toggle="tooltip"]').tooltip({
265    container: 'body',
266    placement: 'right'
267  });
268  
269  
270  var verschiedeneStatus = kw.meineKurse.getDifferentStatus();
271  if (verschiedeneStatus.length > 0) {
272    var statusWerte = kw.meineKurse.berechneStatusgruppen(verschiedeneStatus);
273    var selectid = 'kw-meine-kurse-status';
274    var select = '<select class="form-control" id="' + selectid + '" name="kw-meinekurse-status">' ;
275    select += '<option value="">Alle Anmeldungen</option>';
276    statusWerte.forEach(function(item){
277      select += '<option value="' + item + '">' + kw.meineKurse.getStatusText(item) + '</option>';
278    });
279    select += '</select>';
280    jQuery('#kw-meine-kurse-statusselect').append(select);
281    jQuery('#kw-meine-kurse-status').change(function() {
282      kw.meineKurse.filter();
283    });
284    kw.meineKurse.filter();
285  }
286});
287
288
289/*
290*Popover Passwort
291*/
292
293$(document).ready(function(){
294    $('[data-toggle="password_info"]').popover({
295        container: 'body',
296        html: true,
297        placement:'bottom',
298        delay: {show: 200, hide: 100},
299        trigger: "focus",
300        content: function () {
301            var clone = $($(this).data('popover-content')).html();
302            return clone;
303        }
304    });   
305});
306
307/**
308 * calendar
309 */
310if (typeof kw === "undefined") {
311  kw = {};
312}
313
314kw.on = function(eventName, selector, fct) {
315    document.addEventListener(eventName, function(e) {
316        if ( e.target.matches(selector) ) {
317            let r = fct(e);
318            if (!r) {
319                e.preventDefault();
320            }
321        }
322    }, false);
323};
324
325kw.kal = {};
326kw.kal.ajaxCall = function(targetid, url, prepareContent, afterContent) {
327  let targetElement = document.getElementById(targetid);
328  targetElement.classList.add('kw-loading');
329  var xhr;
330  try { xhr.abort(); } catch(e){}
331  xhr = new XMLHttpRequest();
332  xhr.onreadystatechange = function() {
333    if (xhr.readyState === 4) {
334      if ((xhr.status === 200 || xhr.status === 0) && xhr.responseText) {
335        let content = xhr.responseText;
336        if (typeof prepareContent === "function") {
337          content = prepareContent(content);
338        }
339        targetElement.innerHTML = content;//JS not applied
340        if (typeof afterContent === "function") {
341          content = afterContent();
342        }
343      }
344      targetElement.classList.remove('kw-loading');
345    }
346  };
347  xhr.open('POST', url, true);
348  xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
349  xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
350  xhr.send();
351};
352
353kw.kal.loadKalenderDetails = function(url, prepareContent) {
354  kw.kal.ajaxCall('kw-kalender-sidebar', url, prepareContent);
355};
356  
357kw.kal.loadEine = function(elem) {
358  const knr = elem.getAttribute("data-kw-knr");
359  const url = kw.wbBasePath + "kursinfo.php?knr=" + knr + "&full=1";
360  const href = elem.getAttribute("href");
361  const prepareContent = function(content) {
362    return content?content.replace("###HREF###", href):'';
363  };
364  kw.kal.loadKalenderDetails(url, prepareContent);
365}
366kw.on('click', '.eine>a', function(event) {
367  const knr = event.target.getAttribute("data-kw-knr");
368  kw.kal.loadEine(event.target);
369});
370
371kw.kal.loadMehrere = function(elem) {
372  const date = elem.getAttribute("data-kw-datum");
373  const kalItem = document.getElementById("kw-kalender");
374  const veranart = kalItem.getAttribute("data-kw-kalender-veranart");
375  const href = elem.getAttribute("href");
376  const style = typeof kw.wbCalendarStyle == "undefined" ? "" : "&style="+kw.wbCalendarStyle; 
377  const url = kw.wbBasePath + "kursuebersicht.php?kfs_beginn_dat1=" + date + "&kfs_beginn_dat2=" + date + veranart + style;
378  const prepareContent = function(content) {
379    return content?content.replace("###HREF###", href):'';
380  };
381  kw.kal.loadKalenderDetails(url, prepareContent);
382}
383
384kw.on('click', '.mehrere>a', function(event) {
385  kw.kal.loadMehrere(event.target);
386});
387kw.kal.initialLoad = function() {
388  let aktuellerMonatAngezeigt = document.querySelector("#kw-kalender .heute") != null;
389  if (aktuellerMonatAngezeigt) {
390    //heutige/n Kurs/e anzeigen
391    let kursHeute = document.querySelector("#kw-kalender .eine.heute a");
392    if (kursHeute) {
393      kw.kal.loadEine(kursHeute);
394      return;
395    }
396    let mehrereHeute = document.querySelector("#kw-kalender .mehrere.heute a");
397    if (mehrereHeute) {
398      kw.kal.loadMehrere(mehrereHeute);
399      return;
400    }
401    //heute kein Kurs => naechsten einzelnen Kurs in der Zukunft anzeigen
402    const heute = new Date().getDate();
403    let nextEineLink = kw.kal.getNextLink(false);
404    if (nextEineLink.date >= heute) {
405      kw.kal.loadEine(nextEineLink.link);
406      return;
407    }
408    //kein einzelner Kurs im Rest des Monats => naechste mehrere Kurse anzeigen
409    let nextMehrereLink = kw.kal.getNextLink(true);
410    if (nextMehrereLink.date >= heute) {
411      kw.kal.loadMehrere(nextMehrereLink.link);
412      return;
413    }
414    //gibt es auch nicht => letzten Tag mit Kurs/en anzeigen
415    if (nextEineLink.date > 0) {
416      kw.kal.loadEine(nextEineLink.link);
417      return;
418    }
419    if (nextMehrereLink.date > 0) {
420      kw.kal.loadMehrere(nextMehrereLink.link);
421      return;
422    }
423  }
424  let firstKursInMonth = document.querySelector("#kw-kalender .eine a");
425  if (firstKursInMonth) {
426    kw.kal.loadEine(firstKursInMonth);
427    return;
428  }
429  let firstMehrere = document.querySelector("#kw-kalender .mehrere a");
430  if (firstMehrere) {
431    kw.kal.loadMehrere(firstMehrere);
432  }
433};
434$(document).ready(function(){
435  kw.kal.initialLoad();
436});
437kw.kal.getNextLink = function(mehrere) {
438  let selectorPart = "eine";
439  if (mehrere) {
440    selectorPart = "mehrere";
441  }
442  links = document.querySelectorAll("#kw-kalender ." + selectorPart + " a");
443  heute = new Date().getDate();
444  currentLink = null;
445  currentDate = 0;
446  Array.prototype.forEach.call(links, function(el){
447    if (currentDate < parseInt(el.innerText) && currentDate < heute) {
448      currentLink = el;
449      currentDate = parseInt(el.innerText);
450    }
451  });
452  return {date: currentDate , link: currentLink};
453}
454
455kw.on('click', '.kw-kalender-btn-for, .kw-kalender-btn-for>i, .kw-kalender-btn-back, .kw-kalender-btn-back>i', function(event) {
456  const href = event.target.getAttribute("href") ? event.target.getAttribute("href") : event.target.parentNode.getAttribute("href");
457  let params = "";
458  const reMonth = /month=(\d+)/;
459  var m = reMonth.exec(href);
460  if (m != null) {
461    params = params + "month=" + m[1] + "&";
462  }
463  const reYear = /year=(\d+)/;
464  m = reYear.exec(href);
465  if (m != null) {
466    params = params + "year=" + m[1] + "&";
467  }
468
469  //let url = kw.wbBasePath + "kalender.php?" + params.substring(0, params.length-1);
470  let url = kw.wbCalendarPath + params.substring(0, params.length-1);
471  const prepareContent = function(content) {
472    //nur der Teil innerhalb des divs ist für uns interessant/soll ersetzt werden
473    const begin = '<div id="kw_ajax_beginn">';
474    const end = '</div><!-- kw_ajax_beginn -->';
475    let tmp = content.substring(content.indexOf(begin)+begin.length);
476    return tmp.substring(0, tmp.indexOf(end));
477  };
478  kw.kal.ajaxCall('kw_ajax_beginn', url, prepareContent, kw.kal.initialLoad);
479});
480/**
481 * end calendar
482 */

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.