PageSourceSearch

https://przychodnianawitosa.pl/js/front.js

js przychodnianawitosa.pl collected 2026-10-08 07:15:25 UTC 11,275 bytes, 398 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  $(".site-nav .nav li a").each(function() {
10    if ($(this).next(".dropdown").length > 0) {
11      $(this).addClass("parent");
12    }
13  });
14
15  $(".site-nav .toggleMenu").click(function(e) {
16    e.preventDefault();
17    $(this).toggleClass("active");
18    $(".site-nav").toggleClass("is-open", $(this).hasClass("active"));
19    $(".site-nav .nav").toggle();
20  });
21
22  $(".site-nav .has_dropdown, .site-nav .has-dropdown").click(function() {
23    var active = $(this).hasClass("active");
24    $(".site-nav .has_dropdown, .site-nav .has-dropdown").removeClass('active');
25    $(".site-nav .has_dropdown, .site-nav .has-dropdown").removeClass('hover');
26    if(!active){
27      $(this).addClass("active");
28      $(this).addClass("hover");
29    }
30  });
31
32  adjustMenu();
33});
34
35var adjustMenu = function() {
36  if(ww < 980){
37    $(".site-nav .toggleMenu").css("display", "inline-flex");
38    $(".site-nav .nav").css("display", "flex");
39    if (!$(".site-nav .toggleMenu").hasClass("active")){
40      $(".site-nav").removeClass("is-open");
41      $(".site-nav .has_dropdown, .site-nav .has-dropdown").removeClass("active hover");
42      $(".site-nav .nav").hide();
43    }
44    else {
45      $(".site-nav").addClass("is-open");
46      $(".site-nav .nav").show();
47    }
48    $(".site-nav .nav li").unbind('mouseenter mouseleave');
49    $(".site-nav .nav li a.parent").unbind('click').bind('click', function(e) {
50      e.preventDefault();
51      $(this).parent("li").toggleClass("hover");
52    });
53  }
54  else {
55    $(".site-nav").removeClass("is-open");
56    $(".site-nav .toggleMenu").css("display", "none");
57    $(".site-nav .nav").css("display", "flex");
58    $(".site-nav .nav").show();
59    $(".site-nav .nav li").removeClass("hover active");
60    $(".site-nav .nav li a").unbind('click');
61    $(".site-nav .nav li").unbind('mouseenter mouseleave').bind('mouseenter mouseleave', function() {
62       $(this).toggleClass('hover');
63    });
64  }
65}
66
67function getScrollbarWidth() {
68  var outer = document.createElement("div");
69  outer.style.visibility = "hidden";
70  outer.style.width = "100px";
71  outer.style.msOverflowStyle = "scrollbar";
72
73  document.body.appendChild(outer);
74
75  var widthNoScroll = outer.offsetWidth;
76  outer.style.overflow = "scroll";
77
78  var inner = document.createElement("div");
79  inner.style.width = "100%";
80  outer.appendChild(inner);
81
82  var widthWithScroll = inner.offsetWidth;
83
84  outer.parentNode.removeChild(outer);
85
86  return widthNoScroll - widthWithScroll;
87}
88
89function cookieAlert(){
90  if(!getCookie(appname+'_cookie_alert')){
91    var txt = `
92<div class="cookie_alert">
93  Zbieramy dane osobowe podane przez użytkowników dobrowolnie. Pozostając na stronie godzisz się na zapisywanie plików cookies służących do przechowywania konfiguracji oraz utrzymania sesji i optymalizacji usług.
94  <div class="close_cookie_alert">
95    <svg><use xlink:href="${url_base}/pics/icons16x16.svg#svg-delete"></use></svg>
96  </div>
97</div>`.despace();
98    $('body').append(txt);
99
100    $('.cookie_alert .close_cookie_alert').click(function(){
101      setCookie(appname+'_cookie_alert',1,100000000, '', '/');
102      $('.cookie_alert').remove();
103    });
104  }
105}
106
107function handleFloatingMenu($menu_bar){
108  var last_scrolltop = $(window).scrollTop();
109  $menu_bar.show();
110
111  $(window).scroll(function(){
112    var scrolltop = $(window).scrollTop();
113    var dy = last_scrolltop - scrolltop;
114    last_scrolltop = scrolltop;
115    $menu_bar.css('top', scrolltop + 'px');
116
117    if(scrolltop <= 105){
118      $menu_bar.show();
119      return;
120    }
121
122    if(dy < 0){
123      if(Math.abs(dy) < 10){
124        return;
125      }
126      $menu_bar.hide();
127    }
128    else {
129      $menu_bar.show();
130    }
131  });
132}
133
134CNewsSlider = function($container, options, callback){
135  var self = this;
136  var wid = +$container.attr('wid');
137
138  if(!wid){
139    console.error('CNewsSlider(): Proszę ustawić atrybut "wid" kontenera');
140    return;
141  }
142
143  options = options || {};
144  options.speed = +options.speed || 2000;
145  options.delay = +options.delay || 1000;
146
147  this.newsy = {};
148
149  var $slider_news = $(getDOMTemplate('script#slider_news_template'));
150  var single_template = getDOMTemplate($slider_news.find('a.slider_single_news'), true);
151  $slider_news.find('a.slider_single_news').remove();
152  $container.append($slider_news);
153
154  var $slider_strip = $container.find('.slider_news_out2');
155
156  function ladujDane(callback){
157    JSONAsyncRequest2('ajax_front_sql', 'action=load_newsy_slidera&wid='+wid+'&lang='+lang, '', null, function(dane){
158      if(dane){
159        if(dane.result == 'OK'){
160          if(!dane.newsy){
161            console.error('CNewsSlider(): Dział '+wid+' nie zawiera newsów');
162            return;
163          }
164
165          self.newsy = [];
166
167          filterAndSortArray(dane.newsy, function(a,b){
168              return generic_compare(+a.priorytet, +b.priorytet, +b.nid, +a.nid, true);
169            },
170            null,
171            function(v){
172              self.newsy.push(v);
173            }
174          );
175
176          self.newsy.push(self.newsy[0]);
177
178          if(typeof callback == 'function'){
179            callback();
180          }
181        }
182        else {
183          self.newsy = {};
184          console.error('CNewsSlider(): Nie powiodło się pobranie danych. Odśwież przeglądarkę i spróbuj ponownie.\nBłąd: ' + dane.message);
185        }
186      }
187    });
188  }
189
190  var interval_id = 0;
191  var slide_no = 0;
192
193  var cw = $container.width();
194  var ch = $container.height();
195
196  function updateContents(){
197    $slider_strip.empty().width(cw*(self.newsy.length));
198
199    for(var i = 0; i < self.newsy.length; ++i){
200      var v = self.newsy[i];
201      var left = i*cw;
202      var $st = $(single_template);
203      $st.attr('href', url_base + '/news/' + v.slug).attr('slide_no', i).width(cw).height(ch).css('left', left+'px');
204      $st.find('img').attr('src', url_base + '/picf/' + v.main_foto_foid);
205      $st.find('.tytul').html(v.tytul);
206      $st.find('.zwiastun').html(v.zwiastun);
207      $st.find('.tresc').html(v.tresc);
208
209      $slider_strip.append($st);
210    }
211
212    if(interval_id){
213      clearInterval(interval_id);
214    }
215
216    interval_id = setInterval(function(){
217      $slider_strip.css('left', -slide_no*cw + 'px');
218
219      $slider_strip.off('animate').animate({ 'left' : -(slide_no+1)*cw+'px' }, options.speed, function(){
220        ++slide_no;
221        if(slide_no >= self.newsy.length-1){
222          slide_no = 0;
223        }
224      });
225    }, options.delay + options.speed);
226  }
227
228  ladujDane(function(){
229    updateContents();
230
231    if(typeof callback == 'function'){
232      callback();
233    }
234
235    $(window).resize(function() {
236      cw = $container.width();
237      ch = $container.height();
238
239      $slider_strip.width(cw*(self.newsy.length));
240
241      for(var i = 0; i < self.newsy.length; ++i){
242        var left = i*cw;
243        var $st = $slider_strip.find('.slider_single_news[slide_no="'+i+'"]');
244        $st.width(cw).height(ch).css('left', left+'px');
245      }
246    });
247  });
248}
249
250CNewsFader = function($container, options, callback){
251  var self = this;
252  var wid = +$container.attr('wid');
253
254  if(!wid){
255    console.error('CNewsFader(): Proszę ustawić atrybut "wid" kontenera');
256    return;
257  }
258
259  options = options || {};
260  options.speed = +options.speed || 2000;
261  options.delay = +options.delay || 1000;
262
263  this.newsy = {};
264
265  var $fader_news = $(getDOMTemplate('script#fader_news_template'));
266  var single_template = getDOMTemplate($fader_news.find('.fader_single_news'), true);
267  $fader_news.find('.fader_single_news').remove();
268  $container.append($fader_news);
269
270  var $fader_strip = $container.find('.fader_news_out2');
271
272  function ladujDane(callback){
273    JSONAsyncRequest2('ajax_front_sql', 'action=load_newsy_slidera&wid='+wid+'&lang='+lang, '', null, function(dane){
274      if(dane){
275        if(dane.result == 'OK'){
276          if(!dane.newsy){
277            console.error('CNewsFader(): Dział '+wid+' nie zawiera newsów');
278            return;
279          }
280
281          self.newsy = [];
282
283          filterAndSortArray(dane.newsy, function(a,b){
284              return generic_compare(+a.priorytet, +b.priorytet, +b.nid, +a.nid, true);
285            },
286            null,
287            function(v){
288              self.newsy.push(v);
289            }
290          );
291
292          if(typeof callback == 'function'){
293            callback();
294          }
295        }
296        else {
297          self.newsy = {};
298          console.error('CNewsFader(): Nie powiodło się pobranie danych. Odśwież przeglądarkę i spróbuj ponownie.\nBłąd: ' + dane.message);
299        }
300      }
301    });
302  }
303
304  var interval_id = 0;
305  var slide_no = 0;
306
307  function updateContents(){
308    $fader_strip.empty();
309
310    for(var i = 0; i < self.newsy.length; ++i){
311      var v = self.newsy[i];
312      var $st = $(single_template);
313      $st.hide();
314      $st.attr('slide_no', i).css('left', '0px');
315      $st.find('img').attr('src', url_base + '/picf/' + v.main_foto_foid);
316      $st.find('.tytul').html(v.tytul);
317      $st.find('.zwiastun').html(v.zwiastun);
318
319      const target = v.forced_link? v.forced_link : `${url_base}/news/${v.slug}`;
320      $st.attr('href', target);
321      $st.find('.link').hide();
322
323      $fader_strip.append($st);
324    }
325
326    $fader_strip.find('.fader_single_news[slide_no="'+slide_no+'"]').show();
327
328    if(interval_id){
329      clearInterval(interval_id);
330    }
331
332    interval_id = setInterval(function(){
333      $fader_strip.find('.fader_single_news[slide_no="'+slide_no+'"]').fadeOut(options.speed, function(){
334        ++slide_no;
335        if(slide_no >= self.newsy.length){
336          slide_no = 0;
337        }
338
339        $fader_strip.find('.fader_single_news[slide_no="'+slide_no+'"]').fadeIn(options.speed);
340      });
341    }, options.delay + options.speed);
342  }
343
344  ladujDane(function(){
345    updateContents();
346
347    if(typeof callback == 'function'){
348      callback();
349    }
350  });
351}
352
353function CHeaderLangs($container, $template, all_langs_json){
354  var self = this;
355  var all_langs = JSON.parse(all_langs_json);
356
357  $container.empty();
358
359  var template = getDOMTemplate($template);
360  $container.append(template);
361  var $lang_template = $container.find('.lang').clone();
362  $container.find('.lang').remove();
363
364  var $all_langs = $container.find('.all_langs');
365
366  for(var lang_code in all_langs){
367    all_langs[lang_code].lang = lang_code;
368  }
369
370  filterAndSortArray(all_langs, 'ord', null, function(v){
371    var $lang = $lang_template.clone();
372    var link = v.link.substring(0, 4) == 'http'? v.link : (v.link? (url_base + '/' + v.link) : '');
373    $lang.html(v.napis).attr('href', link).attr('lang', v.lang).appendTo($all_langs);
374  });
375
376  $all_langs.hide();
377
378  if(all_langs[lang]){
379    $container.find('.header_lang').html(all_langs[lang].napis).click(function(){
380      $all_langs.find('.lang').show();
381      $all_langs.find('.lang[lang="'+lang+'"]').hide();
382      $all_langs.slideToggle('fast');
383    });
384  }
385
386  $all_langs.find('.lang').click(function(){
387    var lang_code = $(this).attr('lang');
388    var link = $(this).attr('href');
389
390    if(!link){
391      setCookie(appname+'_lang', lang_code, 1e8, '', '/');
392      window.location = url_base;
393    }
394    else {
395      window.location = link;
396    }
397  });
398}

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.