PageSourceSearch

https://diecezja.kalisz.pl/js/front.js

js diecezja.kalisz.pl collected 2026-10-02 18:48:39 UTC 7,730 bytes, 282 lines download raw bytes

1$(document).ready(function() {
2  ww = document.body.clientWidth;
3
4  $(window).bind('resize orientationchange', function() {
5    ww = document.body.clientWidth;
6    adjustMenu();
7  });
8/*
9  $(".nav li a").each(function() {
10    if ($(this).next().length > 0) {
11      $(this).addClass("parent");
12    };
13  })
14*/
15/*
16  $(".nav li a").click(function() {
17    var a = 1;
18  });
19*/
20
21  $(".toggleMenu").click(function(e) {
22    e.preventDefault();
23    $(this).toggleClass("active");
24    $(".nav:not(.no_collapse)").toggle();
25  });
26
27  $(".has-dropdown").click(function(e) {
28//    e.preventDefault();
29    var active = $(this).hasClass("active");
30    $(".has-dropdown").removeClass('active');
31    $(".has-dropdown").removeClass('hover');
32    if(!active){
33      $(this).addClass("active");
34      $(this).addClass("hover");
35    }
36  });
37
38  $('.nav:not(.no_collapse) > ul > li').mouseenter((e) => {
39    const $dropdown = $(e.currentTarget).find('ul.dropdown');
40    $(e.currentTarget).addClass('hover');
41    if($dropdown[0]){
42      $dropdown.css('max-height', $dropdown[0].scrollHeight + 'px');
43    }
44  });
45
46  $('.nav:not(.no_collapse) > ul > li').mouseleave((e) => {
47    const $dropdown = $(e.currentTarget).find('ul.dropdown');
48    $(e.currentTarget).removeClass('hover');
49    if($dropdown[0]){
50      $dropdown.css('max-height', 0);
51    }
52  });
53
54  adjustMenu();
55})
56
57
58var adjustMenu = function() {
59  if(ww < 800){
60    $(".toggleMenu").css("display", "inline-block");
61    $(".nav:not(.no_collapse), .nav:not(.no_collapse) .menu_cont_inner").addClass('small');
62    $('body').addClass('small');
63    if (!$(".toggleMenu").hasClass("active")){
64      $(".nav:not(.no_collapse)").hide();
65    }
66    else {
67      $(".nav:not(.no_collapse)").show();
68    }
69  }
70  else {
71    $(".toggleMenu").css("display", "none");
72    $(".nav:not(.no_collapse), .nav:not(.no_collapse) .menu_cont_inner").removeClass('small');
73    $('body').removeClass('small');
74    $(".nav:not(.no_collapse)").show();
75  }
76}
77
78function getScrollbarWidth() {
79  var outer = document.createElement("div");
80  outer.style.visibility = "hidden";
81  outer.style.width = "100px";
82  outer.style.msOverflowStyle = "scrollbar"; // needed for WinJS apps
83
84  document.body.appendChild(outer);
85
86  var widthNoScroll = outer.offsetWidth;
87  // force scrollbars
88  outer.style.overflow = "scroll";
89
90  // add innerdiv
91  var inner = document.createElement("div");
92  inner.style.width = "100%";
93  outer.appendChild(inner);
94
95  var widthWithScroll = inner.offsetWidth;
96
97  // remove divs
98  outer.parentNode.removeChild(outer);
99
100  return widthNoScroll - widthWithScroll;
101}
102
103function cookieAlert(){
104  if(!getCookie(appname+'_cookie_alert')){
105    var txt = '<div class="cookie_alert">';
106    txt += '<div class="close_cookie_alert"></div>';
107      txt += 'Nie zbieramy żadnych danych osobowych. Pozostając tu godzisz się na zapisywanie cookies służących do przechowywania konfiguracji. ';
108    txt += '</div>';
109    $('body').append(txt);
110
111    $('.cookie_alert .close_cookie_alert').click(function(){
112      setCookie(appname+'_cookie_alert',1,100000000, '', '/');
113      $('.cookie_alert').remove();
114    });
115  }
116}
117
118
119
120
121$(document).ready(function() {
122});
123
124
125function handleFloatingMenu($menu_bar){
126  var last_scrolltop = $(window).scrollTop();
127  $menu_bar.show();
128
129  $(window).scroll(function(){
130    var scrolltop = $(window).scrollTop();
131    var dy = last_scrolltop - scrolltop;
132//    console.log('ST: ' + scrolltop + ', DY: ' + dy);
133    last_scrolltop = scrolltop;
134    $menu_bar.css('top', scrolltop + 'px');
135
136    if(scrolltop <= 105){
137      $menu_bar.show(); // przez pierwszą wysokość menu jest cały czas widoczny
138      return;
139    }
140
141    if(dy < 0){
142      if(Math.abs(dy) < 10){
143        return;
144      }
145
146      $menu_bar.hide();
147    }
148    else {
149      $menu_bar.show();
150    }
151
152  });
153}
154
155// Obsługuje wybór języka w headerze
156function CHeaderLangs($container, $template, all_langs_json){
157  var self = this;
158
159  var all_langs = JSON.parse(all_langs_json);
160
161  $container.empty();
162
163  var template = getDOMTemplate($template);
164  $container.append(template);
165  var $lang_template = $container.find('.lang').clone();
166  $container.find('.lang').remove();
167
168  var $all_langs = $container.find('.all_langs');
169
170  for(var lang_code in all_langs){
171    all_langs[lang_code].lang = lang_code; // to jest wymagane, bo filterAndSortArray gubi indeksy w obiekcie
172  }
173
174  filterAndSortArray(all_langs, 'ord', null, function(v){
175    var $lang = $lang_template.clone();
176    var link = v.link.substring(0, 4) == 'http'? v.link : (v.link? (url_base + '/' + v.link) : ''); // pusty link powoduje zwykłe przełączenie języka i przejście na główną
177    $lang.html(v.napis).attr('href', link).attr('lang', v.lang).appendTo($all_langs);
178
179  });
180
181  $all_langs.hide(); // na dzień dobry lista języków ma być niewidoczna
182
183  if(all_langs[lang]){
184    $container.find('.header_lang').html(all_langs[lang].napis).click(function(){
185      $all_langs.find('.lang').show(); // pokażmy wszystkie języki...
186      $all_langs.find('.lang[lang="'+lang+'"]').hide(); //... z wyjątkiem tego, który jest bieżący
187      $all_langs.slideToggle('fast');
188    });
189  }
190
191  $all_langs.find('.lang').click(function(){
192    var lang_code = $(this).attr('lang');
193    var link = $(this).attr('href');
194
195    if(!link){
196      setCookie(appname+'_lang', lang_code, 1e8, '', '/'); // pusty link powoduje przełączenie języka i przejście na główną
197      window.location = url_base;
198    }
199    else {
200      window.location = link;
201    }
202
203
204  });
205}
206
207function submitFormCookie(form_selector){
208  const $form = $(form_selector);
209
210  if(!$form.length){
211    throw Error('Nie znaleziono formularza ' + form_selector);
212  }
213
214  const $form_cookies = $form.find('[form_cookie]');
215  const payload = {};
216
217  $form_cookies.each(function(){
218    const $this = $(this);
219    const is_checkbox = $this.attr('type') == 'checkbox';
220    payload[$this.attr('form_cookie')] = is_checkbox? $this.getChecked() : $this.val();
221  });
222
223  // potrzebujemy wyciągnąć domenę i ścieżkę
224  const _url = document.createElement('a');
225  _url.setAttribute('href', $form.attr('action'));
226
227  setCookie(appname + '_form_cookies', JSON.stringify(payload), 1e9, _url.hostname, _url.pathname);
228  window.location.href = $form.attr('action');
229  return false; // pomijamy defaultowy submit
230}
231
232function goWithCookie(url, payload){
233  const json = JSON.stringify(payload);
234
235  // potrzebujemy wycągnąć domenę i ścieżkę
236  const _url = document.createElement('a');
237  _url.setAttribute('href', url);
238
239
240  setCookie(appname + '_form_cookies', json, 1e9, _url.hostname, _url.pathname);
241  window.location.href = url;
242  return false; // pomijamy defaultową akcję
243}
244
245async function testMail(payload){
246
247  if(!payload.email){
248    CResultFader3('Wpisz adres email', 1000, 'error');
249    return;
250  }
251
252  if(!payload.subject){
253    CResultFader3('Wpisz temat', 1000, 'error');
254    return;
255  }
256
257  if(!payload.body){
258    CResultFader3('Wpisz treść', 1000, 'error');
259    return;
260  }
261
262  var spinner = new CWaitSpinner();
263
264  const res = await sendHelper(payload.subject, payload.body, payload.email, null, true, payload);
265
266  spinner.close();
267
268  if(res.result == 'OK'){
269    CResultFader3('Email został wysłany', 1000, 'ok');
270  }
271  else {
272    CResultFader3('Błąd: Email nie został wysłany', 2000, 'error');
273    console.error(res.message);
274    if(res.e){
275      console.error(res.e);
276    }
277    if(res.log){
278      console.log(res.log);
279    }
280  }
281
282}

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.