aboutsummaryrefslogtreecommitdiff
path: root/public/javascripts/easterEggs.js
blob: 79fb6d9d441f98cc152ef3ad23b4e58d81959d35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
const sinterklaas = function () {
  console.log('sinterklaas easter egg activated')
  const searchNode = document.querySelector('#search')
  const inputNode = searchNode.querySelector('input[type="search"]')
  const autocompleteNode = document.querySelector('.autocomplete')
  let autocomplete = false
  const lyrics = [
    [
      {woord: 'Hoor ', time: 0},
      {woord: 'wie ', time: 0.3},
      {woord: 'klopt ', time: 0.6},
      {woord: 'daar ', time: 0.9},
      {woord: 'kind', time: 1.2},
      {woord: '\'ren', time: 1.5}
    ],
    [
      {woord: 'Hoor ', time: 1.8},
      {woord: 'wie ', time: 2.1},
      {woord: 'klopt ', time: 2.5},
      {woord: 'daar ', time: 2.8},
      {woord: 'kind', time: 3.1},
      {woord: '\'ren', time: 3.4}
    ],
    [
      {woord: 'Hoor ', time: 3.7},
      {woord: 'wie ', time: 4},
      {woord: 'tikt ', time: 4.3},
      {woord: 'daar ', time: 4.6},
      {woord: 'zacht', time: 4.8},
      {woord: 'jes ', time: 5.3},
      {woord: 'tegen ', time: 5.5},
      {woord: '\'t ', time: 6.1},
      {woord: 'raam ', time: 6.2}
    ]
  ]

  const originalValue = inputNode.value

  inputNode.value = ''
  inputNode.placeholder = ''

  lyrics.forEach((row, rowIndex) => {
    row.forEach((word, wordIndex) => {
      setTimeout(function () {
        if (wordIndex === 0) inputNode.placeholder = ''
        inputNode.placeholder += word.woord
      }, word.time * 1000)
      if (lyrics.length === rowIndex + 1 &&
          lyrics[rowIndex].length === wordIndex + 1) {
        setTimeout(function () {
          if (inputNode.value === '') {
            inputNode.value = originalValue
          }
          inputNode.placeholder = 'Zoeken'
          autocomplete = true
        }, word.time * 1000 + 1000)
      }
    })
  })

  inputNode.addEventListener('focus', function () {
    if (!autocomplete) return

    autocompleteNode.innerHTML = ''

    const autocompleteLyrics = [
      `'t Is een vreemd'ling zeker,`,
      `die verdwaalt is zeker.`,
      `'k Zal eens even vragen naar zijn naam:`
    ]

    autocompleteLyrics.forEach(row => {
      const resultNode = document.createElement('li')
      resultNode.innerHTML = row
      autocompleteNode.appendChild(resultNode)
    })
  })

  inputNode.addEventListener('input', function () {
    if (!autocomplete) return
    if (inputNode.value.toLowerCase() === 'sint nicolaas' ||
        inputNode.value.toLowerCase() === 'sintnicolaas' ||
        inputNode.value.toLowerCase() === 'sint nikolaas' ||
        inputNode.value.toLowerCase() === 'sintnikolaas') {
      inputNode.value = ''
      window.location.href = 'https://www.youtube-nocookie.com/embed/jsOiKJ3kKXM?start=30'
    }
  })
}

module.exports = { sinterklaas }