1let einzelterminDateFrom = document.getElementById('einzeltermin_date_from'); 2let eventTitel = document.getElementById('event_titel'); 3let eventOrtId = document.getElementById('event_ort_id'); 4let ortBezeichnung = document.getElementById('ort_bezeichnung'); 5let contactName = document.getElementById('contact_name'); 6 7let termIds = document.querySelectorAll('input[name*=\'term_id\']'); 8 9let basisDatenTab = document.getElementById('basisdaten-tab'); 10let termineTab = document.getElementById('termine-tab'); 11let bearbeitenTab = document.getElementById('bearbeiten-tab'); 12 13if(eventTitel) { 14 eventTitel.addEventListener('invalid', (e) => { 15 basisDatenTab.click(); 16 }) 17} 18 19if(eventOrtId) { 20 eventOrtId.addEventListener('invalid', (e) => { 21 basisDatenTab.click(); 22 }) 23} 24 25if(einzelterminDateFrom) { 26 einzelterminDateFrom.addEventListener('invalid', (e) => { 27 termIds = document.querySelectorAll('input[name*=\'term_id\']'); 28 if(termIds.length === 0) { 29 termineTab.click(); 30 } 31 }) 32} 33 34if(ortBezeichnung && eventOrtId) { 35 eventOrtId.addEventListener('change', (e) => { 36 if(eventOrtId.value !== '') { 37 ortBezeichnung.removeAttribute('required'); 38 } else { 39 ortBezeichnung.setAttribute('required', 'required'); 40 } 41 }) 42 43 if(eventTitel.value === '') { 44 ortBezeichnung.addEventListener('invalid', (e) => { 45 checkFormFields(); 46 }) 47 } else { 48 ortBezeichnung.removeAttribute('required'); 49 } 50} 51 52if(contactName) { 53 contactName.addEventListener('invalid', (e) => { 54 bearbeitenTab.click(); 55 }) 56} 57 58function copyToClipboard(href = '') { 59 navigator.clipboard.writeText(window.location.href).then(r => alert('Der Link wurde in die Zwischenablage kopiert.')); 60} 61 62function activateFancybox2() { 63 if(window.jQuery) { 64 jQuery('*[data-fancybox="event-images-gallery"]').fancybox(); 65 } else { 66 console.error("JQuery isn't loaded. Fancybox 2 requires JQuery!") 67 } 68} 69 70function bootstrap3Slider() { 71 if(window.jQuery) { 72 if(jQuery("#citko-event-tinyslider").length) { 73 jQuery("#citko-event-tinyslider").carousel({interval: 5000}); 74 } 75 76 if(jQuery("#citko-event-contentslider").length) { 77 jQuery("#citko-event-contentslider").carousel({interval: 5000}); 78 } 79 } else { 80 console.error("JQuery isn't loaded. Bootstrap 3 requires JQuery!") 81 } 82} 83 84/** 85 * check public add form for valid values 86 */ 87function checkFormFields() { 88 let noEventTitleFoundEls = document.querySelectorAll('.no-event-titel-found') 89 let noEventOrtTitleFoundEls = document.querySelectorAll('.no-event-ort-id-found'); 90 let noTermsFoundEls = document.querySelectorAll('.no-terms-found'); 91 let contactEmail = document.getElementById('contact_email'); 92 93 einzelterminDateFrom.required = false; 94 eventTitel.required = false; 95 eventOrtId.required = false; 96 ortBezeichnung.required = false; 97 contactName.required = false; 98 99 if(eventTitel.value === '') { 100 basisDatenTab.click(); 101 noEventTitleFoundEls.forEach((noEventTitleFoundEl) => { 102 noEventTitleFoundEl.classList.remove('hidden'); 103 }) 104 eventTitel.required = true; 105 return false; 106 } 107 else { 108 noEventTitleFoundEls.forEach((noEventTitleFoundEl) => { 109 noEventTitleFoundEl.classList.add('hidden'); 110 }) 111 eventTitel.required = false; 112 } 113 114 if(eventOrtId.value === '' && (ortBezeichnung ? ortBezeichnung.value : '') === '') { 115 basisDatenTab.click(); 116 noEventOrtTitleFoundEls.forEach((noEventOrtTitleFoundEls) => { 117 noEventOrtTitleFoundEls.classList.remove('hidden'); 118 }) 119 120 eventOrtId.required = true; 121 122 if(ortBezeichnung) { 123 ortBezeichnung.required = true; 124 } 125 return false; 126 } 127 else { 128 eventOrtId.required = false; 129 130 if(ortBezeichnung) { 131 ortBezeichnung.required = false; 132 } 133 noEventOrtTitleFoundEls.forEach((noEventOrtTitleFoundEls) => { 134 noEventOrtTitleFoundEls.classList.add('hidden'); 135 }) 136 } 137 termIds = document.querySelectorAll('input[name*=\'term_id\']'); 138 if(termIds.length === 0) { 139 termineTab.click();
140 noTermsFoundEls.forEach((noTermsFoundEl) => { 141 noTermsFoundEl.classList.remove('hidden'); 142 }); 143 144 einzelterminDateFrom.required = true; 145 einzelterminDateFrom.value = ''; 146 147 return false; 148 } 149 else { 150 noTermsFoundEls.forEach((noTermsFoundEl) => { 151 noTermsFoundEl.classList.add('hidden'); 152 }) 153 einzelterminDateFrom.required = false; 154 } 155 156 if(contactEmail) { 157 if (contactEmail.value !== '' && contactName.value === '') { 158 bearbeitenTab.click(); 159 contactName.required = true; 160 return false; 161 } 162 else { 163 contactName.required = false; 164 } 165 } 166 167 return true; 168} 169 170/** 171 * open next tab 172 */ 173function nextTab(activeTabIndex) { 174 if(tabs[(activeTabIndex + 1)]) { 175 document.getElementById(tabs[(activeTabIndex + 1)]).click(); 176 } 177} 178 179/** 180 * open previous tab 181 */ 182function previousTab(activeTabIndex) { 183 if(tabs[(activeTabIndex - 1)]) { 184 document.getElementById(tabs[(activeTabIndex - 1)]).click(); 185 } 186} 187 188/** 189 * get previous tab button html if exists 190 */ 191function getNextTabButton(activeTabIndex) { 192 if(tabs[(activeTabIndex + 1)]) { 193 let nextTabEl = document.createElement('a'); 194 nextTabEl.classList.add('btn'); 195 nextTabEl.classList.add('btn-default'); 196 nextTabEl.classList.add('btn-secondary'); 197 nextTabEl.addEventListener('click', () => { 198 nextTab(activeTabIndex); 199 }) 200 nextTabEl.innerHTML = "Nächster Tab"; 201 202 return nextTabEl; 203 } 204 else { 205 return false; 206 } 207} 208 209/** 210 * get previous tab button html if exists 211 */ 212function getPreviousTabButton(activeTabIndex) { 213 if(tabs[(activeTabIndex - 1)]) { 214 let previousTabEl = document.createElement('a'); 215 previousTabEl.classList.add('btn'); 216 previousTabEl.classList.add('btn-default'); 217 previousTabEl.classList.add('btn-secondary'); 218 previousTabEl.addEventListener('click', () => { 219 previousTab(activeTabIndex); 220 }) 221 previousTabEl.innerHTML = "Vorheriger Tab"; 222 return previousTabEl; 223 } 224 else { 225 return false; 226 } 227} 228 229function fadeTo(element, toValue = 0, duration = 200) { 230 const fromValue = parseInt(element.style.opacity) || 1; 231 const startTime = Date.now(); 232 const framerate = 1000 / 60; 233 234 let interval = setInterval(() => { 235 const currentTime = Date.now(); 236 const timeDiff = (currentTime - startTime) / duration; 237 const value = fromValue - (fromValue - toValue) * timeDiff; 238 239 if (timeDiff >= 1) { 240 clearInterval(interval); 241 interval = 0; 242 } 243 244 element.style.opacity = value.toString(); 245 246 }, framerate) 247} 248 249function hideRechtliches(rechtliches) { 250 if(rechtliches.style.opacity < 0) { 251 rechtliches.classList.add('events3-hidden'); 252 } else { 253 setTimeout(hideRechtliches, 40, rechtliches); 254 } 255} 256 257function showRechtlichesOk(rechtliches, rechtlichesOk) { 258 if(rechtliches.classList.contains('events3-hidden')) { 259 rechtlichesOk.classList.remove('events3-hidden') 260 } else { 261 setTimeout(showRechtlichesOk, 40, rechtliches, rechtlichesOk) 262 } 263} 264 265function checkRechtliches(einwilligung1, einwilligung2) { 266 if(einwilligung1.checked && einwilligung2.checked) { 267 let rechtliches = document.getElementById('rechtliches'); 268 let rechtlichesOk = document.getElementById('rechtliches-ok'); 269 fadeTo(rechtliches, 0, 500) 270 hideRechtliches(rechtliches); 271 showRechtlichesOk(rechtliches, rechtlichesOk); 272 } 273} 274 275/** 276 * update room select 277 * needs a global array "rooms" with rooms 278 * @param ort_id 279 */ 280function updateRooms(ort_id, roomSelectId) { 281 let roomSelect = document.getElementById(roomSelectId); 282 283 if(roomSelect.options.length > 0) { 284 for(let i = roomSelect.options.length; i >= 0; i--) { 285 roomSelect.remove(i); 286 } 287 } 288 289 let defaultOption = document.createElement('option'); 290 defaultOption.value = ''; 291 defaultOption.innerHTML = 'Bitte auswählen'; 292 293 roomSelect.appendChild(defaultOption) 294
295 rooms.forEach((room, index) => { 296 if(room.raum_id == ort_id) { 297 let roomOption = document.createElement('option'); 298 roomOption.value = room.raum_id 299 roomOption.innerHTML = room.raum_bezeichnung; 300 301 roomSelect.appendChild(roomOption) 302 roomSelect.value = room.raum_id; 303 } 304 }) 305} 306 307function grepData(data) { 308 dataArr = data.match(/<!--content_start-->(.*|[\s\S]*)<!--content_end-->/); 309 if(dataArr != null) { 310 dataStr = dataArr[1].trim(); 311 return dataStr; 312 } 313 else { 314 return ''; 315 } 316} 317 318async function getTermsSingle(pageUrl, einzeltermin_date_from, einzeltermin_date_to, einzeltermin_time_from, einzeltermin_time_to, event_id, targetid) { 319 let completeUrl = 320 checkUrlForRequestParameters(pageUrl) + 321 'type=100001' + 322 '&tx_citkoevents3_publicadd%5Baction%5D=terms' + 323 '&tx_citkoevents3_publicadd%5Bcontroller%5D=Async' + 324 '&tx_citkoevents3_publicadd%5Btyp%5D=single' + 325 '&tx_citkoevents3_publicadd%5Beinzeltermin_date_from%5D=' + einzeltermin_date_from + 326 '&tx_citkoevents3_publicadd%5Beinzeltermin_date_to%5D=' + einzeltermin_date_to + 327 '&tx_citkoevents3_publicadd%5Beinzeltermin_time_from%5D=' + einzeltermin_time_from + 328 '&tx_citkoevents3_publicadd%5Beinzeltermin_time_to%5D=' + einzeltermin_time_to + 329 '&tx_citkoevents3_publicadd%5Bevent_id%5D=' + event_id 330 331 332 await fetchHtmlAndAddToElement(completeUrl, targetid); 333} 334 335async function getTermsSingleEdit(pageUrl, einzeltermin_date_from, einzeltermin_date_to, einzeltermin_time_from, einzeltermin_time_to, event_id, targetid) {
336 let completeUrl = 337 checkUrlForRequestParameters(pageUrl) + 338 'type=100002' + 339 '&tx_citkoevents3_publicedit%5Baction%5D=terms' + 340 '&tx_citkoevents3_publicedit%5Bcontroller%5D=Async' + 341 '&tx_citkoevents3_publicedit%5Btyp%5D=single' + 342 '&tx_citkoevents3_publicedit%5Beinzeltermin_date_from%5D=' + einzeltermin_date_from + 343 '&tx_citkoevents3_publicedit%5Beinzeltermin_date_to%5D=' + einzeltermin_date_to + 344 '&tx_citkoevents3_publicedit%5Beinzeltermin_time_from%5D=' + einzeltermin_time_from + 345 '&tx_citkoevents3_publicedit%5Beinzeltermin_time_to%5D=' + einzeltermin_time_to + 346 '&tx_citkoevents3_publicedit%5Bevent_id%5D=' + event_id + 347 '&tx_citkoevents3_publicedit%5Bplugin%5D=publicedit'; 348 349 await fetchHtmlAndAddToElement(completeUrl, targetid); 350} 351 352 353async function getTermsRepeat(pageUrl, serientermin_repeat_type, serientermin_weekdays, serientermin_daymonthly_no, serientermin_daymonthly_weekday, serientermin_date_from, serientermin_date_to, serientermin_time_from, serientermin_time_to, targetid) {
354 let completeUrl = 355 checkUrlForRequestParameters(pageUrl) + 356 'type=100001' + 357 '&tx_citkoevents3_publicadd%5Baction%5D=terms' + 358 '&tx_citkoevents3_publicadd%5Bcontroller%5D=Async' + 359 '&tx_citkoevents3_publicadd%5Btyp%5D=repeat' + 360 '&tx_citkoevents3_publicadd%5Bserientermin_repeat_type%5D=' + serientermin_repeat_type + 361 '&tx_citkoevents3_publicadd%5Bserientermin_weekdays%5D=' + serientermin_weekdays + 362 '&tx_citkoevents3_publicadd%5Bserientermin_daymonthly_no%5D=' + serientermin_daymonthly_no + 363 '&tx_citkoevents3_publicadd%5Bserientermin_daymonthly_weekday%5D=' + serientermin_daymonthly_weekday + 364 '&tx_citkoevents3_publicadd%5Bserientermin_date_from%5D=' + serientermin_date_from + 365 '&tx_citkoevents3_publicadd%5Bserientermin_date_to%5D=' + serientermin_date_to + 366 '&tx_citkoevents3_publicadd%5Bserientermin_time_from%5D=' + serientermin_time_from + 367 '&tx_citkoevents3_publicadd%5Bserientermin_time_to%5D=' + serientermin_time_to + 368 '&tx_citkoevents3_publicadd%5Bevent_id%5D=' + '0' 369 370 await fetchHtmlAndAddToElement(completeUrl, targetid) 371} 372 373async function getTermsRepeatEdit(pageUrl, serientermin_repeat_type, serientermin_weekdays, serientermin_daymonthly_no, serientermin_daymonthly_weekday, serientermin_date_from, serientermin_date_to, serientermin_time_from, serientermin_time_to, targetid) {
374 let completeUrl = 375 checkUrlForRequestParameters(pageUrl) + 376 'type=100002' + 377 '&tx_citkoevents3_publicedit%5Baction%5D=terms' + 378 '&tx_citkoevents3_publicedit%5Bcontroller%5D=Async' + 379 '&tx_citkoevents3_publicedit%5Btyp%5D=repeat' + 380 '&tx_citkoevents3_publicedit%5Bserientermin_repeat_type%5D=' + serientermin_repeat_type + 381 '&tx_citkoevents3_publicedit%5Bserientermin_weekdays%5D=' + serientermin_weekdays + 382 '&tx_citkoevents3_publicedit%5Bserientermin_daymonthly_no%5D=' + serientermin_daymonthly_no + 383 '&tx_citkoevents3_publicedit%5Bserientermin_daymonthly_weekday%5D=' + serientermin_daymonthly_weekday + 384 '&tx_citkoevents3_publicedit%5Bserientermin_date_from%5D=' + serientermin_date_from + 385 '&tx_citkoevents3_publicedit%5Bserientermin_date_to%5D=' + serientermin_date_to + 386 '&tx_citkoevents3_publicedit%5Bserientermin_time_from%5D=' + serientermin_time_from + 387 '&tx_citkoevents3_publicedit%5Bserientermin_time_to%5D=' + serientermin_time_to + 388 '&tx_citkoevents3_publicedit%5Bevent_id%5D=' + '0' + 389 '&tx_citkoevents3_publicedit%5Bplugin%5D=publicedit'; 390 391 await fetchHtmlAndAddToElement(completeUrl, targetid) 392} 393 394 395async function addNewMedia(targetUrl, progressId, targetId, fileId, titleId, licenseId, alternativeText) { 396 let formData = new FormData(); 397 398 let fileData = document.getElementById(fileId).files[0]; 399 formData.append(fileId, fileData); 400 401 let titleData = document.getElementById(titleId).value; 402 formData.append('tx_citkoevents3_publicadd[' + titleId + ']', titleData); 403 404 let licenseData = document.getElementById(licenseId).value; 405 formData.append('tx_citkoevents3_publicadd[' + licenseId + ']', licenseData); 406 407 let alternativeData = document.getElementById(alternativeText).value; 408 formData.append('tx_citkoevents3_publicadd[' + alternativeText + ']', alternativeData); 409 410 let completeUrl = checkUrlForRequestParameters(targetUrl) + 411 'type=100001' + 412 '&tx_citkoevents3_publicadd%5Baction%5D=newmedia' + 413 '&tx_citkoevents3_publicadd%5Bcontroller%5D=Async'; 414 415 const response = await fetch(completeUrl, { 416 method: 'POST', 417 body: formData 418 }); 419 420 if(!response.ok) { 421 throw new Error(`Response status: ${response.status}`) 422 } 423 424 const data = grepData(await response.text()); 425 426 if(!isNaN(parseFloat(data)) && isFinite(data)) { 427 addMediaSelectionTolayer(targetUrl, data, targetId); 428 } else { 429 throw new Error('Fehler: ' + data); 430 } 431} 432 433async function addNewMediaEdit(targetUrl, progressId, targetId, fileId, titleId, licenseId) { 434 var formData = new FormData(); 435 436 let fileData = document.getElementById(fileId).files[0]; 437 formData.append(fileId, fileData); 438 439 let titleData = document.getElementById(titleId).value; 440 formData.append('tx_citkoevents3_publicedit['+ titleId + ']', titleData); 441 442 let licenseData = document.getElementById(licenseId).value; 443 formData.append('tx_citkoevents3_publicedit[' + licenseId + ']', licenseData) 444 445 let completeUrl = checkUrlForRequestParameters(targetUrl) + 446 'type=100002' + 447 '&tx_citkoevents3_publicedit%5Baction%5D=newmedia' + 448 '&tx_citkoevents3_publicedit%5Bcontroller%5D=Async' + 449 '&tx_citkoevents3_publicedit%5B' + titleId + '%5D=' + titleData + 450 '&tx_citkoevents3_publicedit%5B' + licenseId + '%5D=' + licenseData 451 452 453 const response = await fetch(completeUrl, { 454 method: 'POST', 455 body: formData 456 }); 457 458 if(!response.ok) { 459 throw new Error(`Response status: ${response.status}`) 460 } 461 462 const data = grepData(await response.text()); 463 464 if(!isNaN(parseFloat(data)) && isFinite(data)) { 465 addMediaSelectionTolayerEdit(targetUrl, data, targetId); 466 } else { 467 throw new Error('Fehler: ' + data); 468 } 469} 470 471function getMediaListBySearch(pageUrl, searchstring, targetid) {
472 let completeUrl = 473 checkUrlForRequestParameters(pageUrl) + 474 'type=100001' + 475 '&tx_citkoevents3_publicadd%5Baction%5D=searchmedia' + 476 '&tx_citkoevents3_publicadd%5Bcontroller%5D=Async' + 477 '&tx_citkoevents3_publicadd%5Bmedium_titel%5D=%25' + searchstring + '%25' + 478 '&tx_citkoevents3_publicadd%5Btargetid%5D=selectedmedia' + 479 '&tx_citkoevents3_publicadd%5Bplugin%5D=publicadd' 480 481 fetchHtmlAndAddToElement(completeUrl, targetid); 482} 483 484function getMediaListBySearchEdit(pageUrl, searchstring, targetid) { 485 let completeUrl = 486 checkUrlForRequestParameters(pageUrl) + 487 'type=100002' + 488 '&tx_citkoevents3_publicedit%5Baction%5D=searchmedia' + 489 '&tx_citkoevents3_publicedit%5Bcontroller%5D=Async' + 490 '&tx_citkoevents3_publicedit%5Bmedium_titel%5D=%25' + searchstring + '%25' + 491 '&tx_citkoevents3_publicedit%5Btargetid%5D=selectedmedia' + 492 '&tx_citkoevents3_publicedit%5Bplugin%5D=publicedit' 493 494 fetchHtmlAndAddToElement(completeUrl, targetid); 495} 496 497function addMediaSelectionTolayer(pageUrl, medium_id, targetid) {
498 let completeUrl = 499 checkUrlForRequestParameters(pageUrl) + 500 'type=100001' + 501 '&tx_citkoevents3_publicadd%5Baction%5D=addmedia' + 502 '&tx_citkoevents3_publicadd%5Bcontroller%5D=Async' + 503 '&tx_citkoevents3_publicadd%5Bmedium_id%5D=' + medium_id + 504 '&tx_citkoevents3_publicadd%5Bplugin%5D=publicadd' 505 506 fetchHtmlAndAddToElement(completeUrl, targetid); 507} 508 509function addMediaSelectionTolayerEdit(pageUrl, medium_id, targetid) { 510 let completeUrl = 511 checkUrlForRequestParameters(pageUrl) + 512 'type=100002' + 513 '&tx_citkoevents3_publicedit%5Baction%5D=addmedia' + 514 '&tx_citkoevents3_publicedit%5Bcontroller%5D=Async' + 515 '&tx_citkoevents3_publicedit%5Bmedium_id%5D=' + medium_id + 516 '&tx_citkoevents3_publicedit%5Bplugin%5D=publicedit'; 517 518 fetchHtmlAndAddToElement(completeUrl, targetid); 519} 520function checkUrlForRequestParameters(urlString) { 521 if(urlString.indexOf('?') !== -1) { 522 urlString = urlString + '&'; 523 } 524 else { 525 urlString = urlString + '?'; 526 } 527 return urlString; 528} 529 530async function fetchHtmlAndAddToElement(completeUrl, htmlElementId) { 531 try { 532 const response = await fetch(completeUrl); 533 534 if(!response.ok) { 535 throw new Error(`Response status: ${response.status}`) 536 } 537 538 const parser = new DOMParser(); 539 const htmlData = parser.parseFromString(grepData(await response.text()), 'text/html'); 540 document.getElementById(htmlElementId).insertAdjacentHTML('beforeend', htmlData.querySelector('body').innerHTML); 541 } catch (error) { 542 console.error(error.message); 543 } 544} 545 546document.addEventListener('DOMContentLoaded', () => { 547 let permalinkBtn = document.getElementById('events3permaLink'); 548 let moreTermsBtns = document.querySelectorAll('.events3showMoreTerms') 549 let einwilligung1 = document.getElementById('events3einwilligung1'); 550 let einwilligung2 = document.getElementById('events3einwilligung2'); 551 let addLocation = document.getElementById('events3addLocation'); 552 let newLocation = document.getElementById('events3newLocation'); 553 let addOrganiser = document.getElementById('events3addOrganiser'); 554 let newOrganiser = document.getElementById('neworganiser'); 555 let ortSelection = document.getElementById('event_ort_id'); 556 let submitBtn = document.getElementById('events3addSubmitBtn'); 557 let einzelTerminTab = document.getElementById('einzeltermin-tab'); 558 let serienTerminTab = document.getElementById('serientermin-tab') 559 let einzelTerminEl = document.getElementById('einzeltermin'); 560 let serienTerminEl = document.getElementById('serientermin'); 561 let serienterminRepeatTypeEl = document.getElementById('serientermin_repeat_type'); 562 let removeAllTermsBtn = document.getElementById('removeAllTerms'); 563 564 if(typeof fancyboxversion != 'undefined' && fancyboxversion === '2') { 565 activateFancybox2(); 566 } 567 568 if(permalinkBtn) { 569 permalinkBtn.addEventListener('click', function () { 570 copyToClipboard(); 571 return false; 572 }); 573 } 574 575 if(moreTermsBtns) { 576 moreTermsBtns.forEach((moreTermsBtn) => { 577 moreTermsBtn.addEventListener('click', function () { 578 let moreTermsUls = document.querySelectorAll('.more-terms' + moreTermsBtn.dataset.eventId) 579 moreTermsUls.forEach((moreTermsUl) => { 580 if(moreTermsUl.classList.contains('events3-hidden')) { 581 moreTermsUl.classList.remove('events3-hidden'); 582 } else { 583 moreTermsUl.classList.add('events3-hidden'); 584 } 585 }) 586 }); 587 }) 588 } 589 590 if(einwilligung1 && einwilligung2) { 591 einwilligung1.addEventListener('click', () => { 592 checkRechtliches(einwilligung1, einwilligung2) 593 }); 594 595 einwilligung2.addEventListener('click', () => { 596 checkRechtliches(einwilligung1, einwilligung2); 597 }) 598 } 599 600 if(addLocation) { 601 addLocation.addEventListener('click', () => { 602 if(newLocation.classList.contains('events3-hidden')) { 603 newLocation.classList.remove('events3-hidden'); 604 } else { 605 newLocation.classList.add('events3-hidden'); 606 } 607 }) 608 } 609 610 if(addOrganiser) { 611 addOrganiser.addEventListener('click', () => { 612 if(newOrganiser.classList.contains('events3-hidden')) { 613 newOrganiser.classList.remove('events3-hidden'); 614 } else { 615 newOrganiser.classList.add('events3-hidden'); 616 } 617 }) 618 } 619 620 if(ortSelection) { 621 ortSelection.addEventListener('change', () => { 622 updateRooms(ortSelection.value, 'event_raum_id') 623 }) 624 } 625 626 if(submitBtn) { 627 let eventsForm = document.querySelector('.citko-event-addform form'); 628 eventsForm.addEventListener('submit', (e) => { 629 if(!checkFormFields()) { 630 e.preventDefault(); 631 } 632 }) 633 submitBtn.addEventListener('click', () => { 634 checkFormFields(); 635 }) 636 } 637 638 if(einzelTerminTab) { 639 einzelTerminTab.addEventListener('click', () => { 640 serienTerminEl.classList.remove('active'); 641 einzelTerminEl.classList.add('active'); 642 }); 643 } 644 645 if(serienTerminTab) { 646 serienTerminTab.addEventListener('click', () => { 647 serienTerminEl.classList.add('active'); 648 einzelTerminEl.classList.remove('active'); 649 }) 650 } 651 652 if(serienterminRepeatTypeEl) { 653 serienterminRepeatTypeEl.addEventListener('change', () => { 654 let serienterminRepeatType = serienterminRepeatTypeEl.value; 655 let weeklyEl = document.getElementById('weekly') 656 let daymonthlyEl = document.getElementById('daymonthly') 657 658 if(weeklyEl && daymonthlyEl) { 659 if(serienterminRepeatType === 'weekly' || serienterminRepeatType === '2weekly') { 660 weeklyEl.classList.remove('events3-hidden'); 661 daymonthlyEl.classList.add('events3-hidden'); 662 } else if(serienterminRepeatType === 'daymonthly') { 663 weeklyEl.classList.add('events3-hidden'); 664 daymonthlyEl.classList.remove('events3-hidden'); 665 } else { 666 weeklyEl.classList.add('events3-hidden'); 667 daymonthlyEl.classList.add('events3-hidden'); 668 } 669 } 670 }) 671 } 672 673 if(typeof tabs != 'undefined') { 674 if(tabs.length >= 1) {
675 tabs.forEach((element, iterator) => { 676 let prevNavButton = getPreviousTabButton(iterator); 677 let nextNavButton = getNextTabButton(iterator); 678 679 if(prevNavButton) { 680 document.querySelector('[aria-labelledby="' + element + '"] .quicktabnav-buttons').append(prevNavButton); 681 } 682 if(nextNavButton) { 683 document.querySelector('[aria-labelledby="' + element + '"] .quicktabnav-buttons').append(nextNavButton) 684 } 685 }) 686 } 687 } 688 689 if(removeAllTermsBtn) { 690 removeAllTermsBtn.addEventListener('click', () => { 691 let selectedTerms = document.getElementById('selectedterms'); 692 693 if(selectedTerms) { 694 selectedTerms.innerHTML = ''; 695 } 696 }) 697 } 698 699 if(typeof EditFormSetRoomId !== 'undefined') { 700 updateRooms(EditFormSetRoomId,'event_raum_id'); 701 } 702}); 703
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.