PageSourceSearch

https://dewa.com/20221207203048js_/http_/dewa.com/js/smoothscroll.js

js dewa.com collected 2026-10-01 14:52:47 UTC 8,723 bytes, 339 lines download raw bytes

1var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };
2if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }
3{
4  let window = _____WB$wombat$assign$function_____("window");
5  let self = _____WB$wombat$assign$function_____("self");
6  let document = _____WB$wombat$assign$function_____("document");
7  let location = _____WB$wombat$assign$function_____("location");
8  let top = _____WB$wombat$assign$function_____("top");
9  let parent = _____WB$wombat$assign$function_____("parent");
10  let frames = _____WB$wombat$assign$function_____("frames");
11  let opener = _____WB$wombat$assign$function_____("opener");
12
13// SmoothScroll v0.9.9
14// Licensed under the terms of the MIT license.
15
16// People involved
17// - Balazs Galambosi: maintainer (CHANGELOG.txt)
18// - Patrick Brunner ([email protected])
19// - Michael Herf: ssc_pulse Algorithm
20
21function ssc_init() {
22    if (!document.body) return;
23    var e = document.body;
24    var t = document.documentElement;
25    var n = window.innerHeight;
26    var r = e.scrollHeight;
27    ssc_root = document.compatMode.indexOf("CSS") >= 0 ? t : e;
28    ssc_activeElement = e;
29    ssc_initdone = true;
30    if (top != self) {
31        ssc_frame = true
32    } else if (r >
32 n && (e.offsetHeight <= n || t.offsetHeight <= n)) {
33        ssc_root.style.height = "auto";
34        if (ssc_root.offsetHeight <= n) {
35            var i = document.createElement("div");
36            i.style.clear = "both";
37            e.appendChild(i)
38        }
39    }
40    if (!ssc_fixedback) {
41        e.style.backgroundAttachment = "scroll";
42        t.style.backgroundAttachment = "scroll"
43    }
44    if (ssc_keyboardsupport) {
45        ssc_addEvent("keydown", ssc_keydown)
46    }
47}
48
49function ssc_scrollArray(e, t, n, r) {
50    r || (r = 1e3);
51    ssc_directionCheck(t, n);
52    ssc_que.push({
53        x: t,
54        y: n,
55        lastX: t < 0 ? .99 : -.99,
56        lastY: n < 0 ? .99 : -.99,
57        start: +(new Date)
58    });
59    if (ssc_pending) {
60        return
61    }
62    var i = function () {
63        var s = +(new Date);
64        var o = 0;
65        var u = 0;
66        for (var a = 0; a < ssc_que.length; a++) {
67            var f = ssc_que[a];
68            var l = s - f.start;
69            var c = l >= ssc_animtime;
70            var h = c ? 1 : l / ssc_animtime;
71            if (ssc_pulseAlgorithm) {
72                h = ssc_pulse(h)
73            }
74            var p = f.x * h - f.lastX >> 0;
75            var d = f.y * h - f.lastY >> 0;
76            o += p;
77            u += d;
78            f.lastX += p;
79            f.lastY += d;
80            if (c) {
81                ssc_que.splice(a, 1);
82                a--
83            }
84        }
85        if (t) {
86            var v = e.scrollLeft;
87            e.scrollLeft += o;
88            if (o && e.scrollLeft === v) {
89                t = 0
90            }
91        }
92        if (n) {
93            var m = e.scrollTop;
94            e.scrollTop += u;
95            if (u && e.scrollTop === m) {
96                n = 0
97            }
98        }
99        if (!t && !n) {
100            ssc_que = []
101        }
102        if (ssc_que.length) {
103            setTimeout(i, r / ssc_framerate + 1)
104        } else {
105            ssc_pending = false
106        }
107    };
108    setTimeout(i, 0);
109    ssc_pending = true
110}
111
112function ssc_wheel(e) {
113    if (!ssc_initdone) {
114        ssc_init()
115    }
116    var t = e.target;
117    var n = ssc_overflowingAncestor(t);
118    if (!n || e.defaultPrevented || ssc_isNodeName(ssc_activeElement, "embed") || ssc_isNodeName(t, "embed") && /\.pdf/i.test(t.src)) {
119        return true
120    }
121    var r = e.wheelDeltaX || 0;
122    var i = e.wheelDeltaY || 0;
123    if (!r && !i) {
124        i = e.wheelDelta || 0
125    }
126    if (Math.abs(r) > 1.2) {
127        r *= ssc_stepsize / 120
128    }
129    if (Math.abs(i) > 1.2) {
130        i *= ssc_stepsize / 120
131    }
132    ssc_scrollArray(n, -r, -i);
133    e.preventDefault()
134}
135
136function ssc_keydown(e) {
137    var t = e.target;
138    var n = e.ctrlKey || e.altKey || e.metaKey;
139    if (/input|textarea|embed/i.test(t.nodeName) || t.isContentEditable || e.defaultPrevented || n) {
140        return true
141    }
142    if (ssc_isNodeName(t, "button") && e.keyCode === ssc_key.spacebar) {
143        return true
144    }
145    var r, i = 0,
146        s = 0;
147    var o = ssc_overflowingAncestor(ssc_activeElement);
148    var u = o.clientHeight;
149    if (o == document.body) {
150        u = window.innerHeight
151    }
152    switch (e.keyCode) {
153    case ssc_key.up:
154        s = -ssc_arrowscroll;
155        break;
156    case ssc_key.down:
157        s = ssc_arrowscroll;
158        break;
159    case ssc_key.spacebar:
160        r = e.shiftKey ? 1 : -1;
161        s = -r * u * .9;
162        break;
163    case ssc_key.pageup:
164        s = -u * .9;
165        break;
166    case ssc_key.pagedown:
167        s = u * .9;
168        break;
169    case ssc_key.home:
170        s = -o.scrollTop;
171        break;
172    case ssc_key.end:
173        var a = o.scrollHeight - o.scrollTop - u;
174        s = a > 0 ? a + 10 : 0;
175        break;
176    case ssc_key.left:
177        i = -ssc_arrowscroll;
178        break;
179    case ssc_key.right:
180        i = ssc_arrowscroll;
181        break;
182    default:
183        return true
184    }
185    ssc_scrollArray(o, i, s);
186    e.preventDefault()
187}
188
189function ssc_mousedown(e) {
190    ssc_activeElement = e.target
191}
192
193function ssc_setCache(e, t) {
194    for (var n = e.length; n--;) ssc_cache[ssc_uniqueID(e[n])] = t;
195    return t
196}
197
198function ssc_overflowingAncestor(e) {
199    var t = [];
200    var n = ssc_root.scrollHeight;
201    do {
202        var r = ssc_cache[ssc_uniqueID(e)];
203        if (r) {
204            return ssc_setCache(t, r)
205        }
206        t.push(e);
207        if (n === e.scrollHeight) {
208            if (!ssc_frame || ssc_root.clientHeight + 10 < n) {
209                return ssc_setCache(t, document.body)
210            }
211        } else if (e.clientHeight + 10 < e.scrollHeight) {
212            overflow = getComputedStyle(e, "").getPropertyValue("overflow");
213            if (overflow === "scroll" || overflow === "auto") {
214                return ssc_setCache(t, e)
215            }
216        }
217    } while (e = e.parentNode)
218}
219
220function ssc_addEvent(e, t, n) {
221    window.addEventListener(e, t, n || false)
222}
223
224function ssc_removeEvent(e, t, n) {
225    window.removeEventListener(e, t, n || false)
226}
227
228function ssc_isNodeName(e, t) {
229    return e.nodeName.toLowerCase() === t.toLowerCase()
230}
231
232function ssc_directionCheck(e, t) {
233    e = e > 0 ? 1 : -1;
234    t = t > 0 ? 1 : -1;
235    if (ssc_direction.x !== e || ssc_direction.y !== t) {
236        ssc_direction.x = e;
237        ssc_direction.y = t;
238        ssc_que = []
239    }
240}
241
242function ssc_pulse_(e) {
243    var t, n, r;
244    e = e * ssc_pulseScale;
245    if (e < 1) {
246        t = e - (1 - Math.exp(-e))
247    } else {
248        n = Math.exp(-1);
249        e -= 1;
250        r = 1 - Math.exp(-e);
251        t = n + r * (1 - n)
252    }
253    return t * ssc_pulseNormalize
254}
255
256function ssc_pulse(e) {
257    if (e >= 1) return 1;
258    if (e <= 0) return 0;
259    if (ssc_pulseNormalize == 1) {
260        ssc_pulseNormalize /= ssc_pulse_(1)
261    }
262    return ssc_pulse_(e)
263}
264
265var ssc_framerate = 150;
266var ssc_animtime = 500;
267var ssc_stepsize = 150;
268var ssc_pulseAlgorithm = true;
269var ssc_pulseScale = 6;
270var ssc_pulseNormalize = 1;
271var ssc_keyboardsupport = true;
272var ssc_arrowscroll = 50;
273var ssc_frame = false;
274var ssc_direction = {
275    x: 0,
276    y: 0
277};
278
279var ssc_initdone = false;
280var ssc_fixedback = true;
281var ssc_root = document.documentElement;
282var ssc_activeElement;
283var ssc_key = {
284    left: 37,
285    up: 38,
286    right: 39,
287    down: 40,
288    spacebar: 32,
289    pageup: 33,
290    pagedown: 34,
291    end: 35,
292    home: 36
293};
294
295var ssc_que = [];
296var ssc_pending = false;
297var ssc_cache = {};
298
299setInterval(function () {
300    ssc_cache = {}
301}, 10 * 1e3);
302
303var ssc_uniqueID = function () {
304    var e = 0;
305    return function (t) {
306        return t.ssc_uniqueID || (t.ssc_uniqueID = e++)
307    }
308}();
309
310var ischrome = /chrome/.test(navigator.userAgent.toLowerCase());
311
312if (ischrome) {
313    ssc_addEvent("mousedown", ssc_mousedown);
314    ssc_addEvent("mousewheel", ssc_wheel);
315    ssc_addEvent("load", ssc_init)
316}
317
318}
319/*
320     FILE ARCHIVED ON 20:30:48 Dec 07, 2022 AND RETRIEVED FROM THE
321     INTERNET ARCHIVE ON 04:21:02 Aug 07, 2024.
322     JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
323
324     ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
325     SECTION 108(a)(3)).
326*/
327/*
328playback timings (ms):
329  captures_list: 0.415
330  exclusion.robots: 0.016
331  exclusion.robots.policy: 0.007
332  esindex: 0.009
333  cdx.remote: 14.428
334  LoadShardBlock: 76.663 (3)
335  PetaboxLoader3.datanode: 88.816 (5)
336  PetaboxLoader3.resolve: 463.841 (2)
337  load_resource: 489.941
338  loaddict: 37.512
339*/

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.