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.