PageSourceSearch

https://www.maler-reuber.de/js/_require.js?v=1764319774

js maler-reuber.de collected 2026-10-06 22:24:50 UTC 7,219 bytes, 161 lines download raw bytes

1rIt({
2    "*": {
3        "assets": ["/js/_essentials/notifications.js", "/js/_essentials/basics.js", "/js/_essentials/ruffnav.js", "/privacyControl-2.0.conf.js", "/js/_essentials/privacyControl-2.js"],
4        "function": "always"
5    },
6    "body.isOldBrowser": {
7        "assets": ["/js/_essentials/note.oldBrowser.js"]
8    },
9    "body.dev-mode": {
10        "assets": ["/js/_essentials/devMode.js"]
11    },
12    ".cms-image.lightbox-zoom-image, .cms-gallery.modalGallery": {
13        "assets": ["/js/vendor/baguetteBox.js"],
14        "function": function (selector) {
15            baguetteBox.run(selector, { noScrollbars: true, async: true, preload: 0 });
16        }
17    },
18    "picture, :not(picture) > img[data-src], .lazy-bg, [data-lazy-animation]": {
19        "assets": ["/js/_essentials/basics.js", "/js/_essentials/lazyLoad.js"],
20        "function": function (selector) {
21            new LazyLoad({ selector: selector });
22        }
23    },
24    "form[action*='formixapp.com']:not([data-evercaptcha])": {
25        "assets": ["/js/_essentials/basics.js", "/js/_essentials/formix.js"],
26        "function": function (selector) {
27            new Formix({ selector: selector });
28        }
29    },
30    ".teaser-swiper-container": {
31        "assets": ["/js/vendor/swiper.js"],
32            "function": function teaserSwiper() {
33            var teaserSwiper = new Swiper('.teaser-swiper-container.teaserSwiper', {
34                    loop: true,
35                    autoplay: {
36                    delay: 2500,
37                    grabCursor: true,
38                },
39                    speed: 4000,
40                    slidesPerView: 1,
41            });
42        }
43    },
44    "form[data-evercaptcha]": {
45        "assets": ["/js/_essentials/basics.js", "/js/_essentials/formix.js", "/securewebapps/evercdn/assets/evercaptcha/v1/scripts/main.min.js"],
46        "function": function (selector) {
47            const formix = new Formix({
48                selector: selector,
49                eventName: "evercaptcha-valid"
50            });
51            const everCaptcha = new EverCAPTCHA(selector, true, {
52                hookSending: true
53            });
54        },
55        "lazy": true
56    },
57    "form": {
58        "assets": [],
59        "function": function () {
60            // Class for focused Custom Input
61            function inputs() {
62                var input = document.querySelectorAll('.input-field');
63
64                function currentItem() {
65                    this.parentNode.classList.add('focused');
66                }
67
68                function leaveFocus() {
69                    if (this.value.length == 0) {
70                        this.parentNode.classList.remove('focused');
71                    }
72                }
73
74                for (var i = 0; i < input.length; i++) {
75                    input[i].addEventListener("focus", currentItem, false);
76                    input[i].addEventListener("blur", leaveFocus, false);
77                }
78            }
79            inputs();
80
81            // Custom Field error validation // Use it only when needed
82            function customError() {
83                var myInput = document.getElementsByTagName('input');
84                for(var i = 0; i < myInput.length; i++) {
85                    myInput[i].addEventListener('invalid', function(e) {
86                        this.classList.add("invalid");
87                    });
88                }
89            }
90            customError();
91        }
92    },
93    "a.phone": {
94    "assets": [],
95    "function": function () {
96         const aph = document.querySelectorAll('a.phone');
97
98         aph.forEach((a) => {
99             a.setAttribute('title', 'Jetzt telefonisch Kontakt mit Malermeisterbetrieb Hubertus Reuber in Drolshagen und Attendorn aufnehmen!');
100         })
101    }
102}
103});
104
105function always()
106{
107    new Ruffnav();
108    new ScrollDir(document.body);
109
110    privacyCtrl = new PrivacyControl({
111        deps: {
112            googlemaps: true
113        }
114    });
115
116    
117    function scrollClass() {
118        var pageNavi = document.getElementById('navigation');
119        window.addEventListener('scroll', function () {
120            var scrollTop = window.pageYOffset;
121    
122            if (scrollTop > 1 && window.innerWidth >= breakpoint('large')) {
123                pageNavi.classList.add('small');
124            }
125    
126            else if (scrollTop < 1 && window.innerWidth >= breakpoint('large')){
127                pageNavi.classList.remove('small');
128            } 
129        });
130    }
131    scrollClass();
132
133    // Set and Remove hide Class for fixed Button Content
134    if (!breakpoint('large')) {
135        document.getElementById('page-wrap').addEventListener('click', function() {
136            var fixedButtonInner = document.querySelectorAll('.fixed-contacts li:not(.mobile-no-hover) .inner');
137            for (var i = 0; i < fixedButtonInner.length; i++) {
138                fixedButtonInner[i].classList.add('hide');
139            }
140        })
141
142        function hide() {
143            var inner = this.querySelector('li .inner');
144            inner.classList.remove('hide');
145        }
146
147        var fixedButton = document.querySelectorAll('.fixed-contacts li');
148        for (var i = 0; i < fixedButton.length; i++) {
149            fixedButton[i].addEventListener('click', hide, false);
150        }
151    }
152    
153}
154
155/**
156 * require it! (dependencies)
157 * @author Dominik Kressler
158 * @version 1.0.0
159 * @date 2021-02-09
160 */
161function rIt(rules){if(Object.keys(rules).length===0||rules.constructor!==Object){return false}let instantRules={},lazyRules={};if(!window.rItLoaded){window.rItLoaded=[]}for(let key in rules){if(!(rules[key].assets instanceof Array)){rules[key].assets=[]}rules[key].selector=key;if(document.querySelector(key)!==null){if(rules[key].lazy){lazyRules[key]=rules[key]}else{instantRules[key]=rules[key]}}}loadAsset=async asset=>{if(window.rItLoaded.indexOf(asset)>-1){return false}return new Promise((resolve,reject)=>{window.rItLoaded.push(asset);if(asset.indexOf('.css',asset.length-4)!==-1||asset.indexOf('rforce=css')>-1){var node=document.createElement('link');node.setAttribute('href',asset);node.setAttribute('rel','stylesheet')}else{var node=document.createElement('script');node.src=asset;node.setAttribute('defer','defer')}node.onload=async()=>{resolve(true)};document.body.appendChild(node)}
161)};if(Object.keys(lazyRules).length>0){let observer=new IntersectionObserver(function(entries){if(entries[0].intersectionRatio<=0){return;}let selector=entries[0].target.dataset.ritSelector;let rule=lazyRules[selector];(async()=>{for(let asset of rule.assets){await loadAsset(asset)}if(typeof rule['function']=='string'){window[rule['function']](selector)}if(typeof rule['function']=='function'){rule['function'](selector)}})();observer.unobserve(entries[0].target)},{threshold:0.01});for(let key in lazyRules){let selector=key;let target=document.querySelector(selector);target.dataset.ritSelector=selector;observer.observe(target)}}if(Object.keys(instantRules).length>0){(async()=>{for(let key in instantRules){let rule=instantRules[key];for(let asset of rule.assets){await loadAsset(asset)}if(typeof rule['function']=='string'){window[rule['function']](key)}if(typeof rule['function']=='function'){rule['function'](key)}}})()}return this}

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.