PageSourceSearch

https://www.ndp.ca/sites/default/files/js/js_Bul8rI1gMHSx7enhRXTuqa659LLoJ1Uq2BzFsv-JKC4.js

js ndp.ca collected 2026-10-01 09:26:18 UTC 9,149 bytes, 254 lines download raw bytes

1(function(init){
2  
3  var $ = jQuery;
4  
5  // array that holds all init functions
6  var all_block_rerun_functions = [];
7  
8  // method used in block js files 
9  init.block = function(block_selector,block_init_func) {
10    // debug output
11    // console.log("Block: "+block_selector);
12    // turn the init function into a rerun function
13    var block_rerun_function = function(root_obj) {
14      // get objects below the root that match selector
15      var selected_objs = $(root_obj).filter(block_selector).add( $(root_obj).find(block_selector) );
16      // run init function on all seleced objects
17      $(selected_objs).each(function(block_index,block_obj){
18        // if this block has been inited, skip
19        if ( $(block_obj).data('inited')) return;
20        // add tpl path data
21        var tpl_selector = block_selector.replace('.','').replace('\\\/','/');
22        $(block_obj).data('tpl',tpl_selector);
23        // run init function - pass $, block_obj, block_index
24        block_init_func($,block_obj,block_index);
25        // set inited to true
26        $(block_obj).data('inited',true);
27        // debug output
28        // console.log("Inited: "+block_selector);
29      });    
30    }
31    // add newly created rerun function to the list of all rerun functions for later use
32    all_block_rerun_functions.push( block_rerun_function );
33    // ask $ to run this rerun function on HTML for the first time once page is ready 
34    $(function(){ block_rerun_function("html"); })
35     
36  }
37  
38  // method used on blocks injected asyncronously
39  init.async = function(root_obj) {
40    // debug output
41    // console.log("Async Init...");
42    // loop through all rerun functions and run them on the root obj
43    for(index in all_block_rerun_functions) {
44      // get block rerun function
45      block_rerun_function = all_block_rerun_functions[index];
46      // run this function on the provided root object
47      block_rerun_function(root_obj);
48    }
49  }
50    
51})(window.init = {});
52;
53var MTIProjectId='0ea9c285-4095-472b-bc40-edc3449d29fd';
54jQuery(function() {
55	var mtiTracking = document.createElement('script');
56	mtiTracking.type='text/javascript';
57	mtiTracking.async='true';
58	mtiTracking.src=('https:'==document.location.protocol?'https:':'http:')+'//fast.fonts.com/t/trackingCode.js';
59	(document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild( mtiTracking );
60});
61;
62window.amex_support_enabled = true;
63;
64;
65;
66jQuery(function () {
67  //mobile navigation
68  var  jQuerytoggleButton = jQuery('.block--home-navbar .nav-hamburger'),
69  jQuerymenuWrap = jQuery(' .block--home-navbar .container-wrap'),
70  jQueryscroll = jQuery(".wrapper--central");
71
72  jQuerytoggleButton.on('click', function(){
73    jQuery(this).toggleClass('button-open');
74    jQuerymenuWrap.toggleClass('menu-show');
75  });
76  
77  //desktop navigation
78  jQuery(".block--home-navbar .container-link-menu").on('click keypress', function(ev) {
79    var is_key_press = (ev.type=='keypress');
80    if (is_key_press) {
81      let keycode = (event.keyCode ? event.keyCode : event.which);
82      let is_enter_key = (keycode==13);
83      if (!is_enter_key) return;
84      ev.preventDefault();
85    }
86    jQuery(".block--home-navbar .menu-overlay").show();
87    jQuery(".block--home-navbar .menu-contents").slideDown(400).addClass("menu-open");
88    if (is_key_press) jQuery(".block--home-navbar .close-menu").focus();
89  });
90  jQuery(".container-dropdown .close-menu, .container-dropdown .menu-overlay").on('click keypress', function(ev) {
91    var is_key_press = (ev.type=='keypress');
92    if (is_key_press) {
93      let keycode = (event.keyCode ? event.keyCode : event.which);
94      let is_enter_key = (keycode==13);
95      if (!is_enter_key) return;
96      ev.preventDefault();
97    }
98    jQuery(".block--home-navbar .menu-overlay").hide();
99    jQuery(".block--home-navbar .menu-contents").slideUp(400).removeClass("menu-open");    
100    if (is_key_press) jQuery(".block--home-navbar .container-link-menu").focus();
101  });
102  
103
104  jQuery('.block--home-navbar .container-link-menu').on('click', function(ev){
105    ev.preventDefault();
106    jQuery(this).next('.dropdown').toggle();
107  });
108
109  function update_donate_bar() {
110    var distanceFromTop = jQuery(document).scrollTop();
111    if (distanceFromTop >= jQuery('.block--home-navbar  .nav-bar-menu-container').height())
112    {
113        jQuery('.block--home-navbar #donate-bar').fadeIn(400).addClass('fixed');
114    }
115    else
116    {
117        jQuery('.block--home-navbar #donate-bar').fadeOut(0).removeClass('fixed');
118    }
119    if(distanceFromTop >= 10) {
120      jQuery('.block--home-navbar nav').addClass('scrolling');
121    } else {
122      jQuery('.block--home-navbar nav.scrolling').removeClass('scrolling');
123    }
124  }
125
126  //donate bar
127  jQuery(window).scroll(function() {
128    update_donate_bar();
129  });
130  update_donate_bar();
131
132});
133;
134;
135jQuery(function($){
136
137  $('.block--home-signup-donate--signup form').bind('success',function(){
138
139    window.location = $('.block--home-signup-donate--signup .js-donate-link').data('link');
140
141  });
142
143});
144;
145;
146jQuery(function() {
147
148    // append in-progress animation div to body
149    jQuery('<div class="in-progress-animation"><div class="in-progress-animation-inner"></div>').appendTo('body');
150    // form validate and track
151    jQuery('.asset--standard-form form').each(function(index, obj) {
152
153        jQuery(obj).bind('submit', function() {
154            // validate form
155            var form = this;
156            var valid = validate_form(form);
157            if (!valid) {
158                jQuery(form).trigger('validate-error', [form]);
159                return false;
160            }
161            // show progress animation
162            jQuery('.in-progress-animation').show();
163            jQuery(form).find('.submit-text').addClass('fade');
164            jQuery(form).find('.process-overlay').show();
165            jQuery(form).find('.submit-button').prop('disabled', true);
166            // postalcode cookie
167            var postalcode = jQuery(form).find('[name=postalcode]').val();
168            if (postalcode)
169                if (visitor)
170                    if (visitor.save_postalcode) { visitor.save_postalcode(postalcode); }
171                    // email cookie
172            var email = jQuery(form).find('[name=email]').val();
173            if (email)
174                if (visitor)
175                    if (visitor.save_email) { visitor.save_email(email); }
176                    // ajax submit form
177            ajax_submit_form(form,
178                function(dataobj) {
179                    // trigger success
180                    jQuery(form).trigger('success', [dataobj]);
181                },
182                function(dataobj) {
183                    console.log(dataobj);
184                    // hide progress animation
185                    jQuery('.in-progress-animation').slideUp(100);
186                    jQuery(form).find('.submit-text').removeClass('fade');
187                    jQuery(form).find('.process-overlay').fadeOut(1500);
188                    jQuery(form).find('.submit-button').prop('disabled', false);
189                }
190            );
191            // return false
192            return false;
193        });
194
195    });
196
197    // # 
198    // # helpers
199    // #
200
201    function ajax_submit_form(form, success, complete) {
202        var data = $(form).serialize() + '&json=1';
203        var action = $(form).attr('action');
204        //console.log("Submitting to " + action);
205        //console.log(data);
206        jQuery.ajax({
207            'type': 'POST',
208            'url': action,
209            'data': data,
210            'success': function(data) {
211                var successflag = false;
212                // try parsing json
213                try {
214                    //console.log("Got response, parsing json");
215                    var dataobj = jQuery.parseJSON(data);
216                    //console.log(dataobj);
217                    successflag = dataobj.success;
218                }
219                // catch json parsing error
220                catch (e) {
221                    console.log("JSON parse error: " + data);
222                    alert(data);
223                }
224                // log success flag
225                //console.log("Success: "+successflag); 
226                // on success run success function
227                if (successflag) { success(dataobj); }
228                //
229                if (complete) complete(dataobj);
230                // on error alert data
231                else { alert(data); }
232            }
233        });
234    }
235
236});;
237jQuery(function($){
238
239  $('.block--home-signup-donate--donate .donate-amounts .donate-btn').bind('click',function(ev){
240    $('.block--home-signup-donate--donate .donate-amounts .donate-btn').removeClass('selected');
241    $(this).addClass('selected');
242    ev.preventDefault();
243  });
244  $('.block--home-signup-donate--donate .donate-button .donate-btn').bind('click',function(ev){
245    var ask = $('.block--home-signup-donate--donate .donate-amounts .donate-btn.selected').data('ask');
246    var donate_link = $(this).attr('href');
247    donate_link += (donate_link.indexOf('?') == -1) ? '?' : '&';
248    donate_link += 'ask='+ask;
249    window.location = donate_link;
250    ev.preventDefault();
251  });
252
253});
254;

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.