Hermann Kathöfer GmbH
Druffeler Straße 105
33397 Rietberg

Handelsregister: HRB 6049
Registergericht: Amtsgericht Gütersloh

Vertreten durch:
Hermann Kathöfer

Kathöfer Wertstoff GmbH
Druffeler Straße 105
33397 Rietberg

Handelsregister: HRB 13330
Registergericht: Amtsgericht Gütersloh

Vertreten durch:
Hermann Kathöfer

Kathöfer Hochbau GmbH
Druffeler Straße 105
33397 Rietberg

Handelsregister: HRB 8714
Registergericht: Amtsgericht Gütersloh

Vertreten durch:
Matthias Becker 

Kathöfer Transport & Werkstatt GmbH
Druffeler Straße 105
33397 Rietberg

Handelsregister: HRB 13907
Registergericht: Amtsgericht Gütersloh

Vertreten durch:
Lukas Kathöfer, Hermann Kathöfer

Für die Inhalte dieser Website verantwortlich ist: Hermann Kathöfer GmbH

Kontakt
Telefon: 05244-9300-0
Telefax: 05244-9300-30
E-Mail: info@kathoefer-rietberg.de
Rechnungseingang: buchhaltung@kathoefer-rietberg.de

Umsatzsteuer-ID
Umsatzsteuer-Identifikationsnummer gemäß § 27 a Umsatzsteuergesetz:
DE 813794556

Aufsichtsbehörde
TÜV Nord Umweltschutz GmbH & Co. KG
Große Bahnstraße 31
22525 Hamburg
www.tuev-nord.de

Berufsbezeichnung und berufsrechtliche Regelungen
Berufsbezeichnung:
Entsorgungsfachbetrieb

Zuständige Kammer:
TÜV Nord Umweltschutz GmbH & Co. KG
Große Bahnstraße 31
22525 Hamburg

Verliehen in:
Deutschland

Redaktionell verantwortlich
Hermann Kathöfer GmbH
Druffeler Straße 105
33397 Rietberg

EU-Streitschlichtung
Die Europäische Kommission stellt eine Plattform zur Online-Streitbeilegung (OS) bereit:
https://ec.europa.eu/consumers/odr/.
Unsere E-Mail-Adresse finden Sie oben im Impressum.

Verbraucherstreitbeilegung/Universalschlichtungsstelle
Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer
Verbraucherschlichtungsstelle teilzunehmen.

Quelle:
https://www.e-recht24.de

Kathöfer Wertstoff GmbH in Rietberg.

Entsorgung & Recycling

Wir bieten maßgeschneiderte Lösungen für Privat- und Gewerbekunden. Wählen Sie unten Ihren Bereich aus, um mehr über unsere Dienstleistungen zu erfahren.

) | Bedingung: Gesamte Website * * Erwartete Struktur: * Button-Widget -> Erweitert > CSS-Klassen: bewerbungsformular * -> Erweitert > Attribute: data-stelle|Schlepperfahrer / Maschinist * Formular -> Hidden Field mit ID: stelle (=> input#form-field-stelle) */ (function () { 'use strict'; var TRIGGER_SELECTOR = '.bewerbungsformular'; var DATA_ATTRIBUTE = 'data-stelle'; var FIELD_ID = 'form-field-stelle'; var FIELD_NAME = 'form_fields[stelle]'; var DEBUG = false; // auf true setzen zum Testen (Konsole) var currentStelle = ''; var retryTimer = null; function log() { if (DEBUG && window.console) { console.log.apply(console, ['[Bewerbung]'].concat([].slice.call(arguments))); } } /** Alle Instanzen des Hidden Fields einsammeln (Popup kann mehrfach im DOM liegen). */ function getFields() { var list = []; var byName = document.querySelectorAll('input[name="' + FIELD_NAME + '"]'); var byId = document.querySelectorAll('#' + FIELD_ID + ', [id^="' + FIELD_ID + '"]'); [].forEach.call(byName, function (el) { if (list.indexOf(el) === -1) { list.push(el); } }); [].forEach.call(byId, function (el) { if (el.tagName === 'INPUT' && list.indexOf(el) === -1) { list.push(el); } }); return list; } /** Wert in alle gefundenen Felder schreiben. Gibt true zurück, wenn mindestens eins befüllt wurde. */ function fillFields(value) { if (!value) { return false; } var fields = getFields(); if (!fields.length) { return false; } fields.forEach(function (field) { if (field.value !== value) { field.value = value; field.dispatchEvent(new Event('input', { bubbles: true })); field.dispatchEvent(new Event('change', { bubbles: true })); } }); log('Feld befüllt:', value, '(' + fields.length + 'x)'); return true; } /** * Elementor rendert das Popup erst beim Öffnen bzw. per AJAX. * Deshalb wird nach dem Klick bis zu 6 Sekunden lang wiederholt versucht zu befüllen. */ function fillWithRetry(value) { if (retryTimer) { clearInterval(retryTimer); retryTimer = null; } if (!value) { return; } if (fillFields(value)) { return; } var attempts = 0; retryTimer = setInterval(function () { attempts++; if (fillFields(value) || attempts > 60) { // 60 x 100ms = 6s clearInterval(retryTimer); retryTimer = null; } }, 100); } /** Wert des geklickten Buttons ermitteln – Attribut kann am Wrapper oder am inneren Element sitzen. */ function resolveStelle(target) { if (!target || !target.closest) { return ''; } var holder = target.closest('[' + DATA_ATTRIBUTE + ']'); if (holder) { return holder.getAttribute(DATA_ATTRIBUTE) || ''; } var trigger = target.closest(TRIGGER_SELECTOR); if (trigger) { var inner = trigger.querySelector('[' + DATA_ATTRIBUTE + ']'); if (inner) { return inner.getAttribute(DATA_ATTRIBUTE) || ''; } } return ''; } /* 1. Klick auf den Bewerbungs-Button (Capture-Phase) */ document.addEventListener('click', function (e) { var target = e.target; if (!target || !target.closest) { return; } if (!target.closest(TRIGGER_SELECTOR)) { return; } var value = resolveStelle(target); if (!value) { log('Kein ' + DATA_ATTRIBUTE + '-Wert am geklickten Button gefunden.'); return; } currentStelle = value; log('Klick erkannt, Stelle =', currentStelle); fillWithRetry(currentStelle); }, true); /* 2. Offizielles Elementor-Pro-Popup-Event (seit Pro 2.7) */ function bindPopupEvents($) { $(document).on('elementor/popup/show', function () { log('elementor/popup/show'); fillFields(currentStelle); setTimeout(function () { fillFields(currentStelle); }, 150); setTimeout(function () { fillFields(currentStelle); }, 600); }); // Nach erfolgreichem Absenden setzt Elementor das Formular zurück -> Wert neu setzen $(document).on('submit_success', function () { setTimeout(function () { fillFields(currentStelle); }, 300); }); } if (window.jQuery) { bindPopupEvents(window.jQuery); } else { document.addEventListener('DOMContentLoaded', function () { if (window.jQuery) { bindPopupEvents(window.jQuery); } }); } /* 3. Sicherheitsnetz: Popup-Markup wird nachträglich ins DOM geschoben. */ if (window.MutationObserver) { var observer = new MutationObserver(function (mutations) { if (!currentStelle) { return; } for (var i = 0; i < mutations.length; i++) { if (mutations[i].addedNodes && mutations[i].addedNodes.length) { fillFields(currentStelle); break; } } }); observer.observe(document.documentElement, { childList: true, subtree: true }); } })();