diff --git a/Profice WebSite/.htaccess b/Profice WebSite/.htaccess index 77c5411..034467f 100644 --- a/Profice WebSite/.htaccess +++ b/Profice WebSite/.htaccess @@ -47,6 +47,20 @@ Options -Indexes php_value error_reporting E_ALL & ~E_DEPRECATED & ~E_STRICT +# Handle PHP files if mod_php is not available + + SetHandler application/x-httpd-php + + +# Alternative PHP handler for different server configurations + + AddHandler fcgid-script .php + + + + AddHandler cgi-script .php + + # Force HTTPS (uncomment if you have SSL certificate) # RewriteEngine On # RewriteCond %{HTTPS} off diff --git a/Profice WebSite/backup-form.html b/Profice WebSite/backup-form.html new file mode 100644 index 0000000..58f26a2 --- /dev/null +++ b/Profice WebSite/backup-form.html @@ -0,0 +1,130 @@ + + + + + + Kontaktformular - Profice + + + +
+

Kontaktformular (Backup)

+ +
+ Hinweis: Dies ist eine Backup-Version des Kontaktformulars. Wenn das Hauptformular nicht funktioniert, können Sie dieses verwenden. +
+ +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ +
+
+ + + + diff --git a/Profice WebSite/index.html b/Profice WebSite/index.html index 0737ba3..8e40a4c 100644 --- a/Profice WebSite/index.html +++ b/Profice WebSite/index.html @@ -520,11 +520,103 @@ + + + + + + + + + diff --git a/Profice WebSite/scripts/scroll-header.min.js b/Profice WebSite/scripts/scroll-header.min.js index 2f37ac4..3354848 100644 --- a/Profice WebSite/scripts/scroll-header.min.js +++ b/Profice WebSite/scripts/scroll-header.min.js @@ -1 +1 @@ -document.addEventListener("DOMContentLoaded",function(){const topBanner=document.querySelector('.top-banner');const slideMenu=document.querySelector('.slide-menu');if(!topBanner)return;const scrollThreshold=50;let isScrolled=false;let lastScrollY=0;let rafId=null;function updateHeaderState(scrolled){if(scrolled===isScrolled)return;requestAnimationFrame(()=>{if(scrolled){topBanner.classList.add('scrolled');if(slideMenu){slideMenu.style.transition='top 0.3s cubic-bezier(0.4, 0, 0.2, 1)';slideMenu.style.top='80px';}}else{topBanner.classList.remove('scrolled');if(slideMenu){slideMenu.style.transition='top 0.3s cubic-bezier(0.4, 0, 0.2, 1)';slideMenu.style.top='110px';}}});isScrolled=scrolled;}function handleScroll(){const currentScrollY=window.pageYOffset||document.documentElement.scrollTop;const shouldScroll=currentScrollY>scrollThreshold;updateHeaderState(shouldScroll);lastScrollY=currentScrollY;rafId=null;}function onScroll(){if(!rafId){rafId=requestAnimationFrame(handleScroll);}}window.addEventListener('scroll',onScroll,{passive:true});updateHeaderState(window.pageYOffset>scrollThreshold);}); +document.addEventListener("DOMContentLoaded",function(){const topBanner=document.querySelector('.top-banner');const slideMenu=document.querySelector('.slide-menu');if(!topBanner)return;const scrollThreshold=50;const rafDelay=8;let isScrolled=false;let lastScrollY=0;let scrollDirection='down';let rafId=null;let lastUpdateTime=0;let scrollVelocity=0;let lastScrollTime=0;function calculateVelocity(currentScrollY,currentTime){if(lastScrollTime===0){lastScrollTime=currentTime;return 0;}const timeDelta=currentTime-lastScrollTime;const scrollDelta=Math.abs(currentScrollY-lastScrollY);const velocity=scrollDelta/timeDelta;lastScrollTime=currentTime;return velocity;}function updateHeaderState(scrolled,velocity=0){if(scrolled===isScrolled)return;if(velocity>5){topBanner.classList.add('fast-scroll');}else{topBanner.classList.remove('fast-scroll');}requestAnimationFrame(()=>{if(scrolled){topBanner.classList.add('scrolled');if(slideMenu){slideMenu.style.transition='top 0.3s cubic-bezier(0.4, 0, 0.2, 1)';slideMenu.style.top='80px';}}else{topBanner.classList.remove('scrolled');if(slideMenu){slideMenu.style.transition='top 0.3s cubic-bezier(0.4, 0, 0.2, 1)';slideMenu.style.top='110px';}}});isScrolled=scrolled;}function handleScroll(currentTime){if(currentTime-lastUpdateTime1){scrollDirection=scrollDelta>0?'down':'up';}let shouldScroll;if(scrollDirection==='down'){shouldScroll=currentScrollY>scrollThreshold+10;}else{shouldScroll=currentScrollY>scrollThreshold-10;}updateHeaderState(shouldScroll,velocity);lastScrollY=currentScrollY;lastUpdateTime=currentTime;rafId=null;}function onScroll(){if(!rafId){rafId=requestAnimationFrame(handleScroll);}}window.addEventListener('scroll',onScroll,{passive:true,capture:false});let resizeTimeout;function onResize(){clearTimeout(resizeTimeout);resizeTimeout=setTimeout(()=>{lastScrollY=window.pageYOffset||document.documentElement.scrollTop;updateHeaderState(lastScrollY>scrollThreshold);},100);}window.addEventListener('resize',onResize,{passive:true});function onVisibilityChange(){if(document.hidden){if(rafId){cancelAnimationFrame(rafId);rafId=null;}}else{lastScrollY=window.pageYOffset||document.documentElement.scrollTop;updateHeaderState(lastScrollY>scrollThreshold);}}document.addEventListener('visibilitychange',onVisibilityChange);requestAnimationFrame(()=>{updateHeaderState(window.pageYOffset>scrollThreshold);});document.querySelectorAll('a[href^="#"]').forEach(link=>{link.addEventListener('click',function(e){const targetId=this.getAttribute('href');if(targetId==='#')return;const targetElement=document.querySelector(targetId);if(targetElement){e.preventDefault();const headerHeight=topBanner.offsetHeight;const targetPosition=targetElement.offsetTop-headerHeight-20;window.scrollTo({top:targetPosition,behavior:'smooth'});}});});});