1 2/* ----------------------------------------------- 3PRELOADER 4----------------------------------------------- */ 5 6jQuery(window).on('beforeunload', function(){ 7 jQuery(".loader").fadeIn("slow"); 8 jQuery("#overlayer").fadeIn("slow"); 9}); 10jQuery(window).on("load", function() { 11 jQuery(".loader").fadeOut("slow"); 12 jQuery("#overlayer").fadeOut("slow"); 13 localStorage.removeItem('name'); 14 localStorage.removeItem('surname'); 15 localStorage.removeItem('telephone'); 16 localStorage.removeItem('quote'); 17 localStorage.removeItem('email'); 18 localStorage.removeItem('dateSelected'); 19 localStorage.removeItem('timeSelected'); 20 localStorage.removeItem('numberActivities'); 21 localStorage.removeItem('firstSelecction'); 22 localStorage.removeItem('firstTry'); 23 localStorage.removeItem('firstBookNumber'); 24}); 25/* ----------------------------------------------------------------------------- 26APPOINTMENTS 27----------------------------------------------------------------------------- */ 28 29domain =window.location.hostname; 30 31//Activities zum Action senden 32jQuery('.progression .prog').click(function() { 33 if(jQuery(this).hasClass('active')) { 34 jQuery('.progression .prog').removeClass('current'); 35 jQuery(this).addClass('current'); 36 if (jQuery(this).data('step')===1) { 37 jQuery('.progression').addClass('prog1').removeClass('prog2 prog3 prog4'); 38 jQuery('.modal.appointment .modal-views').addClass('step1'); 39 jQuery('.modal.appointment .modal-views').removeClass('step2'); 40 jQuery('.modal.appointment .modal-views').removeClass('step3'); 41 jQuery('.modal.appointment .modal-views').removeClass('step4'); 42 } else if (jQuery(this).data('step')===2) { 43 jQuery('.progression').addClass('prog2').removeClass('prog1 prog3 prog4'); 44 jQuery('.modal.appointment .modal-views').addClass('step2'); 45 jQuery('.modal.appointment .modal-views').removeClass('step1'); 46 jQuery('.modal.appointment .modal-views').removeClass('step3'); 47 jQuery('.modal.appointment .modal-views').removeClass('step4'); 48 } else if (jQuery(this).data('step')===3) { 49 jQuery('.progression').addClass('prog3').removeClass('prog1 prog2 prog4'); 50 jQuery('.modal.appointment .modal-views').addClass('step3'); 51 jQuery('.modal.appointment .modal-views').removeClass('step1'); 52 jQuery('.modal.appointment .modal-views').removeClass('step2'); 53 jQuery('.modal.appointment .modal-views').removeClass('step4'); 54 } else if (jQuery(this).data('step')===4) { 55 jQuery('.progression').addClass('prog4').removeClass('prog1 prog2 prog3'); 56 jQuery('.modal.appointment .modal-views').addClass('step4'); 57 jQuery('.modal.appointment .modal-views').removeClass('step1'); 58 jQuery('.modal.appointment .modal-views').removeClass('step2'); 59 jQuery('.modal.appointment .modal-views').removeClass('step3'); 60 } 61 } 62}); 63 64 65jQuery(document).ready(function() { 66 footerHeight = jQuery('.modal.appointment .view-content.info .modal-footer').outerHeight(); 67 68 jQuery('.view-content.info').css({ 69 "padding-top": "0", 70 "padding-right": "0", 71 "padding-bottom": footerHeight, 72 "padding-left": "0" 73 }); 74}); 75 76jQuery("#start-appointments").click(function() { 77 jQuery('.progression').addClass('prog2').removeClass('prog1 prog3 prog4'); 78 jQuery('.progression .prog[data-step="2"]').addClass('active').removeClass('inactive'); 79 jQuery('.progression .prog').removeClass('current'); 80 jQuery('.progression .prog[data-step="2"]').addClass('current'); 81 jQuery('.modal.appointment .modal-views').addClass('step2'); 82 jQuery('.modal.appointment .modal-views').removeClass('step1'); 83 jQuery('.modal.appointment .modal-views').removeClass('step3'); 84 jQuery('.modal.appointment .modal-views').removeClass('step4'); 85 footerHeight = jQuery('.modal.appointment .view-content.activities .modal-footer').outerHeight(); 86 jQuery('.view-content.activities').css({ 87 "padding-top": "0", 88 "padding-right": "0", 89 "padding-bottom": footerHeight, 90 "padding-left": "0" 91 }); 92}); 93 94jQuery(".view-content.activities .btn-back").click(function() { 95 jQuery('.progression').addClass('prog1').removeClass('prog2 prog3 prog4'); 96 jQuery('.progression .prog[data-step="1"]').addClass('active').removeClass('inactive'); 97 jQuery('.progression .prog').removeClass('current'); 98 jQuery('.progression .prog[data-step="1"]').addClass('current');
99 jQuery('.modal.appointment .modal-views').addClass('step1'); 100 jQuery('.modal.appointment .modal-views').removeClass('step2'); 101 jQuery('.modal.appointment .modal-views').removeClass('step3'); 102 jQuery('.modal.appointment .modal-views').removeClass('step4'); 103 footerHeight = jQuery('.modal.appointment .view-content.activities .modal-footer').outerHeight(); 104 jQuery('.view-content.activities').css({ 105 "padding-top": "0", 106 "padding-right": "0", 107 "padding-bottom": footerHeight, 108 "padding-left": "0" 109 }); 110}); 111 112 113jQuery(".appointments").change(function() { 114 if (jQuery("#appForm input:checkbox:checked").length > 0) { 115 //any one is checked 116 jQuery("#datenButton").prop('disabled',false); 117 }else{ 118 // none is checked 119 jQuery("#datenButton").prop('disabled',true); 120 } 121}); 122 123 124jQuery(".times").click(function(){ 125 jQuery("#reviewButton").prop('disabled',false); 126}); 127jQuery('.view-content.times label.times').click(function() { 128 jQuery(this).addClass("radio-selected"); 129 if(jQuery('.view-content.times label input[type="radio"]').is(':checked')) { alert("it's checked"); } 130}); 131 132/*Sebastian, ich hab diese function nur vorübergehend nochmal erstellt */ 133jQuery(".appointments").click(function(){ 134 jQuery(".times").html(""); 135}); 136 137jQuery(document).ready(function() { 138 if(getUrlParameter('appactsuccess') || getUrlParameter('appacterror') || getUrlParameter('appsendsuccess') || getUrlParameter('appMitsendsuccess') || getUrlParameter('appMitsenderror') || getUrlParameter('appsenderror') || getUrlParameter('deletesuccess') || getUrlParameter('deleteerror') || getUrlParameter('changesuccess') || getUrlParameter('changeerror')) { 139 jQuery("body").addClass("modal-open"); 140 jQuery(".modal.appointment").show(); 141 var modalHeadHeight = jQuery('.modal.appointment .modal-head').outerHeight(); 142 jQuery('.modal-views').css('height', 'calc(100% - ' + modalHeadHeight + 'px)'); 143 jQuery(".modal.appointment .modal-views .view-content.info > div:first-of-type").addClass('message'); 144 if(getUrlParameter('appactsuccess')) { 145 jQuery(".modal.appointment .modal-views .view-content.info > div:first-of-type").html("<h5 style='margin-top:1rem;'>Ihr Termin wurde erfolgreich bestätigt.</h5><p>Sie können das Fenster nun schlieÃen</p>"); 146 } 147 if(getUrlParameter('appacterror')) { 148 jQuery(".modal.appointment .modal-views .view-content.info > div:first-of-type").html("<h5 style='margin-top:1rem;'>Da ist etwas schiefgelaufen.</h5><p>Wir konnten Ihren Termin nicht bestätigen. Bitte versuchen Sie es noch einmal. Sollte es widererwarten nicht funktionieren, vereinbaren Sie bitte einen neuen Termin.</p>"); 149 } 150 if(getUrlParameter('appsendsuccess')) { 151 jQuery(".modal.appointment .modal-views .view-content.info > div:first-of-type").html("<h5 style='margin:1rem 0;'>Ihre Terminvereinbarung wurde abgesendet.<br><span style='font-weight:normal;'>Wir haben Ihnen eine E-Mail mit Ihrem vereinbarten Termin zugesendet.</span></h5><p><svg><use xlink:href='#fas-fa-info-circle'></use></svg><strong style='color:#34a665;'>Bitte bestätigen Sie Ihren Termin mit dem Link in der E-Mail.<br>Erst dann ist dieser final vereinbart.</strong><br><br><strong>Bitte prüfen Sie auch Ihren SPAM-Ordner, falls Sie in den nächsten Minuten keine Bestätigung erhalten</strong><br><br>Vielen Dank und herzliche GrüÃe.<p>"); 152 } 153 if(getUrlParameter('appMitsendsuccess')) { 154 jQuery(".modal.appointment .modal-views .view-content.info > div:first-of-type").html("<h5 style='margin-top:1rem;'>Termin erfolgreich gebucht</h5><p>Sie finden den Termin in der Terminverwaltung.</p>"); 155 } 156 if(getUrlParameter('appMitsenderror')) { 157 jQuery(".modal.appointment .modal-views .view-content.info > div:first-of-type").html("<h5 style='margin-top:1rem;'>Da ist etwas schiefgelaufen.</h5><p>Bitte buchen Sie einen neuen Termin.</p>"); 158 } 159 if(getUrlParameter('appsenderror')) { 160 jQuery(".modal.appointment .modal-views .view-content.info > div:first-of-type").html("<h5 style='margin-top:1rem;'>Da ist etwas schiefgelaufen.</h5><p>Wir konnten Ihren Termin nicht absenden. Bitte vereinbaren Sie einen neuen Termin. Sollte es widererwarten nicht funktionieren, melden Sie sich bitte telefonisch oder per E-Mail.</p>"); 161 } 162 if(getUrlParameter('deletesuccess')){
163 jQuery(".modal.appointment .modal-views .view-content.info > div:first-of-type").html("<h5 style='margin-top:1rem;'>Ihr Termin wurde erfolgreich storniert.</h5><p>Sie können jetzt oder später gerne einen neuen Termin vereinbaren.</p>"); 164 } 165 if(getUrlParameter('deleteerror')){ 166 jQuery(".modal.appointment .modal-views .view-content.info > div:first-of-type").html("<h5 style='margin-top:1rem;'>Da ist etwas schiefgelaufen.</h5><p>Wir konnten Ihren Termin nicht stornieren. Bitte versuchen Sie es noch einmal. Sollte es widererwarten nicht funktionieren, melden Sie sich bitte telefonisch oder per E-Mail."); 167 } 168 if(getUrlParameter('changesuccess')){ 169 jQuery(".modal.appointment .modal-views .view-content.info > div:first-of-type").html("<h5 style='margin-top:1rem;'>Termin erfolgreich verschoben</h5>"); 170 } 171 if(getUrlParameter('changeerror')){ 172 jQuery(".modal.appointment .modal-views .view-content.info > div:first-of-type").html("<h5 style='margin-top:1rem;'>Ups, etwas ist schief gelaufen, wir können Ihren Termin nicht ändern</h5>"); 173 } 174 175 jQuery(".modal.appointment .modal-views .view-content.info .modal-footer").html("<button type='submit' id='start-appointments'>Neuer Termin</button>"); 176 177 jQuery("#start-appointments").click(function() { 178 jQuery('.progression').addClass('prog2').removeClass('prog1 prog3 prog4'); 179 jQuery('.progression .prog[data-step="2"]').addClass('active').removeClass('inactive'); 180 jQuery('.progression .prog').removeClass('current'); 181 jQuery('.progression .prog[data-step="2"]').addClass('current'); 182 jQuery('.modal.appointment .modal-views').addClass('step2'); 183 jQuery('.modal.appointment .modal-views').removeClass('step1'); 184 jQuery('.modal.appointment .modal-views').removeClass('step3'); 185 jQuery('.modal.appointment .modal-views').removeClass('step4'); 186 footerHeight = jQuery('.modal.appointment .view-content.activities .modal-footer').outerHeight(); 187 jQuery('.view-content.activities').css({ 188 "padding-top": "0", 189 "padding-right": "0", 190 "padding-bottom": footerHeight, 191 "padding-left": "0" 192 }); 193 }); 194 jQuery('.cancel').click(function() { 195 jQuery(this).closest('.modal').hide(); 196 jQuery('body').removeClass('modal-open'); 197 }); 198 } 199}); 200 201 202jQuery(document).ready(function() { 203 if(getUrlParameter('terminvereinbarung')) { 204 jQuery(".modal.appointment").show(); 205 } 206}); 207 208jQuery(document).ready(function() { 209 if(getUrlParameter('wahleinweisung')) { 210 jQuery('.view-content.activities .activity').hide(); 211 jQuery('.view-content.activities .activity.id6062').show(); 212 jQuery('.view-content.activities .div-suche select[name="resources"]').prop("disabled", true); 213 jQuery('.view-content.activities .div-suche #word-filter').prop("disabled", true); 214 jQuery(".modal.appointment").show(0, function() { 215 var modalHeadHeight = jQuery('.modal.appointment .modal-head').outerHeight(); 216 jQuery('.modal-views').css('height', 'calc(100% - ' + modalHeadHeight + 'px)'); 217 jQuery(this).addClass("wahlhelfer"); 218 jQuery('.progression').addClass('prog2').removeClass('prog1 prog3 prog4'); 219 jQuery('.progression .prog[data-step="2"]').addClass('active').removeClass('inactive'); 220 jQuery('.progression .prog').removeClass('current'); 221 jQuery('.progression .prog[data-step="2"]').addClass('current'); 222 jQuery('.modal.appointment .modal-views').addClass('step2'); 223 jQuery('.modal.appointment .modal-views').removeClass('step1'); 224 jQuery('.modal.appointment .modal-views').removeClass('step3'); 225 jQuery('.modal.appointment .modal-views').removeClass('step4'); 226 }); 227 } 228}); 229 230jQuery(document).ready(function() { 231 jQuery('.view-content.activities .activity').click(function() { 232 if(jQuery(this).find('input[name="activityID[]"]').prop("checked")) { 233 jQuery(this).find('input[name="resourceID"]').prop('checked', true); 234 jQuery(this).find('input[name="maxBookableNumber[]"]').prop("disabled",false); 235 jQuery(this).find('input[name="requirementUrl[]"]').prop("disabled",fal
235se); 236 jQuery(this).addClass('activity-selected'); 237 } else { 238 jQuery(this).find('input[name="resourceID"]').prop('checked', false); 239 jQuery(this).find('input[name="maxBookableNumber[]"]').prop("disabled",true); 240 jQuery(this).find('input[name="requirementUrl[]"]').prop("disabled",true); 241 jQuery(this).removeClass('activity-selected'); 242 } 243 }); 244}); 245 246var showTimes; 247var myNum = ""; 248var mySize = ""; 249var myBookinNumber = 1; 250var submitCounter = null; 251var firstSelecction = ""; 252var firstBookableSize = ""; 253var bookableArray = Array(); 254var activityArray = Array(); 255 256jQuery(".modal-scroll .activity").change(function(){ 257 bookableArray.push(1); 258 myNum = jQuery("#appForm input:checkbox:checked").length; 259 firstSelecction = myNum; 260 261 jQuery('.progression .prog[data-step="3"]').removeClass('active'); 262 jQuery('.progression .prog[data-step="3"]').addClass('inactive'); 263 jQuery('.progression .prog[data-step="4"]').removeClass('active'); 264 jQuery('.progression .prog[data-step="4"]').addClass('inactive'); 265}); 266 267jQuery(".activity-maxbookable").change(function(){ 268 myBookinNumber = jQuery(".activity-maxbookable .maxBookable").val(); 269 bookableArray.push(myBookinNumber); 270 mySize = bookableArray.length; 271 firstBookableSize = mySize; 272 273 jQuery('.progression .prog[data-step="3"]').removeClass('active'); 274 jQuery('.progression .prog[data-step="3"]').addClass('inactive'); 275 jQuery('.progression .prog[data-step="4"]').removeClass('active'); 276 jQuery('.progression .prog[data-step="4"]').addClass('inactive'); 277}); 278 279 280 281jQuery("#appForm").submit(function(e) { 282 jQuery('.modal-box').prepend('<div class="app-loading"><span class="loader"><span class="loader-inner"></span></span></div>'); 283 submitCounter+=1; 284 285 if(submitCounter < 2){ 286 localStorage.setItem('firstSelecction',firstSelecction); 287 localStorage.setItem('firstBookNumber',firstBookableSize); 288 } 289 290 if(submitCounter >= 1 && localStorage.getItem('firstSelecction') == myNum && localStorage.getItem('firstBookNumber') == mySize){ 291 showTimes = true;//nichts geändert in GetActivities 292 } 293 if(submitCounter >= 1 && localStorage.getItem('firstSelecction') != myNum || localStorage.getItem('firstBookNumber') != mySize){ 294 /*hier habe ich die info von LocalStorage erneuert*/ 295 localStorage.setItem('firstSelecction',firstSelecction); 296 localStorage.setItem('firstBookNumber',firstBookableSize); 297 showTimes = false;//entweder activities oder maxbookable nummer geändert 298 localStorage.removeItem('dateSelected'); 299 } 300 301 e.preventDefault(); 302 var dates=[]; 303 checkbox_val = jQuery('#appForm').serializeArray(); 304 jQuery.ajax({ 305 type:'POST', 306 url:'https://' + domain + '/appointments/dates', 307 data:checkbox_val, 308 success:function(data){ 309 jQuery('.progression').addClass('prog3').removeClass('prog1 prog2 prog4'); 310 jQuery('.progression .prog[data-step="3"]').addClass('active').removeClass('inactive'); 311 jQuery('.progression .prog').removeClass('current'); 312 jQuery('.progression .prog[data-step="3"]').addClass('current'); 313 jQuery('.modal.appointment .modal-views').addClass('step3'); 314 jQuery('.modal.appointment .modal-views').removeClass('step1'); 315 jQuery('.modal.appointment .modal-views').removeClass('step2'); 316 jQuery('.modal.appointment .modal-views').removeClass('step4'); 317 jQuery('.modal-box .app-loading').fadeOut(500, function() { 318 jQuery(this).remove(); 319 }); 320 321 if(!showTimes){ 322 jQuery('.view-content.dates').html(data); 323 jQuery('.view-content.times').html('');//Wenn diese code kommentiert ist, sind die Uhrzeiten veranschaulicht sogar wenn Activities and/or maxbookable umgestellt sind 324 } 325 if(showTimes){ 326 //jQuery('.view-content.times').html(''); 327 // jQuery('. ui-state-active ui-datepicker-current-day').css('color','green'); 328 jQuery('.view-content.dates').html(data); 329 } 330 331 var date = new Date(); 332 var datearray = jQuery('#dates-set').val(); 333 var dateparse = JSON.parse(datearray); 334 //var dateparse = datearray; 335 336 var selectedDate = localStorage.getItem('dateSelected'); 337 jQuery("#datepicker").datepicker({ 338 prevText: '<zurück', prevStatus: '', 339 prevJumpText: '<<', prevJumpStatus: '', 340 nextText: 'Vor>', nextStatus: '', 341 nextJumpText: '>>', nextJumpStatus: '', 342 currentText: 'heute', currentStatus: '', 343 todayText: 'heute', todayStatus: '', 344 clearText: '-', clearStatus: '', 345 closeText: 'schlieÃen', closeStatus: '', 346 monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'], 347 monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','N
347ov','Dez'], 348 dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'], 349 dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'], 350 dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'], 351 dateFormat:'yy-mm-dd', 352 firstDay: 1, 353 defaultDate: selectedDate, 354 beforeShowDay:function(date) { 355 //jQuery.datepicker.formatDate("yy-mm-dd"); 356 var m = date.getMonth(), d = date.getDate(), y = date.getFullYear(); 357 358 for(i = 0;i < dateparse.length;i++){ 359 if($.inArray(y + '-' +(m+1) + '-'+d,dateparse) != -1 ){ 360 return [true, 'ui-state-active', ''] 361 } 362 } 363 return [false]; 364 }, 365 366 onSelect:function(date,el){ 367 localStorage.setItem('dateSelected',date); 368 var day = el.selectedDay, 369 month = el.selectedMonth, 370 year = el.selectedYear; 371 jQuery('.modal-box').prepend('<div class="app-loading"><span class="loader"><span class="loader-inner"></span></span></div>'); 372 jQuery("#result").html("<i>der Termin wird am <b>Tag</b></i> : "+day+ " <b>monat</b> "+(month+1)+ "<b> des </b>: "+year+" stattfinden"); 373 jQuery("#dates").val(date); 374 375 checkbox_dates = jQuery('#appDates').serializeArray(); 376 jQuery.ajax({ 377 type:'POST', 378 url:'https://' + domain + '/appointments/times', 379 data:checkbox_dates, 380 success:function(data){ 381 jQuery('.modal-box .app-loading').fadeOut(500,function(){ 382 jQuery(this).remove(); 383 }); 384 jQuery('.view-content.times').html(data); 385 jQuery(".view-content.times .btn-back").click(function() { 386 jQuery('.progression').addClass('prog2').removeClass('prog1 prog3 prog4'); 387 jQuery('.progression .prog[data-step="2"]').addClass('active').removeClass('inactive'); 388 jQuery('.progression .prog').removeClass('current'); 389 jQuery('.progression .prog[data-step="2"]').addClass('current'); 390 jQuery('.modal.appointment .modal-views').addClass('step2'); 391 jQuery('.modal.appointment .modal-views').removeClass('step1'); 392 jQuery('.modal.appointment .modal-views').removeClass('step3'); 393 jQuery('.modal.appointment .modal-views').removeClass('step4'); 394 }); 395 footerHeight = jQuery('.modal.appointment .view-content.activities .modal-footer').outerHeight(); 396 jQuery('.view-content.activities').css({ 397 "padding-top": "0", 398 "padding-right": "0", 399 "padding-bottom": footerHeight, 400 "padding-left": "0" 401 }); 402 403 footerHeight = jQuery('.modal.appointment .view-content.times .modal-footer').outerHeight(); 404 jQuery('.view-content.date-time').css({ 405 "padding-top": "0", 406 "padding-right": "0", 407 "padding-bottom": footerHeight, 408 "padding-left": "0" 409 }); 410 411 jQuery('.view-content.times .times').click(function() { 412 if(jQuery(this).find('input[name="times[]"]').prop("checked")) { 413 jQuery('.view-content.times .times').removeClass('times-selected'); 414 jQuery(this).addClass('times-selected'); 415 } else { 416 jQuery(this).removeClass('times-selected'); 417 } 418 }); 419 420 //Review machen 421 jQuery("#appTimes").submit(function(e) { 422 jQuery('.modal-box').prepend('<div class="app-loading"><span class="loader"><span class="loader-inner"></span></span></div>'); 423 var timeSelected = true; 424 localStorage.setItem('timeSelected',timeSelected); 425 e.preventDefault();
426 checkbox_times = jQuery("#appTimes").serializeArray(); 427 jQuery.ajax({ 428 type:'POST', 429 url:'https://' + domain + '/appointments/review', 430 data:checkbox_times, 431 success:function(data){ 432 jQuery('.view-content.review').html(data); 433 data_activities = jQuery("#appLogin").serializeArray(); 434 jQuery.ajax({ 435 type:'POST', 436 url:'https://' + domain + '/appointments/user', 437 data:data_activities, 438 success:function(data){ 439 jQuery('.progression').addClass('prog4').removeClass('prog1 prog2 prog3'); 440 jQuery('.progression .prog[data-step="4"]').addClass('active').removeClass('inactive'); 441 jQuery('.progression .prog').removeClass('current'); 442 jQuery('.progression .prog[data-step="4"]').addClass('current'); 443 jQuery('.modal.appointment .modal-views').addClass('step4'); 444 jQuery('.modal.appointment .modal-views').removeClass('step1'); 445 jQuery('.modal.appointment .modal-views').removeClass('step2'); 446 jQuery('.modal.appointment .modal-views').removeClass('step3'); 447 jQuery('.modal-box .app-loading').fadeOut(500,function(){ 448 jQuery(this).remove(); 449 }); 450 jQuery('.view-content.user').html(data); 451 452 jQuery(".view-content.user .btn-back").click(function() { 453 jQuery('.progression').addClass('prog3').removeClass('prog1 prog2 prog4'); 454 jQuery('.progression .prog[data-step="3"]').addClass('active').removeClass('inactive'); 455 jQuery('.progression .prog').removeClass('current'); 456 jQuery('.progression .prog[data-step="3"]').addClass('current'); 457 jQuery('.modal.appointment .modal-views').addClass('step3'); 458 jQuery('.modal.appointment .modal-views').removeClass('step1'); 459 jQuery('.modal.appointment .modal-views').removeClass('step2'); 460 jQuery('.modal.appointment .modal-views').removeClass('step4'); 461 }); 462 463 footerHeight = jQuery('.modal.appointment .view-content.activities .modal-footer').outerHeight(); 464 jQuery('.view-content.activities').css({ 465 "padding-top": "0", 466 "padding-right": "0", 467 "padding-bottom": footerHeight, 468 "padding-left": "0" 469 }); 470 471 var firstname = localStorage.getItem('name'); 472 var surname = localStorage.getItem('surname'); 473 var email = localStorage.getItem('email'); 474 var telephon = localStorage.getItem('telephone'); 475 var quote = localStorage.getItem('quote'); 476 477 jQuery('#guestName').val(firstname); 478 jQuery('#guestSurname').val(surname); 479 jQuery('#guestEmail').val(email); 480 jQuery('#guestPhone').val(telephon); 481 jQuery('#guestMessage').val(quote); 482 483 footerHeight = jQuery('.modal.appointment .view-content.user .modal-footer').outerHeight(); 484 jQuery('.view-content.user').css({ 485 "padding-top": "0", 486 "padding-right": "0", 487 "padding-bottom": footerHeight, 488 "padding-left": "0" 489 }); 490 491 //user login 492 jQuery("#loginForm").submit(function(e){ 493 e.preventDefault(); 494 login_data = jQuery("#loginForm").serializeArray(); 495 jQuery.ajax({ 496 type:'POST', 497 url:'https://' + domain + '/appointments/login', 498 data:login_data, 499 success:function(data){ 500 jQuery('.view-content.user').html(data); 501 jQuery(".view-content.user .btn-back").click(function(){ 502 jQuery('.progression').addClass('prog3').removeClass('prog1 prog2 prog4'); 503 jQuery('.progression .prog[data-step="3"]').addClass('active').removeClass('inactive'); 504 jQuery('.progression .prog').removeClass('current'); 505 jQuery('.progression .prog[data-step="3"]').addClass('current'); 506 jQuery('.modal.appointment .modal
506-views').addClass('step3'); 507 jQuery('.modal.appointment .modal-views').removeClass('step1'); 508 jQuery('.modal.appointment .modal-views').removeClass('step2'); 509 jQuery('.modal.appointment .modal-views').removeClass('step4'); 510 }); 511 footerHeight = jQuery('.modal.appointment .view-content.user .modal-footer').outerHeight(); 512 jQuery('.view-content.user').css({ 513 "padding-top": "0", 514 "padding-right": "0", 515 "padding-bottom": footerHeight, 516 "padding-left": "0" 517 }); 518 }, 519 error:function(error){ 520 } 521 }); 522 }); 523 524 //guest termin buchen 525 jQuery("#guestForm").submit(function(e){ 526 e.preventDefault(); 527 /*localStorage set*/ 528 var name = jQuery("#guestName").val(); 529 var surname = jQuery("#guestSurname").val(); 530 var email = jQuery("#guestEmail").val(); 531 var telephone = jQuery("#guestPhone").val(); 532 var quote = jQuery("#guestMessage").val(); 533 localStorage.setItem('name',name); 534 localStorage.setItem('surname',surname); 535 localStorage.setItem('email',email); 536 localStorage.setItem('telephone',telephone); 537 localStorage.setItem('quote',quote); 538 guest_data = jQuery("#guestForm").serializeArray(); 539 jQuery.ajax({ 540 type:'POST', 541 url:'https://' + domain + '/appointments/guestappointment', 542 data:guest_data, 543 success:function(data){ 544 jQuery('.view-content.user').html(data); 545 jQuery(".view-content.user .btn-back").click(function() { 546 jQuery('.progression').addClass('prog3').removeClass('prog1 prog2 prog4'); 547 jQuery('.progression .prog[data-step="3"]').addClass('active').removeClass('inactive'); 548 jQuery('.progression .prog').removeClass('current'); 549 jQuery('.progression .prog[data-step="3"]').addClass('current'); 550 jQuery('.modal.appointment .modal-views').addClass('step3'); 551 jQuery('.modal.appointment .modal-views').removeClass('step1'); 552 jQuery('.modal.appointment .modal-views').removeClass('step2'); 553 jQuery('.modal.appointment .modal-views').removeClass('step4'); 554 }); 555 footerHeight = jQuery('.modal.appointment .view-content.activities .modal-footer').outerHeight(); 556 jQuery('.view-content.activities').css({ 557 "padding-top": "0", 558 "padding-right": "0", 559 "padding-bottom": footerHeight, 560 "padding-left": "0" 561 }); 562 footerHeight = jQuery('.modal.appointment .view-content.user .modal-footer').outerHeight(); 563 jQuery('.view-content.user').css({ 564 "padding-top": "0", 565 "padding-right": "0", 566 "padding-bottom": footerHeight, 567 "padding-left": "0" 568 }); 569 }, 570 error:function(error){ 571 } 572 }); 573 }); 574 575 },//success #appLogin ajax call 576 error:function(error){ 577 } 578 });//appLogin ajax call 579 580 581 }, //success #appTime ajax call 582 error:function(error){ 583 } 584 });//Jquery appTimes ajax 585 });//Jquery appTimes submitFunction; 586 587 },//success #appDates ajax call 588 error:function(error){ 589 } 590 });//on select #appDates ajax call; 591 }//end onselect 592 });//Jquery datepicker; 593 594 595 },//#appForm success ajax Call 596 error:function(error){ 597 } 598 599 });//close #appForm ajax call 600});//close #appForm submitFunction 601 602 603 604/* ----------------------------------------------------------------------------- 605NAVIGATION 606----------------------------------------------------------------------------- */ 607 608jQuery(document).ready(function() { 609 jQuery(".navigation-item--state-current > i").each(function() { 610 jQuery(this).addClass("opened"); 611 }); 612 jQuery(".navigation-item--state-active > i").each(function() { 613 jQuery(this).addClass("opened"); 614 }); 615 // --------------------------------------------------------------------------- 616 jQuery(".navigation-item--level-2.navigation-item--state-current").each(function() { 617 jQuery(this).parent().parent().addClass("navigation-item--state-current navigation-item--state-active"); 618 jQuery(this).parent().parent().find("i").first().toggleClass("opened"); 619 });
620 jQuery(".navigation-item--level-3.navigation-item--state-current").each(function() { 621 jQuery(this).parent().parent().addClass("navigation-item--state-current navigation-item--state-active"); 622 jQuery(this).parent().parent().find("i").first().toggleClass("opened"); 623 }); 624 // --------------------------------------------------------------------------- 625 jQuery(".navigation-item--level-1 > i").click(function() { 626 jQuery(this).next('ul').slideToggle("fast","swing"); 627 jQuery(this).parent().siblings().children().next('ul').slideUp(); 628 jQuery(this).parent().siblings().children().next('i').removeClass("opened"); 629 jQuery(this).toggleClass("opened"); 630 return false; 631 }); 632 jQuery(".navigation-item--level-2 > i").click(function() { 633 jQuery(this).next('ul').slideToggle("fast","swing"); 634 jQuery(this).parent().siblings().children().next('ul').slideUp(); 635 jQuery(this).parent().siblings().children().next('i').removeClass("opened"); 636 jQuery(this).toggleClass("opened"); 637 return false; 638 }); 639}) 640 641// ----------------------------------------------------------------------------- 642 643/* ----------------------------------------------- 644SCROLLKEEPER 645----------------------------------------------- */ 646 647jQuery('.sort-options a').click(function() { 648 window.onbeforeunload = function(e) { 649 localStorage.setItem('scrollpos', window.scrollY); 650 }; 651}); 652document.addEventListener("DOMContentLoaded", function(event) { 653 var scrollpos = localStorage.getItem('scrollpos'); 654 jQuery(window).on("load", function() { 655 if (scrollpos) window.scrollTo(0, scrollpos); 656 localStorage.removeItem('scrollpos'); 657 }); 658}); 659 660// ----------------------------------------------------------------------------- 661jQuery(document).ready(function() { 662 jQuery('.testbtn').click(function() { 663 if(jQuery(this).hasClass("desc")) { 664 jQuery(this).removeClass("desc"); 665 jQuery(".user-content .comment").sort(sort_li).appendTo('.user-content'); 666 function sort_li(a, b) { 667 return (jQuery(b).data('sort')) < (jQuery(a).data('sort')) ? 1 : -1; 668 } 669 } else { 670 jQuery(this).addClass("desc"); 671 jQuery(".user-content .comment").sort(sort_li).appendTo('.user-content'); 672 function sort_li(a, b) { 673 return (jQuery(b).data('sort')) > (jQuery(a).data('sort')) ? 1 : -1; 674 } 675 } 676 }); 677}); 678 679 680 681 682/* USER MANAGEMENT - Account-Element //////////////////////////////////////// */ 683 684jQuery(document).ready(function() { 685 jQuery('body .account-profile').click(function() { 686 jQuery('.account-layover').toggleClass('visible'); 687 }); 688}); 689jQuery(window).scroll(function() { 690 jQuery('.account-layover').removeClass('visible'); 691}); 692 693 694/* USER MANAGEMENT - Modal-Elements //////////////////////////////////////// */ 695 696jQuery('.modal-btn').click(function() { 697 var modalID = jQuery(this).val(); 698 699 var modal = '.modal-' + modalID; 700 jQuery('body').addClass('modal-open'); 701 if(jQuery(this).hasClass("edit")) { 702 jQuery(modal + ".edit").show(0, function() { 703 var windowHeight = jQuery(window).height(); 704 var modalHeight = jQuery(this).closest('.comment').find('.modal.edit .modal-box').height(); 705 if(modalHeight > windowHeight) { 706 jQuery(this).addClass("maxheight"); 707 } 708 }); 709 } else if(jQuery(this).hasClass("delete")) { 710 jQuery(modal + ".delete").show(0, function() { 711 var windowHeight = jQuery(window).height(); 712 var modalHeight = jQuery(this).closest('.comment').find('.modal.delete .modal-box').height(); 713 if(modalHeight > windowHeight) { 714 jQuery(this).addClass("maxheight"); 715 } 716 }); 717 } else if(jQuery(this).hasClass("moderate")) { 718 jQuery(modal + ".moderate").show(0, function() { 719 var windowHeight = jQuery(window).height(); 720 var modalHeight = jQuery(this).closest('.comment').find('.modal.moderate .modal-box').height(); 721 if(modalHeight > windowHeight) { 722 jQuery(this).addClass("maxheight"); 723 } 724 }); 725 } else if(jQuery(this).hasClass("appointment")) { 726 jQuery(".modal.appointment").show(0, function() {
727 var modalHeadHeight = jQuery('.modal.appointment .modal-head').outerHeight(); 728 jQuery('.modal-views').css('height', 'calc(100% - ' + modalHeadHeight + 'px)'); 729 var windowHeight = jQuery(window).height(); 730 var modalHeight = jQuery('.modal.appointment').height(); 731 if(modalHeight > windowHeight) { 732 jQuery(this).addClass("maxheight"); 733 } 734 }); 735 } else if(jQuery(this).hasClass("report")) { 736 //Tagesansicht OTB 737 if (jQuery('.content div').hasClass('report-calendar')) { 738 showDayShowDetail(modal); 739 } 740 jQuery(modal + ".report").show(); 741 } else if(jQuery(this).hasClass("reportdelete")) { 742 jQuery(modal + ".reportdelete").show(); 743 } else if(jQuery(this).hasClass("delete-categorie")) { 744 jQuery(modal + ".datacontainerdelete").show(); 745 } else if(jQuery(this).hasClass("delete-datacontainer")) { 746 jQuery(modal + ".datacontainerdelete").show(); 747 } 748 749}); 750 751jQuery('.modal-close').click(function() { 752 jQuery(this).closest('.modal').hide(); 753 jQuery('body').removeClass('modal-open'); 754 //Tagesansicht OTB 755 closeDayShowDetail(); 756}); 757jQuery('.cancel').click(function() { 758 jQuery(this).closest('.modal').hide(); 759 jQuery('body').removeClass('modal-open'); 760 //Tagesansicht OTB 761 closeDayShowDetail(); 762}); 763 764jQuery(document).ready(function(){ 765 jQuery(document).bind('keydown', function(e) { 766 if (e.which == 27) { 767 jQuery('.modal').hide(); 768 jQuery('body').removeClass('modal-open'); 769 } 770 }); 771}); 772 773jQuery(document).ready(function() { 774 windowHeight = jQuery(window).height(); 775 jQuery('.modal-box').each(function() { 776 modalHeight = jQuery(this).height(); 777 if(modalHeight > windowHeight) { 778 jQuery(this).addClass("maxheight"); 779 } 780 }); 781}); 782 783/* UNIT TEMPLATE //////////////////////////////////////////////////////////// */ 784 785jQuery(document).ready(function() { 786 h1Height = jQuery('#unit-h1').prop('scrollHeight'); 787 h2Height = jQuery('#unit-h2').prop('scrollHeight'); 788 jQuery('#unit-h1').height(h1Height + 'px'); 789 jQuery('#unit-h2').height(h2Height + 'px'); 790 791 jQuery('form').each(function() { 792 if(jQuery(this).hasClass('unit-template-form')) { 793 h1Count = jQuery('#unit-template #unit-h1').val(); 794 h2Count = jQuery('#unit-template #unit-h2').val(); 795 jQuery('#unit-template .count-title .count').html(h1Count.length); 796 jQuery('#unit-template .count-subtitle .count').html(h2Count.length); 797 } 798 }); 799}); 800jQuery('#unit-h1').on('input propertychange paste', function() { 801 jQuery(this).height(0); 802 jQuery(this).height(this.scrollHeight); 803}); 804jQuery('#unit-h2').on('input propertychange paste', function() { 805 jQuery(this).height(0); 806 jQuery(this).height(this.scrollHeight); 807}); 808jQuery('#unit-p').on('input propertychange paste', function() { 809 jQuery(this).height(0); 810 jQuery(this).height(this.scrollHeight); 811}); 812 813jQuery('#unit-template #unit-h1').on('keyup', function() { 814 jQuery('#unit-template .count-title .count').html(this.value.length); 815}); 816jQuery('#unit-template #unit-h2').on('keyup', function() { 817 jQuery('#unit-template .count-subtitle .count').html(this.value.length); 818}); 819 820jQuery('.user-backend .unit-content-container .toggle-unit-content').click(function() { 821 jQuery(this).toggleClass('open'); 822 jQuery(this).next('.unit-text-content').slideToggle(); 823}); 824 825 826/* https://' + domain + '/account/appointments/new//////////////////////////////////////////////////////////// */ 827//alt_value = document.querySelector("#performanc:selected").value; 828jQuery("#performance").change(function(){ 829 var value = $(this).val(); 830 //var datesarray = jQuery('.datesarray').val(); 831 //alert(datesarray); 832 window.location.href = 'https://' + domain + '/account/appointments/new?performance='+value+''; 833}); 834 835jQuery("#ressourcen").change(function(){ 836 var value = document.querySelector("#ressourcen").value; 837 var value = $(this).val(); 838 window.location.href = 'https://' + domain + '/account/appointments/new?ressource='+value+''; 839}); 840 841 842 843 844 845/* COMMENTS ///////////////////////////////////////////////////////////////// */ 846 847function getUrlParameter(sParam) { 848 var sPageURL = window.location.search.substring(1), 849 sURLVariables = sPageURL.split('&'), 850 sParameterName, 851 i; 852 853 for (i = 0; i < sURLVariables.length; i++) { 854 sParameterName = sURLVariables[i].split('='); 855 if (sParameterName[0] === sParam) { 856 return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]); 857 } 858 } 859}; 860jQuery(window).on("load", function() { 861 if(getUrlParameter('comment')) { 862 commentID = getUrlParameter('comment'); 863 headerHeight = jQuery(".header-wrap").height(); 864 jQuery('#comment' + commentID).addClass('highlight'); 865 jQuery('html, body').animate({ 866 scrollTop: jQuery('#comment' + commentID).offset().top - headerHeight 867 }, 1000, function() { 868 jQuery('#comment' + commentID).removeClass('highlight');
869 jQuery('.modal-info').animate({ 870 opacity: 0 871 }, 1000, function() { 872 jQuery(this).hide(); 873 }); 874 }); 875 } 876 if(getUrlParameter('moderated') && !getUrlParameter('comment')) { 877 jQuery('.modal-info').delay(1000).animate({ 878 opacity: 0 879 }, 1000, function() { 880 jQuery(this).hide(); 881 }); 882 } 883 if(getUrlParameter('deleted')) { 884 jQuery('.modal-info').delay(1000).animate({ 885 opacity: 0 886 }, 1000, function() { 887 jQuery(this).hide(); 888 }); 889 } 890 if(getUrlParameter('success')) { 891 jQuery('.modal-info').delay(1000).animate({ 892 opacity: 0 893 }, 1000, function() { 894 jQuery(this).hide(); 895 }); 896 } 897 if(getUrlParameter('updated')) { 898 jQuery('.modal-info').delay(1000).animate({ 899 opacity: 0 900 }, 1000, function() { 901 jQuery(this).hide(); 902 }); 903 } 904 if(getUrlParameter('unitcreated')) { 905 jQuery('.modal-info').delay(1000).animate({ 906 opacity: 0 907 }, 1000, function() { 908 jQuery(this).hide(); 909 }); 910 } 911 if(getUrlParameter('unitdeleted')) { 912 jQuery('.modal-info').delay(1000).animate({ 913 opacity: 0 914 }, 1000, function() { 915 jQuery(this).hide(); 916 }); 917 } 918 if(getUrlParameter('unitupdated')) { 919 jQuery('.modal-info').delay(1000).animate({ 920 opacity: 0 921 }, 1000, function() { 922 jQuery(this).hide(); 923 }); 924 } 925 if(getUrlParameter('unitmoderated')) { 926 jQuery('.modal-info').delay(1000).animate({ 927 opacity: 0 928 }, 1000, function() { 929 jQuery(this).hide(); 930 }); 931 } 932 if(getUrlParameter('commentcreated')) { 933 jQuery('.modal-info').delay(1000).animate({ 934 opacity: 0 935 }, 1000, function() { 936 jQuery(this).hide(); 937 }); 938 } 939 if(getUrlParameter('error')) { 940 jQuery('.modal-info').delay(2000).animate({ 941 opacity: 0 942 }, 1000, function() { 943 jQuery(this).hide(); 944 }); 945 } 946 if(getUrlParameter('saved')) { 947 jQuery('.modal-info').delay(1000).animate({ 948 opacity: 0 949 }, 1000, function() { 950 jQuery(this).hide(); 951 }); 952 } 953 if(getUrlParameter('confirmed')) { 954 jQuery('.modal-info').delay(1000).animate({ 955 opacity: 0 956 }, 1000, function() { 957 jQuery(this).hide(); 958 }); 959 } 960 if(getUrlParameter('confirmederror')) { 961 jQuery('.modal-info').delay(2000).animate({ 962 opacity: 0 963 }, 1000, function() { 964 jQuery(this).hide(); 965 }); 966 } 967 if(getUrlParameter('newappointment')) { 968 jQuery('.modal-info').delay(1000).animate({ 969 opacity: 0 970 }, 1000, function() { 971 jQuery(this).hide(); 972 }); 973 } 974 if(getUrlParameter('appointmenterror')) { 975 jQuery('.modal-info').delay(2000).animate({ 976 opacity: 0 977 }, 1000, function() { 978 jQuery(this).hide(); 979 }); 980 } 981 if(getUrlParameter('mod-deleted')) { 982 jQuery('.modal-info').delay(1000).animate({ 983 opacity: 0 984 }, 1000, function() { 985 jQuery(this).hide(); 986 }); 987 } 988}); 989 990/* 991// STICKY COMMENT FORM 992function stickyComment() { 993 headerHeight = jQuery(".header.is-sticky .header-wrap").height(); 994 stickyTop = jQuery('.new-comment').offset().top - headerHeight - 25; 995 posLeft = jQuery('.new-comment').offset().left; 996 posWidth = jQuery('.new-comment').width(); 997 placeholderHeight = jQuery('.comment-wrap').height(); 998 jQuery('.comment-wrap').closest('.new-comment').height(placeholderHeight); 999 1000 jQuery(window).scroll(function() { 1001 windowTop = jQuery(window).scrollTop(); 1002 if (stickyTop < windowTop) { 1003 jQuery('.comment-wrap').addClass('sticky').css({ 1004 'left': posLeft, 1005 'width': posWidth 1006 }); 1007 } else { 1008 jQuery('.comment-wrap').removeClass('sticky').css({ 1009 'left': 'auto', 1010 'width': 'auto' 1011 }); 1012 } 1013 }); 1014 jQuery(window).resize(function() { 1015 windowTop = jQuery(window).scrollTop(); 1016 if (stickyTop < windowTop) { 1017 jQuery('.comment-wrap').addClass('sticky').css({ 1018 'left': posLeft, 1019 'width': posWidth 1020 }); 1021 } else { 1022 jQuery('.comment-wrap').removeClass('sticky').css({ 1023 'left': 'auto', 1024 'width': 'auto' 1025 }); 1026 } 1027 }); 1028} 1029 1030jQuery(document).ready(function() { 1031 if(jQuery('body').hasClass('unit-site')) { 1032 stickyComment(); 1033 if (window.matchMedia('(max-width: 660px)').matches) { 1034 addHeight = jQuery('.comment-wrap').outerHeight(); 1035 jQuery('body').css("margin-bottom", addHeight); 1036 if (!jQuery('.comment-wrap').hasClass('sticky')) { 1037 jQuery('.comment-container').show(); 1038 jQuery('.comment-toggle').removeClass('open'); 1039 } 1040 } 1041 else { 1042 jQuery('body').css("margin-bottom", "0"); 1043 jQuery('.comment-container').show(); 1044 } 1045 jQuery('.comment-toggle').click(function() { 1046 jQuery(this).toggleClass('open'); 1047 jQuery('.comment-container').slideToggle(); 1048 }); 1049 } 1050}); 1051 1052jQuery(window).resize(function() { 1053 if(jQuery('body').hasClass('unit-site')) { 1054 stickyComment(); 1055 if (window.matchMedia('(max-width: 660px)').matches) { 1056 addHeight = jQuery('.comment-wrap').outerHeight(); 1057 jQuery('body').css("margin-bottom", addHeight); 1058 if (!jQuery('.comment-wrap').hasClass('sticky')) { 1059 jQuery('.comment-container').show(); 1060 jQuery('.comment-toggle').removeClass('open'); 1061 } 1062 } 1063 else { 1064 jQuery('body').css("margin-bottom", "0"); 1065 jQuery('.comment-container').show(); 1066 } 1067 } 1068}); 1069jQuery(window).scroll(function() { 1070 if(jQuery('body').hasClass('unit-site')) { 1071 if (window.matchMedia('(max-width: 660px)').matches) { 1072 if (!jQuery('.comment-wrap').hasClass('sticky')) { 1073 jQuery('.comment-container').show(); 1074 jQuery('.comment-toggle').removeClass('open'); 1075 } 1076 if (jQuery('.comment-wrap').hasClass('sticky')) { 1077 jQuery('.comment-container').slideUp(); 1078 jQuery('.comment-toggle').removeClass('open'); 1079 } 1080 } 1081 } 1082}); 1083*/ 1084 1085jQuery(document).ready(function() { 1086 jQuery('.mod-info').click(function() { 1087 jQuery(this).closest('.mod-options').find('.mod-info-content').slideToggle(); 1088 }); 1089}); 1090 1091// Filter for keyword 1092jQuery("#keyword-filter").keyup(function() { 1093 var keyword = jQuery(this).val().toLowerCase(); 1094 1095 jQuery(".comment").each(function() { 1096 if(jQuery(this).text().toLowerCase().indexOf(keyword) > -1) { 1097 jQuery(this).fadeIn(); 1098 } else { 1099 jQuery(this).fadeOut(); 1100 } 1101 }); 1102 1103 jQuery(".unit").each(function() { 1104 if(jQuery(this).text().toLowerCase().indexOf(keyword) > -1) { 1105 jQuery(this).fadeIn(); 1106 }else{ 1107 jQuery(this).fadeOut(); 1108 } 1109 }); 1110 1111 if(jQuery(this).val()) { 1112 jQuery('.clear').addClass('visible'); 1113 } else if(jQuery(this).val('')) { 1114 jQuery('.clear').removeClass('visible'); 1115 } else { 1116 jQuery('.clear').removeClass('visible'); 1117 } 1118}); 1119jQuery('.clear').click(function() { 1120 jQuery('#keyword-filter').val(''); 1121 jQuery('#word-filter').val(''); 1122 jQuery(this).removeClass('visible'); 1123 var keyword = jQuery(this).val().toLowerCase(); 1124 jQuery(".mod-filter select").val('mod-all'); 1125 jQuery(".comment").each(function() { 1126 jQuery(this).fadeIn(); 1127 }); 1128 jQuery(".unit").each(function() { 1129 jQuery(this).fadeIn(); 1130 }); 1131 jQuery(".activity").each(function(){ 1132 if(jQuery(this).hasClass('id6062')) { 1133 1134 } else { 1135 jQuery(this).fadeIn(); 1136 } 1137 }); 1138}); 1139 1140// Appointment Modal Filter Activities 1141jQuery("#resource-filter").change(function(){ 1142 var resource = jQuery(this).val().toLowerCase(); 1143 1144 jQuery(".activity").each(function(){ 1145 if(jQuery(this).hasClass('id6062')) { 1146 1147 } else { 1148 if(jQuery(this).text().toLowerCase().indexOf(resource) > -1){ 1149 jQuery(this).fadeIn(); 1150 }else{ 1151 jQuery(this).fadeOut(); 1152 } 1153 } 1154 }); 1155}); 1156 1157//Appointment Modal Begriff suche 1158jQuery("#word-filter").keyup(function(){ 1159 //alert("suche starten"); 1160 var resource = jQuery(this).val().toLowerCase(); 1161 1162 jQuery(".activity").each(function(){ 1163 if(jQuery(this).hasClass('id6062')) { 1164 1165 } else { 1166 if(jQuery(this).find('.activity-title').text().toLowerCase().indexOf(resource) > -1){ 1167 jQuery(this).fadeIn(); 1168 }else{ 1169 jQuery(this).fadeOut(); 1170 } 1171 } 1172 }); 1173 if(jQuery(this).val()) { 1174 jQuery('.clear').addClass('visible'); 1175 } else if(jQuery(this).val('')) { 1176 jQuery('.clear').removeClass('visible'); 1177 } else { 1178 jQuery('.clear').removeClass('visible'); 1179 } 1180}); 1181 1182 1183 1184 1185/*jQuery(document).ready(function() { 1186 var date = new Date(); 1187 var datearray = jQuery('#dates-set').val(); 1188 //var jsondata = ['{"2021-03-10":"2021-03-20", "2021-04-10":"2021-04-15"}']; 1189 var dateparse = JSON.parse(datearray); 1190 //var dateparse = JSON.stringify(datearray); 1191 1192 jQuery("#calendar-dates").datepicker({ 1193 dateFormat: 'yy-mm-dd', 1194 beforeShowDay: function(date) { 1195 var m = date.getMonth(), d = date.getDate(), y = date.getFullYear(); 1196 1197 for (i = 0; i < dateparse.length; i++) { 1198 if($.inArray(y + '-' + (m+1) + '-' + d,dateparse) != -1) { 1199 //return [false]; 1200 return [true,'ui-state-active','']; 1201 } 1202 } 1203 return [false]; 1204 } 1205 1206 }); 1207 1208 jQuery("#calendar-dates").click("change",function(){ 1209 var selected = $(this).val(); 1210 jQuery("#dates-set").val(selected); 1211 }); 1212 1213});*/ 1214 1215/*----------------------------------------------------------------------------
1216 open OTB-Model with Link Terminvereinbarung 1217 @route + #otb 1218----------------------------------------------------------------------- ------ */ 1219jQuery('a[href*="#otb"]').click(function(e) { 1220 e.preventDefault(); 1221 jQuery(".modal.appointment").show(); 1222 var modalHeadHeight = jQuery('.modal.appointment .modal-head').outerHeight(); 1223 jQuery('.modal-views').css('height', 'calc(100% - ' + modalHeadHeight + 'px)'); 1224}); 1225 1226jQuery(document).ready(function() { 1227 1228 var pathname = window.location.href; 1229 if (pathname.search('#otb') > 0) { 1230 jQuery(".modal.appointment").show(); 1231 var modalHeadHeight = jQuery('.modal.appointment .modal-head').outerHeight(); 1232 jQuery('.modal-views').css('height', 'calc(100% - ' + modalHeadHeight + 'px)'); 1233 } 1234 1235 jQuery('#tv').on('click',function() { 1236 if (jQuery('#appointment').is(':visible')) { 1237 jQuery('#appointment').each(function() { 1238 jQuery(this).attr('checked',false); 1239 }); 1240 } 1241 }); 1242 1243}); 1244 1245 1246//https://mario.digiportal.de/freizeit-und-sport/vereine-und-verbaende/sporteinrichtungen 1247// 'https://mario.digiportal.de/appointments/dates', 1248jQuery(document).ready(function(){ 1249 domain = window.location.hostname; 1250 var getsize = jQuery('input[name="getsize"]:last').val(); 1251 var size = jQuery('input[name="size"]:last').val(); 1252 if(size != getsize) { 1253 jQuery(".container-pages").remove(); 1254 } 1255 jQuery(".container-pages").click(function(){ 1256 jQuery('.lds-ring').removeClass('hidden'); 1257 var context = jQuery('#context').val(); 1258 var categories = jQuery('#categories').val(); 1259 var attributeIDs = jQuery('input[name="attributeIDs"]:last').val(); 1260 var dateFormat = jQuery('#dateFormat').val(); 1261 var dateDesign = jQuery('#dateDesign').val(); 1262 var teaserImage = jQuery('#teaserImage').val(); 1263 var detailedList = jQuery('#detailedList').val(); 1264 var allEvents = jQuery('#allEvents').val(); 1265 var categoriesIntersection = jQuery('#categoriesIntersection').val(); 1266 var uri = jQuery('#uri').val(); 1267 var getsize = jQuery('input[name="getsize"]:last').val(); 1268 var firstPageNumber = jQuery(this).val(); 1269 var nextPage = parseFloat(firstPageNumber) + 1; 1270 var showTimeOnlyNull = jQuery('#showTimeOnlyNull').val(); 1271 var dateWeekday = jQuery('#dateWeekday').val(); 1272 var showTeasertextTop = jQuery('#showTeasertextTop').val(); 1273 var attributesDetail = jQuery('#attributesDetail').val(); 1274 var showAttrBottom = jQuery('#showAttrBottom').val(); 1275 var attributeIDsDetail = jQuery('#attributeIDsDetail').val(); 1276 var lang = jQuery('input[name="lang"]:last').val(); 1277 1278 jQuery(this).val(nextPage); 1279 jQuery.ajax({ 1280 type:'POST', 1281 dataType:'text', 1282 url:'https://'+domain+'/dataobjects/load', 1283 data:{nextPage:nextPage,context:context,categoriesIntersection:categoriesIntersection,categories:categories,attributeIDs:attributeIDs, 1284 uri:uri,getsize:getsize,dateFormat:dateFormat,dateDesign:dateDesign,teaserImage:teaserImage,allEvents:allEvents,detailedList:detailedList, 1285 showTimeOnlyNull:showTimeOnlyNull,dateWeekday:dateWeekday,showTeasertextTop:showTeasertextTop,attributesDetail:attributesDetail, 1286 showAttrBottom:showAttrBottom,attributeIDsDetail:attributeIDsDetail,lang:lang}, 1287 success:function(response){ 1288 jQuery('.gdc-list').append(response); 1289 jQuery('.lds-ring').addClass('hidden'); 1290 1291 //Rentals hidden search boxes only show the first box 1292 jQuery('.grid-search div').addClass('grid-search-hidden'); 1293 jQuery('.grid-search').first().find('div').removeClass('grid-search-hidden'); 1294 1295 var getsize = jQuery('input[name="getsize"]:last').val(); 1296 var size = jQuery('input[name="size"]:last').val(); 1297 if(size != getsize) { 1298 jQuery(".container-pages").remove(); 1299 } 1300 }, 1301 error:function(error){ 1302 1303 } 1304 }); 1305 }); 1306}); 1307 1308function getCookie(cname) { 1309 var name = cname + "="; 1310 var decodedCookie = decodeURIComponent(document.cookie); 1311 var ca = decodedCookie.split(';'); 1312 for(var i = 0; i <ca.length; i++) { 1313 var c = ca[i]; 1314 while (c.charAt(0) == ' ') { 1315 c = c.substring(1); 1316 } 1317 if (c.indexOf(name) == 0) { 1318 return c.substring(name.length, c.length); 1319 } 1320 } 1321 return ""; 1322} 1323 1324jQuery(document).ready(function() { 1325 if(jQuery('#domap').length) { 1326 cookieOpenStreetMap = getCookie('Cookie_Consent_OpenStreetMap'); 1327 if(cookieOpenStreetMap == "on") { 1328 name = jQuery('#gps-name').val(); 1329 street = jQuery('#gps-street').val(); 1330 houseNumber = jQuery('#gps-houseNumber').val(); 1331 postcode = jQuery('#gps-postcode').val(); 1332 city = jQuery('#gps-city').val(); 1333 lat = jQuery('#gps-lat').val(); 1334 lng = jQuery('#gps-lng').val(); 1335 if(lat != '') { 1336 var domap = L.map('domap', { 1337 center: new L.LatLng(lat,lng), 1338 zoom: 15, 1339 scrollWheelZoom: false 1340 }); 1341 L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 1342 attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors', 1343 }).addTo(domap); 1344 var marker = L.marker(new L.LatLng(lat,lng)).addTo(domap); 1345 marker.bindPopup('<strong>'+name+'</strong><br/>'+street+' '+houseNumber+'<br/>'+postcode+' '+city).openPopup(); 1346 domap.once('focus', function() { domap.scrollWheelZoom.enable(); }); 1347 } else { 1348 jQuery('#domap').remove(); 1349 } 1350 } 1351 } 1352}); 1353 1354/* ACCORDION //////////////////////////////////////////////////////////////// */ 1355 1356jQuery(document).ready(function() { 1357 1358 jQuery(".do-attributes h3").click(function() { 1359 jQuery(this).toggleClass("acc-open"); 1360 jQuery(this).next('.do-attribute-content').toggleClass("acc-open").slideToggle(); 1361 }); 1362 jQuery(".acc-btn .open-all").click(function() { 1363 jQuery(".accordion h4").addClass("acc-open"); 1364 nextAnim(jQuery('.accordion h4 + p')); 1365 function nextAnim(elems) { 1366 elems.eq(0).slideDown(1, function() { 1367 nextAnim(elems.slice(1), $.fn.matchHeight._update()); 1368 }); 1369 } 1370 }); 1371 jQuery(".acc-btn .close-all").click(function() { 1372 jQuery(".accordion h4").removeClass("acc-open"); 1373 nextAnim(jQuery('.accordion h4 + p')); 1374 function nextAnim(elems) { 1375 elems.eq(0).slideUp(1, function() { 1376 nextAnim(elems.slice(1), $.fn.matchHeight._update()); 1377 }); 1378 } 1379 }); 1380 1381}); 1382 1383/* SHOW ALL DATES /////////////////////////////////////////////////////////// */ 1384 1385/* jQuery(document).ready(function() { 1386 var dateWrap = jQuery('.do-datetime-table').innerHeight(); 1387 var dateTable = jQuery('.do-datetime-table table').height(); 1388 if(dateTable >= dateWrap) { 1389 jQuery('.show-all').show(); 1390 } else { 1391 jQuery('.show-all').hide(); 1392 } 1393 jQuery('.show-all').click(function() { 1394 jQuery('.do-datetime').toggleClass('all-dates'); 1395 var headerHeight = jQuery(".header-wrap").height(); 1396 jQuery("html, body").animate({ 1397 scrollTop: jQuery('.do-datetime').offset().top - headerHeight - 50 1398 }, "slow"); 1399 }); 1400}); */ 1401 1402/* ACTIVITY CAPACITY REPORT ///////////////////////////////////////////////// */ 1403 1404jQuery("#event-capacities").submit(function() { 1405 var activityID = jQuery('#event-capacities select[name="activity-id"]').val(); 1406 localStorage.setItem('activitycapacity',activityID); 1407}); 1408 1409jQuery(document).ready(function() { 1410 if(localStorage.getItem('activitycapacity')) { 1411 jQuery("#event-capacities select").val(localStorage.getItem('activitycapacity')).change(); 1412 } 1413}); 1414 1415// ----------------------------------------------------------------------------- 1416// NEWSLETTER 1417// ------------------------------------------------------------------------------ 1418jQuery('#modalNewsletter .modal-close').click(function(e) { 1419 url = document.location.href ; 1420 var urlonly = url.split("&"); 1421 var url = urlonly[0] + '&' + urlonly[1]; 1422 var success = urlonly[2]; 1423 1424 if (success == 'newslettersuccess' ) { 1425 window.location.search = ''; 1426 } else { 1427 // jQuery(".modal.newsletter .modal-views .view-content.info input").val(''); 1428 // jQuery('.table-relevated-events input').removeAttr('checked'); 1429 } 1430 // history.pushState({}, null, url); 1431}); 1432 1433jQuery('a[href*="?newsletter"]').click(function(e) { 1434 e.preventDefault(); 1435 openNewsletterModal(); 1436}); 1437 1438jQuery(document).ready(function() { 1439 if(getUrlParameter('newsletter')) { 1440 openNewsletterModal(); 1441 } 1442}); 1443 1444function openNewsletterModal() { 1445 jQuery('body').addClass('modal-open'); 1446 1447 //Newsletter-Kategories > 0 1448 var title = (jQuery('#newsletter-email').val() == '') ? 'Newsletter abonnieren' : 'Newsletter verwalten'; 1449 1450 //Newsletter-Kategories == 1 1451 //First Newsletter Abo and confirm 1452 //Second Newsletter is Abo -> you can deabo 1453 //is Abo -> deabo, is noAbo -> you can again abo 1454 count = jQuery('.table-relevated-events input').length; 1455 if (count == 1) { 1456 ischecked = jQuery('.table-relevated-events input:checked').length; 1457 var title = (jQuery('#newsletter-email').val() == '' || ischecked == 0) ? 'Newsletter abonnieren' : 'Newsletter abmelden'; 1458 if(getUrlParameter('newslettersuccess') || getUrlParameter('newsletteractsuccess') ) { 1459 //nothing 1460 } else if (jQuery('#newsletter-email').val() == '' || ischecked == 0) { 1461 jQuery('.table-relevated-events input').attr('checked','checked'); 1462 } else { 1463 jQuery('.table-relevated-events input').removeAttr('checked'); 1464 } 1465 jQuery('.newsletter-selection').hide(); 1466 } 1467 1468 jQuery('#newsletter-title').text(title); 1469 1470 jQuery(".modal.newsletter").show(0, function() { 1471 var modalHeadHeight = jQuery('.modal.newsletter .modal-head').outerHeight();
1472 jQuery('.modal-views form').css('height', 'calc(100% - ' + modalHeadHeight + 'px)'); 1473 var windowHeight = jQuery(window).height(); 1474 var modalHeight = jQuery('.modal.newsletter').height(); 1475 if(modalHeight > windowHeight) { 1476 jQuery(this).addClass("maxheight"); 1477 } 1478 jQuery(".modal.newsletter .modal-views .view-content.info").show(); 1479 jQuery(".infosave").hide(); 1480 }); 1481} 1482 1483jQuery(document).ready(function() { 1484 if(getUrlParameter('newslettersuccess') || getUrlParameter('newsletteractsuccess') ) { 1485 jQuery("body").addClass("modal-open"); 1486 jQuery(".modal.newsletter .modal-views .view-content.infosave").show(); 1487 jQuery(".modal.newsletter .modal-views .view-content.info").hide(); 1488 var modalHeadHeight = jQuery('.modal.newsletter .modal-head').outerHeight(); 1489 jQuery('.modal-views').css('height', 'calc(100% - ' + modalHeadHeight + 'px)'); 1490 jQuery(".modal.newsletter .modal-views .view-content.infosave > div:first-of-type").addClass('message'); 1491 if(getUrlParameter('newsletteractsuccess')) { 1492 jQuery(".modal.newsletter .modal-views .view-content.infosave > div:first-of-type").html("<h5 style='margin-top:1rem;'>Ihr Anfrage zum Newsletter wurde erfolgreich bestätigt.</h5><p>Sie können das Fenster nun schlieÃen</p>"); 1493 } 1494 if(getUrlParameter('newslettersuccess')) { 1495 count = jQuery('.table-relevated-events input:checked').length; 1496 if (count > 0) { 1497 jQuery('#newsletter-title').text('Newsletter'); 1498 jQuery(".modal.newsletter .modal-views .view-content.infosave > div:first-of-type").html("<h5 style='margin:1rem 0;'>Ihre Anfrage zum Newsletter wurde abgesendet.<br><span style='font-weight:normal;'>Wir haben Ihnen eine E-Mail zugesendet.</span></h5><p><svg><use xlink:href='#fas-fa-info-circle'></use></svg><strong style='color:#34a665;'>Bitte bestätigen Sie Ihre Anfrage mit dem Link in der E-Mail.</strong><br><br>Vielen Dank und herzliche GrüÃe.<p>"); 1499 } else { 1500 jQuery(".modal.newsletter .modal-views .view-content.infosave > div:first-of-type").html("<h5 style='margin:1rem 0;'>Ihre Anfrage zum Newsletter wurde abgesendet.<br><span style='font-weight:normal;'>Sie haben keinen Newsletter abonniert.</span><br><br>Vielen Dank und herzliche GrüÃe.<p>"); 1501 } 1502 } 1503 } 1504}); 1505 1506 1507/* QR-CODES ///////////////////////////////////////////////////////////////// */ 1508 1509jQuery(document).ready(function() { 1510 jQuery('.qr-code').each(function() { 1511 bookingCode = jQuery(this).attr("data-code"); 1512 jQuery(this).qrcode({ 1513 width: 72, 1514 height: 72, 1515 text : bookingCode 1516 }); 1517 }) 1518}); 1519 1520/* GDC Article Price ///////////////////////////////////////////////////////////////// */ 1521 1522jQuery(document).ready(function() { 1523 var currentPrice = jQuery('.article-variants input[type="radio"]:checked').data("price"); 1524 var currentName = jQuery('.article-variants input[type="radio"]:checked').val(); 1525 jQuery('#article-current-price .article-price').html(currentPrice); 1526 jQuery('#article-current-name').html(' ' + currentName); 1527 1528 jQuery('.article-variants input[type="radio"]').click(function() { 1529 var currentPrice = jQuery('.article-variants input[type="radio"]:checked').data("price"); 1530 var currentName = jQuery('.article-variants input[type="radio"]:checked').val(); 1531 jQuery('#article-current-price .article-price').html(currentPrice); 1532 jQuery('#article-current-name').html(' ' + currentName); 1533 1534 jQuery("a.article-order-email").each(function() { 1535 var articleName = jQuery('.do-detail.article h1').text(); 1536 var $this = $(this); 1537 var _href = $this.attr("href"); 1538 var _hrefClean = _href.replace(/\?.*$/g,""); 1539 $this.attr("href", _hrefClean + '?subject=Bestellung von â' + articleName + 'â&body=Ich möchte bitte den Artikel â' + articleName + 'â für ' + currentPrice + ' Euro bestellen.'); 1540 }); 1541 }); 1542 1543 jQuery("a.article-order-email").each(function() { 1544 var articleName = jQuery('.do-detail.article h1').text(); 1545 var $this = $(this); 1546 var _href = $this.attr("href"); 1547 $this.attr("href", _href + '?subject=Bestellung von â' + articleName + 'â&body=Ich möchte bitte den Artikel â' + articleName + 'â für ' + currentPrice + ' Euro bestellen.'); 1548 }); 1549}); 1550 1551/* SORTABLE ///////////////////////////////////////////////////////////////// */ 1552jQuery(document).ready(function(){ 1553 var context = jQuery("#context").val(); 1554 var trWidth = jQuery(".sortable-contact").width(); 1555 jQuery(".sortable-contact").css('--trwidth',trWidth); 1556 var countSortTR = jQuery(".sortable-contact tr").length -1; //first row header 1557 var countSortTD = jQuery(".sortable-contact td").length / countSortTR ; 1558 1559 jQuery(".sortable-contact").css('--trwidth',trWidth); 1560 // jQuery(":root").css('--countSortTD',countSortTD); // only jQuery 3.5.1 1561 if(countSortTR === 0) { 1562 countSortTR = 1; 1563 countSortTD = 7; 1564 } 1565 if(isNaN(countSortTD)) {countSortTD = 7;} 1566 if (context == 'POI') {countSortTD = 7;} 1567 1568 document.body.style.setProperty('--countSortTD',countSortTD); 1569}); 1570 1571$( function() { 1572 jQuery("#sortable-contact tbody").sortable({ 1573 placeholder: "ui-state-highlight" 1574 }); 1575}); 1576$( function() { 1577 jQuery(".sortable-contact tbody").sortable({ 1578 placeholder: "ui-state-highlight" 1579 }); 1580}); 1581 1582jQuery( function() { 1583 jQuery("#sortable").sortable(); 1584}); 1585jQuery( function() { 1586 jQuery(".sortable").sortable(); 1587}); 1588 1589// ----------------------------------------------------------------------------- 1590// show map search box 1591// ----------------------------------------------------------------------------- 1592jQuery('.map-search.show-search-box').click(function(event) { 1593 jQuery('.map-search-box:first-of-type').toggle(); 1594 jQuery('.map-search-box').toggle(); 1595 jQuery('.map-search-cancel').toggle(); 1596 jQuery('.map-search-search').toggle(); 1597 //Controller Plus/Minus on the map 1598 jQuery('.leaflet-control-zoom.leaflet-bar.leaflet-control').toggleClass('toggleclassControl'); 1599 jQuery('.map-filter').toggleClass('toggleclass'); 1600 event.stopPropagation(); 1601 event.stopImmediatePropagation(); 1602}); 1603 1604// ----------------------------------------------------------------------------- 1605// Start Search MAP 1606// ----------------------------------------------------------------------------- 1607jQuery(document).ready(function(){ 1608 1609 jQuery(".map-search-search").click(function(){ 1610 var elements = 'category-'; 1611 1612 //if no category was selected, it will be reset
1613 var count = jQuery('[id^='+elements+']:checked').length; 1614 if (count == 0) { 1615 jQuery(".map-search-cancel").triggerHandler("click"); 1616 return; 1617 } 1618 1619 //remove old Maps 1620 jQuery('#domapMulti').css({"display":"none"}); 1621 jQuery('#domapMultiNew').remove(); 1622 1623 //build new Map 1624 showmap = jQuery('.show-map'); 1625 domapMultiNew = jQuery('<div />') 1626 .attr({'id':'domapMultiNew'}); 1627 1628 jQuery("#domapMulti").after(domapMultiNew); 1629 1630 lat = jQuery('.gps-lat').val(); 1631 lng = jQuery('.gps-lng').val(); 1632 1633 zoom = jQuery('.zoom').val(); 1634 var zoom = (jQuery('.zoom').val() == '') ? 10 : jQuery('.zoom').val(); 1635 1636 if(lat != '') { 1637 var domapMultiNew = L.map('domapMultiNew', { 1638 center: new L.LatLng(lat,lng), 1639 zoom: zoom, 1640 scrollWheelZoom: false 1641 }); 1642 L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 1643 attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors', 1644 }).addTo(domapMultiNew); 1645 1646 jQuery('[id^='+elements+']:checked').each(function() { 1647 idCategory = jQuery(this).val(); 1648 var elementsClass = '.categoryclass-'+idCategory; 1649 jQuery(elementsClass).each(function() { 1650 // mapname = jQuery(elementsClass).find('input[name="gps-name"]').val(); 1651 id = jQuery(this).data('id'); 1652 mapname = jQuery('#gps-link-'+id).val(); 1653 street = jQuery('#gps-street-'+id).val(); 1654 houseNumber = jQuery('#gps-houseNumber-'+id).val(); 1655 postcode = jQuery('#gps-postcode-'+id).val(); 1656 city = jQuery('#gps-city-'+id).val(); 1657 lat = jQuery('#gps-lat-'+id).val(); 1658 lng = jQuery('#gps-lng-'+id).val(); 1659 if (typeof lat !== 'undefined') { 1660 marker = L.marker(new L.LatLng(lat,lng)).addTo(domapMultiNew); 1661 marker.bindPopup('<strong>'+mapname+'</strong><br/>'+street+' '+houseNumber+'<br/>'+postcode+' '+city).openPopup(); 1662 } 1663 }); 1664 }); 1665 1666 //new Map must toggleclass - Controller Plus/Minus on the map 1667 jQuery('#domapMultiNew .leaflet-control-zoom.leaflet-bar.leaflet-control').addClass('toggleclassControl'); 1668 1669 domapMultiNew.once('focus', function() { domapMultiNew.scrollWheelZoom.enable(); }); 1670 } else { 1671 jQuery('#domapMultiNew').remove(); 1672 } 1673 1674 //last Infobox closed 1675 jQuery(".leaflet-popup.leaflet-zoom-animated").last().addClass('mapboxNull'); 1676 1677 jQuery('.leaflet-marker-icon').click(function(event) { 1678 //last Infobox open 1679 jQuery(".leaflet-popup.leaflet-zoom-animated").last().removeClass('mapboxNull'); 1680 }); 1681 1682 }); 1683}); 1684 1685// ----------------------------------------------------------------------------- 1686// Clear Search MAP 1687// ----------------------------------------------------------------------------- 1688jQuery(document).ready(function(){ 1689 jQuery(".map-search-cancel").click(function(){ 1690 //Clear all Input Fields and Selected Fields 1691 var elements = 'category-'; 1692 jQuery('[id^='+elements+']:checked').removeAttr('checked'); 1693 //remove new Maps 1694 jQuery('#domapMulti').css({"display":"block"}); 1695 jQuery('#domapMultiNew').remove(); 1696 }); 1697}); 1698 1699// ----------------------------------------------------------------------------- 1700// domapMulti 1701// ----------------------------------------------------------------------------- 1702jQuery(document).ready(function() { 1703 if(jQuery('#domapMulti').length) { 1704 cookieOpenStreetMap = getCookie('Cookie_Consent_OpenStreetMap'); 1705 if(cookieOpenStreetMap == "on") { 1706 lat = jQuery('.gps-lat').val(); 1707 lng = jQuery('.gps-lng').val(); 1708 1709 zoom = jQuery('.zoom').val(); 1710 var zoom = (jQuery('.zoom').val() == '') ? 10 : jQuery('.zoom').val(); 1711 1712 if(lat != '') { 1713 var domapMulti = L.map('domapMulti', { 1714 center: new L.LatLng(lat,lng), 1715 zoom: zoom, 1716 scrollWheelZoom: false 1717 }); 1718 L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 1719 attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors', 1720 }).addTo(domapMulti); 1721 1722 jQuery(".mapPoints").each(function() { 1723 id = jQuery(this).data('id'); 1724 mapname = jQuery('#gps-link-'+id).val();
1725 street = jQuery('#gps-street-'+id).val(); 1726 houseNumber = jQuery('#gps-houseNumber-'+id).val(); 1727 postcode = jQuery('#gps-postcode-'+id).val(); 1728 city = jQuery('#gps-city-'+id).val(); 1729 lat = jQuery('#gps-lat-'+id).val(); 1730 lng = jQuery('#gps-lng-'+id).val(); 1731 marker = L.marker(new L.LatLng(lat,lng)).addTo(domapMulti); 1732 marker.bindPopup('<strong>'+mapname+'</strong><br/>'+street+' '+houseNumber+'<br/>'+postcode+' '+city).openPopup(); 1733 }); 1734 1735 domapMulti.once('focus', function() { domapMulti.scrollWheelZoom.enable(); }); 1736 } else { 1737 jQuery('#domapMulti').remove(); 1738 } 1739 //Infobox closed 1740 jQuery(".leaflet-popup.leaflet-zoom-animated").last().addClass('mapboxNull'); 1741 1742 //jQuery(".map-search-search").triggerHandler("click"); 1743 1744 //Button 'Anwenden' activate - Start Default value 1745 //if no category was selected, it will be reset 1746 var elements = 'category-'; 1747 var count = jQuery('[id^='+elements+']:checked').length; 1748 if (count > 0) { 1749 jQuery(".map-search-search").triggerHandler("click"); 1750 jQuery('.leaflet-control-zoom.leaflet-bar.leaflet-control').toggleClass('toggleclassControl'); 1751 jQuery(".map-search.show-search-box").triggerHandler("click"); 1752 } 1753 1754 //if mapFilterOffOn 1755 if (jQuery('.mapFilterOffOn').val() == "true" && count == 0) { 1756 jQuery(".map-search.show-search-box").triggerHandler("click"); 1757 } 1758 } 1759 } 1760 jQuery('.leaflet-marker-icon').click(function(event) { 1761 //Infobox open 1762 jQuery(".leaflet-popup.leaflet-zoom-animated").last().removeClass('mapboxNull'); 1763 }); 1764 1765}); 1766 1767 1768// ----------------------------------------------------------------------------- 1769// RENTAL 1770// ----------------------------------------------------------------------------- 1771jQuery(document).ready(function(){ 1772 1773 // ----------------------------------------------------------------------------- 1774 // Clear Search Rental 1775 // ----------------------------------------------------------------------------- 1776 jQuery(".rental-search-cancel").click(function(){ 1777 //Clear all Input Fields and Selected Fields 1778 var elements = 'category-'; 1779 jQuery('[id^='+elements+']:checked').removeAttr('checked'); 1780 var elements = 'poi-attribute-'; 1781 jQuery('[id^='+elements+']:checked').removeAttr('checked'); 1782 var elements = 'poi-city-attribute-'; 1783 jQuery('[id^='+elements+']:checked').removeAttr('checked'); 1784 var elements = 'rental-attribute-'; 1785 jQuery('[id^='+elements+']:checked').removeAttr('checked'); 1786 var elements = 'poi-attribute-stringValue-'; 1787 jQuery('[id^='+elements+']').val(''); 1788 var elements = 'rental-attribute-stringValue-'; 1789 jQuery('[id^='+elements+']').val(''); 1790 //jQuery('#startdate').val(''); 1791 //jQuery('#enddate').val(''); 1792 //jQuery('#rooms').val(''); 1793 }); 1794 1795 // ----------------------------------------------------------------------------- 1796 // Start Search Rental automatic start 1797 // ----------------------------------------------------------------------------- 1798 context = jQuery('#context').val(); 1799 if (context == "Rental") { 1800 jQuery('.container-pages').addClass("container-pages-rental"); 1801 1802 //Function startRentalSearch(); funktioniert nicht 1803 if (jQuery('#startdate').val() != '') { 1804 var context = jQuery('#context').val(); 1805 var categories = jQuery('#categories').val(); 1806 var attributeIDs = jQuery('input[name="attributeIDs"]:last').val(); 1807 var dateFormat = jQuery('#dateFormat').val(); 1808 var dateDesign = jQuery('#dateDesign').val(); 1809 var teaserImage = jQuery('#teaserImage').val(); 1810 var allEvents = jQuery('#allEvents').val(); 1811 var categoriesIntersection = jQuery('#categoriesIntersection').val(); 1812 var uri = jQuery('#uri').val(); 1813 var getsize = jQuery('input[name="getsize"]:last').val(); 1814 var firstPageNumber = jQuery(this).val(); 1815 var nextPage = parseFloat(firstPageNumber) + 1; 1816 var startDate = jQuery('#startdate').val(); 1817 var endDate = jQuery('#enddate').val(); 1818 var rooms = jQuery('#rooms').val(); 1819 var numOfPeople = jQuery('#numOfPeople').val(); 1820 var poiElements = 'poi-attribute'; 1821 var rentalElements = 'rental-attribute'; 1822 var parentattributeIDs = ""; 1823 var attributeIDs = ""; 1824 var valueString = ""; 1825 var sortPrice = jQuery('input[name="sort-price"]:checked').val(); 1826 1827 //Find all Attribute
1828 jQuery('[id^='+poiElements+']:checked').each(function() { 1829 id = jQuery(this).val(); 1830 parentattributeIDs = parentattributeIDs + jQuery(this).val() + ','; 1831 if (typeof jQuery('#poi-attribute-stringValue-'+id).val() !== 'undefined') { 1832 valueString = valueString + id + '-' + jQuery('#poi-attribute-stringValue-'+id).val() + ','; 1833 } 1834 }); 1835 jQuery('[id^='+rentalElements+']:checked').each(function() { 1836 id = jQuery(this).val(); 1837 attributeIDs = attributeIDs + jQuery(this).val() + ','; 1838 if (typeof jQuery('#rental-attribute-stringValue-'+id).val() !== 'undefined') { 1839 valueString = valueString + id + '-' + jQuery('#rental-attribute-stringValue-'+id).val() + ','; 1840 } 1841 }); 1842 jQuery('.searchinfotext').remove(); 1843 //alert('hier-auto-start'); 1844 jQuery.ajax({ 1845 type:'POST', 1846 dataType:'text', 1847 url:'https://'+domain+'/dataobjects/load', 1848 data:{nextPage:nextPage,context:context,categoriesIntersection:categoriesIntersection,categories:categories,attributeIDs:attributeIDs,parentattributeIDs:parentattributeIDs,uri:uri,getsize:getsize,dateFormat:dateFormat,dateDesign:dateDesign,teaserImage:teaserImage,allEvents:allEvents, 1849 startDate:startDate,endDate:endDate,rooms:rooms,valueString:valueString,sortPrice:sortPrice,numOfPeople:numOfPeople }, 1850 success:function(response){ 1851 //old Objectes display none - new Objects append 1852 jQuery('.object-list div').addClass('grid-search-hidden'); 1853 jQuery('.object-list').append(response); 1854 }, 1855 error:function(error){ 1856 1857 } 1858 }); 1859 } 1860 } 1861 1862 // ----------------------------------------------------------------------------- 1863 // Start Search Rental - Search and Filter 1864 // ----------------------------------------------------------------------------- 1865 1866 //jQuery(".start-rental-search, .rental-search-search, .rental-search-cancel").click(function(event){ 1867 jQuery(".start-rental-search, .rental-search-cancel, .search-attribute-box input:checkbox, .search-attribute-box input:radio").click(function(event){ 1868 if(jQuery(this).hasClass('rental-search-cancel')) { 1869 error = false; 1870 } else { 1871 error = checkRentalSearch(); 1872 } 1873 /* var headerHeight = jQuery('.header-wrap').height(); 1874 $('html, body').animate({ 1875 scrollTop: jQuery('.object-list').offset().top - headerHeight - 100 1876 }, 750, 'easeInOutQuart'); */ 1877 1878 if (error != false) { 1879 jQuery('.object-list').first().prepend('<div class="searchinfotext">'+ error+'</div> ') ; 1880 } else { 1881 jQuery('.rental-load').addClass('loading'); 1882 var context = 'Rental'; 1883 var categories = jQuery('#categories').val(); 1884 var attributeIDs = jQuery('input[name="attributeIDs"]:last').val(); 1885 var dateFormat = jQuery('#dateFormat').val(); 1886 var dateDesign = jQuery('#dateDesign').val(); 1887 var teaserImage = jQuery('#teaserImage').val(); 1888 var allEvents = jQuery('#allEvents').val(); 1889 var categoriesIntersection = jQuery('#categoriesIntersection').val(); 1890 var uri = jQuery('#uri').val(); 1891 var getsize = jQuery('input[name="getsize"]:last').val(); 1892 var firstPageNumber = jQuery(this).val(); 1893 var nextPage = parseFloat(firstPageNumber) + 1; 1894 var startDate = jQuery('#startdate').val(); 1895 var endDate = jQuery('#enddate').val(); 1896 var rooms = jQuery('#rooms').val(); 1897 var numOfPeople = jQuery('#numOfPeople').val(); 1898 var categoryElements = 'category-attribute'; 1899 var poiElements = 'poi-attribute'; 1900 var poiCityElements = 'poi-city-attribute'; 1901 var rentalElements = 'rental-attribute'; 1902 var parentattributeIDs = ""; 1903 var attributeIDs = ""; 1904 var orattributeIDs = ""; 1905 var orparentattributeIDs = ""; 1906 var valueString = ""; 1907 var sortPrice = jQuery('input[name="sort-price"]:checked').val(); 1908 1909 //Find all Attribute 1910 jQuery('[id^='+categoryElements+']:checked').each(function() { 1911 id = jQuery(this).val(); 1912 orattributeIDs = orattributeIDs + jQuery(this).val() + ','; 1913 });
1914 jQuery('[id^='+poiElements+']:checked').each(function() { 1915 id = jQuery(this).val(); 1916 parentattributeIDs = parentattributeIDs + jQuery(this).val() + ','; 1917 if (typeof jQuery('#poi-attribute-stringValue-'+id).val() !== 'undefined') { 1918 valueString = valueString + id + '-' + jQuery('#poi-attribute-stringValue-'+id).val() + ','; 1919 } 1920 }); 1921 jQuery('[id^='+poiCityElements+']:checked').each(function() { 1922 id = jQuery(this).val(); 1923 orparentattributeIDs = orparentattributeIDs + jQuery(this).val() + ','; 1924 }); 1925 jQuery('[id^='+rentalElements+']:checked').each(function() { 1926 id = jQuery(this).val(); 1927 attributeIDs = attributeIDs + jQuery(this).val() + ','; 1928 if (typeof jQuery('#rental-attribute-stringValue-'+id).val() !== 'undefined') { 1929 valueString = valueString + id + '-' + jQuery('#rental-attribute-stringValue-'+id).val() + ','; 1930 } 1931 }); 1932 jQuery('.searchinfotext').remove(); 1933 //alert('hier-frontend'); 1934 jQuery.ajax({ 1935 type:'POST', 1936 dataType:'text', 1937 url:'https://'+domain+'/dataobjects/load', 1938 data:{nextPage:nextPage,context:context,categoriesIntersection:categoriesIntersection,categories:categories, 1939 attributeIDs:attributeIDs,parentattributeIDs:parentattributeIDs,orattributeIDs:orattributeIDs,orparentattributeIDs:orparentattributeIDs, 1940 uri:uri,getsize:getsize,dateFormat:dateFormat,dateDesign:dateDesign,teaserImage:teaserImage,allEvents:allEvents, 1941 startDate:startDate,endDate:endDate,rooms:rooms,valueString:valueString,sortPrice:sortPrice,numOfPeople:numOfPeople }, 1942 success:function(response){ 1943 //old Objectes display none - new Objects append 1944 //jQuery('.object-list div').addClass('grid-search-hidden'); 1945 jQuery('.object-list').html(response); 1946 localStorage.setItem("rentalstartdate", startDate); 1947 localStorage.setItem("rentalenddate", endDate); 1948 1949 setTimeout(function() { 1950 jQuery('.rental-load').removeClass('loading'); 1951 }, 500); 1952 }, 1953 error:function(error){ 1954 1955 } 1956 }); 1957 1958 } // end Check is ok 1959 1960 1961 1962 }); 1963 1964 // ----------------------------------------------------------------------------- 1965 // Rental Filter Navigation 1966 // ----------------------------------------------------------------------------- 1967 1968 jQuery('.rental-search-title').click(function() { 1969 if(jQuery(this).hasClass('filter-visible')) { 1970 jQuery(this).next('.grid-container-categories').hide(); 1971 jQuery(this).removeClass('filter-visible'); 1972 } else { 1973 jQuery(this).next('.grid-container-categories').show(); 1974 jQuery(this).addClass('filter-visible'); 1975 } 1976 }); 1977 1978 // ----------------------------------------------------------------------------- 1979 // Rental Bookmarks 1980 // ----------------------------------------------------------------------------- 1981 1982 jQuery(document).ready(function() { 1983 var currentBookmarks = getCookie('Rental_Bookmarks'); 1984 if (currentBookmarks) { 1985 var currentBookmarksVal = getCookie('Rental_Bookmarks'); 1986 var arrayBookmarks = currentBookmarksVal.split(','); 1987 $.each(arrayBookmarks,function(i){ 1988 jQuery('.rental-booking-bookmark').each(function() { 1989 if (jQuery(this).val() == arrayBookmarks[i]) { 1990 jQuery(this).hide(); 1991 jQuery(this).next('.rental-booking-bookmark-delete').show(); 1992 } 1993 }); 1994 countBookmarks = i++; 1995 }); 1996 jQuery('.my-bookmarks span').html(countBookmarks); 1997 jQuery('.modal.rental-bookmarks .modal-content > h4 span').html(countBookmarks); 1998 } 1999 }); 2000 2001 jQuery('.rental-booking-bookmark').click(function() { 2002 var currentBookmarks = getCookie('Rental_Bookmarks'); 2003 var rentalId = jQuery(this).val(); 2004 var date = new Date(); 2005 var year = date.getFullYear(); 2006 var month = date.getMonth(); 2007 var day = date.getDate(); 2008 var expires = new Date(year + 2, month, day); 2009 if (!currentBookmarks) { 2010 document.cookie = "Rental_Bookmarks=" + rentalId + ',' + "; path=/; expires=" + expires; 2011 } else { 2012 var newBookmarks = currentBookmarks + rentalId + ','; 2013 document.cookie = "Rental_Bookmarks=" + newBookmarks + "; path=/; expires=" + expires; 2014 } 2015 jQuery(this).hide(); 2016 jQuery(this).next('.rental-booking-bookmark-delete').show(); 2017 var currentBookmarksVal = getCookie('Rental_Bookmarks'); 2018 var arrayBookmarks = currentBookmarksVal.split(','); 2019 $.each(arrayBookmarks,function(i){ 2020 countBookmarks = i++; 2021 }); 2022 jQuery('.my-bookmarks span').html(countBookmarks); 2023 jQuery('.modal.rental-bookmarks .modal-content > h4 span').html(countBookmarks); 2024 }); 2025 2026 jQuery('.rental-booking-bookmark-delete').click(function() { 2027 var currentBookmarks = getCookie('Rental_Bookmarks'); 2028 var rentalId = jQuery(this).val(); 2029 var date = new Date(); 2030 var year = date.getFullYear();
2031 var month = date.getMonth(); 2032 var day = date.getDate(); 2033 var expires = new Date(year + 2, month, day); 2034 var removeString = rentalId + ','; 2035 var updatedBookmarks = currentBookmarks.replace(removeString,''); 2036 document.cookie = "Rental_Bookmarks=" + updatedBookmarks + "; path=/; expires=" + expires; 2037 jQuery(this).hide(); 2038 jQuery(this).prev('.rental-booking-bookmark').show(); 2039 var currentBookmarksVal = getCookie('Rental_Bookmarks'); 2040 var arrayBookmarks = currentBookmarksVal.split(','); 2041 $.each(arrayBookmarks,function(i){ 2042 countBookmarks = i++; 2043 }); 2044 jQuery('.my-bookmarks span').html(countBookmarks); 2045 jQuery('.modal.rental-bookmarks .modal-content > h4 span').html(countBookmarks); 2046 }); 2047 2048 jQuery('.my-bookmarks').click(function(){ 2049 var currentUri = window.location.href; 2050 jQuery('body').addClass('modal-open'); 2051 jQuery('.modal.rental-bookmarks').show(0, function() { 2052 var windowHeight = jQuery(window).height(); 2053 var modalHeight = jQuery(this).closest('.do-bookingurl').find('.modal .modal-box').height(); 2054 if(modalHeight > windowHeight) { 2055 jQuery(this).addClass("maxheight"); 2056 } 2057 }); 2058 jQuery.ajax({ 2059 type:'POST', 2060 dataType:'text', 2061 url:'https://' + domain + '/rental/bookmarks', 2062 data:{currentUri:currentUri}, 2063 success:function(data){ 2064 jQuery('.modal.rental-bookmarks .modal-reference').html(data); 2065 jQuery('.modal.rental-bookmarks .rental-booking-bookmark-delete').click(function() { 2066 var currentBookmarks = getCookie('Rental_Bookmarks'); 2067 var rentalId = jQuery(this).val(); 2068 var date = new Date(); 2069 var year = date.getFullYear(); 2070 var month = date.getMonth(); 2071 var day = date.getDate(); 2072 var expires = new Date(year + 2, month, day); 2073 var removeString = rentalId + ','; 2074 var updatedBookmarks = currentBookmarks.replace(removeString,''); 2075 document.cookie = "Rental_Bookmarks=" + updatedBookmarks + "; path=/; expires=" + expires; 2076 jQuery(this).parents('.rental-frontend').remove(); 2077 jQuery('.rental-booking-bookmark-delete').each(function() { 2078 if (jQuery(this).val() == rentalId) { 2079 jQuery(this).hide(); 2080 jQuery(this).prev('.rental-booking-bookmark').show(); 2081 } 2082 }); 2083 var currentBookmarksVal = getCookie('Rental_Bookmarks'); 2084 var arrayBookmarks = currentBookmarksVal.split(','); 2085 $.each(arrayBookmarks,function(i){ 2086 countBookmarks = i++; 2087 }); 2088 jQuery('.my-bookmarks span').html(countBookmarks); 2089 jQuery('.modal.rental-bookmarks .modal-content > h4 span').html(countBookmarks); 2090 }); 2091 }, 2092 error:function(error){ 2093 } 2094 }); 2095 }); 2096 2097 jQuery('.bookmarks-print-header button').click(function() { 2098 window.print(); 2099 }) 2100 2101 // ----------------------------------------------------------------------------- 2102 // Rental Open Booking Form 2103 // ----------------------------------------------------------------------------- 2104 2105 jQuery('.rental-booking-link').click(function() { 2106 var modalID = jQuery(this).val(); 2107 var modal = '.modal-' + modalID; 2108 2109 var getStartDate = localStorage.getItem("rentalstartdate"); 2110 var getEndDate = localStorage.getItem("rentalenddate"); 2111 2112 jQuery(modal).find('input[name="date-start"]').val(getStartDate); 2113 jQuery(modal).find('input[name="date-end"]').val(getEndDate); 2114 2115 jQuery('body').addClass('modal-open'); 2116 2117 jQuery(modal).show(0, function() { 2118 var windowHeight = jQuery(window).height(); 2119 var modalHeight = jQuery(this).closest('.do-bookingurl').find('.modal .modal-box').height(); 2120 if(modalHeight > windowHeight) { 2121 jQuery(this).addClass("maxheight"); 2122 } 2123 }); 2124 2125 jQuery(modal + " button[type='submit']").click(function() { 2126 jQuery(modal + " input[required]").each(function() { 2127 if ($(this).val() == "") { 2128 $(this).css("border", "1px solid red"); 2129 $(this).prev('label').css("color", "red"); 2130 } else if ($(this).is(":invalid")) { 2131 $(this).css("border", "1px solid red"); 2132 $(this).prev('label').css("color", "red"); 2133 } 2134 if ($(modal + " .policy-check input").val() == "") { 2135 $(this).closest('label').css("color", "red"); 2136 } 2137 }); 2138 }); 2139 2140 jQuery(modal + " input[required]").each(function() { 2141 if ($(this).val() !== "") { 2142 $(this).css("border", "1px solid green"); 2143 $(this).prev('label').css("color", "green"); 2144 } 2145 }); 2146 jQuery(modal + " input[required]").change(function() { 2147 if ($(this).val() !== "") { 2148 $(this).css("border", "1px solid green"); 2149 $(this).prev('label').css("color", "green"); 2150 } else if ($(this).val() == "") { 2151 $(this).css("border", "1px solid red"); 2152 $(this).prev('label').css("color", "red"); 2153 } 2154 if ($(this).is(":invalid")) { 2155 $(this).css("border", "1px solid red"); 2156 $(this).prev('label').css("color", "red"); 2157 } 2158 if ($(modal + " .policy-check input").is(":checked")) { 2159 $(this).closest('label').css("color", "green"); 2160 } else { 2161 $(this).closest('label').css("color", "red"); 2162 } 2163 }); 2164 2165 }); 2166 2167 2168 2169 jQuery(document).ready(function() { 2170 if(getUrlParameter('bookingrequestsent')) { 2171 jQuery("body").addClass("modal-open"); 2172 jQuery(".modal.rental-booking-message").show();
2173 jQuery(".modal.rental-booking-message .modal-reference").addClass('request-succeeded').append( 2174 "<h5>Ihre Buchungsanfrage wurde erfolgreich versendet!</h5><p>Parallel erhalten Sie eine E-Mail mit der Zusammenfassung Ihrer Anfrage. Der Anbieter oder die Anbieterin wird sich zeitnah mit Ihnen in Verbindung setzen.</p>" 2175 ); 2176 } else if(getUrlParameter('bookingrequestfailed')) { 2177 jQuery("body").addClass("modal-open"); 2178 jQuery(".modal.rental-booking-message").show(); 2179 jQuery(".modal.rental-booking-message .modal-reference").addClass('request-failed').append( 2180 "<h5>Leider ist ein Fehler aufgetreten.</h5><p>Bitte versuchen Sie es noch einmal oder wenden Sie sich direkt an den Anbieter oder die Anbieterin.</p>" 2181 ); 2182 } 2183 }); 2184 2185 // ----------------------------------------------------------------------------- 2186 // Check Search Rental - Search and Filter 2187 // - Requierd Inputs: startdate, enddate,rooms, 1x Housecategory 2188 // - startdate < enddate 2189 // - startdate today or future 2190 // ----------------------------------------------------------------------------- 2191 function checkRentalSearch(thdate) { 2192 error = false; 2193 jQuery('.searchinfotext').remove(); 2194 2195 if (jQuery('#rooms').val() == '' ) { 2196 jQuery('#rooms').focus(); 2197 error = true; 2198 } 2199 if (jQuery('#numOfPeople').val() == '' ) { 2200 jQuery('#numOfPeople').focus(); 2201 error = true; 2202 } 2203 if (jQuery('#enddate').val() == '' ) { 2204 jQuery('#enddate').focus(); 2205 error = true; 2206 } 2207 if (jQuery('#startdate').val() == '' ) { 2208 jQuery('#startdate').focus(); 2209 error = true; 2210 } 2211 if (error == true) { 2212 error = '<h4>Bitte geben Sie Ihre An- und Abreise sowie die gewünschte Zimmeranzahl an.</h4>'; 2213 } 2214 2215 if (error == false) { 2216 date = new Date(); 2217 year = date.getFullYear(); 2218 month = date.getMonth()+1; 2219 dt = date.getDate(); 2220 if (dt < 10) { dt = '0' + dt; }
2221 if (month < 10) { month = '0' + month; } 2222 today = year +'-' + month + '-'+ dt; 2223 dateToday = new Date(today); 2224 dateStart = new Date(jQuery('#startdate').val()); 2225 dateEnd = new Date(jQuery('#enddate').val()); 2226 if (dateToday > dateStart) { 2227 jQuery('#startdate').focus(); 2228 error = '<h4>Anreise Datum kann nicht in der Vergangenheit liegen.</h4><p>Bitte geben Sie das Anreise Datum erneut ein.</p>'; 2229 } 2230 if (dateEnd <= dateStart ) { 2231 jQuery('#enddate').focus(); 2232 error = '<h4>Abreise Datum kann nicht vor oder gleich dem Anreise Datum sein.</h4><p>Bitte geben Sie das Abreise Datum erneut ein.</p>'; 2233 } 2234 } 2235 2236 /* if (error == false) { 2237 var elements = 'category-attribute-'; 2238 countCategories = jQuery('[id^='+elements+']').length; 2239 countCategory = jQuery('[id^='+elements+']:checked').length; 2240 if (countCategory == 0 && countCategories > 0) { 2241 error = 'Es muss mindestens eine Haus-Kategorie angegeben werden.'; 2242 } 2243 } */ 2244 2245 2246 return(error); 2247 } 2248 2249 jQuery(".search-dates #startdate").click(function() { 2250 if (jQuery(".search-rooms #rooms").val() == '') { 2251 jQuery(".search-rooms #rooms").val(1); 2252 } 2253 if (jQuery(".search-rooms #numOfPeople").val() == '') { 2254 jQuery(".search-rooms #numOfPeople").val(1); 2255 } 2256 }); 2257 2258}); 2259 2260// ----------------------------------------------------------------------------- 2261// 1. set alternative texts for links in longDescription 2262// 2. Hidden Current Month befor Calendar 2263// ----------------------------------------------------------------------------- 2264jQuery(document).ready(function(){ 2265 $('.do-longdesc a').each(function() { 2266 var title = $(this).text(); 2267 $(this).attr({'title':title}); 2268 }); 2269 2270 checkMonthCalendar(); 2271 jQuery(".fc-next-button, .fc-prev-button, .fc-today-button").click(function() { 2272 checkMonthCalendar(); 2273 }); 2274 2275}); 2276 2277// ----------------------------------------------------------------------------- 2278// filter Search Result 2279// ----------------------------------------------------------------------------- 2280jQuery(document).ready(function(){ 2281 jQuery(".nodesearch-result > .row").each(function(){ 2282 var title = jQuery(this).find('.search-result-title').text().toLowerCase(); 2283 2284 jQuery(".nodesearch-result .row ").sort(sort_li).appendTo('.nodesearch-result '); 2285 function sort_li(a, b) { 2286 return (jQuery(b).data('sort')) < (jQuery(a).data('sort')) ? 1 : -1; 2287 } 2288 }); 2289}); 2290 2291// ----------------------------------------------------------------------------- 2292// Filter Dates in Events 2293// ----------------------------------------------------------------------------- 2294var thdate = jQuery('.table-dates-dc .thdate'), inverse = false; 2295 2296thdate.click(function() { 2297 thdate = $(this) 2298 jQuery('.show-details-dates').addClass('sortedDates');
2299 jQuery('.show-details-dates').removeClass('click-details'); 2300 jQuery('.tr-show-details-dates').css({"display":"none"}); 2301 sortTableDate(thdate); 2302}); 2303 2304function sortTableDate(thdate) { 2305 var header = thdate, index = header.index(); 2306 jQuery('.report-table .thdate').removeClass('sorted'); 2307 jQuery(this).addClass('sorted'); 2308 header.closest('table').find('td').filter(function() { 2309 return $(this).index() === index; 2310 }).sortElements(function(a, b){ 2311 a = $(a).text(); 2312 b = $(b).text(); 2313 a = a.toLowerCase(); 2314 b = b.toLowerCase(); 2315 a = a.replace(":",""); 2316 b = b.replace(":",""); 2317 2318 // Sort Date and Time 2319 if(a.includes(":") || b.includes(":") ) { 2320 n = ""; 2321 a = n.concat(a.substring(6,10),a.substring(3,5),a.substring(0,2),a.substring(11,13),a.substring(14,16)); 2322 b = n.concat(b.substring(6,10),a.substring(3,5),b.substring(0,2),b.substring(11,13),b.substring(14,16)); 2323 } 2324 2325 return ( 2326 isNaN(a) || isNaN(b) ? a > b : +a > +b 2327 ) ? inverse ? -1 : 1 : inverse ? 1 : -1; 2328 }, function() { 2329 return this.parentNode; 2330 }); 2331 inverse = !inverse; 2332} 2333 2334function checkMonthCalendar() { 2335 const monthNames = ["Januar", "Februar", "März", "April", "Mai", "Juni", 2336 "Juli", "August", "September", "Oktober", "November", "Dezember" 2337 ]; 2338 var d = new Date(); 2339 var thismonth = monthNames[d.getMonth()] + ' ' + d.getFullYear(); 2340 var showmonth = jQuery('.fc-toolbar-title').text(); 2341 2342 if (showmonth == thismonth) { 2343 jQuery('.fc-prev-button .fc-icon').css({"display":"none"}); 2344 } else { 2345 jQuery('.fc-prev-button .fc-icon').css({"display":"block"}); 2346 } 2347 2348} 2349 2350// ----------------------------------------------------------------------------- 2351// show search box 2352// ----------------------------------------------------------------------------- 2353jQuery('.show-search-box').click(function(event) { 2354 jQuery('.search-box:first-of-type').toggle(); 2355 jQuery('.search-box').toggle(); 2356 jQuery('.gdc-search-cancel').toggle(); 2357 jQuery('.gdc-search-search').toggle(); 2358 aria = jQuery('.show-search-box').attr('aria-expanded'); 2359 2360 //Barrierefreiheit 2361 if (aria == 'false') { jQuery('.show-search-box').attr('aria-expanded','true'); } 2362 if (aria == 'true') { jQuery('.show-search-box').attr('aria-expanded','false');} 2363 event.stopPropagation(); 2364 event.stopImmediatePropagation(); 2365}); 2366 2367// ----------------------------------------------------------------------------- 2368// Start Search GDC 2369// ----------------------------------------------------------------------------- 2370jQuery(document).ready(function(){ 2371 domain = window.location.hostname; 2372 2373 //Filter function is visible by default 2374 //jQuery(".gdc-filter .show-search-box").triggerHandler("click"); 2375 2376 jQuery(".gdc-search-search, .gdc-search-button").click(function(){ 2377 jQuery('.lds-ring').removeClass('hidden'); 2378 var context = jQuery('#context').val(); 2379 var categories = jQuery('#categories').val(); 2380 var attributeIDs = jQuery('input[name="attributeIDs"]:last').val(); 2381 var dateFormat = jQuery('#dateFormat').val(); 2382 var dateDesign = jQuery('#dateDesign').val(); 2383 var teaserImage = jQuery('#teaserImage').val(); 2384 var allEvents = jQuery('#allEvents').val(); 2385 var categoriesIntersection = jQuery('#categoriesIntersection').val(); 2386 var uri = jQuery('#uri').val(); 2387 var getsize = 99999; 2388 //var getsize = jQuery('input[name="getsize"]:last').val(); 2389 var nextPage = 0; 2390 jQuery(this).val(nextPage); 2391 2392 var optionSelected = ""; 2393 var startdate = ""; 2394 var enddate = ""; 2395 var elements = 'category-'; 2396 /* jQuery("#categoriesBox option:selected").each(function() { 2397 optionSelected = optionSelected + jQuery(this).val() + ','; 2398 }); */ 2399 jQuery('[id^='+elements+']:checked').each(function() { 2400 optionSelected = optionSelected + jQuery(this).val() + ','; 2401 }); 2402 2403 // Remove last Komma in the optionSelected String 2404 if (optionSelected != "") { 2405 categories = optionSelected.substring(0,(optionSelected.lastIndexOf(","))); 2406 } 2407 2408 var freetext = jQuery('#freetext').val(); 2409 var startdate = jQuery('#startdate').val(); 2410 var enddate = jQuery('#enddate').val(); 2411 var showGender = jQuery('#showGender').val(); 2412 var showTitle = jQuery('#showTitle').val(); 2413 var showFirstName = jQuery('#showFirstName').val(); 2414 2415 2416 jQuery.ajax({ 2417 type:'POST', 2418 dataType:'text', 2419 url:'https://'+domain+'/dataobjects/search', 2420 data:{search:true,nextPage:nextPage,context:context,categoriesIntersection:categoriesIntersection, 2421 categories:categories,freetext:freetext,startdate:startdate,enddate:enddate, 2422 attributeIDs:attributeIDs,uri:uri,getsize:getsize,dateFormat:dateFormat,dateDesign:dateDesign, 2423 teaserImage:teaserImage,allEvents:allEvents,showGender:showGender,showTitle:showTitle,showFirstName:showFirstName}, 2424 success:function(response){ 2425 // remove all the old GDC objects 2426 var clear = clearGDCSearchInput(context); 2427 // add new elements, hidden button "mehr laden" and "Suche/Filter" 2428 jQuery('.gdc-list').append(response); 2429 jQuery('.lds-ring').addClass('hidden'); 2430 jQuery(".container-pages").addClass('gdc-search-hidden'); 2431 jQuery('.gdc-search').addClass('gdc-search-hidden'); 2432 jQuery('.gdc-search:first-of-type').removeClass('gdc-search-hidden'); 2433 jQuery('.search-box-p').addClass('gdc-search-hidden'); 2434 jQuery('.search-box-p:first-of-type').removeClass('gdc-search-hidden'); 2435
2436 // Scroll to Result Row 2437 if (jQuery('.searchResult p').text().indexOf('kein') < 0) { 2438 jQuery('html, body').animate({ scrollTop: $('.searchResult').offset().top - 200 }, 'slow'); 2439 jQuery('.searchResult').focus(); 2440 } 2441 2442 if (context == "Service") { 2443 jQuery('.filter-wrap').addClass('gdc-search-hidden'); 2444 } 2445 2446 }, 2447 error:function(error){ 2448 alert('Fehler Suche.'); 2449 } 2450 }); 2451 }); 2452}); 2453 2454// is freetext enter -> start search 2455jQuery("#gdc-list-search #freetext").keydown(e => { 2456 if (e.which === 13) { 2457 jQuery(".gdc-search-search").triggerHandler("click"); 2458 e.preventDefault(); 2459 } 2460}); 2461// go back GDC Detail to List -> filter select 2462jQuery(document).ready(function(){ 2463 if (jQuery("#freetext").val() != '' || jQuery('[id^=category-]:checked').length > 0) { 2464 jQuery(".gdc-search.show-search-box").triggerHandler("click"); 2465 jQuery(".gdc-search-search").triggerHandler("click"); 2466 jQuery(".rental-search-search").triggerHandler("click"); 2467 jQuery(".rental-search.show-search-box").triggerHandler("click"); 2468 } 2469}); 2470 2471// ----------------------------------------------------------------------------- 2472// Clear Search GDC 2473// ----------------------------------------------------------------------------- 2474jQuery(document).ready(function(){ 2475 domain = window.location.hostname; 2476 2477 jQuery(".gdc-search-cancel").click(function(){ 2478 jQuery('.lds-ring').removeClass('hidden'); 2479 var context = jQuery('#context').val(); 2480 var categories = jQuery('#categories').val(); 2481 var attributeIDs = jQuery('input[name="attributeIDs"]:last').val(); 2482 var dateFormat = jQuery('#dateFormat').val(); 2483 var dateDesign = jQuery('#dateDesign').val(); 2484 var teaserImage = jQuery('#teaserImage').val(); 2485 var allEvents = jQuery('#allEvents').val(); 2486 var showAll = jQuery('#showAll').val(); 2487 var categoriesIntersection = jQuery('#categoriesIntersection').val(); 2488 var calendarSheet = jQuery('#calendarSheet').val(); 2489 var uri = jQuery('#uri').val(); 2490 var getsize = jQuery('#getsize').val(); 2491 var getsize = showAll ? 9999999 : jQuery('#getsize').val(); 2492 var nextPage = 0; 2493 2494 jQuery(this).val(nextPage); 2495 2496 // Clear all Input Fields and Selected Fields 2497 //jQuery("#categoriesBox option:selected").removeAttr("selected"); 2498 var elements = 'category-'; 2499 jQuery('[id^='+elements+']:checked').removeAttr('checked'); 2500 jQuery('#freetext').val(''); 2501 jQuery('#startdate').val(''); 2502 jQuery('#enddate').val(''); 2503 2504 if (context == "Service") { 2505 var clear = clearGDCSearchInput('searchService'); 2506 jQuery('.report-table-service:first-of-type').removeClass('gdc-search-hidden'); 2507 jQuery('.report-table-service:nth-child(2)').remove(); 2508 jQuery('.lds-ring').addClass('hidden'); 2509 } else { 2510 jQuery.ajax({ 2511 type:'POST', 2512 dataType:'text', 2513 url:'https://'+domain+'/dataobjects/search', 2514 data:{search:false,nextPage:nextPage,context:context,categoriesIntersection:categoriesIntersection, 2515 categories:categories,attributeIDs:attributeIDs,uri:uri,getsize:getsize,dateFormat:dateFormat,dateDesign:dateDesign, 2516 teaserImage:teaserImage,allEvents:allEvents,calendarSheet:calendarSheet}, 2517 success:function(response){ 2518 2519 // remove all the old GDC objects 2520 var clear = clearGDCSearchInput(context); 2521 2522 // add new elements, show button "mehr laden", hidden button "Suche/Filter" 2523 jQuery('.gdc-list').append(response); 2524 jQuery('.lds-ring').addClass('hidden'); 2525 2526 //next Page Button 2527 var element = jQuery(".container-pages").val(); 2528 if(typeof(element) === 'undefined' || element === null) { 2529 if (!showAll || typeof(showAll) === 'undefined' ) { 2530 var button = '<button class="container-pages" value="0">Mehr laden</button>'; 2531 jQuery(button).insertAfter(jQuery('.gdc-list')); 2532 } 2533 // Event included 2534 jQuery(".container-pages").click(function(){ //alert('hier5'); 2535 jQuery('.lds-ring').removeClass('hidden'); 2536 var context = jQuery('#context').val(); 2537 var categories = jQuery('#categories').val(); 2538 var attributeIDs = jQuery('input[name="attributeIDs"]:last').val(); 2539 var dateFormat = jQuery('#dateFormat').val(); 2540 var dateDesign = jQuery('#dateDesign').val(); 2541 var teaserImage = jQuery('#teaserImage').val(); 2542 var allEvents = jQuery('#allEvents').val(); 2543 var categoriesIntersection = jQuery('#categoriesIntersection').val(); 2544 var uri = jQuery('#uri').val(); 2545 var getsize = jQuery('input[name="getsize"]:last').val(); 2546 var firstPageNumber = jQuery(this).val(); 2547 var nextPage = parseFloat(firstPageNumber) + 1; 2548 jQuery(this).val(nextPage); 2549 jQuery.ajax({ 2550 type:'POST', 2551 dataType:'text', 2552 url:'https://'+domain+'/dataobjects/load', 2553 data:{nextPage:nextPage,context:context,categoriesIntersection:categoriesIntersection,categories:categories,attributeIDs:attributeIDs,uri:uri,getsize:getsize,dateFormat:dateFormat,dateDesign:dateDesign,teaserImage:teaserImage,allEvents:allEvents}, 2554 success:function(response){ 2555 jQuery('.gdc-list').append(response); 2556 jQuery('.lds-ring').addClass('hidden'); 2557 var getsize = jQuery('input[name="getsize"]:last').val(); 2558 var size = jQuery('input[name="size"]:last').val(); 2559 if(size != getsize) { 2560 jQuery(".container-pages").remove(); 2561 } 2562 2563 jQuery('.gdc-search').addClass('gdc-search-hidden'); 2564 jQuery('.gdc-search:first-of-type').removeClass('gdc-search-hidden'); 2565 jQuery('.search-box-p').addClass('gdc-search-hidden'); 2566 jQuery('.search-box-p:first-of-type').removeClass('gdc-search-hidden'); 2567 }, 2568 error:function(error){ 2569 2570 } 2571 }); 2572 }); 2573 } else { 2574 if (!showAll || typeof(showAll) === 'undefined' ) { 2575 jQuery('.container-pages:first-of-type').removeClass('gdc-search-hidden'); 2576 } 2577 } 2578 2579 jQuery('.gdc-search').addClass('gdc-search-hidden'); 2580 jQuery('.gdc-search:first-of-type').removeClass('gdc-search-hidden'); 2581 jQuery('.search-box-p').addClass('gdc-search-hidden'); 2582 jQuery('.search-box-p:first-of-type').removeClass('gdc-search-hidden'); 2583 jQuery('.searchResult').remove(); 2584 2585 //Show Kalender 2586 if (context == "Event" && (calendarSheet == 'true' || calendarSheet == true)) { 2587 var calendarEl = document.getElementById('calendar'); 2588 var calendar = new FullCalendar.Calendar(calendarEl, { 2589 locale: 'de', 2590 headerToolbar: { 2591 left: 'prev,today,next', 2592 center: 'title', 2593 right: 'dayGridMonth,dayGridWeek,dayGridDay,listWeek' 2594 }, 2595 height: 'auto', 2596 navLinks: true, 2597 editable: false, 2598 dayMaxEvents: true, 2599 events: jQuery('.gdc-calendarSheet').data('calendar') 2600 }); 2601 calendar.render(); 2602 } 2603 //Show Kalender 2604 2605 }, 2606 error:function(error) { 2607 } 2608 }); 2609 } 2610 }); 2611}); 2612 2613function clearGDCSearchInput(context) { 2614 jQuery('.gdc-object').parent().remove(); 2615 jQuery('.searchResult').remove(); 2616 jQuery('.searchinfotext').remove(); 2617 if (context == "Service") { 2618 jQuery('.filter-wrap').addClass('gdc-search-hidden'); 2619 jQuery('.report-table-service').addClass('gdc-search-hidden'); 2620 } 2621 return true; 2622} 2623 2624// ----------------------------------------------------------------------------- 2625// Remove all Blanks - / from Telefon Href 2626// ----------------------------------------------------------------------------- 2627jQuery(".gdc-attribute a").click(function(){ 2628 href = jQuery(this).attr('href'); 2629 if (href.indexOf("tel") == 0) { 2630 href = href.replaceAll("-",""); 2631 href = href.replaceAll("/",""); 2632 href = href.replaceAll("(",""); 2633 href = href.replaceAll(")",""); 2634 jQuery(this).attr('href',href); 2635 }; 2636}); 2637 2638// ----------------------------------------------------------------------------- 2639// OTB - Kalender / Calendar 2640// -----------------------------------------------------------------------------
2641jQuery(".report-calendar").click(function(){ 2642 jQuery('.calendar-container').toggle(); 2643 jQuery('.appointment-day').toggle(); 2644 jQuery('.report-table').toggle(); 2645 2646 //Wechseln von Kalenderansicht in Tagesansicht / Switch from calendar view to day view 2647 if (jQuery('.report-calendar').hasClass('dayShowDetailTrue')) { 2648 jQuery(".report-calendar").removeClass('dayShowDetailTrue'); 2649 } else { 2650 showDayShowDetail('showday'); 2651 jQuery(".report-calendar").addClass('dayShowDetailTrue'); 2652 jQuery(".fc-today-button").triggerHandler("click"); 2653 jQuery(".fc-today-button.dayChange").triggerHandler("click"); 2654 } 2655 2656 var today = jQuery('.appointment-day').text(); 2657 var dateParts = today.split(" "); 2658 var todayDate = (dateParts[2] == 'den') ? dateParts[3]:dateParts[2] ; 2659 2660 styleValue = jQuery('.appointment-day').attr('style'); 2661 if(styleValue == 'display: block;') { 2662 // Tagesansicht / day view / noactive 2663 //All Elements with changeDate -> show 2664 jQuery('.report-table tbody td:contains('+todayDate+')').parent('tr').css('display', 'grid'); 2665 //All Elements date not changeDate -> not show (Tagesansicht) 2666 jQuery('.report-table tbody tr').not(':has(td:contains('+todayDate+'))').css('display', 'none'); 2667 } else { 2668 // Kalenderansicht / Calendar view 2669 jQuery('.report-table tbody tr').not(':has(td:contains('+todayDate+'))').css('display', 'grid'); 2670 } 2671}); 2672 2673// ----------------------------------------------------------------------------- 2674// OTB Funktion: 2675// die Kalenderansicht ist aktiviert und die Ansichtstabelle wird ausgeblendet 2676// dayChange: die Ansichtstabelle wird je nach Tag geändert ist aber in der 2677// Kalenderansicht ausgeblendet 2678// calendar view is activated and the view table is hidden 2679// dayChange: the day is changed -> the table changed 2680// ----------------------------------------------------------------------------- 2681jQuery(document).ready(function(){ 2682 if (jQuery('.content div').hasClass('report-calendar')) { 2683 jQuery(".fc-next-button").addClass('dayChange'); 2684 jQuery(".fc-today-button").addClass('dayChange'); 2685 jQuery(".fc-prev-button").addClass('dayChange'); 2686 2687 //Für die korrekte Ausgabe / Länge der KalenderTabelle 2688 $(window).on('load', function() { 2689 jQuery(".fc-dayGridDay-button").trigger("click"); 2690 }); 2691 2692 //Tagesansicht Detail ausschalten 2693 jQuery('.appointment-day').toggle(); 2694 jQuery('.report-table').toggle(); 2695 } 2696 2697 jQuery(".dayChange").click(function(){ 2698 dateValue = jQuery(".fc-toolbar-title").text(); 2699 var index = jQuery.inArray("â", dateValue); 2700 if (index >= 0) { 2701 // alert('keine Ãnderung'); 2702 } else { 2703 var dateParts = dateValue.split(" "); 2704 var day = dateParts[0]; 2705 var month = dateParts[1]; 2706 var year = dateParts[2]; 2707 2708 // Konvertieren des Monatsnamens in eine Zahl 2709 const germanToEnglishMonths = new Map([ 2710 ['Januar', 'January'], 2711 ['Februar', 'February'], 2712 ['März', 'March'], 2713 ['April', 'April'], 2714 ['Mai', 'May'], 2715 ['Juni', 'June'], 2716 ['Juli', 'July'], 2717 ['August', 'August'], 2718 ['September', 'September'], 2719 ['Oktober', 'October'], 2720 ['November', 'November'], 2721 ['Dezember', 'December'] 2722 ]); 2723 const englishMonth = germanToEnglishMonths.get(month); 2724 var monthNum = new Date(Date.parse(englishMonth +" 1, 2000")).getMonth()+1; 2725 if (monthNum < 10) { monthNum = "0" + monthNum; } 2726 if (day < 10) { day = "0" + day; } 2727 2728 var formattedDate = day + monthNum + "." + year; //der Tag hat bereits einen Punkt 2729 var changeDate = year +'-'+ monthNum + "-" + day.replace('.',''); //der Tag hat einen Punkt 2730 2731 jQuery.ajax({ 2732 type:'POST', 2733 dataType:'text', 2734 url:'https://'+domain+'/account/reports/appointments?today', 2735 data:{dateValue:formattedDate}, 2736 success:function(response){ 2737 //Get and change the day 2738 var wochentage = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag']; 2739 var datum = new Date(changeDate); 2740 var wochentagIndex = datum.getDay(); 2741 var wochentagName = wochentage[wochentagIndex]; 2742 var wochentagName = wochentagName + ' den ' + formattedDate; 2743 jQuery('.appointment-day').text(wochentagName); 2744 //All Elements with changeDate -> show 2745 // jQuery('.report-table tbody td:contains('+formattedDate+')').parent('tr').css('display', 'grid'); 2746 //All Elements date not changeDate -> not show 2747 // jQuery('.report-table tbody tr').not(':has(td:contains('+formattedDate+'))').css('display', 'none'); 2748 }, 2749 error:function(error){ 2750 alert('error'); 2751 } 2752 }); 2753 } 2754 }); 2755 2756 jQuery(".appointmentDetails-notActive").click(function(){ 2757 var id = jQuery(this).data('id'); 2758 var appointment = document.querySelector('.modal-btn.report[value="' + id + '"]'); 2759 appointment.click(); 2760 }); 2761 2762}); 2763 2764// ---------------------------------------------------------------------------------------------------- 2765// OTB Funktion closeDayShowDetail: 2766// Ist die Tagesansicht aktiviert wird die Ansichtstabelle nicht ausgeblendet 2767// Ist die Kalenderansicht aktiviert wird die Ansichtstabelle au
2767sgeblendet 2768// day view is activated, the view table is not hidden 2769// calendar view is activated, the view table is hidden 2770// ---------------------------------------------------------------------------------------------------- 2771function closeDayShowDetail() { 2772 if (jQuery('.content div').hasClass('report-calendar')) { 2773 if (jQuery('.content div').hasClass('dayShowDetailTrue')) { 2774 } else { 2775 jQuery('.report-table').css('display', 'none'); 2776 } 2777 } 2778 } 2779 2780// ---------------------------------------------------------------------------------------------------- 2781// OTB Funktion showDayShowDetail: 2782// Kalenderansicht: Ausgabe der report-table wird ausgeblendet nur die entsprechende Zeile wird eingeblendet 2783// Tagesansicht: Ausgabeeinstellungen werden zurückgestellt und beim der Detailansicht nicht ausgeblendet 2784// Calendar view: Output of the report table is hidden, only the selected line is shown 2785// Day view: output settings are reset and not hidden in detail view 2786// ---------------------------------------------------------------------------------------------------- 2787function showDayShowDetail(modal) { 2788 styleValue = jQuery('.appointment-day').attr('style'); 2789 if(styleValue == 'display: block;' || modal == "showday") { 2790 jQuery(".report-table, .report-head tr, .report-table th, .report-table td, .report-table td svg").removeAttr('style');
2791 jQuery(".report-table .modal-btn.report").removeAttr('style'); 2792 jQuery(".report-table tr").css("display","row"); 2793 } else { 2794 jQuery(".report-table th").css("display","none"); 2795 jQuery(".report-table tr").css("display","none"); 2796 jQuery(".report-table .modal-btn.report").css("display","none"); 2797 jQuery(modal + ".report").parent().parent().css("display","block"); 2798 2799 // die selectierte Zeile ausblenden - Selcted Row hide 2800 jQuery(".report-table").css({"background":"none","box-shadow":"none"}); 2801 jQuery(modal + ".report").parent().parent().find("td:lt(7)").css("display","none"); 2802 jQuery(modal + ".report").parent().parent().find("td svg").css("display","none"); 2803 jQuery(modal + ".report").parent().parent().find("td .modal-box svg").css("display","block"); 2804 } 2805} 2806 2807// ---------------------------------------------------------------------------------------------------- 2808// Farbbeschreibung auf und zu klappbar / Color description opened + closed -> noactive 2809// ---------------------------------------------------------------------------------------------------- 2810jQuery(".otb-color-status").click(function(){ 2811 jQuery('.otb-color-status table').toggle(); 2812 if (jQuery('.otb-color-status i').hasClass('opened')) { 2813 jQuery('.otb-color-status i').removeClass('opened'); 2814 } else { 2815 jQuery('.otb-color-status i').addClass('opened'); 2816 } 2817}); 2818 2819// ---------------------------------------------------------------------------------------------------- 2820// OTB Hinzufügen eines neuen Termines im Backend Modal mit Inputfelder wird angezeigt 2821// Adding a new appointment in the backend modal with input fields is displayed 2822// ---------------------------------------------------------------------------------------------------- 2823jQuery('.modal-btn-new').click(function() { 2824 var modalID = 0; 2825 var modal = '.modal-' + modalID; 2826 jQuery('body').addClass('modal-open'); 2827 2828 if(jQuery(this).hasClass("report")) { 2829 jQuery(modal + ".report").show(); 2830 } 2831}); 2832 2833 2834// ---------------------------------------------------------------------------------------------------- 2835// digiPortal Backend Mobile Menu 2836// ---------------------------------------------------------------------------------------------------- 2837 2838jQuery('.backend-menu-switch').click(function() { 2839 if(jQuery(this).hasClass('backend-switch-active')) { 2840 jQuery(this).removeClass('backend-switch-active'); 2841 jQuery('.user-backend .navigation-bar').removeClass('backend-menu-visible'); 2842 } else { 2843 jQuery(this).addClass('backend-switch-active'); 2844 jQuery('.user-backend .navigation-bar').addClass('backend-menu-visible'); 2845 } 2846}); 2847 2848/* ----------------------------------------------- 2849LANGUAGE SWITCH 2850----------------------------------------------- */ 2851 2852$(".language-toggle").click(function() { 2853 $(".language-menu").toggleClass("show"); 2854}); 2855 2856jQuery(document).ready(function() { 2857 jQuery(".language-menu ul li a").each(function(){ 2858 if(jQuery(this).find("span").data("uriparam")) { 2859 // 1. Get href 2860 href = jQuery(this).attr("href"); 2861 2862 // 2. Get and convert locale e.g. "DE" -> "de" 2863 lang = jQuery(this).find("span").text(); 2864 langOutput = lang.toLowerCase(); 2865 2866 // 3. Create new "lang" param 2867 paramLangEdited = "lang=" + langOutput; 2868 2869 // 4. Get original params e.g. "?gdc-name-123&lang=de" 2870 uriParameter = jQuery(this).find("span").data("uriparam"); 2871 2872 // 5. Replace old "lang" param with new one from step 3 2873 if(getUrlParameter('lang')) { 2874 langOriginal = getUrlParameter('lang'); 2875 2876 if(langOriginal == "de") { 2877 newParamater = uriParameter.replace("lang=de", paramLangEdited); 2878 } else if(langOriginal == "en") { 2879 newParamater = uriParameter.replace("lang=en", paramLangEdited); 2880 } else if(langOriginal == "fr") { 2881 newParamater = uriParameter.replace("lang=fr", paramLangEdited); 2882 } 2883 // 6. Override href 2884 jQuery(this).attr("href", href + "?" + newParamater); 2885 } 2886 } 2887 }); 2888}); 2889 2890 2891/* ----------------------------------------------- 2892Moderation Textarea 2893----------------------------------------------- */ 2894 2895jQuery(document).ready(function(){ 2896 jQuery('.user-backend .units .unit').each(function() { 2897 jQuery(this).find('.check-rejected').click(function() {
2898 jQuery(this).parents('.modal-content').find('.mod-message').show(); 2899 jQuery(this).parents('.modal-content').find('textarea').prop('required',true); 2900 }); 2901 jQuery(this).find('.check-approved').click(function() { 2902 jQuery(this).parents('.modal-content').find('.mod-message').hide(); 2903 jQuery(this).parents('.modal-content').find('textarea').prop('required',false); 2904 }); 2905 2906 }); 2907 2908 jQuery('.user-backend .comments .comment').each(function() { 2909 jQuery(this).find('.modal-btn.moderate').click(function() { 2910 if(jQuery(this).parents('.comment').find('.check-approved input').is(':checked')) { 2911 jQuery(this).parents('.comment').find('.mod-message').hide(); 2912 jQuery(this).parents('.comment').find('textarea').prop('required',false); 2913 } else { 2914 jQuery(this).parents('.comment').find('.mod-message').show(); 2915 jQuery(this).parents('.comment').find('textarea').prop('required',true); 2916 } 2917 2918 }); 2919 2920 jQuery(this).find('.check-approved').click(function() { 2921 jQuery(this).parents('.modal-content').find('.mod-message').hide(); 2922 jQuery(this).parents('.modal-content').find('textarea').prop('required',false); 2923 }); 2924 jQuery(this).find('.check-cautioned').click(function() { 2925 jQuery(this).parents('.modal-content').find('.mod-message').show(); 2926 jQuery(this).parents('.modal-content').find('textarea').prop('required',true); 2927 }); 2928 jQuery(this).find('.check-blocked').click(function() { 2929 jQuery(this).parents('.modal-content').find('.mod-message').show(); 2930 jQuery(this).parents('.modal-content').find('textarea').prop('required',true); 2931 }); 2932 jQuery(this).find('.check-deleted').click(function() { 2933 jQuery(this).parents('.modal-content').find('.mod-message').show(); 2934 jQuery(this).parents('.modal-content').find('textarea').prop('required',true); 2935 }); 2936 }); 2937 2938}); 2939 2940 2941/* ----------------------------------------------- 2942Selectalbe Bookings 2943----------------------------------------------- */ 2944/* 2945for (let i = 0; i < 50; i++) { 2946 const div = document.createElement("div"); 2947 div.style.backgroundColor = `hsl(${Math.random() * 360}, 100%, 50%)`; 2948 div.classList.add("selectable"); 2949 document.body.append(div); 2950} 2951 2952// --- Main --- 2953const selectables = []; 2954const selectableElems = [...document.querySelectorAll(".selectable")]; 2955for (const selectable of selectableElems) { 2956 const {x, y, width, height} = selectable.getBoundingClientRect(); 2957 selectables.push({x: x + window.scrollX, y: y + window.scrollY, width, height, elem: selectable}); 2958 selectable.dataset.info = JSON.stringify({x, y, width, height}); 2959} 2960 2961function checkSelected(selectAreaElem) { 2962 const select = selectAreaElem.getBoundingClientRect(); 2963 const {x, y, height, width} = select; 2964 for (const selectable of selectables) { 2965 if (checkRectIntersection({x: x + window.scrollX, y: y + window.scrollY, height, width}, selectable)){ 2966 selectable.elem.classList.add("intersected"); 2967 } else { 2968 selectable.elem.classList.remove("intersected"); 2969 } 2970 } 2971} 2972// ------------ 2973 2974function checkRectIntersection(r1, r2) { 2975 return !(r1.x + r1.width < r2.x || 2976 r2.x + r2.width < r1.x || 2977 r1.y + r1.height < r2.y || 2978 r2.y + r2.height < r1.y); 2979} 2980 2981addEventListener("pointerdown", createDiv); 2982async function createDiv(event){ 2983 event.preventDefault(); 2984 const x = event.pageX; 2985 const y = event.pageY; 2986 2987 const div = document.createElement("div"); 2988 div.style.position = "absolute"; 2989 div.style.width = "0"; 2990 div.style.height = "0"; 2991 div.style.left = x + "px"; 2992 div.style.top = y + "px"; 2993 div.classList.add("drag-select"); 2994 document.body.append(div); 2995 2996 function resize(event) { 2997 const diffX = event.pageX - x; 2998 const diffY = event.pageY - y; 2999 div.style.left = diffX < 0 ? x + diffX + "px" : x + "px"; 3000 div.style.top = diffY < 0 ? y + diffY + "px" : y + "px"; 3001 div.style.height = Math.abs(diffY) + "px"; 3002 div.style.width = Math.abs(diffX) + "px"; 3003 checkSelected(div); 3004 } 3005 selectables.forEach(item => item.elem.classList.remove("intersected")); 3006 addEventListener("pointermove", resize); 3007 addEventListener("pointerup", () => { 3008 removeEventListener("pointermove", resize); 3009 div.remove(); 3010 }); 3011} */ 3012 3013 3014/* ----------------------------------------------- 3015EVENTS ICAL 3016----------------------------------------------- */ 3017
3018/* function UIDgen() { 3019 var eventUIDN = ""; 3020 for (var i = 0; i < 16; i++) { 3021 eventUIDN += Math.floor(Math.random() * (10 - 1 + 1) + 1); 3022 $("#eventuid").val(eventUIDN); 3023 } 3024} 3025 3026$(document).ready( UIDgen() ); 3027 3028$("fakebutton").click( 3029 function() { 3030 var eventname = "NOTHING"; 3031 var eventdesc = "NOTHING"; 3032 var eventloc = "NOTHING"; 3033 var eventuid = "NOTHING"; 3034 var startdate = "NOTHING"; 3035 var enddate = "NOTHING"; 3036 3037 eventname = $("form").find("input[name='eventname']").val(); 3038 eventdesc = $("form").find("textarea[name='eventdesc']").val(); 3039 eventloc = $("form").find("input[name='eventloc']").val(); 3040 eventuid = $("form").find("input[name='eventuid']").val(); 3041 startdate = $("form").find("input[name='startdate']").val(); 3042 enddate = $("form").find("input[name='enddate']").val(); 3043 var filenametrue = eventname.split(" ").join("_"); 3044 filenametrue = filenametrue.replace(/[_\W]+/g, "_") + ".ics"; 3045 3046 startdate = dateManipulate(startdate); 3047 enddate = dateManipulate(enddate); 3048 var icsContent = 3049 "BEGIN:VCALENDAR\r\nPRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN\r\nVERSION:2.0\r\nMETHOD:PUBLISH\r\nX-MS-OLK-FORCEINSPECTOROPEN:TRUE\r\nBEGIN:VEVENT\r\nCLASS:PUBLIC\r\nDESCRIPTION:" + 3050 eventdesc + 3051 "\r\nDTEND:" + 3052 enddate + 3053 "\r\nDTSTART:" + 3054 startdate + 3055 "\r\nLOCATION:" + 3056 eventloc + 3057 "\r\nPRIORITY:5\r\nSEQUENCE:0\r\nSUMMARY;LANGUAGE=en-us:" + 3058 eventname + 3059 "\r\nTRANSP:OPAQUE\r\nUID:" + 3060 eventuid + 3061 "\r\nX-MICROSOFT-CDO-BUSYSTATUS:BUSY\r\nX-MICROSOFT-CDO-IMPORTANCE:1\r\nX-MICROSOFT-DISALLOW-COUNTER:FALSE\r\nX-MS-OLK-ALLOWEXTERNCHECK:TRUE\r\nX-MS-OLK-AUTOFILLLOCATION:FALSE\r\nX-MS-OLK-CONFTYPE:0\r\nBEGIN:VALARM\r\nTRIGGER:-PT1440M\r\nACTION:DISPLAY\r\nDESCRIPTION:Reminder\r\nEND:VALARM\r\nEND:VEVENT\r\nEND:VCALENDAR"; 3062 3063 var hiddenDL = document.createElement("a"); 3064 hiddenDL.setAttribute( 3065 "href", 3066 "data:text/plain;charset=utf-8," + encodeURIComponent(icsContent) 3067 ); 3068 hiddenDL.setAttribute("download", filenametrue); 3069 hiddenDL.setAttribute("target", "_blank"); 3070 hiddenDL.style.display = "none"; 3071 document.body.appendChild(hiddenDL); 3072 hiddenDL.click(); 3073 document.body.removeChild(hiddenDL); 3074 3075 UIDgen(); 3076 3077 } 3078 3079); */ 3080 3081/* ----------------------------------------------- 3082EVENT-BOOKING MODAL 3083----------------------------------------------- */ 3084 3085jQuery('.gdc-event-capacity .available').click(function(){ 3086 jQuery('body').addClass('modal-open'); 3087 jQuery(this).next('.modal.event-booking').show(0, function() { 3088 var windowHeight = jQuery(window).height(); 3089 var modalHeight = jQuery(this).closest('.do-bookingurl').find('.modal .modal-box').height(); 3090 if(modalHeight > windowHeight) { 3091 jQuery(this).addClass("maxheight"); 3092 } 3093 }); 3094}); 3095 3096 3097/* ----------------------------------------------- 3098EVENT-BOOKING MODAL DETAIL 3099----------------------------------------------- */ 3100 3101jQuery(document).ready(function(){ 3102 if(getUrlParameter('event-booking-edit')){ 3103 var code = getUrlParameter('code'); 3104 var name = getUrlParameter('name'); 3105 var date = getUrlParameter('date'); 3106 var time = getUrlParameter('time'); 3107 var formAction = window.location.origin + "/events/bookings/delete"; 3108 var modalHtml = '<div class="modal event-booking-detail"><div class="modal-box"><div class="modal-content"><svg class="modal-close"><use xlink:href="#fas-fa-times"></use></svg><h4>Veranstaltungsdetails</h4><div class="modal-reference"><h5>' + name + '</h5><p><strong>Datum:</strong> ' + date + ' - <strong>Uhrzeit:</strong> ' + time + ' Uhr</p><form action="'+formAction+'" method="post"><input type="hidden" name="code" value="'+code+'" /><button class="delete-event-booking" type="submit">Buchung stornieren</button></form></div></div><div class="modal-footer"><button class="cancel">SchlieÃen</button></div></div></div>'; 3109 jQuery('body').append(modalHtml); 3110 jQuery('.modal.event-booking-detail').show(); 3111 jQuery('.modal.event-booking-detail .modal-close, .modal.event-booking-detail .cancel').click(function() { 3112 jQuery('.modal.event-booking-detail').hide(); 3113 }); 3114 } 3115 }); 3116 3117 /* ----------------------------------------------- 3118EVENT-BOOKING MODAL DELETE SUCCESS 3119----------------------------------------------- */ 3120 3121jQuery(document).ready(function(){ 3122 if(getUrlParameter('event-booking-deleted')){ 3123 var name = getUrlParameter('name'); 3124 var date = getUrlParameter('date'); 3125 var time = getUrlParameter('time'); 3126 var modalHtml = '<div class="modal event-booking-deleted"><div class="modal-box"><div class="modal-content"><svg class="modal-close"><use xlink:href="#fas-fa-times"></use></svg><h4>Buchung storniert</h4><div class="modal-reference"><h5>Ihre Buchung wurde storniert. Sie erhalten noch eine Stornierungsbestätigung per E-Mail.</h5></div></div><div class="modal-footer"><button class="cancel">SchlieÃen</button></div></div></div>'; 3127 jQuery('body').append(modalHtml); 3128 jQuery('.modal.event-booking-deleted').show(); 3129 jQuery('.modal.event-booking-deleted .modal-close, .modal.event-booking-deleted .cancel').click(function() { 3130 jQuery('.modal.event-booking-deleted').hide(); 3131 }); 3132 } 3133 }); 3134 3135 3136 /* Event Reportlist */ 3137 3138 jQuery(document).ready(function() { 3139 jQuery('.dataobject-table.event-bookings-report tbody tr svg.open-bookings').each(function() { 3140 if(jQuery(this).closest('tr').find('td:last-child ul li').html().length == 0) { 3141 jQuery(this).css('fill', '#d5d5d5'); 3142 } else { 3143 jQuery(this).click(function() { 3144 jQuery(this).closest('tr').find('td:last-child').slideToggle(); 3145 jQuery(this).closest('tr').toggleClass('show-bookings '); 3146 }); 3147 } 3148 3149 }); 3150}); 3151/* jQuery('.dataobject-table.event-bookings-report tbody tr li').each(function() { 3152 jQuery(this).click(function() { 3153 alert('test'); 3154 }); 3155 }); */ 3156 3157/* ----------------------------------------------- 3158EVENT-BOOKING MODAL MESSAGE 3159----------------------------------------------- */ 3160 3161 jQuery(document).ready(function(){ 3162 if(getUrlParameter('eventbookingsuccess')){ 3163 var name = getUrlParameter('name'); 3164 var date = getUrlParameter('date'); 3165 var time = getUrlParameter('time'); 3166 var modalHtml = '<div class="modal event-booking-success"><div class="modal-box"><div class="modal-content"><svg class="modal-close"><use xlink:href="#fas-fa-times"></use></svg><h4>Veranstaltung gebucht</h4><div class="modal-reference"><h5>' + name + '</h5><p><strong>Datum:</strong> ' + date + ' - <strong>Uhrzeit:</strong> ' + time + ' Uhr</p><p>Eine Buchungsbestätigung wurde an Ihre E-Mail-Adresse geschickt. Ihre Buchung können Sie in Ihrem Konto unter "Meine Termine" einsehen und verwalten.</p></div></div><div class="modal-footer"><button class="cancel">SchlieÃen</button></div></div></div>'; 3167 jQuery('body').append(modalHtml); 3168 jQuery('.modal.event-booking-success').show(); 3169 jQuery('.modal.event-booking-success .modal-close, .modal.event-booking-success .cancel').click(function() { 3170 jQuery('.modal.event-booking-success').hide(); 3171 }); 3172 } 3173 if(getUrlParameter('eventbookingerror')){ 3174 var name = getUrlParameter('name'); 3175 var date = getUrlParameter('date'); 3176 var time = getUrlParameter('time'); 3177 var modalHtml = '<div class="modal event-booking-error"><div class="modal-box"><div class="modal-content"><svg class="modal-close"><use xlink:href="#fas-fa-times"></use></svg><h4>Buchung fehlgeschlagen</h4><div class="modal-reference"><h5>Leider ist etwas schiefgelaufen</h5><p>Wir konnten den Termin nicht buchen. Bitte versuchen Sie es noch einmal.</p></div></div><div class="modal-footer"><button class="cancel">SchlieÃen</button></div></div></div>'; 3178 jQuery('body').append(modalHtml); 3179 jQuery('.modal.event-booking-error').show();
3180 jQuery('.modal.event-booking-error .modal-close, .modal.event-booking-error .cancel').click(function() { 3181 jQuery('.modal.event-booking-error').hide(); 3182 }); 3183 } 3184 }); 3185 3186 3187/* ----------------------------------------------- 3188EVENT-BOOKING MODAL BACKEND-DELETION 3189----------------------------------------------- */ 3190 3191jQuery(document).ready(function(){ 3192 jQuery('.delete-bookings').click(function(e) { 3193 e.preventDefault(); 3194 var code = jQuery(this).data('code'); 3195 var name = jQuery(this).parent('li').find('span').text(); 3196 var mail = jQuery(this).parent('li').find('a').text(); 3197 var event = jQuery(this).parents('tr').find('td:nth-child(1) span').text(); 3198 var date = jQuery(this).parents('tr').find('td:nth-child(2) span').text(); 3199 var time = jQuery(this).parents('tr').find('td:nth-child(3) span').text(); 3200 var userDateTime = jQuery(this).parents('.appointmentcard-head').find('.card-date').text(); 3201 var userEvent = jQuery(this).parents('.appointmentcard-head').find('.card-activity').text(); 3202 var userEventCard = jQuery(this).parents('.appointmentcard'); 3203 var eventRow = jQuery(this).parent('li'); 3204 var numOfBookings = jQuery(this).parents('tr').find('.numofbookings'); 3205 var numOfBookingsVal = jQuery(this).parents('tr').find('.numofbookings').text(); 3206 3207 if(!userDateTime) { 3208 var modalHtml = '<div class="modal event-booking-detail"><div class="modal-box"><div class="modal-content"><svg class="modal-close"><use xlink:href="#fas-fa-times"></use></svg><h4>Wollen Sie folgende Buchung wirklich löschen?</h4><div class="modal-reference"><h5>' + name + ' ' + mail + '</h5><p><strong>Veranstaltung:</strong> ' + event + ' - <strong>Datum:</strong> ' + date + ' - <strong>Uhrzeit:</strong> ' + time + ' Uhr</p><form id="delete-event-backend" action="" method="post"><input type="hidden" name="code" value="'+code+'" /><button class="delete-event-booking" type="submit">Buchung stornieren</button></form></div></div><div class="modal-footer"><button class="cancel">SchlieÃen</button></div></div></div>'; 3209 } else { 3210 var modalHtml = '<div class="modal event-booking-detail"><div class="modal-box"><div class="modal-content"><svg class="modal-close"><use xlink:href="#fas-fa-times"></use></svg><h4>Wollen Sie folgende Buchung wirklich löschen?</h4><div class="modal-reference"><p><strong>Veranstaltung:</strong> ' + userEvent + '<br><strong>Datum und Uhrzeit:</strong> ' + userDateTime + '</p><form id="delete-event-backend" action="" method="post"><input type="hidden" name="code" value="'+code+'" /><button class="delete-event-booking" type="submit">Buchung stornieren</button></form></div></div><div class="modal-footer"><button class="cancel">SchlieÃen</button></div></div></div>'; 3211 } 3212 jQuery('body').append(modalHtml); 3213 jQuery('.modal.event-booking-detail').show(); 3214 jQuery('.modal.event-booking-detail .modal-close, .modal.event-booking-detail .cancel').click(function() { 3215 jQuery('.modal.event-booking-detail').remove(); 3216 }); 3217 3218 jQuery('#delete-event-backend').submit(function(e) { 3219 e.preventDefault(); 3220 3221 jQuery.ajax({ 3222 type:'POST', 3223 dataType:'text', 3224 url:'https://'+domain+'/events/bookings/delete-backend', 3225 data:{code:code}, 3226 success:function(response){ 3227 if(!userDateTime) { 3228 jQuery(eventRow).css({ 3229 'background': '#d74d4d', 3230 'color': 'white' 3231 }); 3232 } else { 3233 jQuery(userEventCard).css({ 3234 'background': '#d74d4d', 3235 'color': 'white' 3236 }); 3237 } 3238 jQuery(eventRow).css({ 3239 'background': '#d74d4d', 3240 'color': 'white' 3241 }); 3242 $('.modal.event-booking-detail').fadeOut(100, function() { 3243 jQuery('.modal.event-booking-detail').remove(); 3244 if(!userDateTime) { 3245 $(eventRow).fadeOut("slow", function() { 3246 jQuery(eventRow).remove(); 3247 jQuery(numOfBookings).html(parseInt(numOfBookingsVal) - 1); 3248 }); 3249 } else { 3250 $(userEventCard).fadeOut("slow", function() { 3251 jQuery(userEventCard).remove(); 3252 }); 3253 } 3254 }); 3255 }, 3256 error:function(error){ 3257 3258 } 3259 }); 3260 }); 3261 3262 }); 3263 }); 3264 3265jQuery(document).ready(function() { 3266 if(jQuery('.read-workflow.top').length) { 3267 jQuery('.read-workflow.top').prependTo('main .middle'); 3268 }; 3269 jQuery('#wf-active-confirmation button').click(function(){ 3270 jQuery('.rental-load').addClass('loading'); 3271 }); 3272}); 3273 3274/* ----------------------------------------------- 3275SUBSCRIPTIONS 3276----------------------------------------------- */ 3277 3278jQuery("#subscribeForm").submit(function(e) { 3279 e.preventDefault(); 3280 var domain = window.location.hostname; 3281 var currentUri = window.location.href;
3282 var nodeUuid = jQuery('#subscribe-node-uuid').val(); 3283 var childNodesUuids = jQuery('#subscribe-childnodes-uuids').val(); 3284 jQuery.ajax({ 3285 type:'POST', 3286 dataType:'text', 3287 url:'https://'+domain+'/subscription/subscribe', 3288 data:{currentUri:currentUri,nodeUuid:nodeUuid,childNodesUuids:childNodesUuids}, 3289 success:function(response){ 3290 jQuery('.rental-load.saved-subscription').addClass('loading'); 3291 jQuery('#subscribeForm').removeClass('form-visible'); 3292 jQuery('#unsubscribeForm').addClass('form-visible'); 3293 setTimeout(function() { 3294 jQuery('.rental-load.saved-subscription').fadeOut(1500); 3295 }, 2000); 3296 }, 3297 error:function(error){ 3298 3299 } 3300 }); 3301}); 3302 3303jQuery("#unsubscribeForm").submit(function(e) { 3304 e.preventDefault(); 3305 var domain = window.location.hostname; 3306 var currentUri = window.location.href; 3307 var nodeUuid = jQuery('#unsubscribe-node-uuid').val(); 3308 jQuery.ajax({ 3309 type:'POST', 3310 dataType:'text', 3311 url:'https://'+domain+'/subscription/unsubscribe', 3312 data:{currentUri:currentUri,nodeUuid:nodeUuid}, 3313 success:function(response){ 3314 jQuery('.rental-load.saved-unsubscription').addClass('loading'); 3315 jQuery('#unsubscribeForm').removeClass('form-visible'); 3316 jQuery('#subscribeForm').addClass('form-visible'); 3317 setTimeout(function() { 3318 jQuery('.rental-load.saved-unsubscription').fadeOut(1500); 3319 }, 2000); 3320 }, 3321 error:function(error){ 3322 3323 } 3324 }); 3325}); 3326 3327 3328jQuery(document).ready(function(){ 3329 jQuery('.delete-subscription').click(function(e) { 3330 e.preventDefault(); 3331 var nodeUuid = jQuery(this).data('nodeuuid'); 3332 var name = jQuery(this).parents('tr').find('a').text(); 3333 var eventRow = jQuery(this).parents('tr'); 3334 3335 var modalHtml = '<div class="modal event-booking-detail"><div class="modal-box"><div class="modal-content"><svg class="modal-close"><use xlink:href="#fas-fa-times"></use></svg><h4>Wollen Sie folgendes Abonnement wirklich löschen?</h4><div class="modal-reference"><p><strong>Abonnement</strong> "' + name + '"</p><form id="delete-event-backend" action="" method="post"><input type="hidden" name="nodeUuid" value="'+nodeUuid+'" /><button class="delete-event-booking" type="submit">Abonnement löschen</button></form></div></div><div class="modal-footer"><button class="cancel">SchlieÃen</button></div></div></div>'; 3336 3337 jQuery('body').append(modalHtml); 3338 jQuery('.modal.event-booking-detail').show(); 3339 jQuery('.modal.event-booking-detail .modal-close, .modal.event-booking-detail .cancel').click(function() { 3340 jQuery('.modal.event-booking-detail').remove(); 3341 }); 3342 3343 jQuery('#delete-event-backend').submit(function(e) { 3344 e.preventDefault(); 3345 3346 jQuery.ajax({ 3347 type:'POST', 3348 dataType:'text', 3349 url:'https://'+domain+'/subscription/delete', 3350 data:{nodeUuid:nodeUuid}, 3351 success:function(response){ 3352 jQuery(eventRow).css({ 3353 'background': '#d74d4d', 3354 'color': 'white' 3355 }); 3356 $('.modal.event-booking-detail').fadeOut(100, function() { 3357 jQuery('.modal.event-booking-detail').remove(); 3358 $(eventRow).fadeOut("slow", function() { 3359 jQuery(eventRow).remove(); 3360 }); 3361 }); 3362 }, 3363 error:function(error){ 3364 3365 } 3366 }); 3367 }); 3368 }); 3369 // Delete Subscription-Item in List-View 3370 jQuery('#delete-subscription-item').submit(function(e) { 3371 e.preventDefault(); 3372 var nodeUuid = jQuery('#readinglist-node-uuid').val(); 3373 var listItem = jQuery(this).parents('.subscription-item'); 3374 3375 jQuery.ajax({ 3376 type:'POST', 3377 dataType:'text', 3378 url:'https://'+domain+'/subscription/delete-item', 3379 data:{nodeUuid:nodeUuid}, 3380 success:function(response){ 3381 jQuery(listItem).addClass('delete-animation'); 3382 /* jQuery(listItem).css({ 3383 'background': '#d74d4d', 3384 'color': 'white' 3385 }); */ 3386 jQuery(listItem).fadeOut("slow", function() { 3387 jQuery(listItem).remove(); 3388 }); 3389 }, 3390 error:function(error){ 3391 3392 } 3393 }); 3394 }); 3395 }); 3396 3397 jQuery(document).ready(function() { 3398 if(jQuery('.read-subscription').length > 0) { 3399 setTimeout(function() { 3400 jQuery('.rental-load.read-subscription').fadeOut(1500); 3401 }, 2000); 3402 } 3403 }); 3404 3405 /* -------------------------------------------------------- 3406Preview Unit Image Upload 3407 ---------------------------------------------------------*/ 3408 function readURL(input) { 3409 if (input.files && input.files[0]) { 3410 var reader = new FileReader(); 3411 3412 reader.onload = function (e) { 3413 jQuery('#image-upload-preview').attr('src', e.target.result); 3414 jQuery('.clear-teaser-image').addClass('show-clear'); 3415 } 3416
3417 reader.readAsDataURL(input.files[0]); 3418 } 3419} 3420 3421jQuery("#teaser-image").change(function(){ 3422 if(this.files[0].size > 5000000){ 3423 alert("Die Datei überschreitet das Limit von 5MB und kann nicht verwendet werden."); 3424 this.value = ""; 3425 } else { 3426 readURL(this); 3427 } 3428 3429}); 3430jQuery('.clear-teaser-image').click(function() { 3431 jQuery('#teaser-image').val(''); 3432 jQuery('#image-upload-preview').attr('src', ''); 3433 jQuery(this).removeClass('show-clear'); 3434 if(jQuery('input[name="hadImage"]').length > 0) { 3435 jQuery('input[name="hadImage"]').remove(); 3436 } 3437}); 3438 3439/* Prevent Deselection of User-Role in Usermanagement */ 3440jQuery('.user-management-form label[for="User"]').click(function(e) { 3441 e.preventDefault(); 3442});
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.