<footer class="bg-red">
<a class="scroll-top" href="#start"><span class="lsf">up</span></a>
<div class="copyright">
<div class="row">
<div class="col-12 col-sm-9">
© 2025 {{'timobracht-contact-name1'|trans}} {{'timobracht-contact-name2'|trans}}, {{'timobracht-contact-street'|trans}}, {{'timobracht-contact-city'|trans}}, Tel. {{'timobracht-contact-mail'|trans}} | <a href="#" data-bs-toggle="modal" data-bs-target="#modalImpressum">Impressum</a> | <a href="#" data-bs-toggle="modal" data-bs-target="#modalDatenschutz">Datenschutz</a>
</div>
<div class="col-12 col-sm-3 text-end">
<a href="https://78-media.de" target="_blank">78media</a>
</div>
</div>
</div>
</footer>
<!-- Modals -->
<div class="modal fade" id="modalImpressum" tabindex="-1" aria-labelledby="modalImpressumLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="modalImpressumLabel">Impressum</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
{{ pimcore_inc('/timobracht-coaching/Home/footer/impressum') }}
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
<div class="modal fade" id="modalDatenschutz" tabindex="-1" aria-labelledby="modalDatenschutzLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="modalDatenschutzLabel">Datenschutzerklärung</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
{{ pimcore_inc('/timobracht-coaching/Home/footer/datenschutz') }}
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
<!-- let's start javascripting -->
<script src="/themes/{{ siteConfig.getTemplate }}/js/jquery-3.6.0.min.js"></script>
<script src="/themes/{{ siteConfig.getTemplate }}/js/bootstrap.bundle.min.js"></script>
<script src="/themes/{{ siteConfig.getTemplate }}/js/jquery-scrollto.js"></script>
<script src="/themes/{{ siteConfig.getTemplate }}/js/jquery.inview.min.js"></script>
<script src="/themes/{{ siteConfig.getTemplate }}/js/jquery.fancybox.min.js"></script>
<script>
$().ready(function() {
// get enviroment dimensions
var viewportHeight = $(window).height();
var viewportWidth = $(window).width();
var displayHeight = $('html').height();
// re-adjust on resize ...
$(window).resize(function()
{
var viewportHeight = $(window).height();
var viewportWidth = $('html').width();
});
// navbar
$('#nav-icon3').click(function(){
$(this).toggleClass('open');
});
$('.navbar .nav-link').click(function() {
$('.navbar-collapse').removeClass('show');
$('#nav-icon3').removeClass('open');
});
// background images
$('.section-bg-image').each(function() {
var img = $(this).data('src');
$(this).css("background-image", "url('" + img + "')");
});
// scroll to
$('a[href*=\\#]').bind("click", function(event) {
event.preventDefault();
var target = $(this).attr("href");
if (!target.match(/slider(.*)/i)) {
$('html,body').animate({
scrollTop: $(target).offset().top
}, 2000);
}
});
$('.btn-continue').click(function() {
$(this).addClass('animate__animated animate__zoomOut');
});
// top bar
var minified = false;
$(window).scroll(function() {
var y = $(window).scrollTop();
// console.log('Y: ' + y);
if ( y > viewportHeight*.75 )
{
if ( minified == false )
{
$('.site-logo').addClass('logo-minified');
$('.navbar').addClass('navbar-minified');
minified = true;
}
}
else
{
$('.site-logo').removeClass('logo-minified');
$('.navbar').removeClass('navbar-minified');
minified = false;
}
});
// gallery
$('.gallery-image').mouseover(function() {
var e = $(this).find('.icon');
e.fadeIn();
}).mouseleave(function() {
var e = $(this).find('.icon');
e.fadeOut();
});
// animate on scroll
$('.scroll-animated,.scroll-animated-inverted').bind('inview', function(event, visible) {
if ( visible ) {
$(this).animate({
top: '0px',
opacity: 1
}, 600);
}
});
$('.scroll-animated-fade-in').bind('inview', function(event, visible) {
if ( visible ) {
$(this).animate({
opacity: 1
}, 1200);
}
});
// booking form
$('#contactSetRoomType1,#contactSetRoomType2').change(function() {
let s = $(this).prop('checked');
let v = $(this).val();
console.log('Changing room type state to: ' + v);
$('#contactRoomType').val(v);
if (s===true && $(this).attr('id')=='contactSetRoomType2') {
$('#contactRoomType2Data').fadeIn();
$('#contactFirstname2,#contactLastname2,#contactSeminar2,#contactSize2').addClass('check-finput');
console.log('Adding 2 bed room guest 2 name. Status: ' + s);
} else {
$('#contactRoomType2Data').fadeOut();
$('#contactFirstname2,#contactLastname2,#contactSeminar2,#contactSize2').removeClass('check-finput');
console.log('Removing 2 bed room guest 2 name. Status: ' + s);
}
console.log('Room type set: ' + $('#contactRoomType').val());
});
$('#contactSeminar2').click(function() {
if ($(this).prop('checked'))
$(this).val('JA');
else
$(this).val('Nein');
});
// check form input
/**
$('.check-finput').keyup(function() {
let formComplete = true;
$('.check-finput').each(function() {
// console.log('Check input: ' + $(this).attr('name') + ' -> ' + $(this).val());
if ($(this).attr('type')=='checkbox' && $(this).prop('checked')!='1')
formComplete = false;
else if ($(this).val() == '')
formComplete = false;
});
if (formComplete)
$('#submitBookingForm').fadeIn();
else
$('#submitBookingForm').hide();
});
**/
// submit form data
$('#submitBookingForm').click(function() {
let formToken = $('#contactToken').val();
let formFirstname = $('#contactFirstname').val();
let formLastname = $('#contactLastname').val();
let formEmail = $('#contactEmail').val();
let formEmailAddress = $('#emailAddress').val();
let formMessage = $('#contactMessage').val();
let formComplete = true;
$('.check-finput').each(function() {
if($(this).attr('required')) {
if ($(this).attr('type')=='checkbox' && $(this).prop('checked')!='1')
formComplete = false;
else if ($(this).val() == '')
formComplete = false;
console.log('Form complete status (' + $(this).attr('required') + '): ' + formComplete);
}
});
if (!formComplete) {
alert('Bitte alle Pflichtangaben ausfuellen!');
return;
}
let formId = 'bookingForm';
let formFields = $('#'+formId).find('.check-finput').toArray();
let formQueryString = {};
for (i = 0; i < formFields.length; i += 1) {
console.log('Parse element ' + formFields[i].getAttribute('name') + ' -> value: ' + formFields[i].value);
input_id = formFields[i].getAttribute('name');
input_value = formFields[i].value;
formQueryString[input_id] = input_value;
}
$.ajax({
url : "/contact/sendmail",
type : "POST",
data : formQueryString,
dataType : "text",
success : function(data, jqXHR) {
console.log('Response: ' + data);
var r = data;
var s = JSON.parse(r);
console.log('Json: ' + s);
if (s.code == '400')
$('#submitContactMessage').html(s.message).fadeIn();
else
$('#bookingForm').html(s.message);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
$('#bookingForm').html('Es ist ein Fehler aufgetreten. Bitte kontaktieren Sie uns telefonisch oder per E-Mail');
}
});
});
});
</script>
<script language="javascript">
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(c_name) {
var i, x, y, ARRcookies = document.cookie.split(";");
for (i = 0; i < ARRcookies.length; i++) {
x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
x = x.replace(/^\s+|\s+$/g, "");
if (x == c_name) {
return unescape(y);
}
}
}
function validateEmail(email)
{
// var mailformat = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
if( email.match( /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ ) )
return true;
else
return false;
}
</script>