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