PageSourceSearch

https://woodenboat.com/sites/default/files/js/js_cRLjZKE8iEfdRIEW3SXgxcXkM-8yWGpzQ5FAZibOBGU.js

js woodenboat.com collected 2026-10-02 03:22:38 UTC 10,204 bytes, 237 lines download raw bytes

1(function($, Drupal){
2	Drupal.behaviors.wb_revive_server_ads = {
3    attach: function(context,settings) {
4      //General
5    	if($('.add-revive-ads').length > 0 ) {
6        $('.add-revive-ads').each(function(){
7          if($(window).width() > 1024) {
8            $(this).html('<ins data-revive-zoneid="13068" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
9          } else {
10            $(this).html('<ins data-revive-zoneid="13069" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
11          }
12        });
13      }
14      //Community - Boats For Sale
15      if($('.add-revive-com-bfs').length > 0 ) {
16        $('.add-revive-com-bfs').each(function(){
17          if($(window).width() > 1024) {
18            $(this).html('<ins data-revive-zoneid="17703" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
19          } else {
20            $(this).html('<ins data-revive-zoneid="17699" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
21          }
22        });
23      }
24      //Community - Events
25      if($('.add-revive-com-event').length > 0 ) {
26        $('.add-revive-com-event').each(function(){
27          if($(window).width() > 1024) {
28            $(this).html('<ins data-revive-zoneid="17704" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
29          } else {
30            $(this).html('<ins data-revive-zoneid="17705" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
31          }
32        });
33      }
34      //Community - Launchings
35      if($('.add-revive-com-launch').length > 0 ) {
36        $('.add-revive-com-launch').each(function(){
37          if($(window).width() > 1024) {
38            $(this).html('<ins data-revive-zoneid="17700" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
39          } else {
40            $(this).html('<ins data-revive-zoneid="17701" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
41          }
42        });
43      }
44      //Community - Plans and Kits
45      if($('.add-revive-com-pk').length > 0 ) {
46        $('.add-revive-com-pk').each(function(){
47          if($(window).width() > 1024) {
48            $(this).html('<ins data-revive-zoneid="17693" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
49          } else {
50            $(this).html('<ins data-revive-zoneid="17702" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
51          }
52        });
53      }
54      //Community - Register of Wooden Boats
55      if($('.add-revive-com-rwb').length > 0 ) {
56        $('.add-revive-com-rwb').each(function(){
57          if($(window).width() > 1024) {
58            $(this).html('<ins data-revive-zoneid="17706" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
59          } else {
60            $(this).html('<ins data-revive-zoneid="17707" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
61          }
62        });
63      }
64      //Magazine - Issue Pages
65      if($('.add-revive-mag-issue').length > 0 ) {
66        $('.add-revive-mag-issue').each(function(){
67          if($(window).width() > 1024) {
68            $(this).html('<ins data-revive-zoneid="17708" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
69          } else {
70            $(this).html('<ins data-revive-zoneid="17694" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
71          }
72        });
73      }
74      //Magazine - Issue Search Page
75      if($('.add-revive-mag-issue-search').length > 0 ) {
76        $('.add-revive-mag-issue-search').each(function(){
77          if($(window).width() > 1024) {
78            $(this).html('<ins data-revive-zoneid="17695" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
79          } else {
80            $(this).html('<ins data-revive-zoneid="17696" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
81          }
82        });
83      }
84      //Magazine - Online Exclusives
85      if($('.add-revive-mag-oe').length > 0 ) {
86        $('.add-revive-mag-oe').each(function(){
87          if($(window).width() > 1024) {
88            $(this).html('<ins data-revive-zoneid="17691" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
89          } else {
90            $(this).html('<ins data-revive-zoneid="17692" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
91          }
92        });
93      }
94      //Magazine - Sample Digital Issue
95      if($('.add-revive-mag-sample').length > 0 ) {
96        $('.add-revive-mag-sample').each(function(){
97          if($(window).width() > 1024) {
98            $(this).html('<ins data-revive-zoneid="17697" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
99          } else {
100            $(this).html('<ins data-revive-zoneid="17698" data-revive-id="727bec5e09208690b050ccfc6a45d384"></ins><script async src="//servedby.revive-adserver.net/asyncjs.php"></script>');
101          }
102        });
103      }
104    }
105  }
106}(jQuery, Drupal));
107;
108/**
109 * @file
110 * Global utilities.
111 *
112 */
113(function ($, Drupal) {
114  "use strict";
115
116  Drupal.behaviors.wb_barrio = {
117    attach: function (context, settings) {},
118  };
119  $(".mobile-menu-cta").click(function () {
120    if (parseInt($(window).width()) < 700) {
121      $(".mobile-menu-cta").toggleClass("open");
122    }
123    else {
124      $(".mobile-menu-cta").removeClass("open");
125    }
126  });
127
128  $(window).resize(function () {
129    if ($(window).width() < 991) {
130      $("#block-woodenboat-account-menu").prependTo("#mobile-menu-footer");
131    }
132    else {
133      $("#block-woodenboat-account-menu").appendTo(".main-menu");
134    }
135  });
136  
137  var slideHeight = 400;
138$(".node__editors_page").each(function() {
139    var $this = $(this);
140    var $wrap = $this.children(".node__editors_page__inner");
141    var defHeight = $wrap.height();
142    if (defHeight >= slideHeight) {
143        var $readMore = $this.find(".read-more");
144        $wrap.css("height", slideHeight + "px");
145        $readMore.append("<a href='#'>Continue Reading</a>");
146        $readMore.children("a").bind("click", function(event) {
147            var curHeight = $wrap.height();
148            if (curHeight == slideHeight) {
149                $wrap.animate({
150                    height: defHeight
151                }, "normal");
152                $wrap.children(".gradient").fadeOut();
153                $(this).remove();
154            } else {
155                $wrap.animate({
156                    height: slideHeight
157                }, "normal");
158                $(this).text("Continue Reading");
159                $wrap.children(".gradient").fadeIn();
160            }
161            return false;
162        });
163    }
164});
165})(jQuery, Drupal);
166;
167/**
168 * @file
169 * Unlock protected forms.
170 *
171 * This works by resetting the form action to the path that It should be as well
172 * as injecting the secret form key, only if the current user is verified to be
173 * human which is done by waiting for a mousemove, swipe, or tab/enter key to be
174 * pressed.
175 */
176
177(function (Drupal, drupalSettings) {
178  "use strict";
179
180  Drupal.antibot = {};
181
182  Drupal.behaviors.antibot = {
183    attach: function (context) {
184      // Assume the user is not human, despite JS being enabled.
185      drupalSettings.antibot.human = false;
186
187      // Wait for a mouse to move, indicating they are human.
188      document.body.addEventListener('mousemove', function () {
189        // Unlock the forms.
190        Drupal.antibot.unlockForms();
191      });
192
193      // Wait for a touch move event, indicating that they are human.
194      document.body.addEventListener('touchmove', function () {
195        // Unlock the forms.
196        Drupal.antibot.unlockForms();
197      });
198
199      // A tab or enter key pressed can also indicate they are human.
200      document.body.addEventListener('keydown', function (e) {
201        if ((e.code == 'Tab') || (e.code == 'Enter')) {
202          // Unlock the forms.
203          Drupal.antibot.unlockForms();
204        }
205      });
206    }
207  };
208
209  /**
210   * Unlock all locked forms.
211   */
212  Drupal.antibot.unlockForms = function () {
213    // Act only if we haven't yet verified this user as being human.
214    if (!drupalSettings.antibot.human) {
215      // Check if there are forms to unlock.
216      if (drupalSettings.antibot.forms != undefined) {
217        // Iterate all antibot forms that we need to unlock.
218        Object.values(drupalSettings.antibot.forms).forEach(function (config) {
219          // Switch the action.
220          const form = document.getElementById(config.id);
221          if (form) {
222            form.setAttribute('action', form.getAttribute('data-action'));
223
224            // Set the key.
225            const input = form.querySelector('input[name="antibot_key"]');
226            if (input) {
227              input.value = config.key.split("").reverse().join("").match(/.{1,2}/g).map((value) => value.split("").reverse().join("")).join("");
228            }
229          }
230        });
231      }
232      // Mark this user as being human.
233      drupalSettings.antibot.human = true;
234    }
235  };
236})(Drupal, drupalSettings);
237;

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.