BlechProfis

Divikom, s.r.o. ist dazu verpflichtet, diese Website aktuell und akkurat zu halten. Solltest du dennoch auf irgendetwas stoßen, das veraltet oder inkorrekt ist, würden wir es schätzen, wenn du es uns wissen lässt. Bitte weise darauf hin, wo du auf der Seite die Information gelesen hast. Wir werden uns dann so schnell wie möglich darum kümmern. Bitte sende deine Rückmeldung an: info@ex.comblechprofis.eu.

Wir übernehmen keine Haftung für aus Ungenauigkeit oder Unvollständigkeit resultierenden Verluste, noch für entstehende Verluste oder Verbreitung von Informationen durch das Internet, wie Störungen oder Unterbrechungen. Bei der Verwendung von Internetfomularen streben wir danach die Anzahl der benötigten Felder zu minimieren. Für jegliche Verluste die aus der Verwendung von Divikom, s.r.o. empfohlener oder stammender Daten, Hinweisen oder Ideen übernimmt Divikom, s.r.o. keine Haftung.

Über E-Mail oder mittels eines Internetfomulars versendete Antworten und Datenschutzanfragen werden in gleicher Weise wie Briefe behandelt. Dies bedeutet, dass du spätestens innerhalb eines Monats mit einer Antwort von uns rechnen kannst. Im Falle umfangreicher Anfragen werden wir dich innerhalb eines Monats wissen lassen ob wir ein Maximum von drei Monaten benötigen.

Jegliche persönliche Information welche du uns innerhalb des Kontexts deiner Antwort oder deinem Antrag zur Verfügung stellst, wird ausschließlich gemäß unserer Datenschutzerklärung genutzt.

Divikom, s.r.o. wird jede angemessene Maßnahme ergreifen um sein System gegen jede Form unrechtmäßiger Nutzung zu schützen. Divikom, s.r.o. wird geeignete Technologien und organisatorische Maßnahmen zu diesem Zweck, unter Berücksichtigung des aktuellen Standes der Technik, einführen. Es ist jedoch nicht verantwortlich für direkte und/oder indirekte Verluste jeglicher Art, welche bei einem Benutzer der Website auftreten, die der unrechtmäßigen Nutzung des Systems von Drittanbietern entspringt.

Divikom, s.r.o. übernimmt keine Verantwortung für den Inhalt von Websites, zu denen oder von denen ein Hyperlink oder eine anderer Verweis führt. Produkte oder Serviceleistungen, die von Drittanbieten angeboten werden, werden nach entsprechenden Bedingungen und Konditionen jener Drittanbieter behandelt werden.

Jegliches intellektuelle Eigentumsrecht an Inhalten auf dieser Website ist im Besitz von Divikom, s.r.o. oder von Drittanbietern, welche diese Inhalte selbst platziert haben, oder von denen Divikom, s.r.o. über eine Endnutzer-Lizenzvereinbarung verfügt.

Das Kopieren, Verbreiten oder jegliche andere Nutzung dieses Materials ist ohne die schriftliche Erlaubnis von Divikom, s.r.o. nicht gestattet, sofern in geltendem Gesetz nicht anders vereinbart oder ausgenommen (wie etwa das Recht zu zitieren), solang der spezifische Inhalt nichts anderes vorschreibt.

Wenn du Fragen oder Probleme mit der Verfügbarkeit der Website hast, zögere nicht uns zu kontaktieren.

// Blechprofis.eu - JavaScript(function() { 'use strict';// Navigation const hamburger = document.getElementById('hamburger'); const navMenu = document.getElementById('navMenu'); if (hamburger && navMenu) { hamburger.addEventListener('click', function() { hamburger.classList.toggle('active'); navMenu.classList.toggle('active'); }); const navLinks = navMenu.querySelectorAll('a'); navLinks.forEach(link => { link.addEventListener('click', function() { hamburger.classList.remove('active'); navMenu.classList.remove('active'); }); }); } // Smooth Scroll document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function(e) { e.preventDefault(); const targetId = this.getAttribute('href'); if (targetId === '#') return; const targetElement = document.querySelector(targetId); if (targetElement) { const navbarHeight = 70; const targetPosition = targetElement.offsetTop - navbarHeight; window.scrollTo({ top: targetPosition, behavior: 'smooth' }); } }); }); // Scroll Animations const observerOptions = { threshold: 0.1, rootMargin: '0px 0px -50px 0px' }; const observer = new IntersectionObserver(function(entries) { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('visible'); observer.unobserve(entry.target); } }); }, observerOptions); const animatedElements = document.querySelectorAll('.fade-in-up'); animatedElements.forEach(el => observer.observe(el)); // Product Card Effects const productCards = document.querySelectorAll('.product-card, .feature-card'); productCards.forEach(card => { card.addEventListener('mousemove', function(e) { const rect = card.getBoundingClientRect(); const x = e.clientX - rect.left; const y = e.clientY - rect.top; const centerX = rect.width / 2; const centerY = rect.height / 2; const rotateX = (y - centerY) / 10; const rotateY = (centerX - x) / 10; card.style.transform = `perspective(1000px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) translateY(-5px)`; }); card.addEventListener('mouseleave', function() { card.style.transform = 'perspective(1000px) rotateX(0) rotateY(0) translateY(0)'; }); }); // Back to Top Button const backToTopBtn = document.createElement('button'); backToTopBtn.innerHTML = ''; backToTopBtn.className = 'back-to-top'; backToTopBtn.setAttribute('aria-label', 'Nach oben'); document.body.appendChild(backToTopBtn); const backToTopStyle = document.createElement('style'); backToTopStyle.textContent = ` .back-to-top { position: fixed; bottom: 30px; right: 30px; width: 50px; height: 50px; background: linear-gradient(135deg, #FF8C42, #D97941); color: white; border: none; border-radius: 50%; font-size: 1.2rem; cursor: pointer; opacity: 0; visibility: hidden; transition: all 0.3s ease; box-shadow: 0 4px 12px rgba(255, 140, 66, 0.3); z-index: 999; } .back-to-top.show { opacity: 1; visibility: visible; } .back-to-top:hover { transform: translateY(-5px); box-shadow: 0 6px 16px rgba(255, 140, 66, 0.4); } `; document.head.appendChild(backToTopStyle); window.addEventListener('scroll', function() { if (window.pageYOffset > 500) { backToTopBtn.classList.add('show'); } else { backToTopBtn.classList.remove('show'); } }); backToTopBtn.addEventListener('click', function() { window.scrollTo({ top: 0, behavior: 'smooth' }); }); // Kontaktní formulář - validace a odeslání const contactForm = document.getElementById('contact-form'); const formMessage = document.getElementById('form-message'); // File Upload funkce const fileInput = document.getElementById('anhang'); const fileList = document.getElementById('file-list'); let uploadedFiles = []; const MAX_FILE_SIZE = 10 * 1024 * 1024; // 10 MB const ALLOWED_TYPES = [ 'application/pdf', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'image/jpeg', 'image/jpg', 'image/png', 'application/zip', 'application/x-zip-compressed' ]; if (fileInput) { fileInput.addEventListener('change', function(e) { handleFiles(e.target.files); }); // Drag & Drop const fileUploadDisplay = document.querySelector('.file-upload-display'); ['dragenter', 'dragover', 'dragleave', 'drop'].forEach(eventName => { fileUploadDisplay.addEventListener(eventName, preventDefaults, false); }); function preventDefaults(e) { e.preventDefault(); e.stopPropagation(); } ['dragenter', 'dragover'].forEach(eventName => { fileUploadDisplay.addEventListener(eventName, function() { fileUploadDisplay.style.borderColor = 'var(--accent-color)'; fileUploadDisplay.style.background = 'white'; }); }); ['dragleave', 'drop'].forEach(eventName => { fileUploadDisplay.addEventListener(eventName, function() { fileUploadDisplay.style.borderColor = '#e2e8f0'; fileUploadDisplay.style.background = '#f8f9fa'; }); }); fileUploadDisplay.addEventListener('drop', function(e) { const dt = e.dataTransfer; const files = dt.files; handleFiles(files); }); } function handleFiles(files) { const fileArray = Array.from(files); fileArray.forEach(file => { // Validace typu souboru if (!ALLOWED_TYPES.includes(file.type)) { showFileError(`Nepodporovaný typ souboru: ${file.name}`); return; } // Validace velikosti if (file.size > MAX_FILE_SIZE) { showFileError(`Soubor ${file.name} je příliš velký (max. 10 MB)`); return; } // Přidání souboru uploadedFiles.push(file); displayFile(file); }); } function displayFile(file) { const fileItem = document.createElement('div'); fileItem.className = 'file-item'; const fileIcon = getFileIcon(file.type); const fileSize = formatFileSize(file.size); fileItem.innerHTML = `
${file.name} ${fileSize}
`; fileList.appendChild(fileItem); // Remove handler fileItem.querySelector('.file-remove').addEventListener('click', function() { removeFile(file.name); fileItem.remove(); }); } function removeFile(filename) { uploadedFiles = uploadedFiles.filter(f => f.name !== filename); } function getFileIcon(type) { if (type.includes('pdf')) return 'fa-file-pdf'; if (type.includes('word') || type.includes('document')) return 'fa-file-word'; if (type.includes('image')) return 'fa-file-image'; if (type.includes('zip')) return 'fa-file-archive'; return 'fa-file'; } function formatFileSize(bytes) { if (bytes === 0) return '0 Bytes'; const k = 1024; const sizes = ['Bytes', 'KB', 'MB']; const i = Math.floor(Math.log(bytes) / Math.log(k)); return Math.round(bytes / Math.pow(k, i) * 100) / 100 + ' ' + sizes[i]; } function showFileError(message) { const errorDiv = document.createElement('div'); errorDiv.className = 'file-error'; errorDiv.innerHTML = ` ${message}`; fileList.appendChild(errorDiv); setTimeout(function() { errorDiv.remove(); }, 5000); } if (contactForm) { contactForm.addEventListener('submit', function(e) { e.preventDefault(); // Získání dat z formuláře const formData = new FormData(contactForm); // Přidání nahraných souborů uploadedFiles.forEach(file => { formData.append('files[]', file); }); // Zobrazení loading stavu const submitBtn = contactForm.querySelector('.form-submit'); const originalText = submitBtn.innerHTML; submitBtn.innerHTML = ' Wird gesendet...'; submitBtn.disabled = true; // Simulace odeslání (v produkci nahradit AJAX požadavkem) setTimeout(function() { // Úspěch formMessage.className = 'form-message success'; const filesCount = uploadedFiles.length; const filesText = filesCount > 0 ? ` (${filesCount} Datei${filesCount > 1 ? 'en' : ''} angehängt)` : ''; formMessage.textContent = `Vielen Dank für Ihre Anfrage${filesText}! Wir werden Sie so schnell wie möglich kontaktieren.`; contactForm.reset(); // Vyčištění seznamu souborů uploadedFiles = []; fileList.innerHTML = ''; // Reset tlačítka submitBtn.innerHTML = originalText; submitBtn.disabled = false; // Scroll k potvrzení formMessage.scrollIntoView({ behavior: 'smooth', block: 'center' }); // Skrytí zprávy po 8 sekundách setTimeout(function() { formMessage.className = 'form-message'; formMessage.textContent = ''; }, 8000); }, 1500); /* // PRO PRODUKCI - AJAX odeslání do WordPressu: fetch('/wp-admin/admin-ajax.php', { method: 'POST', body: formData }) .then(response => response.json()) .then(data => { if (data.success) { formMessage.className = 'form-message success'; formMessage.textContent = data.message || 'Vielen Dank für Ihre Anfrage!'; contactForm.reset(); uploadedFiles = []; fileList.innerHTML = ''; } else { formMessage.className = 'form-message error'; formMessage.textContent = data.message || 'Es ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.'; } submitBtn.innerHTML = originalText; submitBtn.disabled = false; formMessage.scrollIntoView({ behavior: 'smooth', block: 'center' }); }) .catch(error => { console.error('Chyba při odeslání formuláře:', error); formMessage.className = 'form-message error'; formMessage.textContent = 'Es ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.'; submitBtn.innerHTML = originalText; submitBtn.disabled = false; }); */ }); // Real-time validace polí const requiredFields = contactForm.querySelectorAll('[required]'); requiredFields.forEach(field => { field.addEventListener('blur', function() { if (!field.value.trim()) { field.style.borderColor = '#dc3545'; } else { field.style.borderColor = '#48bb78'; } }); field.addEventListener('input', function() { if (field.value.trim()) { field.style.borderColor = '#48bb78'; } }); }); } console.log('%c⚙️ Blechprofis.eu', 'font-size: 20px; font-weight: bold; color: #1a5490;'); console.log('%cCortenstahl für Profis', 'font-size: 14px; color: #D97941;'); })();