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.