1"use strict"; 2var lepopup_vars = {}; 3var lepopup_consts = {}; 4var lepopup_sending = false; 5var lepopup_popup_loading = false; 6var lepopup_popup_active_id = null; 7var lepopup_campaign_active_slug = null; 8var lepopup_popup_active_page_id = null; 9var lepopup_seq_pages = {}; 10var lepopup_signatures = {}; 11var lepopup_mobile = (function(a){if(/(android|bb\d+|meego).+mobile|android|ipad|playbook|silk|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))return true; else return false;})(navigator.userAgent||navigator.vendor||window.opera); 12var lepopup_uploads = {}; 13var lepopup_sessions = {}; 14var lepopup_custom_events_data = {}; 15var lepopup_onload_displayed = false; 16var lepopup_onexit_displayed = false; 17var lepopup_onscroll_displayed = false; 18var lepopup_onidle_displayed = false; 19var lepopup_onabd_displayed = false; 20var lepopup_timeout; 21var lepopup_onidle_timer; 22var lepopup_onidle_counter = 0; 23var lepopup_forced_location = null; //linklocker 24 25function lepopup_safe_url(raw) { 26 if (typeof raw !== "string") return ""; 27 var trimmed = raw.replace(/[\x00-\x1F\s]+/g, ""); 28 try { 29 var u = new URL(trimmed, window.location.origin); 30 if (u.protocol !== "http:" && u.protocol !== "https:") return ""; 31 return u.href; 32 } catch (e) { 33 return ""; 34 } 35} 36 37var lepopupext_open_before; 38var lepopupext_close_after; 39var lepopupext_submit_after; 40if (typeof lepopup_preview == typeof undefined) { 41 var lepopup_preview = "off"; 42} 43if (typeof lepopup_customjs_handlers == typeof undefined) { 44 var lepopup_customjs_handlers = {}; 45} 46if (window.jQuery) { 47/* 48 jQuery("a").each(function() { 49 var lepopup_id = jQuery(this).attr("href"); 50 if (lepopup_id) { 51 var prefix = "#lepopup-"; 52 var lepopup_idx = lepopup_id.indexOf(prefix); 53 if (lepopup_idx >= 0) { 54 jQuery(this).on("click", function(e) { 55 e.preventDefault(); 56 return false; 57 }); 58 } 59 } 60 }); 61*/ 62 var now = new Date(); 63 lepopup_consts = { 64 "url" : window.location.href, 65 "page-title" : jQuery(document).find("title").text(), 66 "ip" : "", 67 "user-agent" : navigator.userAgent, 68 "date" : now.getFullYear()+"-"+(now.getMonth()+1 < 10 ? "0"+(now.getMonth()+1) : (now.getMonth()+1))+"-"+(now.getDate() < 10 ? "0"+now.getDate() : now.getDate()), 69 "time" : (now.getHours() < 10 ? "0"+now.getHours() : now.getHours())+":"+(now.getMinutes() < 10 ? "0"+now.getMinutes() : now.getMinutes()), 70 "wp-user-login" : "", 71 "wp-user-email" : "" 72 }; 73 jQuery(document).ready(function(){ 74 if (typeof lepopup_ajax_url != typeof undefined) { 75 lepopup_vars["mode"] = "local"; 76 lepopup_vars["cookie-value"] = lepopup_cookie_value; 77 lepopup_vars["ajax-url"] = lepopup_ajax_url; 78 lepopup_vars["overlays"] = lepopup_overlays; 79 lepopup_vars["campaigns"] = lepopup_campaigns; 80 lepopup_vars["ga-tracking"] = lepopup_ga_tracking; 81 lepopup_vars["abd-enabled"] = lepopup_abd_enabled; 82 lepopup_vars["events-data"] = lepopup_events_data;
83 if (typeof lepopup_ulp != typeof undefined && lepopup_ulp == "on") lepopup_vars["ulp-active"] = "on"; 84 else lepopup_vars["ulp-active"] = "off"; 85 if (lepopup_async_init == 'on') { 86 var inline_slugs = new Array(); 87 var i = 0; 88 jQuery(".lepopup-inline").each(function() { 89 var inline_slug = jQuery(this).attr("data-slug"); 90 if (inline_slug) { 91 jQuery(this).attr("id", "lepopup-inline-"+i); 92 inline_slugs.push(inline_slug); 93 i++; 94 } 95 }); 96 if (lepopup_vars["ulp-active"] == "off") { 97 jQuery(".ulp-inline").each(function() { 98 var inline_slug = jQuery(this).attr("data-id"); 99 if (inline_slug) { 100 jQuery(this).attr("id", "lepopup-inline-"+i); 101 inline_slugs.push(inline_slug); 102 i++; 103 } 104 }); 105 } 106 var post_data = {"action" : "lepopup-async-init", "inline-slugs" : inline_slugs.join(','), "content-id" : lepopup_content_id, "referrer" : document.referrer, "hostname" : window.location.hostname, "url": window.location.href}; 107 if (typeof lepopup_icl_language != typeof undefined) post_data['wpml-language'] = lepopup_icl_language; 108 jQuery.ajax({ 109 url: lepopup_vars["ajax-url"], 110 data: post_data, 111 type: "POST", 112 async: true, 113 success: function(return_data) { 114 var data; 115 try { 116 if (typeof return_data == 'object') data = return_data; 117 else data = jQuery.parseJSON(return_data); 118 var status = data.status; 119 if (status == "OK") { 120 lepopup_vars["events-data"] = data["events-data"]; 121 if (data["items-html"]) { 122 jQuery("body").append(data["items-html"]); 123 } 124 for (var i=0; i<(data["inline-forms"]).length; i++){ 125 jQuery("#lepopup-inline-"+i).replaceWith((data["inline-forms"])[i]); 126 } 127 lepopup_ready(); 128 } 129 } catch(error) { 130 console.log(error); 131 lepopup_ready(); 132 } 133 }, 134 error : function(XMLHttpRequest, textStatus, errorThrown) { 135 lepopup_ready(); 136 } 137 }); 138 } else { 139 lepopup_ready(); 140 } 141 } else { 142 lepopup_vars["mode"] = "remote"; 143 lepopup_vars["events-data"] = {}; 144 if (jQuery("#ulp-remote").length > 0) lepopup_vars["ulp-active"] = "on"; 145 else lepopup_vars["ulp-active"] = "off"; 146 if (jQuery("#lepopup-remote").length == 0 || !jQuery("#lepopup-remote").attr("data-handler")) { 147 alert('Make sure that you properly included lepopup.js. Currently you did not.'); 148 } 149 if (jQuery("#lepopup-remote").attr("data-preview") == "on") lepopup_preview = "on"; 150 lepopup_vars["ajax-url"] = jQuery("#lepopup-remote").attr("data-handler"); 151 jQuery('head').append("<style>#lepopup-ready{display:none;width:0px;height:0px;}</style>"); 152 var inline_slugs = new Array(); 153 var i = 0; 154 jQuery(".lepopup-inline").each(function() { 155 var inline_slug = jQuery(this).attr("data-slug"); 156 if (inline_slug) { 157 jQuery(this).attr("id", "lepopup-inline-"+i); 158 inline_slugs.push(inline_slug); 159 i++; 160 } 161 }); 162 if (lepopup_vars["ulp-active"] == "off") { 163 jQuery(".ulp-inline").each(function() { 164 var inline_slug = jQuery(this).attr("data-id"); 165 if (inline_slug) { 166 jQuery(this).attr("id", "lepopup-inline-"+i); 167 inline_slugs.push(inline_slug); 168 i++; 169 } 170 }); 171 } 172 jQuery('body').append("<div id='lepopup-ready'></div>"); 173 jQuery.ajax({ 174 url : lepopup_vars['ajax-url'], 175 data : {"action" : "lepopup-remote-init", "inline-slugs" : inline_slugs.join(','), "preview" : lepopup_preview, "hostname" : window.location.hostname}, 176 method : (lepopup_vars["mode"] == "remote" ? "get" : "post"), 177 dataType: (lepopup_vars["mode"] == "remote" ? "jsonp" : "json"), 178 async : true, 179 success : function(return_data) { 180 try { 181 var data, temp; 182 if (typeof return_data == 'object') data = return_data; 183 else data = jQuery.parseJSON(return_data); 184 if (data.status == "OK") { 185 lepopup_vars["cookie-value"] = data["cookie-value"]; 186 lepopup_vars["overlays"] = data["overlays"]; 187 lepopup_vars["campaigns"] = data["campaigns"]; 188 lepopup_vars["ga-tracking"] = data["ga-tracking"]; 189 lepopup_vars["abd-enabled"] = data["adb-enabled"];
190 lepopup_vars["plugins"] = data["plugins"]; 191 for (var i=0; i<(data["inline-forms"]).length; i++){ 192 jQuery("#lepopup-inline-"+i).html((data["inline-forms"])[i]); 193 } 194 if (typeof data["resources"]["css"] != 'undefined') { 195 for (var i=0; i<(data["resources"]["css"]).length; i++){ 196 jQuery('head').append("<link href='"+(data["resources"]["css"])[i]+"' rel='stylesheet' type='text/css' media='all' />"); 197 } 198 } 199 if (typeof data["resources"]["js"] != 'undefined') { 200 for (var i=0; i<(data["resources"]["js"]).length; i++){ 201 if (typeof data["resources"]["js"][i] === typeof '') { 202 jQuery('body').append("<script src='"+(data["resources"]["js"])[i]+"' type='text/javascript'></script>"); 203 } else if (typeof data["resources"]["js"][i] === typeof {}) { 204 temp = "<script type='text/javascript'"; 205 for (var option_key in data["resources"]["js"][i]) { 206 if (data["resources"]["js"][i].hasOwnProperty(option_key)) { 207 temp += " "+lepopup_escape_html(option_key)+"='"+lepopup_escape_html(data["resources"]["js"][i][option_key])+"'"; 208 } 209 } 210 temp += "></script>"; 211 jQuery('body').append(temp); 212 } 213 } 214 } 215 if (data.hasOwnProperty("consts")) { 216 if (typeof Object.assign == "function") { 217 lepopup_consts = Object.assign(lepopup_consts, data["consts"]); 218 } else { 219 for (var key in data["consts"]) { 220 if (data["consts"].hasOwnProperty(key)) { 221 lepopup_consts[key] = data["consts"][key]; 222 } 223 } 224 } 225 } 226 var counter = 50; 227 var ready = function() { 228 counter--; 229 if (counter == 0) { 230 console.log("Can't load style.css."); 231 return; 232 } 233 var width = jQuery("#lepopup-ready").width(); 234 if (width > 0) { 235 lepopup_ready(); 236 } else { 237 setTimeout(ready, 200); 238 } 239 } 240 ready(); 241 } 242 } catch(error) { 243 console.log(error); 244 } 245 }, 246 error : function(XMLHttpRequest, textStatus, errorThrown) { 247 console.log(errorThrown); 248 } 249 }); 250 } 251 jQuery(window).on('beforeunload', function(e){ 252 var session_length; 253 if (!jQuery.isEmptyObject(lepopup_sessions)) { 254 for (var form_id in lepopup_sessions) { 255 session_length = jQuery(".lepopup-form-"+form_id).attr("data-session"); 256 if (lepopup_is_numeric(session_length) && session_length > 0) { 257 if (lepopup_sessions.hasOwnProperty(form_id)) { 258 if (lepopup_sessions[form_id]["modified"] == true) { 259 lepopup_write_cookie("lepopup-session-"+form_id, JSON.stringify(lepopup_sessions[form_id]["values"]), session_length); 260 } 261 } 262 } 263 } 264 } 265 return; 266 }); 267 }); 268} else { 269 alert('lepopup.js requires jQuery to be loaded. Please include jQuery library above lepopup.js. Do not use "defer" or "async" option to load jQuery.'); 270} 271 272function lepopup_ready() { 273 lepopup_resize(); 274 jQuery(window).resize(function() { 275 lepopup_resize(); 276 }); 277 var processed_forms = new Array(); 278 var processed_form_ids = new Array(); 279 280 jQuery(".lepopup-inline").each(function(){ 281 jQuery(this).find(".lepopup-form").each(function(){ 282 var id = jQuery(this).attr("data-id"); 283 var form_id = jQuery(this).attr("data-form-id"); 284 if (processed_forms.indexOf(id) >= 0) return true; 285 processed_forms.push(id); 286 if (processed_form_ids.indexOf(form_id) < 0) processed_form_ids.push(form_id); 287 }); 288 }); 289 if (processed_form_ids.length > 0) { 290 lepopup_add_impression(processed_form_ids.join(","), null); 291 } 292 for (var i=0; i<processed_forms.length; i++) { 293 lepopup_reset_form(processed_forms[i]); 294 lepopup_handle_visibility(processed_forms[i], null, true); 295 jQuery(".lepopup-form-"+processed_forms[i]).each(function(){ 296 var page_id = jQuery(this).attr("data-page"); 297 if (lepopup_is_visible(processed_forms[i], page_id)) { 298 jQuery(this).find(".lepopup-element[data-content]").each(function(){ 299 jQuery(this).find(".lepopup-element-html-content").html(lepopup_decode64(jQuery(this).attr("data-content"))); 300 }); 301 jQuery(this).show(); 302 return false;
303 } 304 }); 305 if (lepopup_customjs_handlers.hasOwnProperty(processed_forms[i])) { 306 lepopup_customjs_handlers[processed_forms[i]].errors = {}; 307 if (lepopup_customjs_handlers[processed_forms[i]].hasOwnProperty("afterinit") && typeof lepopup_customjs_handlers[processed_forms[i]].afterinit == 'function') { 308 try { 309 lepopup_customjs_handlers[processed_forms[i]].afterinit(); 310 } catch(error) { 311 } 312 } 313 } 314 } 315 jQuery("a").each(function() { 316 var slug = jQuery(this).attr("href"); 317 if (slug) { 318 var idx = slug.indexOf("#"); 319 if (idx < 0) return true; 320 slug = slug.substr(idx); 321 var full_hash = slug; 322 slug = slug.replace("#lepopup-", ""); 323 if (lepopup_vars["ulp-active"] == "off") slug = slug.replace("#ulp-", "").replace("#ulpx-", ""); 324 if (full_hash != slug) { 325// linklocker-begin 326 idx = slug.indexOf(":"); 327 if (idx > 0) { 328 var encoded_url = slug.substr(idx + 1); 329 slug = slug.substr(0, idx); 330 var item_slugs = slug.split("*"); 331 var item_slug = item_slugs[0]; 332 if (item_slugs.length > 1 && lepopup_mobile) item_slug = item_slugs[1]; 333 if (encoded_url.length > 0) { 334 encoded_url = lepopup_decode64(encoded_url); 335 if (item_slug == "") { 336 jQuery(this).attr("href", encoded_url); 337 } else { 338 var lepopup_cookie = lepopup_read_cookie("lepopup-submit-"+item_slug); 339 if (lepopup_cookie == lepopup_vars['cookie-value']) { 340 jQuery(this).attr("href", encoded_url); 341 return; 342 } else jQuery(this).addClass("lepopup-linklocker-"+item_slug); 343 } 344 } 345 } 346// linklocker-end 347 jQuery(this).on("click", function(e) { 348 e.preventDefault(); 349 var slug = jQuery(this).attr("href"); 350 var idx = slug.indexOf("#"); 351 if (idx < 0) return; 352 slug = slug.substr(idx); 353 slug = slug.replace("#lepopup-", ""); 354 if (lepopup_vars["ulp-active"] == "off") slug = slug.replace("#ulp-", "").replace("#ulpx-", ""); 355// linklocker-begin 356 idx = slug.indexOf(":"); 357 if (idx > 0) { 358 var encoded_url = lepopup_decode64(slug.substr(idx + 1)); 359 if (encoded_url.length > 0) lepopup_forced_location = encoded_url; 360 slug = slug.substr(0, idx); 361 } 362// linklocker-end 363 lepopup_popup_open(slug); 364 return false; 365 }); 366 } 367 } 368 }); 369 lepopup_mask_init("input.lepopup-mask"); 370 lepopup_datepicker_init("input.lepopup-date"); 371 lepopup_timepicker_init("input.lepopup-time"); 372 lepopup_signature_init("canvas.lepopup-signature"); 373 lepopup_rangeslider_init("input.lepopup-rangeslider"); 374 for (var i=0; i<processed_form_ids.length; i++) { 375 lepopup_tooltips_init(".lepopup-form-"+processed_form_ids[i], processed_form_ids[i], "dark"); 376 } 377 378 var slug = window.location.hash; 379 var idx = slug.indexOf("#"); 380 if (idx >= 0) { 381 slug = slug.substr(idx); 382 var full_hash = slug; 383 slug = slug.replace("#lepopup-", ""); 384 if (lepopup_vars["ulp-active"] == "off") slug = slug.replace("#ulp-", "").replace("#ulpx-", ""); 385 if (full_hash != slug && slug.length > 0) { 386 // linklocker - begin 387 var redirecting = false; 388 idx = slug.indexOf(":"); 389 if (idx > 0) { 390 var encoded_url = slug.substr(idx + 1); 391 slug = slug.substr(0, idx); 392 var item_slugs = slug.split("*"); 393 var item_slug = item_slugs[0]; 394 if (item_slugs.length > 1 && lepopup_mobile) item_slug = item_slugs[1]; 395 if (encoded_url.length > 0) { 396 encoded_url = lepopup_decode64(encoded_url); 397 if (item_slug == "") { 398 var lepopup_safe = lepopup_safe_url(encoded_url); 399 if (lepopup_safe) { 400 location.href = lepopup_safe; 401 redirecting = true; 402 } 403 } else { 404 var lepopup_cookie = lepopup_read_cookie("lepopup-submit-"+item_slug); 405 if (lepopup_cookie == lepopup_vars['cookie-value']) { 406 var lepopup_safe = lepopup_safe_url(encoded_url); 407 if (lepopup_safe) { 408 location.href = lepopup_safe; 409 redirecting = true; 410 } 411 } else lepopup_forced_location = encoded_url; 412 } 413 } 414 } 415 if (!redirecting) { 416 // linklocker - end 417 lepopup_popup_open(slug); 418 lepopup_onload_displayed = true; 419 // linklocker - begin 420 } 421 // linklocker - end 422 } 423 } 424 jQuery(document).keyup(function(e) { 425 if (lepopup_popup_active_id) { 426 if (jQuery(".lepopup-form-"+lepopup_popup_active_id).first().attr("data-e
426sc") == "on") { 427 if (e.keyCode == 27) lepopup_close(0); 428 } 429 } 430 if (e.keyCode == 13) { 431 if (jQuery(document.activeElement).parent().hasClass("lepopup-input")) { 432 if (jQuery(document.activeElement).prop("tagName").toLowerCase() == "textarea" && !e.ctrlKey) { 433 return; 434 } 435 var popup = jQuery(document.activeElement).closest(".lepopup-form"); 436 if (popup) { 437 if (jQuery(popup).attr("data-enter") == "on") { 438 lepopup_submit(document.activeElement); 439 } 440 } 441 } 442 } 443 }); 444 jQuery(window).resize(); 445 lepopup_events_init(); 446 console.log("Green Popups is ready to go!"); 447} 448function lepopup_resize() { 449 _lepopup_resize_active_popup(lepopup_popup_active_page_id); 450 jQuery(".lepopup-inline").each(function() { 451 var device = jQuery(this).attr("data-device"); 452 if ((device == 'mobile' && !lepopup_mobile) || (device == 'desktop' && lepopup_mobile)) { 453 jQuery(this).hide(); 454 } else { 455 jQuery(this).find(".lepopup-form").each(function() { 456 var viewport_width = Math.max(120, jQuery(this).parent().innerWidth()); 457 var width = parseInt(jQuery(this).attr("data-width"), 10); 458 var height = parseInt(jQuery(this).attr("data-height"), 10); 459 460 var scale = viewport_width/width; 461 if (scale > 1) scale = 1; 462 463 jQuery(this).css({ 464 "width" : parseInt(width*scale, 10), 465 "height" : parseInt(height*scale, 10) 466 }); 467 jQuery(this).find(".lepopup-form-inner").css({ 468 "transform" : "translate(-"+parseInt(width*(1-scale)/2, 10)+"px, -"+parseInt(height*(1-scale)/2, 10)+"px) scale("+scale+")" 469 }); 470 }); 471 } 472 }); 473} 474function _lepopup_resize_active_popup(_page_id) { 475 if (!lepopup_popup_active_id || !_page_id) return; 476 var active_page = jQuery("#lepopup-popup-"+lepopup_popup_active_id+" .lepopup-form[data-page='"+_page_id+"']"); 477 var viewport = { 478 width: Math.max(240, jQuery(window).width()), 479 height: Math.max(120, jQuery(window).height()) 480 }; 481 var width = parseInt(jQuery(active_page).attr("data-width"), 10); 482 var height = parseInt(jQuery(active_page).attr("data-height"), 10); 483 var scale = Math.min((viewport.width-20)/width, viewport.height/height); 484 if (scale > 1) scale = 1; 485 486 var middle_position = "-50%"; 487 var bottom_sign = ""; 488// if (lepopup_mobile) { 489 scale = Math.min((viewport.width-20)/width, 1); 490 if (height*scale > viewport.height) { 491 jQuery(active_page).parent().addClass("lepopup-popup-fh-container"); 492 middle_position = "-"+height*(1-scale)/2+"px"; 493 bottom_sign = "-"; 494 } else { 495 jQuery(active_page).parent().removeClass("lepopup-popup-fh-container"); 496 } 497// } 498 var position = jQuery(active_page).attr("data-position"); 499 var translate = ""; 500 switch (position) { 501 case 'top-left': 502 translate = "translate(-"+width*(1-scale)/2+"px,-"+height*(1-scale)/2+"px) "; 503 break; 504 case 'top-right': 505 translate = "translate("+width*(1-scale)/2+"px,-"+height*(1-scale)/2+"px) "; 506 break; 507 case 'bottom-left': 508 translate = "translate(-"+width*(1-scale)/2+"px,"+bottom_sign+height*(1-scale)/2+"px) "; 509 break; 510 case 'bottom-right': 511 translate = "translate("+width*(1-scale)/2+"px,"+bottom_sign+height*(1-scale)/2+"px) "; 512 break; 513 case 'top-center': 514 translate = "translate(-50%,-"+height*(1-scale)/2+"px) "; 515 break; 516 case 'bottom-center': 517 translate = "translate(-50%,"+bottom_sign+height*(1-scale)/2+"px) "; 518 break; 519 case 'middle-left': 520 translate = "translate(-"+width*(1-scale)/2+"px,"+middle_position+") "; 521 break; 522 case 'middle-right': 523 translate = "translate("+width*(1-scale)/2+"px,"+middle_position+") "; 524 break; 525 default: 526 translate = "translate(-50%,"+middle_position+") "; 527 break; 528 } 529 jQuery(active_page).css({"transform" : translate+"scale("+scale+")"}); 530} 531 532function lepopup_events_init() { 533 var item_slug = null, item_slugs, event_cookie; 534 535 try { 536 var url = new URL(document.location); 537 var disable_raw = url.searchParams.get("lepopup-disable"); 538 if (disable_raw != null) { 539 var disable_items = disable_raw.split(","); 540 for (var i=0; i<disable_items.length; i++) { 541 item_slug = (disable_items[i]).trim(); 542 if (item_slug.length > 0 && lepopup_vars["overlays"].hasOwnProperty(item_slug)) { 543 lepopup_write_cookie("lepopup-submit-"+item_slug, lepopup_vars["cookie-value"], 365*24); 544 } 545 } 546 } 547 } catch(error) { 548 console.log(error); 549 } 550 551 lepopup_vars["events-data"] = Object.assign(lepopup_vars["events-data"], lepopup_custom_events_data); 552 if (lepopup_vars["abd-enabled"] == 'on') { 553 if (lepopup_vars["events-data"].hasOwnProperty("onabd-item")) { 554 item_slugs = lepopup_vars["events-data"]["onabd-item"].split("*"); 555 item_slug = item_slugs[0]; 556 if (item_slugs.length > 1 && lepopup_mobile) item_slug = item_slugs[1]; 557 if (item_slug != "") { 558 var event_cookie = lepopup_read_cookie("lepopup-onabd-"+item_slug); 559 var slug_cookie = lepopup_read_cookie("lepopup-submit-"+item_slug); 560 if (event_cookie != lepopup_vars["cookie-value"] && slug_cookie != lepopup_vars["cookie-value"]) { 561 if (!lepopup_popup_active_id && !lepopup_onabd_displayed) { 562 if (typeof window.google_ad_status == typeof undefined || window.google_ad_status != 1) { 563 if (lepopup_vars["events-data"]["onabd-mode"] == "once-only") lepopup_write_cookie("lepopup-onabd-"+item_slug, lepopup_vars["cookie-value"], 365*24); 564 else if (lepopup_vars["events-data"]["onabd-mode"] == "once-period") lepopup_write_cookie("lepopup-onabd-"+item_slug, lepopup_vars["cookie-value"], lepopup_vars["events-data"]["onabd-mode-period"]); 565 lepopup_popup_open(item_slug); 566 lepopup_onabd_displayed = true; 567 } 568 } 569 } 570 } 571 } 572 } 573 if (lepopup_vars["events-data"].hasOwnProperty("onload-item")) { 574 item_slugs = lepopup_vars["events-data"]["onload-item"].split("*"); 575 item_slug = item_slugs[0]; 576 if (item_slugs.length > 1 && lepopup_mobile) item_slug = item_slugs[1]; 577 if (item_slug != "") { 578 var event_cookie = lepopup_read_cookie("lepopup-onload-"+item_slug); 579 var slug_cookie = lepopup_read_cookie("lepopup-submit-"+item_slug); 580 if (event_cookie != lepopup_vars["cookie-value"] && slug_cookie != lepopup_vars["cookie-value"]) { 581 var onload_open = function(_slug) { 582 if (!lepopup_popup_active_id && !lepopup_onload_displayed) { 583 if (lepopup_vars["events-data"]["onload-mode"] == "once-only") lepopup_write_cookie("lepopup-onload-"+_slug, lepopup_vars["cookie-value"], 365*24); 584 else if (lepopup_vars["events-data"]["onload-mode"] == "once-period") lepopup_write_cookie("lepopup-onload-"+_slug, lepopup_vars["cookie-value"], lepopup_vars["events-data"]["onload-mode-period"]); 585 lepopup_popup_open(_slug); 586 lepopup_onload_displayed = true; 587 if (parseInt(lepopup_vars["events-data"]["onload-mode-close-delay"], 10) > 0) { 588 lepopup_timeout = setTimeout(function() {lepopup_popup_active_close(0);}, parseInt(lepopup_vars["events-data"]["onload-mode-close-delay"], 10)*1000); 589 } 590 } 591 }; 592 var onload_slug = item_slug;
593 if (parseInt(lepopup_vars["events-data"]["onload-mode-delay"], 10) <= 0) { 594 onload_open(onload_slug); 595 } else { 596 setTimeout(function() { 597 onload_open(onload_slug); 598 }, parseInt(lepopup_vars["events-data"]["onload-mode-delay"], 10)*1000); 599 } 600 } 601 } 602 } 603 if (lepopup_vars["events-data"].hasOwnProperty("onexit-item")) { 604 item_slugs = lepopup_vars["events-data"]["onexit-item"].split("*"); 605 item_slug = item_slugs[0]; 606 if (item_slugs.length > 1 && lepopup_mobile) item_slug = item_slugs[1]; 607 if (item_slug != "") { 608 var event_cookie = lepopup_read_cookie("lepopup-onexit-"+item_slug); 609 var slug_cookie = lepopup_read_cookie("lepopup-submit-"+item_slug); 610 if (event_cookie != lepopup_vars["cookie-value"] && slug_cookie != lepopup_vars["cookie-value"]) { 611 var onexit_slug = item_slug; 612 jQuery(document).bind('mouseleave', function(e) { 613 var mouseY = parseInt(e.pageY - jQuery(window).scrollTop(), 10); 614 if (!lepopup_popup_active_id && !lepopup_onexit_displayed && mouseY < 20) { 615 if (lepopup_vars["events-data"]["onexit-mode"] == "once-only") lepopup_write_cookie("lepopup-onexit-"+onexit_slug, lepopup_vars["cookie-value"], 365*24); 616 else if (lepopup_vars["events-data"]["onexit-mode"] == "once-period") lepopup_write_cookie("lepopup-onexit-"+onexit_slug, lepopup_vars["cookie-value"], lepopup_vars["events-data"]["onexit-mode-period"]); 617 lepopup_popup_open(onexit_slug); 618 lepopup_onexit_displayed = true; 619 } 620 }); 621 } 622 } 623 } 624 if (lepopup_vars["events-data"].hasOwnProperty("onscroll-item")) { 625 item_slugs = lepopup_vars["events-data"]["onscroll-item"].split("*"); 626 item_slug = item_slugs[0]; 627 if (item_slugs.length > 1 && lepopup_mobile) item_slug = item_slugs[1]; 628 if (item_slug != "") { 629 var event_cookie = lepopup_read_cookie("lepopup-onscroll-"+item_slug); 630 var slug_cookie = lepopup_read_cookie("lepopup-submit-"+item_slug); 631 if (event_cookie != lepopup_vars["cookie-value"] && slug_cookie != lepopup_vars["cookie-value"]) { 632 var onscroll_slug = item_slug; 633 jQuery(window).scroll(function(e) { 634 if (!lepopup_popup_active_id && !lepopup_onscroll_displayed) { 635 var position = jQuery(window).scrollTop(); 636 var offset = parseInt(lepopup_vars["events-data"]["onscroll-mode-offset"], 10); 637 if (lepopup_vars["events-data"]["onscroll-mode-offset"].indexOf("%") > 0) { 638 if (offset > 100) offset = 100; 639 offset = parseInt((jQuery(document).height() - jQuery(window).height())*offset/100, 10); 640 } 641 if (position > offset) { 642 if (lepopup_vars["events-data"]["onscroll-mode"] == "once-only") lepopup_write_cookie("lepopup-onscroll-"+onscroll_slug, lepopup_vars["cookie-value"], 365*24); 643 else if (lepopup_vars["events-data"]["onscroll-mode"] == "once-period") lepopup_write_cookie("lepopup-onscroll-"+onscroll_slug, lepopup_vars["cookie-value"], lepopup_vars["events-data"]["onscroll-mode-period"]); 644 lepopup_popup_open(onscroll_slug); 645 lepopup_onscroll_displayed = true; 646 } 647 } 648 }); 649 } 650 } 651 } 652 if (lepopup_vars["events-data"].hasOwnProperty("onidle-item")) { 653 item_slugs = lepopup_vars["events-data"]["onidle-item"].split("*"); 654 item_slug = item_slugs[0]; 655 if (item_slugs.length > 1 && lepopup_mobile) item_slug = item_slugs[1]; 656 if (item_slug != "") { 657 var event_cookie = lepopup_read_cookie("lepopup-onidle-"+item_slug); 658 var slug_cookie = lepopup_read_cookie("lepopup-submit-"+item_slug); 659 if (event_cookie != lepopup_vars["cookie-value"] && slug_cookie != lepopup_vars["cookie-value"]) { 660 var onidle_slug = item_slug; 661 jQuery(window).mousemove(function(event) { 662 lepopup_onidle_counter = 0; 663 }); 664 jQuery(window).click(function(event) { 665 lepopup_onidle_counter = 0; 666 }); 667 jQuery(window).keypress(function(event) { 668 lepopup_onidle_counter = 0; 669 }); 670 jQuery(window).scroll(function(event) { 671 lepopup_onidle_counter = 0; 672 }); 673 var onidle_counter_handler = function() { 674 if (lepopup_onidle_counter >= lepopup_vars["events-data"]["onidle-mode-delay"]) { 675 if (!lepopup_popup_active_id && !lepopup_onidle_displayed) { 676 if (lepopup_vars["events-data"]["onidle-mode"] == "once-only") lepopup_write_cookie("lepopup-onidle-"+onidle_slug, lepopup_vars["cookie-value"], 365*24); 677 else if (lepopup_vars["events-data"]["onidle-mode"] == "once-period") lepopup_write_cookie("lepopup-onidle-"+onidle_slug, lepopup_vars["cookie-value"], lepopup_vars["events-data"]["onidle-mode-period"]); 678 lepopup_popup_open(onidle_slug); 679 lepopup_onidle_displayed = true; 680 } 681 return; 682 } else { 683 lepopup_onidle_counter = lepopup_onidle_counter + 1; 684 } 685 lepopup_onidle_timer = setTimeout(onidle_counter_handler, 1000); 686 } 687 lepopup_onidle_timer = setTimeout(onidle_counter_handler, 1000); 688 } 689 } 690 } 691} 692 693function lepopup_add_impression(_from_ids, _campaign_slug) { 694 jQuery.ajax({ 695 url : lepopup_vars['ajax-url'], 696 data : {"action" : "lepopup-front-add-impression", "campaign-slug" : _campaign_slug, "form-ids" : _from_ids, "hostname" : window.location.hostname}, 697 method : (lepopup_vars["mode"] == "remote" ? "get" : "post"), 698 dataType: (lepopup_vars["mode"] == "remote" ? "jsonp" : "json"),
699 async : true, 700 success : function(return_data) { 701 try { 702 var data; 703 if (typeof return_data == 'object') data = return_data; 704 else data = jQuery.parseJSON(return_data); 705 if (data.status == "OK") { 706 if (data.hasOwnProperty("consts")) { 707 if (typeof Object.assign == "function") { 708 lepopup_consts = Object.assign(lepopup_consts, data["consts"]); 709 } else { 710 for (var key in data["consts"]) { 711 if (data["consts"].hasOwnProperty(key)) { 712 lepopup_consts[key] = data["consts"][key]; 713 } 714 } 715 } 716 lepopup_consts_update(null, data["consts"]); 717 } 718 } 719 } catch(error) { 720 console.log(error); 721 } 722 }, 723 error : function(XMLHttpRequest, textStatus, errorThrown) { 724 console.log(errorThrown); 725 } 726 }); 727} 728function lepopup_datepicker_init(_set) { 729 if (lepopup_vars["mode"] == "remote" && lepopup_vars["plugins"].indexOf("airdatepicker") >= 0 && typeof jQuery.fn.airdatepicker == typeof undefined) { 730 setTimeout(function(){lepopup_datepicker_init(_set);}, 1000); 731 } 732 if (typeof jQuery.fn.airdatepicker == typeof undefined) return; 733 jQuery(_set).each(function(){ 734 var object = this; 735 var airdatepicker = jQuery(object).airdatepicker().data('airdatepicker'); 736 airdatepicker.destroy(); 737 jQuery(object).airdatepicker({ 738 inline_popup : true, 739 autoClose : true, 740 timepicker : false, 741 dateFormat : jQuery(object).attr("data-format"), 742 language : jQuery(object).attr("data-locale"), 743 onSelect : function(formattedDate, date, inst) { 744 lepopup_input_changed(object); 745 }, 746 onShow : function(inst, animationCompleted) { 747 var content; 748 var min_type = jQuery(object).attr("data-min-type"); 749 var min_value = jQuery(object).attr("data-min-value"); 750 var min_date = null; 751 switch(min_type) { 752 case 'today': 753 min_date = new Date(); 754 break; 755 case 'yesterday': 756 min_date = new Date(); 757 min_date.setDate(min_date.getDate() - 1); 758 break; 759 case 'tomorrow': 760 min_date = new Date(); 761 min_date.setDate(min_date.getDate() + 1); 762 break; 763 case 'offset': 764 min_date = new Date(); 765 min_date.setDate(min_date.getDate() + parseInt(min_value, 10)); 766 break; 767 case 'date': 768 min_date = lepopup_date(min_value, jQuery(object).attr("data-format")); 769 break; 770 case 'field': 771 content = jQuery(object).closest(".lepopup-container"); 772 if (jQuery(content).find("input[name='lepopup-"+min_value+"']").length > 0) min_date = lepopup_date(jQuery(content).find("input[name='lepopup-"+min_value+"']").val(), jQuery(object).attr("data-format")); 773 break; 774 default: 775 break; 776 } 777 if (min_date != null) inst.update('minDate', min_date); 778 var max_type = jQuery(object).attr("data-max-type"); 779 var max_value = jQuery(object).attr("data-max-value"); 780 var max_date = null; 781 switch(max_type) { 782 case 'today': 783 max_date = new Date(); 784 break; 785 case 'yesterday': 786 max_date = new Date(); 787 max_date.setDate(max_date.getDate() - 1); 788 break; 789 case 'tomorrow': 790 max_date = new Date(); 791 max_date.setDate(max_date.getDate() + 1); 792 break; 793 case 'offset': 794 max_date = new Date(); 795 max_date.setDate(max_date.getDate() + parseInt(max_value, 10)); 796 break; 797 case 'date': 798 max_date = lepopup_date(max_value, jQuery(object).attr("data-format")); 799 break; 800 case 'field': 801 content = jQuery(object).closest(".lepopup-container"); 802 if (jQuery(content).find("input[name='lepopup-"+max_value+"']").length > 0) max_date = lepopup_date(jQuery(content).find("input[name='lepopup-"+max_value+"']").val(), jQuery(object).attr("data-format")); 803 break; 804 default: 805 break; 806 } 807 if (max_date != null) inst.update('maxDate', max_date); 808 } 809 }); 810 jQuery(object).parent().find("i").on("click", function(e){ 811 e.preventDefault(); 812 var input = jQuery(this).parent().children("input"); 813 var airdatepicker = jQuery(input).airdatepicker().data('airdatepicker'); 814 airdatepicker.show(); 815 }); 816 }); 817} 818function lepopup_rangeslider_init(_set) { 819 if (lepopup_vars["mode"] == "remote" && lepopup_vars["plugins"].indexOf("ion.rangeSlider") >= 0 && typeof jQuery.fn.ionRangeSlider == typeof undefined) { 820 setTimeout(function(){lepopup_rangeslider_init(_set);}, 1000); 821 } 822 if (typeof jQuery.fn.ionRangeSlider == typeof undefined || !jQuery.fn.ionRangeSlider) return; 823 jQuery(_set).ionRangeSlider({ 824 onChange: function (_data) { 825 lepopup_input_error_hide(_data.input); 826 lepopup_input_changed(_data.input); 827 } 828 }); 829} 830function lepopup_tooltips_init(_container, _form_id, _theme) { 831 if (lepopup_vars["mode"] == "remote" && lepopup_vars["plugins"].indexOf("tooltipster") >= 0 && (typeof jQuery.fn.tooltipster == typeof undefined || !jQuery.fn.tooltipster)) { 832 setTimeout(function(){lepopup_tooltips_init(_container, _form_id, _theme);}, 1000); 833 } 834 if (typeof jQuery.fn.tooltipster == typeof undefined || !jQuery.fn.tooltipster) return; 835 var theme = jQuery(".lepopup-form-"+_form_id).attr("data-tooltip-theme"); 836 if (theme != "light" && theme != "dark") theme = _theme; 837 jQuery(_container).find("span.lepopup-tooltip-anchor, .lepopup-input[title], .lepopup-upload-input[title]").tooltipster({ 838 functionFormat: function(instance, helper, content){ 839 return "<div class='lepopup-tooltipster-content-"+_form_id+" lepopup-tooltipster-content-"+theme+"'>"+content+"</div>"; 840 }, 841 contentAsHTML: true, 842 maxWidth: 640, 843 theme: "tooltipster-"+theme 844 }); 845} 846function lepopup_signature_init(_set) { 847 if (lepopup_vars["mode"] == "remote" && lepopup_vars["plugins"].indexOf("signature_pad") >= 0 && typeof SignaturePad == typeof undefined) { 848 setTimeout(function(){lepopup_signature_init(_set);}, 1000); 849 } 850 if (typeof SignaturePad == typeof undefined) return; 851 jQuery(_set).each(function(){ 852 var object = this; 853 var box = jQuery(this).parent(); 854 var width = Math.max(box.width(), 40); 855 var height = box.height(); 856 jQuery(this).width(width); 857 jQuery(this).height(height); 858 jQuery(this).attr("width", width); 859 jQuery(this).attr("height", height); 860 var signature_key = jQuery(this).closest(".lepopup-form").attr("data-id")+"-"+jQuery(this).closest(".lepopup-element").attr("data-id");
861 var pen_color = jQuery(this).attr("data-color"); 862 if (typeof pen_color == typeof undefined) pen_color = "rgb(0,0,0,1);" 863 lepopup_signatures[signature_key] = new SignaturePad(this, { 864 penColor: pen_color, 865 onBegin: function() { 866 lepopup_input_error_hide(object); 867 }, 868 onEnd: function() { 869 var input = jQuery(object).closest(".lepopup-input").find("input"); 870 var data_url = ""; 871 if (!this.isEmpty()) data_url = this.toDataURL(); 872 jQuery(input).val(data_url); 873 lepopup_input_changed(input); 874 } 875 }); 876 jQuery(this).parent().find("span").on("click", function(e){ 877 var input = jQuery(object).closest(".lepopup-input").find("input"); 878 jQuery(input).val(""); 879 lepopup_signatures[signature_key].clear(); 880 lepopup_input_changed(input); 881 }); 882 }); 883} 884var lepopup_in_onselect = false; 885function lepopup_timepicker_init(_set) { 886 if (lepopup_vars["mode"] == "remote" && lepopup_vars["plugins"].indexOf("airdatepicker") >= 0 && typeof jQuery.fn.airdatepicker == typeof undefined) { 887 setTimeout(function(){lepopup_timepicker_init(_set);}, 1000); 888 } 889 if (typeof jQuery.fn.airdatepicker == typeof undefined) return; 890 jQuery(_set).each(function(){ 891 var object = this; 892 var airdatepicker = jQuery(object).airdatepicker().data('airdatepicker'); 893 airdatepicker.destroy(); 894 jQuery(object).airdatepicker({ 895 inline_popup : true, 896 autoClose : true, 897 timepicker : true, 898 onlyTimepicker : true, 899 minutesStep : jQuery(object).attr("data-interval"), 900 timeFormat : jQuery(object).attr("data-format"), 901 language : jQuery(object).attr("data-locale"), 902 onSelect : function(formattedDate, date, inst) { 903 if (lepopup_in_onselect) return; 904 lepopup_in_onselect = true; 905 var content; 906 var selected_time_c = date.getHours()*100+date.getMinutes(); 907 var min_type = jQuery(object).attr("data-min-type"); 908 var min_value = jQuery(object).attr("data-min-value"); 909 var min_time = null; 910 switch(min_type) { 911 case 'time': 912 min_time = lepopup_time24_str(min_value, jQuery(object).attr("data-format")); 913 break; 914 case 'field': 915 content = jQuery(object).closest(".lepopup-container"); 916 if (jQuery(content).find("input[name='lepopup-"+min_value+"']").length > 0) min_time = lepopup_time24_str(jQuery(content).find("input[name='lepopup-"+min_value+"']").val(), jQuery(object).attr("data-format")); 917 break; 918 default: 919 break; 920 } 921 if (min_time != null) { 922 if (selected_time_c < parseInt(min_time.replace(":", ""), 10)) { 923 inst.selectDate(new Date(2020, 0, 1, min_time.substr(0, 2), min_time.substr(3, 2))); 924 lepopup_in_onselect = false; 925 return; 926 } 927 } 928 var max_type = jQuery(object).attr("data-max-type"); 929 var max_value = jQuery(object).attr("data-max-value"); 930 var max_time = null; 931 switch(max_type) { 932 case 'time': 933 max_time = lepopup_time24_str(max_value, jQuery(object).attr("data-format")); 934 break; 935 case 'field': 936 content = jQuery(object).closest(".lepopup-container"); 937 if (jQuery(content).find("input[name='lepopup-"+max_value+"']").length > 0) max_time = lepopup_time24_str(jQuery(content).find("input[name='lepopup-"+max_value+"']").val(), jQuery(object).attr("data-format")); 938 break; 939 default: 940 break; 941 } 942 if (max_time != null) { 943 if (selected_time_c > parseInt(max_time.replace(":", ""), 10)) { 944 inst.selectDate(new Date(2020, 0, 1, max_time.substr(0, 2), max_time.substr(3, 2))); 945 lepopup_in_onselect = false; 946 return; 947 } 948 949 } 950 lepopup_in_onselect = false; 951 } 952 }); 953 jQuery(object).parent().find("i").on("click", function(e){ 954 e.preventDefault(); 955 var input = jQuery(this).parent().children("input"); 956 var airdatepicker = jQuery(input).airdatepicker().data('airdatepicker'); 957 airdatepicker.show(); 958 }); 959 }); 960} 961function lepopup_popup_open(_slug) { 962 var slug; 963 var slugs = _slug.split("*"); 964 if (slugs.length > 1) { 965 if (lepopup_mobile) slug = slugs[1]; 966 else slug = slugs[0]; 967 } else slug = _slug; 968 if (slug == "") return false; 969 if (lepopup_vars["campaigns"].hasOwnProperty(slug)) { 970 lepopup_campaign_active_slug = slug; 971 slug = lepopup_vars["campaigns"][slug][parseInt(Math.floor(Math.random()*lepopup_vars["campaigns"][slug].length), 10)]; 972 } else lepopup_campaign_active_slug = null; 973 var overlay_color = "rgba(0,0,0,0.7)"; 974 var _id = null; 975 if (lepopup_vars["overlays"].hasOwnProperty(slug)) { 976 _id = lepopup_vars["overlays"][slug][0]; 977 } else return false;
978 if (lepopup_popup_active_id == _id) return false; 979 if (lepopup_popup_active_id) lepopup_popup_active_close(); 980 if (jQuery("#lepopup-popup-"+_id).length > 0) { 981 if (jQuery("#lepopup-popup-"+_id+"-overlay").length > 0) { 982 jQuery("#lepopup-popup-"+_id+"-overlay").attr("class", "lepopup-popup-overlay lepopup-animated lepopup-"+lepopup_vars["overlays"][slug][5]); 983 } else { 984 if (lepopup_vars["overlays"][slug][2] == "on") { 985 if (lepopup_vars["overlays"][slug][3] != "") overlay_color = lepopup_vars["overlays"][slug][3]; 986 var overlay_html = "<div class='lepopup-popup-overlay' id='lepopup-popup-"+_id+"-overlay' style='background: "+overlay_color+";'></div>"; 987 jQuery('body').append(overlay_html); 988 jQuery("#lepopup-popup-"+_id+"-overlay").fadeIn(500); 989 jQuery("#lepopup-popup-"+_id+"-overlay").attr("class", "lepopup-popup-overlay lepopup-animated lepopup-"+lepopup_vars["overlays"][slug][5]); 990 if (lepopup_vars["overlays"][slug][4] == "on") { 991 jQuery("#lepopup-popup-"+_id+"-overlay").on("click", function(e) { 992 lepopup_popup_active_close(); 993 }); 994 } 995 } 996 } 997 lepopup_add_impression(_id, lepopup_campaign_active_slug); 998 return _lepopup_popup_open(_id, true); 999 } else { 1000 if (!lepopup_popup_loading && !lepopup_popup_active_id) { 1001 lepopup_popup_loading = true; 1002 if (lepopup_vars["overlays"][slug][2] == "on") { 1003 if (lepopup_vars["overlays"][slug][3] != "") overlay_color = lepopup_vars["overlays"][slug][3]; 1004 var overlay_html = "<div class='lepopup-popup-overlay' id='lepopup-popup-"+_id+"-overlay' style='background: "+overlay_color+";'></div>"; 1005 jQuery('body').append(overlay_html); 1006 jQuery("#lepopup-popup-"+_id+"-overlay").fadeIn(500); 1007 jQuery("#lepopup-popup-"+_id+"-overlay").attr("class", "lepopup-popup-overlay lepopup-animated lepopup-"+lepopup_vars["overlays"][slug][5]); 1008 if (lepopup_vars["overlays"][slug][4] == "on") { 1009 jQuery("#lepopup-popup-"+_id+"-overlay").on("click", function(e) { 1010 lepopup_popup_loading = false; 1011 jQuery(".lepopup-popup-loader").hide(); 1012 jQuery(".lepopup-popup-loader").remove(); 1013 if (jQuery("#lepopup-popup-"+_id).length == 0) { 1014 jQuery("#lepopup-popup-"+_id+"-overlay").fadeOut(300); 1015 } else { 1016 lepopup_popup_active_close(); 1017 } 1018 }); 1019 } 1020 } 1021 var loader = "<style>#lepopup-popup-"+_id+"-loader .lepopup-popup-loader-triple-spinner {border-top-color:"+lepopup_vars["overlays"][slug][6]+"} #lepopup-popup-"+_id+"-loader .lepopup-popup-loader-triple-spinner::before {border-top-color:"+lepopup_vars["overlays"][slug][7]+"} #lepopup-popup-"+_id+"-loader .lepopup-popup-loader-triple-spinner::after {border-top-color:"+lepopup_vars["overlays"][slug][8]+"}</style><div id='lepopup-popup-"+_id+"-loader' class='lepopup-popup-loader lepopup-popup-loader-"+lepopup_vars["overlays"][slug][1]+"'><div class='lepopup-popup-loader-container'><div class='lepopup-popup-loader-triple-spinner'></div></div></div>"; 1022 jQuery('body').append(loader); 1023 1024 var style = jQuery(".lepopup-form-"+_id).length > 0 ? "off" : "on"; 1025 jQuery.ajax({ 1026 url: lepopup_vars['ajax-url'], 1027 method: (lepopup_vars["mode"] == "remote" ? "get" : "post"), 1028 dataType: (lepopup_vars["mode"] == "remote" ? "jsonp" : "json"), 1029 async: true, 1030 data: {"action" : "lepopup-front-popup-load", "form-slug" : slug, "form-style" : style, "hostname" : window.location.hostname, "preview" : lepopup_preview}, 1031 success: function(return_data) { 1032 jQuery(".lepopup-popup-loader").hide(); 1033 jQuery(".lepopup-popup-loader").remove(); 1034 var data; 1035 try { 1036 if (typeof return_data == 'object') data = return_data; 1037 else data = jQuery.parseJSON(return_data); 1038 if (data.status == "OK") { 1039 if (!lepopup_popup_loading) return false; 1040 //jQuery("#lepopup-popup-"+_id+"-overlay").html(data.html); 1041 jQuery("body").append(data.html); 1042 lepopup_mask_init("#lepopup-popup-"+_id+" input.lepopup-mask"); 1043 lepopup_add_impression(_id, lepopup_campaign_active_slug); 1044 _lepopup_popup_open(_id, false); 1045 } else { 1046 if (data.hasOwnProperty("message")) { 1047 lepopup_global_message_show("danger", data.message); 1048 } 1049 jQuery(".lepopup-popup-loader").hide(); 1050 jQuery(".lepopup-popup-loader").remove();
1051 //jQuery("#lepopup-popup-"+_id+"-overlay").off("click"); 1052 jQuery("#lepopup-popup-"+_id+"-overlay").fadeOut(300); 1053 } 1054 } catch(error) { 1055 console.log(error); 1056 jQuery(".lepopup-popup-loader").hide(); 1057 jQuery(".lepopup-popup-loader").remove(); 1058 //jQuery("#lepopup-popup-"+_id+"-overlay").off("click"); 1059 jQuery("#lepopup-popup-"+_id+"-overlay").fadeOut(300); 1060 } 1061 lepopup_popup_loading = false; 1062 }, 1063 error: function(XMLHttpRequest, textStatus, errorThrown) { 1064 console.log(errorThrown); 1065 jQuery(".lepopup-popup-loader").hide(); 1066 jQuery(".lepopup-popup-loader").remove(); 1067 //jQuery("#lepopup-popup-"+_id+"-overlay").off("click"); 1068 jQuery("#lepopup-popup-"+_id+"-overlay").fadeOut(300); 1069 lepopup_popup_loading = false; 1070 } 1071 }); 1072 } 1073 } 1074 return false; 1075} 1076 1077function _lepopup_popup_open(_id, _overlay) { 1078 if (jQuery("#lepopup-popup-"+_id).length == 0) return false; 1079 if (typeof lepopupext_open_before == 'function') { 1080 lepopupext_open_before(_id); 1081 } 1082 lepopup_popup_active_id = _id; 1083 if (_overlay) { 1084 jQuery("#lepopup-popup-"+_id+"-overlay").fadeIn(300); 1085 } 1086 1087 var form = jQuery("#lepopup-popup-"+_id).children(".lepopup-form").first(); 1088 var form_id = jQuery(form).attr("data-id"); 1089 var disable_scrollbar = jQuery(form).attr("data-disable-scrollbar"); 1090 if (disable_scrollbar == "on") { 1091 jQuery("html").addClass("lepopup-html-noscroll"); 1092 } 1093 var visible_page = null; 1094 lepopup_reset_form(form_id); 1095 jQuery(".lepopup-form-"+form_id).hide(); 1096 jQuery(".lepopup-form-"+form_id).each(function(){ 1097 var page_id = jQuery(this).attr("data-page"); 1098 if (lepopup_is_visible(form_id, page_id)) { 1099 _lepopup_popup_page_open(page_id); 1100 visible_page = this; 1101 return false; 1102 } 1103 }); 1104 lepopup_datepicker_init("#lepopup-popup-"+_id+" input.lepopup-date"); 1105 lepopup_timepicker_init("#lepopup-popup-"+_id+" input.lepopup-time"); 1106 jQuery("#lepopup-popup-"+_id).show(); 1107 lepopup_signature_init("#lepopup-popup-"+_id+" canvas.lepopup-signature"); 1108 lepopup_rangeslider_init("#lepopup-popup-"+_id+" input.lepopup-rangeslider"); 1109 if (lepopup_mobile) { 1110 jQuery("#lepopup-popup-"+_id+"-overlay").css({"padding-right" : "0px"}); 1111 } 1112 lepopup_handle_visibility(form_id, null, true); 1113 //lepopup_resize(); 1114 if (lepopup_customjs_handlers.hasOwnProperty(form_id)) { 1115 lepopup_customjs_handlers[form_id].errors = {}; 1116 if (lepopup_customjs_handlers[form_id].hasOwnProperty("afterinit") && typeof lepopup_customjs_handlers[form_id].afterinit == 'function') { 1117 try { 1118 lepopup_customjs_handlers[form_id].afterinit(); 1119 } catch(error) { 1120 } 1121 } 1122 } 1123 return false; 1124} 1125function _lepopup_popup_page_open(_page_id) { 1126 if (!lepopup_popup_active_id || lepopup_popup_active_page_id == _page_id) return; 1127 if (lepopup_popup_active_page_id && lepopup_popup_active_page_id != _page_id) _lepopup_popup_page_close(lepopup_popup_active_page_id); 1128 1129 var active_page = jQuery("#lepopup-popup-"+lepopup_popup_active_id+" .lepopup-form[data-page='"+_page_id+"']"); 1130 if (active_page.length == 0) return; 1131 lepopup_popup_active_page_id = _page_id; 1132 1133 _lepopup_resize_active_popup(lepopup_popup_active_page_id); 1134 1135 jQuery(active_page).removeClass("lepopup-form-page-closed"); 1136 1137 jQuery(active_page).find(".lepopup-element").each(function(){ 1138 var left = jQuery(this).attr("data-left"); 1139 var top = jQuery(this).attr("data-top"); 1140 var animation_in = jQuery(this).attr("data-animation-in"); 1141 var animation_out = jQuery(this).attr("data-animation-out"); 1142 jQuery(this).css({ 1143 "left": parseInt(left, 10)+"px", 1144 "top": parseInt(top, 10)+"px" 1145 }); 1146 var content = jQuery(this).attr("data-content"); 1147 if (content) { 1148 jQuery(this).find(".lepopup-element-html-content").html(lepopup_decode64(content)); 1149 } 1150 jQuery(this).removeClass("lepopup-"+animation_out); 1151 jQuery(this).addClass("lepopup-animated lepopup-"+animation_in); 1152 }); 1153 jQuery(active_page).show(); 1154} 1155 1156function lepopup_popup_active_close(_cookie_lifetime) { 1157 clearTimeout(lepopup_timeout); 1158 if (!lepopup_popup_active_id || !lepopup_popup_active_page_id) return; 1159 _lepopup_popup_page_close(lepopup_popup_active_page_id); 1160 var id = lepopup_popup_active_id; 1161 lepopup_sending = false;
1162 lepopup_popup_active_id = null; 1163 lepopup_campaign_active_slug = null; 1164 lepopup_forced_location = null; 1165 var form_uid = jQuery(".lepopup-form-"+id).first().attr("data-id"); 1166 if (parseInt(_cookie_lifetime, 10) > 0) { 1167 var form_slug = jQuery(".lepopup-form-"+id).first().attr("data-slug"); 1168 if (form_slug) lepopup_write_cookie("lepopup-submit-"+form_slug, lepopup_vars["cookie-value"], parseInt(_cookie_lifetime, 10)*24); 1169 } 1170 setTimeout(function() { 1171 jQuery("#lepopup-popup-"+id+"-overlay").attr("class", "lepopup-popup-overlay"); 1172 jQuery("#lepopup-popup-"+id+"-overlay").fadeOut(300); 1173 jQuery("html.lepopup-html-noscroll").removeClass("lepopup-html-noscroll"); 1174 jQuery("#lepopup-popup-"+id).removeClass("lepopup-popup-fh-container"); 1175 jQuery("#lepopup-popup-"+id).hide(); 1176 if (typeof lepopupext_close_after == 'function') { 1177 lepopupext_close_after(id); 1178 } 1179 if (lepopup_customjs_handlers.hasOwnProperty(form_uid)) { 1180 lepopup_customjs_handlers[form_uid].errors = {}; 1181 if (lepopup_customjs_handlers[form_uid].hasOwnProperty("afterclose") && typeof lepopup_customjs_handlers[form_uid].afterclose == 'function') { 1182 try { 1183 lepopup_customjs_handlers[form_uid].afterclose(); 1184 } catch(error) { 1185 } 1186 } 1187 } 1188 }, 500); 1189 return false; 1190} 1191 1192function lepopup_close(_cookie_lifetime) { 1193 lepopup_popup_active_close(_cookie_lifetime) 1194 return false; 1195} 1196function _lepopup_close(_id) { 1197 lepopup_sending = false; 1198 lepopup_popup_active_id = null; 1199 1200 jQuery("#lepopup-popup-"+_id).fadeOut(300, function() { 1201 jQuery("#lepopup-popup-"+_id+"-overlay").fadeOut(300); 1202 jQuery("#lepopup-popup-"+_id).find(".lepopup-popup").hide(); 1203 }); 1204 return false; 1205} 1206function _lepopup_popup_page_close(_page_id) { 1207 if (!lepopup_popup_active_id || lepopup_popup_active_page_id != _page_id) return; 1208 lepopup_popup_active_page_id = null; 1209 var active_page = jQuery("#lepopup-popup-"+lepopup_popup_active_id+" .lepopup-form[data-page='"+_page_id+"']"); 1210 if (active_page.length == 0) return; 1211 jQuery(active_page).find(".lepopup-element-error").remove(); 1212 jQuery(active_page).addClass("lepopup-form-page-closed"); 1213 jQuery(active_page).find(".lepopup-element").each(function(){ 1214 var left = jQuery(this).attr("data-left"); 1215 var top = jQuery(this).attr("data-top"); 1216 var animation_in = jQuery(this).attr("data-animation-in"); 1217 var animation_out = jQuery(this).attr("data-animation-out"); 1218 jQuery(this).css({ 1219 "left": parseInt(left, 10)+"px", 1220 "top": parseInt(top, 10)+"px" 1221 }); 1222 jQuery(this).removeClass("lepopup-"+animation_in); 1223 jQuery(this).addClass("lepopup-animated lepopup-"+animation_out); 1224 var content = jQuery(this).attr("data-content"); 1225 if (content) { 1226 jQuery(this).find(".lepopup-element-html-content").html(""); 1227 } 1228 }); 1229 setTimeout(function() { 1230 jQuery(active_page).hide(); 1231 }, 500); 1232} 1233 1234 1235function lepopup_multiselect_changed(_object) { 1236 var container = jQuery(_object).closest(".lepopup-multiselect"); 1237 var max_allowed = parseInt(jQuery(container).attr("data-max-allowed"), 10); 1238 if (max_allowed > 0) { 1239 var selected = jQuery(container).find("input:checked").length; 1240 if (selected >= max_allowed) { 1241 jQuery(container).find("input:not(:checked)").attr("disabled", "disabled"); 1242 } else { 1243 jQuery(container).find("input:not(:checked)").removeAttr("disabled"); 1244 } 1245 } 1246 lepopup_input_changed(_object); 1247} 1248function lepopup_input_changed(_object) { 1249 var element = jQuery(_object).closest(".lepopup-element"); 1250 var type = jQuery(element).attr("data-type"); 1251 var element_id = jQuery(element).attr("data-id"); 1252 var form_uid = jQuery(_object).closest(".lepopup-form").attr("data-id"); 1253 var form_id = jQuery(".lepopup-form-"+form_uid).attr("data-form-id"); 1254 var session_length = jQuery(".lepopup-form-"+form_uid).attr("data-session"); 1255 var session_enable = false; 1256 if (lepopup_is_numeric(session_length) && session_length > 0) session_enable = true; 1257 1258 var var_values = new Array(); 1259 var var_value = null; 1260 switch(type) { 1261 case 'signature': 1262 var_value = jQuery(_object).val(); 1263 if (var_value != "") jQuery(".lepopup-form-"+form_uid).find(".lepopup-var-"+element_id).html("<img src='"+var_value+"' />"); 1264 else jQuery(".lepopup-form-"+form_uid).find(".lepopup-var-"+element_id).text(""); 1265 break; 1266 case 'file': 1267 jQuery(element).find(".lepopup-uploader-file-countable.lepopup-uploader-file-processed").each(function(){ 1268 var_values.push(jQuery(this).attr("data-name")); 1269 }); 1270 jQuery(".lepopup-form-"+form_uid).find(".lepopup-var-"+element_id).text(var_values.join(", ")); 1271 break; 1272 case 'checkbox': 1273 case 'imageselect': 1274 case 'tile': 1275 case 'multiselect': 1276 jQuery(element).find("input").each(function(){ 1277 if (jQuery(this).is(":checked")) var_values.push(jQuery(this).val()); 1278 }); 1279 if (session_enable) { 1280 lepopup_sessions[form_id]["values"][element_id] = var_values; 1281 lepopup_sessions[form_id]["modified"] = true; 1282 } 1283 jQuery(".lepopup-form-"+form_uid).find(".lepopup-var-"+element_id).text(var_values.join(", ")); 1284 break; 1285 case 'rangeslider': 1286 var_value = jQuery(_object).val(); 1287 if (session_enable) { 1288 lepopup_sessions[form_id]["values"][element_id] = var_value; 1289 lepopup_sessions[form_id]["modified"] = true; 1290 } 1291 var_value = var_value.replace(":", " ... "); 1292 jQuery(".lepopup-form-"+form_uid).find(".lepopup-var-"+element_id).text(var_value); 1293 break; 1294 case 'number': 1295 var_value = _lepopup_number_changed(_object); 1296 if (var_value === false) return false;
1297 if (session_enable) { 1298 lepopup_sessions[form_id]["values"][element_id] = jQuery(_object).val(); 1299 lepopup_sessions[form_id]["modified"] = true; 1300 } 1301 jQuery(".lepopup-form-"+form_uid).find(".lepopup-var-"+element_id).text(jQuery(_object).val()); 1302 break; 1303 default: 1304 var_value = jQuery(_object).val(); 1305 if (session_enable) { 1306 lepopup_sessions[form_id]["values"][element_id] = var_value; 1307 lepopup_sessions[form_id]["modified"] = true; 1308 } 1309 jQuery(".lepopup-form-"+form_uid).find(".lepopup-var-"+element_id).text(var_value); 1310 break; 1311 } 1312 if (lepopup_customjs_handlers.hasOwnProperty(form_uid)) { 1313 lepopup_customjs_handlers[form_uid].errors = {}; 1314 if (lepopup_customjs_handlers[form_uid].hasOwnProperty("afterupdate") && typeof lepopup_customjs_handlers[form_uid].afterupdate == 'function') { 1315 try { 1316 lepopup_customjs_handlers[form_uid].afterupdate(element_id); 1317 } catch(error) { 1318 } 1319 } 1320 } 1321 lepopup_handle_math(form_uid); 1322 var dependencies = jQuery(_object).closest(".lepopup-element").attr("data-deps").split(","); 1323 if (dependencies.length > 0) lepopup_handle_visibility(form_uid, dependencies, true); 1324 return false; 1325} 1326function _lepopup_number_changed(_object) { 1327 var decimal = parseInt(jQuery(_object).attr("data-decimal"), 10); 1328 var valid_value = jQuery(_object).attr("data-value"); 1329 var value = jQuery(_object).val(); 1330 var caret_position = _object.selectionStart; 1331 var value_parts = value.split("."); 1332 if (value == "" || value == "-" || value == ".") { 1333 jQuery(_object).attr("data-value", value); 1334 return true; 1335 } 1336 if (isNaN(parseFloat(value)) || !isFinite(value) || value_parts.length > 2 || (decimal == 0 && value_parts.length == 2)) { 1337 jQuery(_object).val(valid_value); 1338 _object.selectionStart = valid_value.length - (value.length - caret_position); 1339 _object.selectionEnd = valid_value.length - (value.length - caret_position); 1340 return false; 1341 } 1342 if (decimal > 0 && value_parts.length == 2 && (value_parts[1]).length > decimal) { 1343 value_parts[1] = (value_parts[1]).substr(0, decimal); 1344 value = value_parts.join("."); 1345 jQuery(_object).val(value); 1346 _object.selectionStart = caret_position; 1347 _object.selectionEnd = caret_position; 1348 } 1349 jQuery(_object).attr("data-value", value); 1350 return true; 1351} 1352function lepopup_number_unfocused(_object) { 1353 var min = jQuery(_object).attr("data-min"); 1354 var max = jQuery(_object).attr("data-max"); 1355 var value = jQuery(_object).val(); 1356 if (!isNaN(parseFloat(value)) && isFinite(value)) { 1357 if (!isNaN(parseFloat(min)) && isFinite(min) && parseFloat(value) < parseFloat(min)) { 1358 jQuery(_object).val(min); 1359 lepopup_input_changed(_object); 1360 } else if (!isNaN(parseFloat(max)) && isFinite(max) && parseFloat(value) > parseFloat(max)) { 1361 jQuery(_object).val(max); 1362 lepopup_input_changed(_object); 1363 } 1364 } 1365} 1366function lepopup_numspinner_inc(_object) { 1367 var temp, start, end; 1368 var input = jQuery(_object).parent().find("input"); 1369 var readonly = jQuery(input).attr("data-readonly"); 1370 if (readonly == "on") return false; 1371 var value = jQuery(input).attr("data-value"); 1372 var step = jQuery(input).attr("data-step"); 1373 if (isNaN(parseFloat(step)) || !isFinite(step) || parseFloat(step) <= 0) { 1374 step = 1; 1375 } 1376 var decimal = parseInt(jQuery(input).attr("data-decimal"), 10); 1377 var mode = jQuery(input).attr("data-mode"); 1378 if (mode == "simple") { 1379 var min = jQuery(input).attr("data-min"); 1380 var max = jQuery(input).attr("data-max"); 1381 if (isNaN(parseFloat(value)) || !isFinite(value)) { 1382 if (isNaN(parseFloat(min)) || !isFinite(min)) { 1383 value = 0; 1384 } else value = parseFloat(min); 1385 } else value = parseFloat(value); 1386 value = value + parseFloat(step); 1387 if (!isNaN(parseFloat(max)) && isFinite(max) && value > parseFloat(max)) value = parseFloat(max); 1388 } else { 1389 var raw_ranges = jQuery(input).attr("data-range"); 1390 if (isNaN(parseFloat(value)) || !isFinite(value)) { 1391 value = 0; 1392 } else value = parseFloat(value); 1393 value = value + parseFloat(step); 1394 if (raw_ranges.length > 0) { 1395 var ranges = raw_ranges.split(","); 1396 for (var i=0; i<ranges.length; i++) { 1397 temp = ranges[i].split("..."); 1398 start = parseFloat(temp[0]); 1399 if (temp.length > 1) end = parseFloat(temp[1]); 1400 else end = start; 1401 if (value < start) { 1402 value = start; 1403 break; 1404 } else if (value <= end) { 1405 break; 1406 } else if (i == ranges.length-1) { 1407 value = end; 1408 break; 1409 } 1410 } 1411 } 1412 } 1413 jQuery(input).attr("data-value", value.toFixed(decimal)); 1414 jQuery(input).val(value.toFixed(decimal)); 1415 lepopup_input_error_hide(input); 1416 lepopup_input_changed(input); 1417 return false;
1418} 1419function lepopup_numspinner_dec(_object) { 1420 var temp, start, end; 1421 var input = jQuery(_object).parent().find("input"); 1422 var readonly = jQuery(input).attr("data-readonly"); 1423 if (readonly == "on") return false; 1424 var value = jQuery(input).attr("data-value"); 1425 var step = jQuery(input).attr("data-step"); 1426 var decimal = parseInt(jQuery(input).attr("data-decimal"), 10); 1427 var mode = jQuery(input).attr("data-mode"); 1428 if (mode == "simple") { 1429 var min = jQuery(input).attr("data-min"); 1430 var max = jQuery(input).attr("data-max"); 1431 if (isNaN(parseFloat(value)) || !isFinite(value)) { 1432 if (isNaN(parseFloat(max)) || !isFinite(max)) { 1433 value = 0; 1434 } else value = parseFloat(max); 1435 } else value = parseFloat(value); 1436 if (isNaN(parseFloat(step)) || !isFinite(step) || parseFloat(step) <= 0) { 1437 step = 1; 1438 } 1439 value = value - parseFloat(step); 1440 if (!isNaN(parseFloat(min)) && isFinite(min) && value < parseFloat(min)) value = parseFloat(min); 1441 } else { 1442 var raw_ranges = jQuery(input).attr("data-range"); 1443 if (isNaN(parseFloat(value)) || !isFinite(value)) { 1444 value = 0; 1445 } else value = parseFloat(value); 1446 value = value - parseFloat(step); 1447 if (raw_ranges.length > 0) { 1448 var ranges = raw_ranges.split(","); 1449 for (var i=ranges.length-1; i>=0; i--) { 1450 temp = ranges[i].split("..."); 1451 start = parseFloat(temp[0]); 1452 if (temp.length > 1) end = parseFloat(temp[1]); 1453 else end = start; 1454 if (value > end) { 1455 value = end; 1456 break; 1457 } else if (value >= start) { 1458 break; 1459 } else if (i == 0) { 1460 value = start; 1461 break; 1462 } 1463 } 1464 } 1465 } 1466 jQuery(input).attr("data-value", value.toFixed(decimal)); 1467 jQuery(input).val(value.toFixed(decimal)); 1468 lepopup_input_error_hide(input); 1469 lepopup_input_changed(input); 1470 return false; 1471} 1472function lepopup_is_visible(_form_id, _element_id) { 1473 var field, bool_value, field_values; 1474 var logic_rules = new Array(); 1475 var logic = JSON.parse(jQuery("#lepopup-logic-"+_form_id).val()); 1476 if (!logic.hasOwnProperty(_element_id)) return true; 1477 for (var i=0; i<logic[_element_id]['rules'].length; i++) { 1478 field = jQuery(".lepopup-form-"+_form_id).find("[name='lepopup-"+logic[_element_id]['rules'][i]['field']+"']"); 1479 if (field.length == 0) field = jQuery(".lepopup-form-"+_form_id).find("[name='lepopup-"+logic[_element_id]['rules'][i]['field']+"[]']"); 1480 field_values = new Array() 1481 jQuery(field).each(function(){ 1482 var field_type = jQuery(this).attr("type"); 1483 if (field_type == "checkbox" || field_type == "radio" || field_type == "multiselect" || field_type == "imageselect" || field_type == "tile" || field_type == "star-rating") { 1484 if (jQuery(this).is(":checked")) field_values.push(jQuery(this).val()); 1485 } else field_values.push(jQuery(this).val()); 1486 }); 1487 bool_value = false; 1488 switch(logic[_element_id]['rules'][i]['rule']) { 1489 case 'is': 1490 if (field_values.indexOf(logic[_element_id]['rules'][i]['token']) >= 0) logic_rules.push(true); 1491 else logic_rules.push(false); 1492 break; 1493 case 'is-not': 1494 if (field_values.indexOf(logic[_element_id]['rules'][i]['token']) == -1) logic_rules.push(true); 1495 else logic_rules.push(false); 1496 break; 1497 case 'is-empty': 1498 for (var j=0; j<field_values.length; j++) { 1499 if (field_values[j] != null && field_values[j] != "") { 1500 bool_value = true; 1501 break; 1502 } 1503 } 1504 logic_rules.push(!bool_value); 1505 break; 1506 case 'is-not-empty': 1507 for (var j=0; j<field_values.length; j++) { 1508 if (field_values[j] != null && field_values[j] != "") { 1509 bool_value = true; 1510 break; 1511 } 1512 } 1513 logic_rules.push(bool_value); 1514 break; 1515 case 'is-greater': 1516 for (var j=0; j<field_values.length; j++) { 1517 if (parseFloat(field_values[j]) > parseFloat(logic[_element_id]['rules'][i]['token'])) { 1518 bool_value = true; 1519 break; 1520 } 1521 } 1522 logic_rules.push(bool_value); 1523 break; 1524 case 'is-less': 1525 for (var j=0; j<field_values.length; j++) { 1526 if (parseFloat(field_values[j]) < parseFloat(logic[_element_id]['rules'][i]['token'])) { 1527 bool_value = true; 1528 break; 1529 } 1530 } 1531 logic_rules.push(bool_value); 1532 break; 1533 case 'contains': 1534 for (var j=0; j<field_values.length; j++) { 1535 if (logic[_element_id]['rules'][i]['token'] != "" && field_values[j].indexOf(logic[_element_id]['rules'][i]['token']) >= 0) { 1536 bool_value = true; 1537 break; 1538 } 1539 } 1540 logic_rules.push(bool_value); 1541 break; 1542 case 'starts-with': 1543 for (var j=0; j<field_values.length; j++) { 1544 if (logic[_element_id]['rules'][i]['token'] != "" && field_values[j].substring(0, logic[_element_id]['rules'][i]['token'].length) === logic[_element_id]['rules'][i]['token']) { 1545 bool_value = true; 1546 break; 1547 } 1548 } 1549 logic_rules.push(bool_value); 1550 break; 1551 case 'ends-with': 1552 for (var j=0; j<field_values.length; j++) { 1553 if (logic[_element_id]['rules'][i]['token'] != "" && field_values[j].substring(field_values[j].length - logic[_element_id]['rules'][i]['token'].length) === logic[_element_id]['rules'][i]['token']) { 1554 bool_value = true; 1555 break; 1556 } 1557 } 1558 logic_rules.push(bool_value); 1559 break; 1560 default: 1561 break; 1562 } 1563 } 1564 bool_value = false;
1565 if (logic[_element_id]['operator'] == "and") { 1566 if (logic_rules.indexOf(false) == -1) bool_value = true; 1567 } else { 1568 if (logic_rules.indexOf(true) >= 0) bool_value = true; 1569 } 1570 if (logic[_element_id]['action'] == 'hide') bool_value = !bool_value; 1571 1572 return bool_value; 1573} 1574function lepopup_handle_visibility(_form_id, _ids, _immediately) { 1575 if (jQuery("#lepopup-logic-"+_form_id).length == 0) return false; 1576 var logic = JSON.parse(jQuery("#lepopup-logic-"+_form_id).val()); 1577 for (var key in logic) { 1578 if (logic.hasOwnProperty(key)) { 1579 if (Array.isArray(_ids) && _ids.indexOf(key) == -1) continue; 1580 if (lepopup_is_visible(_form_id, key)) { 1581 if (_immediately == true) jQuery(".lepopup-form-"+_form_id).find(".lepopup-element-"+key).show(); 1582 else { 1583 jQuery(".lepopup-form-"+_form_id).find(".lepopup-element-"+key).css({"position" : "relative"}); 1584 jQuery(".lepopup-form-"+_form_id).find(".lepopup-element-"+key).fadeIn(200); 1585 } 1586 } else { 1587 if (_immediately == true) jQuery(".lepopup-form-"+_form_id).find(".lepopup-element-"+key).hide(); 1588 else { 1589 jQuery(".lepopup-form-"+_form_id).find(".lepopup-element-"+key).css({"position" : "absolute"}); 1590 jQuery(".lepopup-form-"+_form_id).find(".lepopup-element-"+key).fadeOut(200); 1591 } 1592 } 1593 } 1594 } 1595 return false; 1596} 1597function lepopup_mask_init(_set) { 1598 if (lepopup_vars["mode"] == "remote" && lepopup_vars["plugins"].indexOf("jquery.mask") >= 0 && typeof jQuery.fn.mask == typeof undefined) { 1599 setTimeout(function(){lepopup_mask_init(_set);}, 1000); 1600 } 1601 if (typeof jQuery.fn.mask == typeof undefined) return; 1602 jQuery(_set).each(function(){ 1603 var mask = jQuery(this).attr("data-xmask"); 1604 if (mask) jQuery(this).mask(mask); 1605 }); 1606} 1607function lepopup_submit(_object, _action) { 1608 var prev_page_id; 1609 clearTimeout(lepopup_timeout); 1610 var button_pressed = false; 1611 if (jQuery(_object).hasClass("lepopup-button")) button_pressed = true; 1612 var form_uid = jQuery(_object).closest(".lepopup-form").attr("data-id"); 1613 var form_slug = jQuery(_object).closest(".lepopup-form").attr("data-slug"); 1614 var form_id = jQuery(_object).closest(".lepopup-form").attr("data-form-id"); 1615 var page_id = jQuery(_object).closest(".lepopup-form").attr("data-page"); 1616 var session_length = jQuery(_object).closest(".lepopup-form").attr("data-session"); 1617 var allowed_actions = new Array("next", "prev", "submit"); 1618 if (typeof _action == undefined || _action == "") _action = "submit"; 1619 else if (allowed_actions.indexOf(_action) == -1) _action = "submit"; 1620 jQuery(".lepopup-form-"+form_uid).find(".lepopup-element-error").fadeOut(300, function(){ 1621 jQuery(this).remove(); 1622 }); 1623 var is_popup = false; 1624 if (lepopup_popup_active_id && jQuery(_object).closest(".lepopup-form").parent().hasClass("lepopup-popup-container")) is_popup = true; 1625 if (_action == "prev") { 1626 lepopup_sending = false; 1627 if (lepopup_seq_pages.hasOwnProperty(form_uid) && lepopup_seq_pages[form_uid].length > 0) { 1628 prev_page_id = lepopup_seq_pages[form_uid][lepopup_seq_pages[form_uid].length-1]; 1629 lepopup_seq_pages[form_uid].splice(lepopup_seq_pages[form_uid].length-1, 1); 1630 if (is_popup) { 1631 _lepopup_popup_page_open(prev_page_id); 1632 jQuery("#lepopup-popup-"+lepopup_popup_active_id).stop().animate({scrollTop: 0}, 300); 1633 } else { 1634 jQuery(".lepopup-form-"+form_uid+"[data-page='"+page_id+"']").fadeOut(300, function(){ 1635 jQuery(this).find(".lepopup-element[data-content]").each(function(){ 1636 jQuery(this).find(".lepopup-element-html-content").html(""); 1637 }); 1638 jQuery(".lepopup-form-"+form_uid+"[data-page='"+prev_page_id+"']").fadeIn(300).find(".lepopup-element[data-content]").each(function(){ 1639 jQuery(this).find(".lepopup-element-html-content").html(lepopup_decode64(jQuery(this).attr("data-content"))); 1640 }); 1641 lepopup_resize(); 1642 }); 1643 } 1644 return false; 1645 } else return false; 1646 } 1647 1648 if (button_pressed) { 1649 var original_icon = jQuery(_object).attr("data-original-icon"); 1650 if (typeof original_icon === typeof undefined || original_icon === false) { 1651 original_icon = jQuery(_object).children("i").first().attr("class"); 1652 if (typeof original_icon !== typeof undefined && original_icon !== false) { 1653 jQuery(_object).attr("data-original-icon", original_icon); 1654 } 1655 } 1656 jQuery(_object).children("i").first().attr("class", "lepopup-if lepopup-if-spinner lepopup-if-spin"); 1657 jQuery(_object).find("span").text(jQuery(_object).attr("data-loading")); 1658 } 1659 1660 jQuery(".lepopup-form-"+form_uid).find(".lepopup-button").addClass("lepopup-button-disabled"); 1661 jQuery(".lepopup-form-"+form_uid+"[data-page='"+page_id+"']").children(".lepopup-confirmaton-message").slideUp(300, function(){ 1662 jQuery(".lepopup-form-"+form_uid+"[data-page='"+page_id+"']").children(".lepopup-confirmaton-message").remove(); 1663 }); 1664 1665 if (lepopup_uploads.hasOwnProperty(form_uid)) { 1666 var waiting_upload = false;
1667 for (var upload_id in lepopup_uploads[form_uid]) { 1668 if ((lepopup_uploads[form_uid]).hasOwnProperty(upload_id)) { 1669 if (lepopup_uploads[form_uid][upload_id] == "LOADING") { 1670 waiting_upload = true; 1671 } 1672 } 1673 } 1674 if (waiting_upload) { 1675 setTimeout(function(){ 1676 lepopup_submit(_object, _action); 1677 }, 500); 1678 return false; 1679 } 1680 } 1681 1682 if (lepopup_sending) return false; 1683 lepopup_sending = true; 1684 1685 var all_pages = new Array(); 1686 jQuery(".lepopup-form-"+form_uid).each(function(){ 1687 all_pages.push(jQuery(this).attr("data-page")); 1688 }); 1689 1690 if (typeof SignaturePad != typeof undefined) { 1691 jQuery(".lepopup-form-"+form_uid).find(".lepopup-signature").each(function(){ 1692 var element_id = jQuery(this).closest(".lepopup-element").attr("data-id"); 1693 if (lepopup_signatures.hasOwnProperty(form_uid+"-"+element_id)) { 1694 var data_url = ""; 1695 if (!(lepopup_signatures[form_uid+"-"+element_id]).isEmpty()) data_url = (lepopup_signatures[form_uid+"-"+element_id]).toDataURL(); 1696 jQuery(this).closest(".lepopup-element").find("input").val(data_url); 1697 } 1698 }); 1699 } 1700 1701 var xd = jQuery(".lepopup-form-"+form_uid).attr("data-xd"); 1702 if (!xd) xd = "off"; 1703 1704 var post_data = {"action" : "lepopup-front-"+_action, "campaign-slug" : lepopup_campaign_active_slug, "form-id" : form_id, "page-id" : page_id, "form-data" : lepopup_encode64(jQuery(".lepopup-form-"+form_uid).find("textarea, input, select").serialize()), "hostname" : window.location.hostname, "page-title" : lepopup_consts["page-title"]}; 1705 if (lepopup_customjs_handlers.hasOwnProperty(form_uid)) { 1706 lepopup_customjs_handlers[form_uid].errors = {}; 1707 if (lepopup_customjs_handlers[form_uid].hasOwnProperty("beforesubmit") && typeof lepopup_customjs_handlers[form_uid].beforesubmit == 'function') { 1708 try { 1709 lepopup_customjs_handlers[form_uid].beforesubmit(); 1710 } catch(error) { 1711 } 1712 } 1713 } 1714 jQuery.ajax({ 1715 url : lepopup_vars['ajax-url'], 1716 data : post_data, 1717 method : (lepopup_vars["mode"] == "remote" && xd == "on" ? "get" : "post"), 1718 dataType: (lepopup_vars["mode"] == "remote" && xd == "on" ? "jsonp" : "json"), 1719 async : true, 1720 success : function(return_data) { 1721 try { 1722 var data, temp; 1723 if (typeof return_data == 'object') data = return_data; 1724 else data = jQuery.parseJSON(return_data); 1725 if (data.status == "OK") { 1726 if (lepopup_vars["overlays"].hasOwnProperty(form_slug)) { 1727 if (parseInt(lepopup_vars["overlays"][form_slug][9], 10) > 0) { 1728 lepopup_write_cookie("lepopup-submit-"+form_slug, lepopup_vars["cookie-value"], parseInt(lepopup_vars["overlays"][form_slug][9], 10)*24); 1729 if (lepopup_campaign_active_slug) lepopup_write_cookie("lepopup-submit-"+lepopup_campaign_active_slug, lepopup_vars["cookie-value"], parseInt(lepopup_vars["overlays"][form_slug][9], 10)*24); 1730 } 1731 } else { 1732 lepopup_write_cookie("lepopup-submit-"+form_slug, lepopup_vars["cookie-value"], 365*24); 1733 if (lepopup_campaign_active_slug) lepopup_write_cookie("lepopup-submit-"+lepopup_campaign_active_slug, lepopup_vars["cookie-value"], 365*24); 1734 } 1735 if (data.hasOwnProperty("record-id")) { 1736 jQuery(".lepopup-form-"+form_uid+" .lepopup-const-record-id").text(data["record-id"]); 1737 } 1738 if (lepopup_is_numeric(session_length) && session_length > 0) { 1739 lepopup_write_cookie("lepopup-session-"+form_id, "", 0); 1740 if (lepopup_sessions.hasOwnProperty(form_id)) delete lepopup_sessions[form_id]; 1741 } 1742 if (data.hasOwnProperty("error")) console.log(data["error"]); 1743 if (typeof lepopupext_submit_after == 'function') { 1744 lepopupext_submit_after(form_slug); 1745 } 1746 if (lepopup_customjs_handlers.hasOwnProperty(form_uid)) { 1747 lepopup_customjs_handlers[form_uid].errors = {}; 1748 if (lepopup_customjs_handlers[form_uid].hasOwnProperty("aftersubmitsuccess") && typeof lepopup_customjs_handlers[form_uid].aftersubmitsuccess == 'function') { 1749 try { 1750 lepopup_customjs_handlers[form_uid].aftersubmitsuccess(); 1751 } catch(error) { 1752 } 1753 } 1754 } 1755 if (data.hasOwnProperty("forms")) { 1756 jQuery(".lepopup-form-"+form_uid+"[data-page='"+page_id+"']").append(data["forms"]); 1757 jQuery(".lepopup-form-"+form_uid+"[data-page='"+page_id+"']").find(".lepopup-send").trigger("click"); 1758 } 1759 // linklocker - begin 1760 lepopup_unlock_links(form_slug); 1761 if (lepopup_campaign_active_slug) lepopup_unlock_links(lepopup_campaign_active_slug); 1762 if (lepopup_forced_location) { 1763 data.type = "redirect"; 1764 data.url = lepopup_forced_location; 1765 } 1766 // linklocker - end 1767 switch (data.type) { 1768 case 'redirect': 1769 if (data['reset-form'] == "on") lepopup_reset_form(form_uid); 1770 var lepopup_safe = lepopup_safe_url(data.url); 1771 if (lepopup_safe) location.href = lepopup_safe; 1772 break; 1773 case 'payment': 1774 if (data['reset-form'] == "on") lepopup_reset_form(form_uid); 1775 if (data.hasOwnProperty("payment-form")) { 1776 jQuery(".lepopup-form-"+form_uid+"[data-page='"+page_id+"']").append(data["payment-form"]); 1777 jQuery(".lepopup-form-"+form_uid+"[data-page='"+page_id+"']").find(".lepopup-pay").trigger("click"); 1778 } else if (data.hasOwnProperty("payment-message")) { 1779 lepopup_popup_message_open(data["payment-message"]); 1780 } else if (data.hasOwnProperty("payumoney")) { 1781 lepopup_payumoney_checkout(data["payumoney"]["request-data"]); 1782 } 1783 break; 1784 case 'page-redirect': 1785 case 'page-payment': 1786 if (parseInt(data.delay, 10) > 0) { 1787 setTimeout(function(){ 1788 if (data['reset-form'] == "on") lepopup_reset_form(form_uid); 1789 if (data.type == 'page-redirect') { 1790 var lepopup_safe = lepopup_safe_url(data.url); 1791 if (lepopup_safe) location.href = lepopup_safe; 1792 } 1793 else { 1794 if (data.hasOwnProperty("payment-form")) { 1795 jQuery(".lepopup-form-"+form_uid+"[data-page='"+page_id+"']").append(data["payment-form"]); 1796 jQuery(".lepopup-form-"+form_uid+"[data-page='"+page_id+"']").find(".lepopup-pay").trigger("click"); 1797 } else if (data.hasOwnProperty("payment-message")) { 1798 lepopup_popup_message_open(data["payment-message"]); 1799 } else if (data.hasOwnProperty("payumoney")) { 1800 lepopup_payumoney_checkout(data["payumoney"]["request-data"]); 1801 } 1802 } 1803 }, 1000*parseInt(data.delay, 10)); 1804 } else { 1805 if (data.type == 'page-redirect') { 1806 var lepopup_safe = lepopup_safe_url(data.url); 1807 if (lepopup_safe) location.href = lepopup_safe; 1808 } 1809 else { 1810 if (data.hasOwnProperty("payment-form")) { 1811 jQuery(".lepopup-form-"+form_uid+"[data-page='"+page_id+"']").append(data["payment-form"]); 1812 jQuery(".lepopup-form-"+form_uid+"[data-page='"+page_id+"']").find(".lepopup-pay").trigger("click"); 1813 } else if (data.hasOwnProperty("payment-message")) { 1814 lepopup_popup_message_open(data["payment-message"]); 1815 } else if (data.hasOwnProperty("payumoney")) { 1816 lepopup_payumoney_checkout(data["payumoney"]["request-data"]); 1817 } 1818 } 1819 } 1820 case 'page': 1821 if (!lepopup_seq_pages.hasOwnProperty(form_uid)) lepopup_seq_pages[form_uid] = new Array(); 1822 lepopup_seq_pages[form_uid].push(page_id); 1823 if (is_popup) { 1824 _lepopup_popup_page_open('confirmation'); 1825 jQuery("#lepopup-popup-"+lepopup_popup_active_id).stop().animate({scrollTop: 0}, 300); 1826 if (parseInt(data.delay, 10) > 0) { 1827 setTimeout(function(){ 1828 if (data['reset-form'] == "on") lepopup_reset_form(form_uid); 1829 lepopup_popup_active_close(0); 1830 }, 1000*parseInt(data.delay, 10)); 1831 } 1832 } else { 1833 jQuery(".lepopup-form-"+form_uid+"[data-page='"+page_id+"']").fadeOut(300, function(){ 1834 jQuery(this).find(".lepopup-element[data-content]").each(function(){ 1835 jQuery(this).find(".lepopup-element-html-content").html(""); 1836 }); 1837 jQuery(".lepopup-form-"+form_uid+"[data-page='confirmation']").fadeIn(300).find(".lepopup-element[data-content]").each(function(){ 1838 jQuery(this).find(".lepopup-element-html-content").html(lepopup_decode64(jQuery(this).attr("data-content"))); 1839 }); 1840 var element_top = jQuery(".lepopup-form-"+form_uid+"[data-page='confirmation']").offset().top; 1841 var viewport_top = jQuery(window).scrollTop(); 1842 var viewport_bottom = viewport_top + jQuery(window).height(); 1843 if (element_top < viewport_top || element_top > viewport_bottom) { 1844 jQuery('html, body').stop().animate({scrollTop: element_top-60}, 300); 1845 } 1846 lepopup_resize(); 1847 }); 1848 } 1849 break; 1850 case 'form': 1851 if (!lepopup_seq_pages.hasOwnProperty(form_uid)) lepopup_seq_pages[form_uid] = new Array(); 1852 lepopup_seq_pages[form_uid].push(page_id); 1853 if (data['reset-form'] == "on") lepopup_reset_form(form_uid); 1854 lepopup_popup_open(data.form); 1855 if (parseInt(data.delay, 10) > 0) { 1856 lepopup_timeout = setTimeout(function(){ 1857 lepopup_popup_active_close(0); 1858 }, 1000*parseInt(data.delay, 10)); 1859 } 1860 break; 1861 default: 1862 if (!lepopup_seq_pages.hasOwnProperty(form_uid)) lepopup_seq_pages[form_uid] = new Array(); 1863 lepopup_seq_pages[form_uid].push(page_id); 1864 if (data['reset-form'] == "on") lepopup_reset_form(form_uid); 1865 if (is_popup) { 1866 lepopup_popup_active_close(0); 1867 } 1868 break; 1869 } 1870 lepopup_track(form_uid, "lepopup", "submit"); 1871 } else if (data.status == "NEXT") { 1872 if (!lepopup_seq_pages.hasOwnProperty(form_uid)) lepopup_seq_pages[form_uid] = new Array(); 1873 lepopup_seq_pages[form_uid].push(page_id); 1874 if (is_popup) { 1875 _lepopup_popup_page_open(data.page); 1876 jQuery("#lepopup-popup-"+lepopup_popup_active_id).stop().animate({scrollTop: 0}, 300); 1877 } else { 1878 jQuery(".lepopup-form-"+form_uid+"[data-page='"+page_id+"']").fadeOut(300, function(){ 1879 jQuery(this).find(".lepopup-element[data-content]").each(function(){ 1880 jQuery(this).find(".lepopup-element-html-content").html(""); 1881 }); 1882 jQuery(".lepopup-form-"+form_uid+"[data-page='"+data.page+"']").fadeIn(300).find(".lepopup-element[data-content]").each(function(){ 1883 jQuery(this).find(".lepopup-element-html-content").html(lepopup_decode64(jQuery(this).attr("data-content"))); 1884 }); 1885 1886 var element_top = jQuery(".lepopup-form-"+form_uid+"[data-page='"+data.page+"']").offset().top; 1887 var viewport_top = jQuery(window).scrollTop(); 1888 var viewport_bottom = viewport_top + jQuery(window).height(); 1889 if (element_top < viewport_top || element_top > viewport_bottom) { 1890 jQuery('html, body').stop().animate({scrollTop: element_top-60}, 300); 1891 } 1892 lepopup_resize(); 1893 }); 1894 } 1895 } else if (data.status == "ERROR") {
1896 var min_index = null; 1897 var element_error = null, element_position = null; 1898 for (var id in data["errors"]) { 1899 if (data["errors"].hasOwnProperty(id)) { 1900 temp = id.split(":"); 1901 if (all_pages.indexOf(temp[0]) >= 0) { 1902 if (min_index == null) min_index = all_pages.indexOf(temp[0]); 1903 else if (all_pages.indexOf(temp[0]) < min_index) min_index = all_pages.indexOf(temp[0]); 1904 } 1905 //jQuery(".lepopup-form-"+form_uid+"[data-page='"+temp[0]+"']").find(".lepopup-element-"+temp[1]).find(".lepopup-input").append("<div class='lepopup-element-error'><span>"+data["errors"][id]+"</span></div>"); 1906 //jQuery(".lepopup-form-"+form_uid+"[data-page='"+temp[0]+"']").find(".lepopup-element-"+temp[1]).find(".lepopup-uploader").append("<div class='lepopup-uploader-error'><span>"+data["errors"][id]+"</span></div>"); 1907 element_error = jQuery(".lepopup-form-"+form_uid+"[data-page='"+temp[0]+"']").find(".lepopup-element-"+temp[1]); 1908 element_position = { 1909 left: jQuery(element_error).attr("data-left"), 1910 top: jQuery(element_error).attr("data-top") 1911 }; 1912 jQuery(".lepopup-form-"+form_uid+"[data-page='"+temp[0]+"']").find(".lepopup-form-inner").append("<div class='lepopup-element-error lepopup-element-error-"+temp[1]+"'><span>"+data["errors"][id]+"</span></div>"); 1913 jQuery(".lepopup-form-"+form_uid+"[data-page='"+temp[0]+"']").find(".lepopup-element-error-"+temp[1]).css({"top" : parseInt(parseInt(element_position.top, 10)+parseInt(jQuery(element_error).height(), 10), 10)+"px", "left" : element_position.left+"px"}); 1914 } 1915 } 1916 if (min_index != null && all_pages[min_index] != page_id) { 1917 for (var i=min_index; i<all_pages.length; i++) { 1918 if (lepopup_seq_pages[form_uid].indexOf(all_pages[i]) >= 0) lepopup_seq_pages[form_uid].splice(lepopup_seq_pages[form_uid].indexOf(all_pages[i]), 1); 1919 } 1920 jQuery(".lepopup-form-"+form_uid+"[data-page='"+page_id+"']").fadeOut(300, function(){ 1921 jQuery(".lepopup-form-"+form_uid+"[data-page='"+all_pages[min_index]+"']").fadeIn(300); 1922 page_id = all_pages[min_index]; 1923 jQuery(".lepopup-form-"+form_uid).find(".lepopup-element-error").fadeIn(300); 1924 }); 1925 } else jQuery(".lepopup-form-"+form_uid).find(".lepopup-element-error").fadeIn(300); 1926 jQuery(".lepopup-form-"+form_uid+"[data-page='"+page_id+"'] .lepopup-element").each(function(){ 1927 if (jQuery(this).find(".lepopup-element-error").length > 0) { 1928 if (is_popup) { 1929 jQuery("#lepopup-popup-"+lepopup_popup_active_id).stop().animate({scrollTop: 0}, 300); 1930 return false; 1931 } else { 1932 var element_top = jQuery(this).offset().top; 1933 var viewport_top = jQuery(window).scrollTop(); 1934 var viewport_bottom = viewport_top + jQuery(window).height(); 1935 if (element_top < viewport_top || element_top > viewport_bottom) { 1936 jQuery('html, body').stop().animate({scrollTop: element_top-60}, 300); 1937 return false; 1938 } 1939 } 1940 } 1941 }); 1942 } else if (data.status == "FATAL") { 1943 lepopup_global_message_show("danger", data.message); 1944 } else { 1945 1946 } 1947 } catch(error) { 1948 console.log(error); 1949 } 1950 if (button_pressed) { 1951 jQuery(_object).find("span").text(jQuery(_object).attr("data-label")); 1952 var original_icon = jQuery(_object).attr("data-original-icon"); 1953 if (typeof original_icon !== typeof undefined && original_icon !== false) jQuery(_object).children("i").first().attr("class", original_icon); 1954 } 1955 jQuery(".lepopup-form-"+form_uid).find(".lepopup-button").removeClass("lepopup-button-disabled"); 1956 lepopup_sending = false; 1957 }, 1958 error : function(XMLHttpRequest, textStatus, errorThrown) { 1959 console.log(errorThrown); 1960 if (button_pressed) { 1961 jQuery(_object).find("span").text(jQuery(_object).attr("data-label")); 1962 var original_icon = jQuery(_object).attr("data-original-icon"); 1963 if (typeof original_icon !== typeof undefined && original_icon !== false) jQuery(_object).children("i").first().attr("class", original_icon); 1964 } 1965 jQuery(".lepopup-form-"+form_uid).find(".lepopup-button").removeClass("lepopup-button-disabled"); 1966 lepopup_sending = false;
1967 } 1968 }); 1969 return false; 1970} 1971function lepopup_popup_message_open(_html) { 1972 jQuery('body').append("<div class='lepopup-popup-message-overlay'></div>"); 1973 jQuery(".lepopup-popup-message-overlay").fadeIn(300); 1974 jQuery('body').append("<div class='lepopup-popup-message'><div class='lepopup-popup-message-content'><span class='lepopup-popup-message-close' onclick='lepopup_popup_message_close();'><i class='lepopup-if lepopup-if-times'></i></span>"+_html+"</div></div>"); 1975 jQuery(".lepopup-popup-message").fadeIn(300); 1976} 1977function lepopup_popup_message_close() { 1978 jQuery(".lepopup-popup-message").fadeOut(300, function(){ 1979 jQuery(".lepopup-popup-message").remove(); 1980 jQuery(".lepopup-popup-message-overlay").fadeOut(300, function(){ 1981 jQuery(".lepopup-popup-message-overlay").remove(); 1982 }); 1983 }); 1984} 1985function lepopup_handle_math(_form_uid) { 1986 if (lepopup_vars["mode"] == "remote" && lepopup_vars["plugins"].indexOf("jsep") >= 0 && typeof jsep == typeof undefined) { 1987 setTimeout(function(){lepopup_handle_math(_form_uid);}, 500); 1988 } 1989 jQuery(".lepopup-form-"+_form_uid).parent().find("input.lepopup-math").each(function(){ 1990 var replacement, from_element, type, value, values, parse_tree, ref_date ; 1991 var id = jQuery(this).attr("data-id"); 1992 var expression = jQuery(this).attr("data-expression"); 1993 var var_value = jQuery(this).attr("data-default"); 1994 var decimal_digits = parseInt(jQuery(this).attr("data-decimal"), 10); 1995 var ids_raw = jQuery(this).attr("data-ids"); 1996 var ids = ids_raw.split(","); 1997 jQuery(this).val(""); 1998 for (var j=0; j<ids.length; j++) { 1999 from_element = jQuery(".lepopup-form-"+_form_uid+" .lepopup-element-"+ids[j]); 2000 if (from_element.length > 0) { 2001 if (lepopup_is_visible(_form_uid, ids[j])) { 2002 type = jQuery(from_element).attr("data-type"); 2003 switch (type) { 2004 case 'file': 2005 replacement = 0; 2006 jQuery(from_element).find(".lepopup-uploader-file-countable.lepopup-uploader-file-processed").each(function(){ 2007 replacement++; 2008 }); 2009 break; 2010 case 'date': 2011 value = lepopup_date(jQuery(from_element).find("input").val(), jQuery(from_element).find("input").attr("data-format")); 2012 ref_date = new Date(2000, 0, 1); 2013 if (value != null) { 2014 replacement = parseInt(Math.round((value-ref_date)/(1000*60*60*24)), 10); 2015 } else replacement = 'error'; 2016 break; 2017 case 'time': 2018 replacement = 0; 2019 break; 2020 case 'email': 2021 case 'text': 2022 case 'number': 2023 case 'numspinner': 2024 value = lepopup_extract_number(jQuery(from_element).find("input").val()); 2025 if (isNaN(parseFloat(value)) || !isFinite(value)) replacement = 'error'; 2026 else replacement = parseFloat(value); 2027 break; 2028 case 'textarea': 2029 value = lepopup_extract_number(jQuery(from_element).find("textarea").val()); 2030 replacement = parseFloat(value); 2031 break; 2032 case 'select': 2033 value = lepopup_extract_number(jQuery(from_element).find("select").val()); 2034 if (isNaN(parseFloat(value)) || !isFinite(value)) replacement = 'error'; 2035 else replacement = parseFloat(value); 2036 break; 2037 case 'radio': 2038 case 'checkbox': 2039 case 'imageselect': 2040 case 'tile': 2041 case 'multiselect': 2042 case 'star-rating': 2043 replacement = 0; 2044 jQuery(from_element).find("input").each(function(){ 2045 if (jQuery(this).is(":checked")) { 2046 value = lepopup_extract_number(jQuery(this).val()); 2047 if (isNaN(parseFloat(value)) || !isFinite(value)) { 2048 replacement = 'error'; 2049 return false; 2050 } 2051 replacement += parseFloat(value); 2052 }; 2053 }); 2054 break; 2055 case 'rangeslider': 2056 value = lepopup_extract_number(jQuery(from_element).find("input").val()); 2057 values = value.split(":"); 2058 if (values.length == 1) { 2059 if (isNaN(parseFloat(value)) || !isFinite(value)) replacement = 'error'; 2060 else replacement = parseFloat(value); 2061 } else if (values.length == 2) { 2062 if (isNaN(parseFloat(values[0])) || !isFinite(values[0]) || isNaN(parseFloat(values[1])) || !isFinite(values[1])) replacement = 'error'; 2063 else replacement = (parseFloat(values[0]) + parseFloat(values[1]))/2; 2064 } else replacement = 'error'; 2065 break; 2066 default: 2067 replacement = 0; 2068 break; 2069 } 2070 } else replacement = 0; 2071 expression = expression.split("{"+ids[j]+"}").join(replacement); 2072 } else { 2073 from_element = jQuery(".lepopup-form-"+_form_uid+" .lepopup-hidden[name='lepopup-"+ids[j]+"']"); 2074 if (from_element.length > 0) { 2075 value = lepopup_extract_number(jQuery(from_element).val()); 2076 if (isNaN(parseFloat(value)) || !isFinite(value)) replacement = 'error'; 2077 else replacement = parseFloat(value); 2078 expression = expression.split("{"+ids[j]+"}").join(replacement); 2079 } 2080 } 2081 } 2082 if (typeof jsep != typeof undefined) { 2083 try { 2084 parse_tree = jsep(expression); 2085 if (parse_tree.type == 'Compound') value = parseFloat(expression); 2086 else { 2087 value = lepopup_jsep_calc(parse_tree); 2088 } 2089 if (value !== false) { 2090 jQuery(this).val(value); 2091 var_value = value.toFixed(decimal_digits); 2092 } 2093 } catch(error) { 2094 } 2095 } 2096 jQuery(".lepopup-form-"+_form_uid+" .lepopup-var-"+id).text(var_value); 2097 }); 2098} 2099function lepopup_jsep_calc(_parse_tree) { 2100 var left, right; 2101 if (typeof _parse_tree != typeof {}) { 2102 return false;
2103 } else if (_parse_tree.type == "BinaryExpression") { 2104 left = lepopup_jsep_calc(_parse_tree.left); 2105 right = lepopup_jsep_calc(_parse_tree.right); 2106 if (left === false || right === false) return false; 2107 if (_parse_tree.operator == "+") return parseFloat(left+right); 2108 else if (_parse_tree.operator == "-") return parseFloat(left-right); 2109 else if (_parse_tree.operator == "*") return parseFloat(left*right); 2110 else if (_parse_tree.operator == "/" && right != 0) return parseFloat(left/right); 2111 else return false; 2112 } else if (_parse_tree.type == "UnaryExpression") { 2113 left = 0; 2114 right = lepopup_jsep_calc(_parse_tree.argument); 2115 if (_parse_tree.operator == "+") return parseFloat(left+right); 2116 else if (_parse_tree.operator == "-") return parseFloat(left-right); 2117 else if (_parse_tree.operator == "*") return parseFloat(left*right); 2118 else if (_parse_tree.operator == "/" && right != 0) return parseFloat(left/right); 2119 else return false; 2120 } else if (_parse_tree.type == "Literal") { 2121 return parseFloat(_parse_tree.value); 2122 } else return false; 2123} 2124function lepopup_consts_update(_form_uid, _consts) { 2125 var selector = ".lepopup-const"; 2126 if (_form_uid != null) selector = ".lepopup-form-"+_form_uid+" .lepopup-const"; 2127 jQuery(selector).each(function(){ 2128 var element_id = jQuery(this).attr("data-id"); 2129 if (_consts.hasOwnProperty(element_id)) { 2130 jQuery(this).text(_consts[element_id]); 2131 } 2132 }); 2133} 2134function lepopup_reset_form(_form_uid) { 2135 var input, default_value = ""; 2136 jQuery(".lepopup-form-"+_form_uid+" .lepopup-hidden").each(function(){ 2137 var url_parameter = null; 2138 var element_id = jQuery(this).attr("data-id"); 2139 var dynamic_parameter = jQuery(this).attr("data-dynamic"); 2140 if (typeof dynamic_parameter != "undefined" && dynamic_parameter != "") { 2141 url_parameter = lepopup_query_parameter(dynamic_parameter); 2142 } 2143 if (url_parameter != null) default_value = url_parameter; 2144 else default_value = jQuery(this).attr("data-default"); 2145 jQuery(this).val(default_value); 2146 jQuery(".lepopup-form-"+_form_uid+" .lepopup-var-"+element_id).text(default_value); 2147 }); 2148 lepopup_consts_update(_form_uid, lepopup_consts); 2149 var form_id = jQuery(".lepopup-form-"+_form_uid).attr("data-form-id"); 2150 lepopup_sessions[form_id] = {"modified" : false, "values" : {}}; 2151 var session_length = jQuery(".lepopup-form-"+_form_uid).attr("data-session"); 2152 var session_enable = false; 2153 if (lepopup_is_numeric(session_length) && session_length > 0) { 2154 session_enable = true; 2155 try { 2156 var cookie_session = JSON.parse(lepopup_read_cookie("lepopup-session-"+form_id)); 2157 if (cookie_session != null) lepopup_sessions[form_id]["values"] = cookie_session; 2158 } catch(error) { 2159 } 2160 } 2161 jQuery(".lepopup-form-"+_form_uid+" .lepopup-element").each(function(){ 2162 var url_parameters, url_parameter = null; 2163 var var_values = new Array(); 2164 var type = jQuery(this).attr("data-type"); 2165 var temp, upload_id; 2166 var element_id = jQuery(this).attr("data-id"); 2167 var dynamic_parameter = jQuery(this).attr("data-dynamic"); 2168 if (typeof dynamic_parameter != "undefined" && dynamic_parameter != "") { 2169 url_parameter = lepopup_query_parameter(dynamic_parameter); 2170 } 2171 switch (type) { 2172 case 'file': 2173 jQuery(this).find(".lepopup-uploader-files").html(""); 2174 upload_id = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); 2175 temp = lepopup_decode64(jQuery(this).find(".lepopup-uploader-template").val()); 2176 temp = temp.replace(new RegExp("%%upload-id%%", 'g'), upload_id).replace(new RegExp("%%ajax-url%%", 'g'), lepopup_vars["ajax-url"]); 2177 jQuery(this).find(".lepopup-uploaders").html(temp); 2178 break; 2179 case 'date': 2180 input = jQuery(this).find("input"); 2181 if (session_enable && lepopup_sessions.hasOwnProperty(form_id) && lepopup_sessions[form_id] != null && lepopup_sessions[form_id].hasOwnProperty("values") && lepopup_sessions[form_id]["values"] != null && lepopup_sessions[form_id]["values"].hasOwnProperty(element_id)) default_value = lepopup_sessions[form_id]["values"][element_id]; 2182 else if (url_parameter != null) default_value = url_parameter; 2183 else { 2184 default_value = jQuery(input).attr("data-default"); 2185 switch(default_value) { 2186 case 'today': 2187 temp = new Date(); 2188 default_value = lepopup_date_str(temp, jQuery(input).attr("data-format")); 2189 break; 2190 case 'yesterday': 2191 temp = new Date(); 2192 temp.setDate(temp.getDate() - 1); 2193 default_value = lepopup_date_str(temp, jQuery(input).attr("data-format")); 2194 break; 2195 case 'tomorrow': 2196 temp = new Date(); 2197 temp.setDate(temp.getDate() + 1); 2198 default_value = lepopup_date_str(temp, jQuery(input).attr("data-format")); 2199 break; 2200 case 'offset': 2201 temp = new Date();
2202 temp.setDate(temp.getDate() + parseInt(jQuery(input).attr("data-offset"), 10)); 2203 default_value = lepopup_date_str(temp, jQuery(input).attr("data-format")); 2204 break; 2205 default: 2206 break; 2207 } 2208 2209 } 2210 jQuery(input).val(default_value); 2211 jQuery(".lepopup-form-"+_form_uid+" .lepopup-var-"+element_id).text(default_value); 2212 break; 2213 case 'email': 2214 case 'text': 2215 case 'time': 2216 case 'password': 2217 case 'number': 2218 case 'numspinner': 2219 input = jQuery(this).find("input"); 2220 if (session_enable && lepopup_sessions.hasOwnProperty(form_id) && lepopup_sessions[form_id] != null && lepopup_sessions[form_id].hasOwnProperty("values") && lepopup_sessions[form_id]["values"] != null && lepopup_sessions[form_id]["values"].hasOwnProperty(element_id)) default_value = lepopup_sessions[form_id]["values"][element_id]; 2221 else if (url_parameter != null) default_value = url_parameter; 2222 else default_value = jQuery(input).attr("data-default"); 2223 jQuery(input).val(default_value); 2224 if (type == "numspinner") jQuery(input).attr("data-value", default_value); 2225 jQuery(".lepopup-form-"+_form_uid+" .lepopup-var-"+element_id).text(default_value); 2226 break; 2227 case 'textarea': 2228 input = jQuery(this).find("textarea"); 2229 if (session_enable && lepopup_sessions.hasOwnProperty(form_id) && lepopup_sessions[form_id] != null && lepopup_sessions[form_id].hasOwnProperty("values") && lepopup_sessions[form_id]["values"] != null && lepopup_sessions[form_id]["values"].hasOwnProperty(element_id)) default_value = lepopup_sessions[form_id]["values"][element_id]; 2230 else if (url_parameter != null) default_value = url_parameter; 2231 else default_value = lepopup_decode64(jQuery(input).attr("data-default")); 2232 jQuery(input).val(default_value); 2233 jQuery(".lepopup-form-"+_form_uid+" .lepopup-var-"+element_id).text(default_value); 2234 break; 2235 case 'select': 2236 input = jQuery(this).find("select"); 2237 if (session_enable && lepopup_sessions.hasOwnProperty(form_id) && lepopup_sessions[form_id] != null && lepopup_sessions[form_id].hasOwnProperty("values") && lepopup_sessions[form_id]["values"] != null && lepopup_sessions[form_id]["values"].hasOwnProperty(element_id)) default_value = lepopup_sessions[form_id]["values"][element_id]; 2238 else if (url_parameter != null) default_value = url_parameter; 2239 else default_value = jQuery(input).attr("data-default"); 2240 jQuery(input).val(default_value); 2241 jQuery(".lepopup-form-"+_form_uid+" .lepopup-var-"+element_id).text(default_value); 2242 break; 2243 case 'checkbox': 2244 case 'imageselect': 2245 case 'tile': 2246 case 'radio': 2247 case 'multiselect': 2248 case 'star-rating': 2249 if (session_enable && lepopup_sessions.hasOwnProperty(form_id) && lepopup_sessions[form_id] != null && lepopup_sessions[form_id].hasOwnProperty("values") && lepopup_sessions[form_id]["values"] != null && lepopup_sessions[form_id]["values"].hasOwnProperty(element_id)) { 2250 jQuery(this).find("input").each(function(){ 2251 default_value = jQuery(this).val(); 2252 if ((Array.isArray(lepopup_sessions[form_id]["values"][element_id]) && (lepopup_sessions[form_id]["values"][element_id]).indexOf(default_value) >= 0) || default_value == lepopup_sessions[form_id]["values"][element_id]) { 2253 jQuery(this).prop("checked", true); 2254 var_values.push(default_value); 2255 } else jQuery(this).prop("checked", false); 2256 }); 2257 } else if (url_parameter != null) { 2258 url_parameters = url_parameter.split(","); 2259 jQuery(this).find("input").each(function(){ 2260 default_value = jQuery(this).val(); 2261 if (url_parameters.indexOf(default_value) >= 0) { 2262 jQuery(this).prop("checked", true); 2263 var_values.push(jQuery(this).val()); 2264 } else jQuery(this).prop("checked", false); 2265 }); 2266 } else { 2267 jQuery(this).find("input").each(function(){ 2268 default_value = jQuery(this).attr("data-default"); 2269 if (default_value == "on") { 2270 jQuery(this).prop("checked", true); 2271 var_values.push(jQuery(this).val()); 2272 } else jQuery(this).prop("checked", false); 2273 }); 2274 } 2275 jQuery(".lepopup-form-"+_form_uid+" .lepopup-var-"+element_id).text(var_values.join(", ")); 2276 break; 2277 case 'signature': 2278 if (typeof SignaturePad != typeof undefined) { 2279 if (lepopup_signatures.hasOwnProperty(_form_uid+"-"+element_id)) { 2280 (lepopup_signatures[_form_uid+"-"+element_id]).clear(); 2281 } 2282 } 2283 break; 2284 case 'rangeslider': 2285 if (typeof jQuery.fn.ionRangeSlider != typeof undefined && jQuery.fn.ionRangeSlider) { 2286 jQuery(this).find("input").each(function(){ 2287 if (session_enable && lepopup_sessions.hasOwnProperty(form_id) && lepopup_sessions[form_id] != null && lepopup_sessions[form_id].hasOwnProperty("values") && lepopup_sessions[form_id]["values"] != null && lepopup_sessions[form_id]["values"].hasOwnProperty(element_id)) default_value = lepopup_sessions[form_id]["values"][element_id]; 2288 else default_value = jQuery(this).attr("data-default"); 2289 var from_to = default_value.split(":"); 2290 jQuery(this).attr("data-from", from_to[0]); 2291 if (from_to.length > 1) jQuery(this).attr("data-to", from_to[1]); 2292 jQuery(this).val(default_value); 2293 var rangeslider = jQuery(this).data("ionRangeSlider"); 2294 if (typeof rangeslider != typeof undefined && rangeslider) { 2295 rangeslider.reset(); 2296 } 2297 default_value = default_value.replace(":", " ... "); 2298 jQuery(".lepopup-form-"+_form_uid+" .lepopup-var-"+element_id).text(default_value); 2299 }); 2300 } 2301 break; 2302 default: 2303 break; 2304 } 2305 }); 2306 lepopup_handle_math(_form_uid); 2307} 2308 2309function lepopup_track(_uid, _type, _action) { 2310 if (lepopup_vars['ga-tracking'] == "on") { 2311 try { 2312 var title = jQuery(".lepopup-form-"+_uid).first().attr("data-title"); 2313 if (!title) title = 'Unknown form'; 2314 if (typeof _gaq == 'object') {
2315 _gaq.push(['_trackEvent', _type, _action, title, 1, false]); 2316 } else if (typeof _trackEvent == 'function') { 2317 _trackEvent(_type, _action, title, 1, false); 2318 } else if (typeof __gaTracker == 'function') { 2319 __gaTracker('send', 'event', _type, _action, title); 2320 } else if (typeof ga == 'function') { 2321 ga('send', 'event', _type, _action, title); 2322 } 2323 } catch(error) { 2324 } 2325 } 2326} 2327 2328function lepopup_uploader_files_selected(_object) { 2329 jQuery(_object).parent().trigger("submit"); 2330} 2331function lepopup_uploader_file_delete(_object) { 2332 var file = jQuery(_object).closest(".lepopup-uploader-file"); 2333 var name = jQuery(file).attr("data-name"); 2334 var upload_id = jQuery(file).attr("data-upload"); 2335 var form_uid = jQuery(_object).closest(".lepopup-form").attr("data-id"); 2336 jQuery(file).slideUp(200, function(){ 2337 var temp = jQuery(file).parent(); 2338 jQuery(file).remove(); 2339 lepopup_input_changed(temp); 2340 if (jQuery(".lepopup-uploader-file-"+upload_id).length == 0) { 2341 lepopup_uploads[form_uid][upload_id] = 'DELETED'; 2342 jQuery("#"+upload_id).remove(); 2343 } 2344 }); 2345 var post_data = {"action" : "lepopup-upload-delete", "upload-id" : upload_id, "name" : name, "hostname" : window.location.hostname}; 2346 jQuery.ajax({ 2347 url : lepopup_vars['ajax-url'], 2348 data : post_data, 2349 method : (lepopup_vars["mode"] == "remote" ? "get" : "post"), 2350 dataType: (lepopup_vars["mode"] == "remote" ? "jsonp" : "json"), 2351 async : true 2352 }); 2353} 2354function lepopup_uploader_start(_object) { 2355 var temp; 2356 var upload_id = jQuery(_object).closest(".lepopup-uploader").attr("id"); 2357 var form_uid = jQuery(_object).closest(".lepopup-form").attr("data-id"); 2358 var form_element = jQuery(_object).closest(".lepopup-element"); 2359 var max_size = parseInt(jQuery(form_element).attr("data-max-size"), 10)*1024*1024; 2360 var max_files = parseInt(jQuery(form_element).attr("data-max-files"), 10); 2361 temp = jQuery(form_element).attr("data-allowed-extensions"); 2362 temp = temp.toLowerCase(); 2363 var allowed_extensions = temp.split(","); 2364 temp = null; 2365 var countable_files = jQuery(_object).closest(".lepopup-upload-input").find(".lepopup-uploader-file-countable").length; 2366 var size_visual, ext, html = ""; 2367 var error = false; 2368 var error_message = ""; 2369 var files = jQuery(_object).find("input[type=file]")[0].files; 2370 if (files.length < 1) return false; 2371 for (var i=0; i<files.length; i++) { 2372 if (countable_files + files.length > max_files) { 2373 error = true; 2374 error_message = jQuery(form_element).attr("data-max-files-error"); 2375 break; 2376 } 2377 ext = "."+(files[i].name).split(".").pop(); 2378 ext = ext.toLowerCase(); 2379 if (allowed_extensions.length > 0 && allowed_extensions[0] != "" && allowed_extensions.indexOf(ext) < 0) { 2380 error = true; 2381 error_message = jQuery(form_element).attr("data-allowed-extensions-error"); 2382 break; 2383 } 2384 if (max_size > 0 && files[i].size > max_size) { 2385 error = true; 2386 error_message = jQuery(form_element).attr("data-max-size-error"); 2387 break; 2388 } 2389 if (files[i].size > 4*1024*1024) size_visual = Math.round(10*files[i].size/(1024*1024))/10 + " Mb"; 2390 else if (files[i].size > 4*1024) size_visual = Math.round(10*files[i].size/1024)/10 + " Kb"; 2391 else size_visual = files[i].size + " bytes"; 2392 html += "<div class='lepopup-uploader-file lepopup-uploader-file-"+upload_id+" lepopup-uploader-file-countable' data-upload='"+upload_id+"' data-name='"+lepopup_escape_html(files[i].name)+"' data-size='"+files[i].size+"'><div class='lepopup-uploader-file-title'>"+lepopup_escape_html(files[i].name)+" ("+size_visual+")</div><div class='lepopup-uploader-progress'>Uploading...</div><span onclick='return lepopup_uploader_file_delete(this);'><i class='lepopup-if lepopup-if-times'></i></span></div>"; 2393 } 2394 if (error) { 2395 jQuery(_object).closest(".lepopup-uploader").append("<div class='lepopup-uploader-error'><span>"+error_message+"</span></div>"); 2396 jQuery(_object).closest(".lepopup-uploader").find(".lepopup-uploader-error").fadeIn(300); 2397 return false; 2398 } else { 2399 jQuery(_object).closest(".lepopup-uploader").find(".lepopup-button").remove(); 2400 var new_upload_id = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); 2401 temp = lepopup_decode64(jQuery(_object).closest(".lepopup-upload-input").find(".lepopup-uploader-template").val()); 2402 temp = temp.replace(new RegExp("%%upload-id%%", 'g'), new_upload_id).replace(new RegExp("%%ajax-url%%", 'g'), lepopup_vars["ajax-url"]); 2403 jQuery(_object).closest(".lepopup-uploaders").append(temp); 2404 jQuery(_object).closest(".lepopup-upload-input").find(".lepopup-uploader-files").append(html); 2405 if (!lepopup_uploads.hasOwnProperty(form_uid)) lepopup_uploads[form_uid] = {}; 2406 lepopup_uploads[form_uid][upload_id] = 'LOADING'; 2407 lepopup_uploader_progress(form_uid, upload_id); 2408 } 2409} 2410function lepopup_uploader_finish(_object) { 2411 var upload_id = jQuery(_object).closest(".lepopup-uploader").attr("id"); 2412 var form_uid = jQuery(_object).closest(".lepopup-form").attr("data-id"); 2413 if (lepopup_uploads.hasOwnProperty(form_uid) && lepopup_uploads[form_uid].hasOwnProperty(upload_id) && lepopup_uploads[form_uid][upload_id] == "LOADING") { 2414 lepopup_uploads[form_uid][upload_id] = "UPLOADED"; 2415 } 2416} 2417function lepopup_uploader_progress(_form_uid, _upload_id) { 2418 var post_data = {"action" : "lepopup-upload-progress", "upload-id" : _upload_id, "hostname" : window.location.hostname}; 2419 if (lepopup_uploads[_form_uid][_upload_id] == "DELETED") return; 2420 else if (lepopup_uploads[_form_uid][_upload_id] == "UPLOADED") post_data["last-request"] = "on"; 2421 jQuery.ajax({ 2422 url : lepopup_vars['ajax-url'], 2423 data : post_data, 2424 method : (lepopup_vars["mode"] == "remote" ? "get" : "post"), 2425 dataType: (lepopup_vars["mode"] == "remote" ? "jsonp" : "json"),
2426 async : true, 2427 success : function(return_data) { 2428 try { 2429 var data, file_container, field_id; 2430 field_id = jQuery("#"+_upload_id).closest(".lepopup-element").attr("data-id"); 2431 if (typeof return_data == 'object') data = return_data; 2432 else data = jQuery.parseJSON(return_data); 2433 if (data.status == "OK") { 2434 lepopup_uploads[_form_uid][_upload_id] = 'OK'; 2435 if (data.hasOwnProperty("result")) { 2436 for (var i=0; i<data["result"].length; i++) { 2437 file_container = jQuery("#"+_upload_id).closest(".lepopup-upload-input").find(".lepopup-uploader-file-"+_upload_id+"[data-name='"+lepopup_escape_html(data["result"][i]["name"])+"']"); 2438 if (data["result"][i]["status"] == "OK") { 2439 jQuery(file_container).find(".lepopup-uploader-progress").html("<div class='lepopup-uploader-progress-bar' style='width:100%;'></div>"); 2440 jQuery(file_container).append("<input type='hidden' name='lepopup-"+field_id+"[]' value='"+lepopup_escape_html(data["result"][i]["uid"])+"' />"); 2441 } else { 2442 jQuery(file_container).find(".lepopup-uploader-progress").html("<div class='lepopup-uploader-progress-error'>"+data["result"][i]["message"]+"</div>"); 2443 jQuery(file_container).removeClass("lepopup-uploader-file-countable"); 2444 } 2445 jQuery(file_container).addClass("lepopup-uploader-file-processed"); 2446 } 2447 } 2448 jQuery("#"+_upload_id).closest(".lepopup-upload-input").find(".lepopup-uploader-file-"+_upload_id).each(function(){ 2449 if (!jQuery(this).hasClass("lepopup-uploader-file-processed")) { 2450 jQuery(this).find(".lepopup-uploader-progress").html("<div class='lepopup-uploader-progress-error'>File can not be uploaded.</div>"); 2451 jQuery(this).removeClass("lepopup-uploader-file-countable"); 2452 jQuery(this).addClass("lepopup-uploader-file-processed"); 2453 } 2454 }); 2455 lepopup_input_changed("#"+_upload_id); 2456 jQuery("#"+_upload_id).remove(); 2457 } else if (data.status == "LOADING") { 2458 if (data.hasOwnProperty("progress")) { 2459 for (var i=0; i<data["progress"].length; i++) { 2460 file_container = jQuery("#"+_upload_id).closest(".lepopup-upload-input").find(".lepopup-uploader-file-"+_upload_id+"[data-name='"+lepopup_escape_html(data["progress"][i]["name"])+"']"); 2461 if (file_container.length > 0) { 2462 jQuery(file_container).find(".lepopup-uploader-progress").html("<div class='lepopup-uploader-progress-bar' style='width:"+Math.ceil(100*parseInt(data["progress"][i]["bytes_processed"]) / parseInt(jQuery(file_container).attr("data-size"), 10))+"%;'></div>"); 2463 } 2464 } 2465 } 2466 setTimeout(function(){ 2467 lepopup_uploader_progress(_form_uid, _upload_id); 2468 }, 500); 2469 } else { 2470 lepopup_uploads[_form_uid][_upload_id] = 'ERROR'; 2471 jQuery("#"+_upload_id).closest(".lepopup-upload-input").find(".lepopup-uploader-file-"+_upload_id).each(function(){ 2472 if (!jQuery(this).hasClass("lepopup-uploader-file-processed")) { 2473 jQuery(this).find(".lepopup-uploader-progress").html("<div class='lepopup-uploader-progress-error'>Internal Error!</div>"); 2474 jQuery(this).removeClass("lepopup-uploader-file-countable"); 2475 jQuery(this).addClass("lepopup-uploader-file-processed"); 2476 } 2477 }); 2478 jQuery("#"+_upload_id).remove(); 2479 } 2480 } catch(error) { 2481 console.log(error); 2482 lepopup_uploads[_form_uid][_upload_id] = 'ERROR'; 2483 jQuery("#"+_upload_id).closest(".lepopup-upload-input").find(".lepopup-uploader-file-"+_upload_id).each(function(){ 2484 if (!jQuery(this).hasClass("lepopup-uploader-file-processed")) { 2485 jQuery(this).find(".lepopup-uploader-progress").html("<div class='lepopup-uploader-progress-error'>Internal Error!</div>"); 2486 jQuery(this).removeClass("lepopup-uploader-file-countable"); 2487 jQuery(this).addClass("lepopup-uploader-file-processed"); 2488 } 2489 }); 2490 jQuery("#"+_upload_id).remove(); 2491 } 2492 }, 2493 error : function(XMLHttpRequest, textStatus, errorThrown) { 2494 console.log(errorThrown); 2495 lepopup_uploads[_form_uid][_upload_id] = 'ERROR'; 2496 jQuery("#"+_upload_id).closest(".lepopup-upload-input").find(".lepopup-uploader-file-"+_upload_id).each(function(){ 2497 if (!jQuery(this).hasClass("lepopup-uploader-file-processed")) { 2498 jQuery(this).find(".lepopup-uploader-progress").html("<div class='lepopup-uploader-progress-error'>Internal Error!</div>"); 2499 jQuery(this).removeClass("lepopup-uploader-file-countable"); 2500 jQuery(this).addClass("lepopup-uploader-file-processed"); 2501 } 2502 }); 2503 jQuery("#"+_upload_id).remove(); 2504 } 2505 }); 2506} 2507function lepopup_input_error_hide(_object) { 2508 var element_id = jQuery(_object).closest(".lepopup-element").attr("data-id"); 2509 jQuery(_object).closest(".lepopup-form").find(".lepopup-element-error-"+element_id).fadeOut(300, function(){jQuery(this).remove();}); 2510} 2511function lepopup_payumoney_checkout(_request_data) { 2512 try { 2513 if (typeof bolt != typeof undefined) { 2514 var handler = { 2515 responseHandler: function(BOLT){ 2516 console.log("Response"); 2517 console.log(BOLT); 2518 }, 2519 catchException: function(BOLT){ 2520 console.log("Exception"); 2521 console.log(BOLT); 2522 } 2523 } 2524 bolt.launch(_request_data, handler); 2525 } else console.log('No bolt'); 2526 } catch(error) { 2527 console.log(error); 2528 } 2529} 2530// linklocker-begin 2531function lepopup_unlock_links(_slug) { 2532 jQuery(".lepopup-linklocker-"+_slug).each(function(){ 2533 var url = jQuery(this).attr("href"); 2534 var url_idx = url.lastIndexOf(":"); 2535 if (url_idx > 0) { 2536 var url = url.substr(url_idx + 1); 2537 if (url.length > 0) { 2538 url = lepopup_decode64(url); 2539 jQuery(this).attr("href", url); 2540 } 2541 } 2542 }); 2543} 2544// linklocker-end 2545function lepopup_get_field_value(_dom_id, _element_id) { 2546 var element = jQuery(".lepopup-form[data-id='"+_dom_id+"']").find("[data-id='"+_element_id+"']"); 2547 var type = jQuery(element).attr("data-type"); 2548 var var_value = null; 2549 switch(type) { 2550 case 'checkbox': 2551 case 'imageselect': 2552 case 'tile': 2553 case 'multiselect': 2554 case 'radio': 2555 var_value = new Array() 2556 jQuery(element).find("input").each(function(){ 2557 if (jQuery(this).is(":checked")) var_value.push(jQuery(this).val()); 2558 }); 2559 break; 2560 case 'signature': 2561 case 'file': 2562 break; 2563 default: 2564 var_value = jQuery(element).find("input, select").val(); 2565 break; 2566 } 2567 return var_value; 2568} 2569function lepopup_set_field_value(_dom_id, _element_id, _value) { 2570 var element = jQuery(".lepopup-form[data-id='"+_dom_id+"']").find("[data-id='"+_element_id+"']"); 2571 var type = jQuery(element).attr("data-type"); 2572 var var_value; 2573 switch(type) { 2574 case 'checkbox': 2575 case 'imageselect': 2576 case 'tile': 2577 case 'multiselect': 2578 case 'radio': 2579 jQuery(element).find("input").each(function() { 2580 if (Array.isArray(_value)) var_value = _value; 2581 else var_value = new Array(_value); 2582 if (var_value.includes(jQuery(this).val())) jQuery(this).prop('checked', true); 2583 else jQuery(this).prop('checked', false); 2584 }); 2585 break; 2586 case 'signature': 2587 case 'file': 2588 break; 2589 default: 2590 jQuery(element).find("input, select").val(_value); 2591 break; 2592 } 2593 return true; 2594} 2595var lepopup_global_message_timer; 2596function lepopup_global_message_show(_type, _message) { 2597 if (jQuery(".lepopup-global-message").length == 0) { 2598 jQuery('body').append("<div class='lepopup-global-message'></div>"); 2599 } 2600 clearTimeout(lepopup_global_message_timer); 2601 jQuery(".lepopup-global-message").fadeOut(300, function() { 2602 jQuery(".lepopup-global-message").attr("class", "lepopup-global-message"); 2603 jQuery(".lepopup-global-message").addClass("lepopup-global-message-"+_type).html(_message); 2604 jQuery(".lepopup-global-message").fadeIn(300); 2605 lepopup_global_message_timer = setTimeout(function(){jQuery(".lepopup-global-message").fadeOut(300);}, 5000); 2606 }); 2607} 2608function lepopup_date(_date, _format) { 2609 var pattern = _format.replace('yyyy', '([0-9]{4})').replace('mm', '([0-9]{2})').replace('dd', '([0-9]{2})'); 2610 var match = _date.match(pattern); 2611 if (!match || _format.length != _date.length) return null; 2612 var year = parseInt(_date.substr(_format.indexOf('yyyy'), 4), 10);
2613 var month = parseInt(_date.substr(_format.indexOf('mm'), 2), 10); 2614 var day = parseInt(_date.substr(_format.indexOf('dd'), 2), 10); 2615 var date = new Date(year, month-1, day); 2616 if (date.getDate() == day && date.getMonth() == month-1 && date.getFullYear() == year) return date; 2617 return null; 2618} 2619function lepopup_date_str(_date, _format) { 2620 var pattern = _format; 2621 var prefix = ""; 2622 var temp = _date.getDate(); 2623 if (temp < 9) prefix = "0"; 2624 pattern = pattern.replace("dd", prefix+temp); 2625 temp = _date.getMonth() + 1; 2626 if (temp < 9) prefix = "0"; 2627 else prefix = ""; 2628 pattern = pattern.replace("mm", prefix+temp); 2629 temp = _date.getFullYear(); 2630 pattern = pattern.replace("yyyy", temp); 2631 return pattern; 2632} 2633 2634function lepopup_time24_str(_time, _format) { 2635 var pattern = _format.replace('hh', '([0-9]{2})').replace('ii', '([0-9]{2})').replace('aa', '(am|pm)'); 2636 var match = _time.match(pattern); 2637 if (!match || _format.length != _time.length) return null; 2638 var hours = parseInt(_time.substr(_format.indexOf('hh'), 2), 10); 2639 if (hours < 0 || hours > 23) return null; 2640 var minutes = parseInt(_time.substr(_format.indexOf('ii'), 2), 10); 2641 if (minutes < 0 || minutes > 59) return null; 2642 var ampm = null; 2643 if (_format.indexOf('aa') >= 0) { 2644 ampm = _time.substr(_format.indexOf('aa'), 2); 2645 ampm = ampm.toLowerCase(); 2646 } 2647 if (ampm != null && hours == 12) hours = 0; 2648 if (ampm == "pm") hours += 12; 2649 return (hours < 10 ? "0" : "")+hours+":"+(minutes < 10 ? "0" : "")+minutes; 2650} 2651function lepopup_extract_number(_value) { 2652 if (_value == null) return ""; 2653 var str_value = _value.toString(); 2654 var num_value; 2655 var result = str_value.match(/\((.*?)\)/g); 2656 if (result) { 2657 var values = result.map(function(val){ 2658 return val.replace(/\(|\)/g,''); 2659 }); 2660 num_value = values[values.length-1].replace(",", "."); 2661 } else num_value = str_value.replace(",", "."); 2662 if (!isNaN(num_value) && !isNaN(parseFloat(num_value))) return num_value; 2663 return str_value; 2664} 2665 2666function lepopup_query_parameter(_name) { 2667 var url = window.location.href; 2668 _name = _name.replace(/[\[\]]/g, '\\$&'); 2669 var regex = new RegExp('[?&]' + _name + '(=([^&#]*)|&|#|$)'), 2670 results = regex.exec(url); 2671 if (!results) return null; 2672 if (!results[2]) return ''; 2673 return decodeURIComponent(results[2].replace(/\+/g, ' ')); 2674} 2675function lepopup_escape_html(_text) { 2676 if (!_text) return ""; 2677 var map = { 2678 '&': '&', 2679 '<': '<', 2680 '>': '>', 2681 '"': '"', 2682 "'": ''' 2683 }; 2684 return _text.replace(/[&<>"']/g, function(m) { return map[m]; }); 2685} 2686function lepopup_is_numeric(_text) { 2687 return !isNaN(parseInt(_text)) && isFinite(_text); 2688} 2689function lepopup_read_cookie(key) { 2690 var pairs = document.cookie.split("; "); 2691 for (var i = 0, pair; pair = pairs[i] && pairs[i].split("="); i++) { 2692 if (pair[0] === key) return pair[1] || ""; 2693 } 2694 return null; 2695} 2696function lepopup_write_cookie(key, value, hours) { 2697 if (hours) { 2698 var date = new Date(); 2699 date.setTime(date.getTime()+(hours*60*60*1000)); 2700 var expires = "; expires="+date.toGMTString(); 2701 } else var expires = "; expires=0"; 2702 document.cookie = key+"="+value+expires+"; path=/"; 2703} 2704function lepopup_utf8encode(string) { 2705 string = string.replace(/\x0d\x0a/g, "\x0a"); 2706 var output = ""; 2707 for (var n = 0; n < string.length; n++) { 2708 var c = string.charCodeAt(n); 2709 if (c < 128) { 2710 output += String.fromCharCode(c); 2711 } else if ((c > 127) && (c < 2048)) { 2712 output += String.fromCharCode((c >> 6) | 192); 2713 output += String.fromCharCode((c & 63) | 128); 2714 } else { 2715 output += String.fromCharCode((c >> 12) | 224); 2716 output += String.fromCharCode(((c >> 6) & 63) | 128); 2717 output += String.fromCharCode((c & 63) | 128); 2718 } 2719 } 2720 return output; 2721} 2722function lepopup_encode64(input) { 2723 var keyString = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; 2724 var output = ""; 2725 var chr1, chr2, chr3, enc1, enc2, enc3, enc4; 2726 var i = 0; 2727 input = lepopup_utf8encode(input); 2728 while (i < input.length) { 2729 chr1 = input.charCodeAt(i++); 2730 chr2 = input.charCodeAt(i++); 2731 chr3 = input.charCodeAt(i++); 2732 enc1 = chr1 >> 2; 2733 enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); 2734 enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); 2735 enc4 = chr3 & 63; 2736 if (isNaN(chr2)) { 2737 enc3 = enc4 = 64; 2738 } else if (isNaN(chr3)) { 2739 enc4 = 64; 2740 } 2741 output = output + keyString.charAt(enc1) + keyString.charAt(enc2) + keyString.charAt(enc3) + keyString.charAt(enc4); 2742 } 2743 return output; 2744} 2745function lepopup_utf8decode(input) { 2746 var string = ""; 2747 var i = 0; 2748 var c = 0, c1 = 0, c2 = 0, c3 = 0; 2749 while ( i < input.length ) { 2750 c = input.charCodeAt(i); 2751 if (c < 128) { 2752 string += String.fromCharCode(c); 2753 i++; 2754 } else if ((c > 191) && (c < 224)) { 2755 c2 = input.charCodeAt(i+1); 2756 string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); 2757 i += 2; 2758 } else { 2759 c2 = input.charCodeAt(i+1); 2760 c3 = input.charCodeAt(i+2); 2761 string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); 2762 i += 3; 2763 } 2764 } 2765 return string; 2766} 2767function lepopup_decode64(input) { 2768 var keyString = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
2768+/="; 2769 var output = ""; 2770 var chr1, chr2, chr3; 2771 var enc1, enc2, enc3, enc4; 2772 var i = 0; 2773 input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); 2774 while (i < input.length) { 2775 enc1 = keyString.indexOf(input.charAt(i++)); 2776 enc2 = keyString.indexOf(input.charAt(i++)); 2777 enc3 = keyString.indexOf(input.charAt(i++)); 2778 enc4 = keyString.indexOf(input.charAt(i++)); 2779 chr1 = (enc1 << 2) | (enc2 >> 4); 2780 chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); 2781 chr3 = ((enc3 & 3) << 6) | enc4; 2782 output = output + String.fromCharCode(chr1); 2783 if (enc3 != 64) { 2784 output = output + String.fromCharCode(chr2); 2785 } 2786 if (enc4 != 64) { 2787 output = output + String.fromCharCode(chr3); 2788 } 2789 } 2790 output = lepopup_utf8decode(output); 2791 return output; 2792} 2793 2794if (typeof ulp_add_event == typeof undefined) { 2795 var ulp_add_event = function(_event, _data) {_lepopup_add_event(_event, _data);}; 2796} 2797if (typeof lepopup_add_event == typeof undefined) { 2798 var lepopup_add_event = function(_event, _data) {_lepopup_add_event(_event, _data);}; 2799} 2800function _lepopup_add_event(_event, _data) { 2801//lepopup_custom_events_data 2802 var events_data = {}; 2803 if (typeof _data == 'object' && _data != null) { 2804 if (!_data.hasOwnProperty("item") && !_data.hasOwnProperty("item_mobile") && !_data.hasOwnProperty("popup") && !_data.hasOwnProperty("popup_mobile")) return; 2805 var item = ""; 2806 if (lepopup_mobile && _data.hasOwnProperty("item_mobile")) item = _data.item_mobile; 2807 else if (_data.hasOwnProperty("item")) item = _data.item; 2808 else if (lepopup_mobile && _data.hasOwnProperty("popup_mobile")) item = _data.popup_mobile; 2809 else if (_data.hasOwnProperty("popup")) item = _data.popup; 2810 if (item == "") return; 2811 switch (_event) { 2812 case "onload": 2813 events_data = { 2814 'onload-item' : item, 2815 'onload-mode' : _data.hasOwnProperty('mode') ? _data.mode : 'every-time', 2816 'onload-mode-period' : _data.hasOwnProperty('period') ? parseInt(_data.period, 10) : 24, 2817 'onload-mode-delay' : _data.hasOwnProperty('delay') ? parseInt(_data.delay, 10) : 0, 2818 'onload-mode-close-delay' : _data.hasOwnProperty('close_delay') ? parseInt(_data.close_delay, 10) : 0 2819 }; 2820 break; 2821 case "onexit": 2822 events_data = { 2823 'onexit-item' : item, 2824 'onexit-mode' : _data.hasOwnProperty('mode') ? _data.mode : 'every-time', 2825 'onexit-mode-period' : _data.hasOwnProperty('period') ? parseInt(_data.period, 10) : 24 2826 }; 2827 break; 2828 case "onscroll": 2829 events_data = { 2830 'onscroll-item' : item, 2831 'onscroll-mode' : _data.hasOwnProperty('mode') ? _data.mode : 'every-time', 2832 'onscroll-mode-period' : _data.hasOwnProperty('period') ? parseInt(_data.period, 10) : 24, 2833 'onscroll-mode-offset' : _data.hasOwnProperty('offset') ? _data.offset.toString() : 600 2834 }; 2835 break; 2836 case "onidle": 2837 events_data = { 2838 'onidle-item' : item, 2839 'onidle-mode' : _data.hasOwnProperty('mode') ? _data.mode : 'every-time', 2840 'onidle-mode-period' : _data.hasOwnProperty('period') ? parseInt(_data.period, 10) : 24, 2841 'onidle-mode-delay' : _data.hasOwnProperty('delay') ? parseInt(_data.delay, 10) : 30 2842 }; 2843 break; 2844 case "onabd": 2845 events_data = { 2846 'onabd-item' : item, 2847 'onabd-mode' : _data.hasOwnProperty('mode') ? _data.mode : 'every-time', 2848 'onabd-mode-period' : _data.hasOwnProperty('period') ? parseInt(_data.period, 10) : 24 2849 }; 2850 break; 2851 default: 2852 break; 2853 } 2854 lepopup_custom_events_data = Object.assign(lepopup_custom_events_data, events_data); 2855 } 2856}
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.