PageSourceSearch

https://coversmodels.es/wp-content/plugins/surveyslam/js/popup.js?ver=7.0.2

js coversmodels.es collected 2026-10-07 01:54:19 UTC 10,973 bytes, 336 lines download raw bytes

1var svs_preloaded_popups = {};
2
3jQuery(function($){
4  $(document).on('click', '*', function(ev){
5    var id = -1;
6    var s = this.className;
7    if (s && s.match) {
8      var m = s.match(/(svs-popup-|surveyslam?-popup-|surveyslam?-)(\d+)/i);
9      if (m && (m.length > 2)) {
10        id = m[2];
11      }
12    }
13    if ((id < 0) && this.hasAttribute('href')) {
14      id = svs_match_href($(this).attr('href'));
15      if (id) {
16        ev.preventDefault();
17      }
18    }
19    if ((typeof id != 'boolean') && (id >= 0)) {
20      svs_load_popup(id);
21    }
22  });
23
24  when_was = [];
25  for (var i in svs_vars.popups) {
26    var popup = svs_vars.popups[i];
27    var id = popup[1];
28    var when = popup[0][0];
29    window.svs_c_name = 'svs_cookie_' + id;
30    var exdays = parseInt(popup[2]);
31    if ((exdays == -1) || (exdays > 0)) {
32      window.svs_exdays = exdays;
33    }
34    if (((exdays == 0) || (!svs_popup_get_cookie(window.svs_c_name))) &&
35        ($.inArray(when, when_was) == -1)) {
36      switch (when) {
37        case 'instant':
38          when_was.push(when);
39          svs_load_popup(id);
40          break;
41        case 'delay':
42          setTimeout(function(){
43            svs_load_popup_if_no(id);
44          }, popup[0][1] * 1000);
45          break;
46        case 'bottom':
47          when_was.push(when);
48          svs_on_scroll_popup(id, 100);
49          break;
50        case 'scroll':
51          svs_on_scroll_popup(id, popup[0][1]);
52          break;
53        case 'mouse':
54          when_was.push(when);
55          svs_mouse_away_popup(id);
56      }
57    }
58  }
59  $pss = $('.svs-popup-shortcode');
60  if ($pss.length) {
61    var $win = $(window);
62    $win.on('scroll', function(){
63      var h = $win.height();
64      var sy1 = $win.scrollTop() + h / 6;
65      var sy2 = sy1 + h * 2 / 3;
66      var $new_pss = [];
67      for (var i = 0; i < $pss.length; i++) {
68        var $ps = $($pss[i]);
69        var y = $ps.offset().top;
70        if ((y >= sy1) && (y <= sy2)) {
71          svs_load_popup($ps.data('svs-id'));
72          $ps.addClass('svs-worked');
73        } else {
74          $new_pss.push($ps);
75        }
76      }
77      $pss = $new_pss;
78    });
79  }
80});
81
82jQuery(window).load(function(){
83  var $ = jQuery;
84  $('[href^="\#s"]').each(function(){
85    var id = svs_match_href($(this).attr('href'));
86    if (id) {
87      svs_preload_popup(id);
88    }
89  });
90});
91
92function svs_match_href(href) {
93  var m = href.match(/#surveyslam?#(\d+)/);
94  return m ? m[1] : false;
95}
96
97function svs_on_scroll_popup(id, percent) {
98  var $ = jQuery;
99  var on_scroll = function(){
100    var $ = jQuery, $win = $(window);
101    var scroll = $win.scrollTop() + $win.height();
102    var height = $(document).height() - 25;
103    if (scroll >= height * percent / 100) {
104      svs_load_popup_if_no(id);
105      $(window).off('scroll', on_scroll);
106    }
107  };
108  $(window).on('scroll', on_scroll);
109}
110
111function svs_mouse_away_popup(id) {
112  var $ = jQuery;
113  window.svs_mouse_away_popup_id = id;
114  svs_preload_popup(id, {do_continue:0,load_general:0,load_cta:0});
115  $(window).on('mouseleave', svs_popup_on_mouseleave);
116}
117
118function svs_popup_on_mouseleave(ev) {
119  var y = ev.clientY;
120  if ((y < 25) || (y > jQuery(window).height() - 25)) {
121    window.svs_quick = true;
122    svs_load_popup_if_no(window.svs_mouse_away_popup_id);
123    jQuery(window).off('mouseleave', svs_popup_on_mouseleave);
124  }
125}
126
127function svs_popup_set_cookie(c_name, value, exdays) {
128  if ((typeof exdays == 'undefined') || (exdays = -1)) exdays = 8760;
129  var exdate=new Date();
130  exdate.setDate(exdate.getDate() + exdays);
131  var c_value=escape(value) + ((exdays==null) ? '' :
132      '; expires='+exdate.toUTCString()) +
133      '; path=/';
134  document.cookie=c_name + '=' + c_value;
135}
136
137function svs_popup_get_cookie(c_name) {
138  var i,x,y,ARRcookies=document.cookie.split(';');
139  for (i=0;i<ARRcookies.length;i++) {
140    x=ARRcookies[i].substr(0,ARRcookies[i].indexOf('='));
141    y=ARRcookies[i].substr(ARRcookies[i].indexOf('=')+1);
142    x=x.replace(/^\s+|\s+$/g,'');
143    if (x==c_name) return unescape(y);
144  }
145  return false;
146}
147
148function svs_load_popup_if_no(id) {
149  if (!jQuery('.svs-popup-wrap').length) {
150    svs_load_popup(id);
151  }
152}
153
154function svs_load_popup(id, do_continue, jump) {
155  if (typeof do_continue == 'undefined') do_continue = 0;
156  if (typeof jump == 'undefined') jump = false;
157  var $ = jQuery;
158
159  var t = new Date(), dd = t.getDate(),
160      mm = t.getMonth() + 1, yyyy = t.getFullYear(),
161      today = yyyy + '-' + mm + '-' + dd;
162  svs_popup_set_cookie(window.svs_c_name, today, window.svs_exdays);
163
164  $('.svs-popup-root').remove();
165  var close_img = svs_vars.plugins_url + '/images/popup-close.png';
166  var css =
167      '#svs-wrap-' + id + ' .svs-back, .svs-back{position:fixed;left:0;top:0;right:0;bottom:0;overflow:hidden;background:rgba(0,0,0,0.8);z-index:100100} ' +
168      '#svs-wrap-' + id + ' .svs-video-back, .svs-video-back{background:#000!important;} ' +
169      '#svs-wrap-' + id + ' .svs-video-cover, .svs-video-cover{position:fixed;top:0;left:0;right:0;bottom:0} ' +
170      '#svs-wrap-' + id + '.svs-popup-wrap{position:absolute;top:0;left:0;right:0;bottom:0;z-index:100150;overflow:hidden} ' +
171      '#svs-wrap-' + id + '.svs-popup-wrap .svs-popup{position:absolute;left:0;right:0} ' +
172      '#svs-wrap-' + id + '.svs-popup-wrap .svs-limit-width,' +
173        '#svs-wrap-' + id + '.svs-popup-wrap #svs-quiz-' + id + '{margin:0 auto} ' +
174      '#svs-wrap-' + id + ' .svs-close-wrap, .svs-close-wrap{position:absolute;width:0;height:0;right:0;top:0;z-index:100350} ' +
175      '#svs-wrap-' + id + ' .svs-close, .svs-close{display:block;position:absolute;right:0;top:0;width:35px;height:35px;background:url("' + close_img +
176        '") no-repeat 50% 50%;background-size:contain;max-width:none} ' +
177      '@media screen and (max-width:768px) { ' +
178        '#svs-wrap-' + id + '.svs-popup-wrap .svs-popup{width:auto} ' +
179      '}';
180  $('<style>' + css + '</style>').appendTo('head');
181
182  if (!window.svs_popup_was) {
183    window.svs_popup_was = true;
184    function _on_resize() {
185      var $popup = $('.svs-popup');
186      if ($popup.length) {
187        var $wrap = $popup.parent('.svs-popup-wrap');
188        var $win = $(window);
189        var ph = $popup.outerHeight(true);
190        // Get correct window height
191        var w = window, d = document, e = d.documentElement,
192          g = d.getElementsByTagName('body')[0];
193        var wh = w.innerHeight || e.clientHeight || g.clientHeight;
194        var dh = $(document).height();
195        var y = parseInt((wh - ph) / 4), st = $win.scrollTop();
196
197        if (y < 0) {
198          if (typeof window.svs_popup_scroll == 'undefined') {
199            window.svs_popup_scroll = 0;
200          } else {
201            window.svs_popup_scroll += window.svs_win_last_scroll - st;
202          }
203          window.svs_win_last_scroll = st;
204          y = window.svs_popup_scroll;
205          if (!navigator.userAgent.match(/iPhone|iPad/i)) {
206            if (y < wh - ph) {
207              y = wh - ph;
208            } else if (y > 0) {
209              y = 0;
210            }
211            window.svs_popup_scroll = y;
212          }
213        }
214
215        if (window.svs_is_new_popup_page) {
216          if (st + y > dh - ph) {
217            y = dh - ph - st;
218            if (st + y < 0) y = -st;
219            window.scrollTo(0, st + y);
220          }
221          window.svs_is_new_popup_page = false;
222        }
223
224        $popup.css({top: st + y});
225        var $main = $popup.find('.main-inner').first();
226        y = $main.offset().top;
227        var x = $main.offset().left + $main.outerWidth();
228        $('.svs-close-wrap').css({left: x, top: y});
229
230        var ph = $popup.outerHeight(true), h = 0;
231        try { h = parseInt($wrap.css('min-height')); } catch (e) {}
232        if (ph < h) $wrap.css({'min-height': ph});
233        $wrap.css({'min-height': (dh > ph) ? dh : ph});
234      }
235    }
236    _on_resize();
237    setTimeout(_on_resize, 700);
238    setTimeout(_on_resize, 2000);
239    $(window).resize(_on_resize).scroll(_on_resize);
240    $(document).bind('svs_next_widget', function(){
241      window.svs_is_new_popup_page = true;
242      _on_resize();
243    });
244  }
245
246  var popup_start =
247      '<div class="svs-back svs-popup-root"></div>' +
248      '<div class="svs-close-wrap svs-popup-root">' +
249        '<a class="svs-close" href="#close-popup"></a>' +
250      '</div>' +
251      '<div id="svs-wrap-' + id + '" class="svs-popup-wrap svs-popup-root">' +
252        '<div class="svs-popup svs-for-anim">';
253  var popup_end =
254        '</div>' +
255      '</div>';
256
257  var load_general = !window.svs_general_loaded, load_cta = (typeof CtaPro2Class == 'undefined');
258  window.svs_general_loaded = 1;
259  svs_preload_popup(id, {
260    do_continue: do_continue,
261    load_general: load_general ? 1 : 0,
262    load_cta: load_cta ? 1 : 0
263  }, function(response){
264    if (response.error) {
265      alert('Error:\n' + response.error);
266    } else if (response.html) {
267      var $obj = $(popup_start + response.html + popup_end);
268      $obj.hide().prependTo('body').fadeIn(window.svs_quick ? 0 : 700);
269      $('.svs-close', $obj).click(function(ev){
270        ev.preventDefault();
271        $obj.fadeOut(500, function(){
272          $('.svs-popup-root').remove();
273          var $body = $('body');
274          $body.removeClass('svs-popup-' + $body.data('cur-popup-template'));
275        });
276      });
277
278      $('body').data('cur-popup-template', response.template)
279               .addClass('svs-popup-' + response.template)
280               .addClass('svs-wrap-' + response.id);
281      for (var i = 1; i <= 3; i++) {
282        var val = response.vars['headline' + i];
283        var $el = $obj.find('.svs-headline' + i);
284        if (val) $el.html(val);
285        else $el.hide();
286      }
287      if (response.hide_close) $('.svs-close-wrap').hide();
288      if (response.popup_rounded) $('.svs-popup-wrap').addClass('svs-rounded');
289
290      window.svs_load_cb = function(){
291        var $wrapper = $obj.find('.svs-widget-wrapper').not('.svs-wrapper-loaded');
292        if ($wrapper.length) {
293          svs_load_wrapper($wrapper, do_continue);
294          svs_loaded($wrapper);
295        }
296      };
297      var load_at_once = window.svs_script_loaded;
298
299      var $wrappers = $obj.find('.svs-widget-wrapper').not('.svs-wrapper-loaded')
300      $wrappers.addClass('svs-pause-loading');
301      window.svs_loading_popup = true;
302      window.svs_init_jump = jump;
303      for (var i = 0, len = response.head.length; i < len; i++) {
304        $(response.head[i]).appendTo('body');
305      }
306      $wrappers.removeClass('svs-pause-loading');
307
308      if (load_at_once) window.svs_load_cb();
309    }
310  });
311}
312
313function svs_preload_popup(id, opts, cb) {
314  var $ = jQuery;
315  if (svs_preloaded_popups[id]) {
316    if (cb) cb(svs_preloaded_popups[id]);
317  } else {
318    if (!opts) {
319      opts = {
320        do_continue: 0,
321        load_general: 1,
322        load_cta: 1
323      };
324    }
325    opts.action = 'svs_get_quiz';
326    opts.id = id;
327
328    $.get(svs_vars.ajaxurl, opts,
329      function(response){
330        svs_preloaded_popups[id] = response;
331        if (cb) cb(response);
332      }
333    );
334  }
335}
336

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.