(function(){ var defaultUseCookie = true; var defaultSecure = document.URL.indexOf('https:')==0?true:false; var defaultKeyId = "_otuid"; var defaultIdGenerator = ""; var defaultIdDomain = ""; var uhx = ""; var apiUrl = "https://kibana.leadboxer.com"; var global_uid = ""; function executeRequest(url, callback) { var request = undefined; if (window.XMLHttpRequest) { request = new XMLHttpRequest(); } else { request = new ActiveXObject("Microsoft.XMLHTTP"); } request.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { callback(request.responseText); } }; request.open('GET', url, true); request.send(); } function ot_uid() { var uid = f_rc("_otui") || global_uid; if (uid) { var parts = uid.split("."); if (parts.length >= 2) { return parts[1] + "." + parts[0]; } } return ""; } function f_rc(n){ n+=uhx; if (typeof ot_cc !== ot_un){ return ot_cc.get(n); }else{ var v; if ((n.indexOf("_otor")!=0&&n.indexOf("_otpe")!=0&&n.indexOf("_ots")!=0&&n.indexOf("_otui")!=0)&&st()&&uhx!=""){ v = localStorage.getItem(n); return v; } v = ot_ck(n); return v; } } function st(){ var t = 't'; try { localStorage.setItem(t, t); localStorage.removeItem(t); return true; } catch(e) { return false; } } function ot_gp(p){ var purl = decodeURIComponent(window.location.search.substring(1)), urlv = purl.split('&'), pname, i; for (i = 0; i < urlv.length; i++){ pname = urlv[i].split('='); if (pname[0] === p){ return typeof pname[1] === ot_un ? true : pname[1]; } } } function ot_ck(n) { if (!n){ return false; } return decodeURIComponent(ot_c.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*" + encodeURIComponent(n).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=\\s*([^;]*).*$)|^.*$"), "$1")) || false; } var ot_un="undefined"; var ot_rc; var ot_d=document; var ot_pr='http'+(ot_d.URL.indexOf('https:')==0?'s://':'://'); /*if (typeof(top.ot_d)=="object") ot_r=top.ot_d; else ot_r=ot_d;*/ var ot_r = ot_d; var ot_c=ot_r; var ot_cc; function initScript(ipCookieCallback, ft, leadIdResponse) { ipCookieCallback(f_sc, f_dc, ot_gd, ot_gtld); var isSsnEml = "false"; if (isSsnEml === "true" && ot_uid() !== undefined && ot_uid() !== '') { var trimmedCookie = []; var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var splitCookie = cookies[i].split('='); if (splitCookie.length === 2) { var key = splitCookie[0].trim(); try { var jsn = JSON.parse(splitCookie[1]); const jsnKeys = Object.keys(jsn); for (var j = 0; j < jsnKeys.length; j++) { if (jsn[jsnKeys[j]] != "" && jsn[jsnKeys[j]] != null && jsn[jsnKeys[j]] != "null" && jsnKeys[j] != "language") { trimmedCookie.push(jsnKeys[j] + '=' + encodeURIComponent(jsn[jsnKeys[j]])); } } } catch (err) { var value = splitCookie[1]; trimmedCookie.push(key + '=' + encodeURIComponent(value)); } } } try { var cookiesAsParams = trimmedCookie.join('&'); let ap = cookiesAsParams + getIpParams() + "&uid=" + ot_uid() + "&sid=" + ot_sid() + "&si=" + "5942944f9a698e24b37f905750dd476a"; executeRequest(apiUrl + "/api/cp/ify?" + ap, function(textResponse) {}); } catch (err) { } } const _2_years_from_now = new Date(); _2_years_from_now.setFullYear(_2_years_from_now.getFullYear() + 2); var ot_cd=_2_years_from_now.toGMTString(); var ot_cld=new Date(); var ot_fv=false; var ot_ac=true; var ot_ti=ot_d.title; ot_ti=escape(ot_ti); if (ot_ti.indexOf('%u')!=-1) ot_ti=escape(ot_ti); var ot_mj=parseInt(navigator.appVersion); if(ot_mj>=5){ if(ot_d.referrer.indexOf(ot_r.location.hostname)==-1) ot_r=ot_d; } else{ ot_r=ot_d; } var ot_lc=ot_d.location.href; var ot_t0=1763290126438; var ot_di=ot_ts()-ot_t0; var ot_rand=Math.round(Math.random() * 2147483647); var _otmap = new OTMap(); function ot_uuid(){ function s4(){ return Math.floor((1 + Math.random()) * 0x10000) .toString(16) .substring(1); } return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4(); } function ot_num(n){ return !isNaN(parseFloat(n)) && isFinite(n); } function ot_grxp(re){ var purl = decodeURIComponent(window.location.search.substring(1)), urlv = purl.split('&'), pname, i; var m = new OTMap(); var match = re.match(new RegExp('^/(.*?)/([gimy]*)$')); var regex = new RegExp(match[1], match[2]); for (i = 0; i < urlv.length; i++){ pname = urlv[i].split('='); var p = pname[0], q = pname[1]; if (regex.test(p)){ if (typeof q == ot_un) q = true; m.put(p,q); } } return m; } function ot_gl(h){ var l=ot_d.createElement("a"); l.href=h; if(l.host==""){ l.href=l.href; } return l; } function ot_tr(s,c){ var nt = String.prototype.trim; s=(s==null?'':String(s)); if(!c && nt)return nt.call(s); c=(c==null)?'\\s':(c.source?c.source:'['+String(c).replace(/([.*+?^=!:${}()|[\]\/\\])/g,'\\$1')+']'); return s.replace(new RegExp('^'+c+'+|'+c+'+$','g'),''); } function ot_ts(){ var n=new Date(); return n.getTime(); } function ot_rnd(l){ var n=new Date(); n=n.getTime(); n+=""; return n.substring(n.length-l,n.length); } function ot_dly(m){ var n=new Date(); n=n.getTime()+m; while(true){ var m=new Date(); if(m.getTime()>n) return; } } function ot_qu(m){ if(m.size()>0){ var u=""; for (i=0; i15){while(true){m=new Date();if(m.getTime()>n)return;}} else{n+="";return n.substring(n.length-m,n.length);} } function prepareOTMapWithCookie(m) { var tags = new OTTag("ot_tags"); for (var i = 0; i < tags.values().length; i++) { var a = new OTTag(tags.values()[i]); if (!a.n.startsWith("utm_")) { m.put(a.n, a.getLast()); } } } var OTLogService = {};OTLogService.sendEvent = function(msg, m, a){ if (msg instanceof OTMap) { m = msg; } else { if (typeof m === ot_un) { m = new OTMap(); } if (typeof a === ot_un) { a = 1; } if (typeof msg !== ot_un) { m.put("ti",msg); msg = "/" + msg; } else { msg = ""; } } //if (typeof m.get("url") !== ot_un) { m.put("lc", m.get("url")); m.remove("url"); } if (typeof m.get("lc") !== ot_un) { //m.put("lc", m.get("lc")); } else { m.put("lc",unescape(ot_lc)+msg); } ot_t0=_j(0)-ot_di; prepareOTMapWithCookie(m); _ot_send(m, a); } function _ot_send(m,e){ if (typeof e === ot_un) e = true; if(!e) { ot_im=new Image(1,1); ot_im.src=ot_pr+'log.leadboxer.com/?si=5942944f9a698e24b37f905750dd476a&uid='+ot_uid()+'&sid='+ot_sid()+'&'+ot_qu(m)+'&pix&proxy='+_j(5)+getIpParams(); }else{ ot_ups() ot_im=new Image(1,1); ot_im.src=ot_pr+'log.leadboxer.com/?si=5942944f9a698e24b37f905750dd476a' +getIpParams() +'&ots='+encodeURIComponent(f_rc('_ots')) +'&otui='+encodeURIComponent(f_rc('_otui')) +'&otr='+encodeURIComponent(f_rc('_otr')) +'&otor='+encodeURIComponent(f_rc('_otor')) +'&otpe='+encodeURIComponent(f_rc('_otpe')) +'&'+ot_qu(m)+'&pix&rnd='+_j(5); if(_lc=m.get("lc")) f_sc("_otpe", _lc, ot_gd(30).toGMTString(), "/", ot_gtld()); } } function getIpParams() { var ip4 = f_rc("ip4"); if (ip4) { var ipv6 = f_rc("ip6"); if (ipv6) { return "&ip=" + ip4 + "&ip6=" + ipv6; } else { return "&ip=" + ip4; } } return ""; } //leadboxer enhancements end function ot_log(m){ var ids = ''; if (!m.get("otui")||!m.get("ots")){ ids = '&uid='+ot_uid()+'&sid='+ot_sid(); } ot_im=new Image(1,1); ot_im.src=ot_pr+'log.leadboxer.com/?si=5942944f9a698e24b37f905750dd476a'+ids+'&'+ot_qu(m)+'&pix&rnd='+ot_rnd(5)+getIpParams(); if (_otmap.get("lc"))ot_upe(); } function ot_mtag(m) { var tags = new OTTag("ot_tags"); for (var k in m.dct) { var r = "mark_" + k; _otmap.put(r, m.get(k)); tags.add(k); (new OTTag(k)).add(m.get(k)); } for (var i = 0; i < tags.values().length; i++) { var a = new OTTag(tags.values()[i]); _otmap.put(a.n, a.getLast()); } return _otmap; } function ot_tag(k, v) { if (k instanceof OTMap) return ot_mtag(k); var tags = new OTTag("ot_tags"); var r = "mark_" + k; _otmap.put(r, v); tags.add(k); (new OTTag(k)).add(v); prepareOTMapWithCookie(_otmap); return _otmap; } function ot_load_state(){ var s,c,m,t,p,us,uc,um,ut,up; s=ot_gp(us="utm_source");s?_otmap.put(us,s):s; c=ot_gp(uc="utm_content");c?_otmap.put(uc,c):c; m=ot_gp(um="utm_medium");m?_otmap.put(um,m):m; t=ot_gp(ut="utm_term");t?_otmap.put(ut,t):t; p=ot_gp(up="utm_campaign");p?_otmap.put(up,p):p; _otmap.put("p",1); _otmap.put("mid",ot_rc); _otmap.put("fv",ot_fv); _otmap.put("ti",unescape(ot_ti)); _otmap.put("sh",screen.height); _otmap.put("sw",screen.width); _otmap.put("sc",screen.colorDepth); _otmap.put("lc",ot_lc); _otmap.put("ref",ot_r.referrer); _otmap.put("t0",ot_t0); _otmap.put("cld",ot_cld); _otmap.put("ots",f_rc("_ots")); _otmap.put("otui",f_rc("_otui")); _otmap.put("otr",f_rc("_otr")); _otmap.put("otor",f_rc("_otor")); _otmap.put("otpe",f_rc("_otpe")); //var marker = ot_grxp("/ot_.*/"); //ot_tag(marker); //var utmMarker = ot_grxp("/utm_.*/"); //ot_tag(utmMarker); var lbFieldMap = ot_grxp("/lb_.*/"); var keys = lbFieldMap.keys(); for (keyIndex in keys) { var key = keys[keyIndex]; _otmap.put(key, lbFieldMap.get(key)); } prepareOTMapWithCookie(_otmap); return _otmap; } function ot_upe(){ if(_lc=_otmap.get("lc")) f_sc("_otpe", _lc, ot_gd(30).toGMTString(), "/", ot_gtld()); } function ot_log_state(){ ot_load_state(); ot_im=new Image(1,1); ot_im.src=ot_pr+'log.leadboxer.com/?si=5942944f9a698e24b37f905750dd476a&'+ot_qu(_otmap)+'&pix&rnd='+ot_rnd(5)+getIpParams(); ot_upe(); } function ot_evt(m,c){ if(typeof m===ot_un)m="unknown"; if(typeof m=="object"){m="pagehide";return;} if(typeof c===ot_un)c=0; m=escape(m+"|"+c+"|"+ot_rnd(5));if (m.indexOf('%u')!=-1) m=escape(m); var m = new OTMap(); m.put("p",2); m.put("mid",ot_rc); m.put("ms",m); m.put("lc",ot_lc); m.put("ti",unescape(ot_ti)); m.put("t0",ot_t0); //ot_log(m); ot_dly(250); } function ot_exl(e){ var et=e.target; var ot_o=et; if (ot_o.caught==true){ot_o.caught=false;return;} var ep=et.parentNode; if (ep==null) return; if (ep.tagName=="A" || ep.tagName=="AREA") et = ep; else{ if (ep.parentNode){ var epp=ep.parentNode; if (epp.tagName=="A" || epp.tagName=="AREA") et = epp; } } var isA=(et.tagName=="A" || et.tagName=="AREA")?1:0; var isL=(isA && et.href)?1:0; if (!isL || et.href.indexOf('ot_evt(')!=-1) return; var ot_i=et.href.indexOf(ot_d.domain); if ((ot_i<9&&ot_i!=-1) || et.href.indexOf("/")==1) return; ot_l=et.href; var m = new OTMap(); m.put("p",3); m.put("mid",ot_rc); m.put("ms",ot_l); m.put("lc",ot_lc); m.put("ti",unescape(ot_ti)); m.put("t0",ot_t0); ot_log(m); } function ot_sid(){ if (_otui = f_rc("_otui")){ var _otua = _otui.split("."); return _otua[3] + "." + _otua[0]; } return ""; } function ot_ups() { ot_sri(); if(_ots=f_rc("_ots")){ var _otsa = _ots.split("."); if(_otsa[3]+1800000>ot_t0){ f_sc("_ots",(parseInt(_otsa[0])+1)+"."+_otsa[1]+"."+_otsa[3]+"."+ot_t0, ot_gd(30).toGMTString(), "/", ot_gtld()); ot_uucs(ot_t0-_otsa[3]); return; } } ot_cns(); ot_uuns(); } function ot_cns() { f_sc("_ots","1."+ot_t0+"."+ot_t0+"."+ot_t0, ot_gd(30).toGMTString(), "/", ot_gtld()); } function ot_sri() { var _r=ot_r.referrer; var _ir=(_r.indexOf(ot_r.location.hostname)==-1||_r.indexOf(ot_r.location.hostname)>_r.indexOf("/", _r.indexOf(":") + 3))&&_r!=""; var _sr = ot_t0 + "." + _r; if (!f_rc("_otor") && _ir){ f_sc("_otor", _sr, ot_cd, "/", ot_gtld()); } if (!f_rc("_otr") && _ir){ f_sc("_otr", _sr, ot_gd(30).toGMTString(), "/", ot_gtld()); } } function ot_cu(){ var _t = "." + ot_t0; if (!global_uid) { global_uid = getOtuiPrefix(leadIdResponse, ot_rand + _t) + _t + _t + ".1.1.0"; f_sc("_otui", global_uid, ot_cd, "/", ot_gtld()); } else { f_sc("_otui", global_uid, ot_cd, "/", ot_gtld()); } } function ot_uuns() { if (_otui = f_rc("_otui")){ var _otua = _otui.split("."); if(typeof(_otua[5])===ot_un)_otua[5]=_otua[4]; var di = (typeof _otua[6] === ot_un)?0:_otua[6]; f_sc("_otui", getOtuiPrefix(leadIdResponse, _otua[0] + "." + _otua[1]) + "." + _otua[3] + "." + ot_t0 + "." + (parseInt(_otua[4]) + 1) + "." + (parseInt(_otua[5]) + 1) + "." + di, ot_cd, "/", ot_gtld()); return; } ot_cu(); } function ot_uucs(d) { if (_otui = f_rc("_otui")){ var _otua = _otui.split("."); if(typeof(_otua[5])===ot_un)_otua[5]=_otua[4]; var di = (typeof _otua[6] === ot_un)?0:(parseInt(_otua[6])+d); f_sc("_otui", getOtuiPrefix(leadIdResponse, _otua[0] + "." + _otua[1]) + "." + _otua[2] + "." + _otua[3] + "." + _otua[4] + "." + (parseInt(_otua[5]) + 1) + "." + di, ot_cd, "/", ot_gtld()); return; } ot_cu(); } function OTMap(){ this.dct ={}; this.k = new Array(); }; OTMap.prototype.add = function add(map){ if (typeof map === ot_un) return; for (i = 0; i < map.keys().length; i++) { var key = map.keys()[i]; this.put(key, map.get(key)); } return this; } OTMap.prototype.put = function put(key, value){ if (typeof value === ot_un) return; this.dct[key] = value; var i = this.k.indexOf(key); if (i == -1) this.k.push(key); return this; } OTMap.prototype.get = function get(key){ return this.dct[key]; } OTMap.prototype.remove = function remove(key){ var i = this.k.indexOf(key); if (i != -1){ this.k.splice(i, 1); delete this.dct[key]; } return this; }; OTMap.prototype.clear = function clear(){ this.dct ={}; this.k = new Array(); } OTMap.prototype.size = function size(){ return this.k.length; } OTMap.prototype.keys = function keys(){ return this.k; } OTMap.prototype.serialize = function serialize(){ return JSON.stringify(this.dct); } OTMap.prototype.deserialize = function deserialize(dct){ try{ this.dct=JSON.parse(dct); this.k=Object.keys(this.dct); }catch(e){ this.dct ={}; this.k = new Array(); } } OTMap.prototype.store = function store(n){ f_sc("__" + n, this.serialize(), ot_cd, "/", ot_gtld()); } OTMap.prototype.load = function load(n){ var d = f_rc("__" + n); return this.deserialize(d); } OTMap.prototype.reset = function reset(n){ f_dc(n,ot_gtld()); this.clear(); } function OTSet(v){ this.m = new OTMap(); if(typeof v !== ot_un){ this.m.deserialize(v); } }; OTSet.prototype.add = function add(s){ if (s == ".st"){ return this; } var u = +new Date; var v = this.m.get(s); if (this.m.size()==0){ this.m.put(".st", s); } if (typeof v !== ot_un){ this.m.put(s, [++v[0], u]); } else{ this.m.put(s, [1, u]); } return this; } OTSet.prototype.contains = function contains(s){ if (s == ".st"){ return false; } return !(typeof this.m.get(s) === ot_un); } OTSet.prototype.remove = function remove(s){ if (s == ".st"){ return this; } this.m.remove(s); return this; } OTSet.prototype.values = function values(){ if (this.m.get(".st")) { var a = this.m.keys().slice(); var i = a.indexOf(".st"); a.splice(i,1); return a; } else { return this.m.keys(); } } OTSet.prototype.size = function size(){ if (this.m.get(".st")) return this.m.size() - 1; else return this.m.size(); } function OTTag(n){ this.n = "OTTag"; if (typeof n !== ot_un){ this.n = n; } OTTag.prototype.store = function store(v){ var k=this.n; if(k.indexOf("ot_") != 0) k="ot_"+n; f_sc(k, v, ot_cd, "/", ot_gtld()); } OTTag.prototype.load = function load(){ var k=this.n; if(k.indexOf("ot_") != 0) k="ot_"+n; var d = f_rc(k); return d; } var d; var t = this.load(); if (t){ d = t; } this.s=new OTSet(d); } OTTag.prototype.add = function add(v){ v = String(v);v=v.replace(/,/g, ''); var m = this.s.m, s = this.s; if (m.size()>=9 && typeof m.get(v) === ot_un){ this.remove(this.getOld()); } s.add(v); this.store(s.m.serialize()); } OTTag.prototype.getOld = function getOld(){ var m = this.s.m, s = this.s, r, x = Number.MAX_VALUE, k = m.keys(); for (var i = 0; i < k.length; i++){ if (k[i]!=".st"&&m.get(k[i])[1]x){ r = k[i]; x = m.get(k[i])[1]; } } return r; } OTTag.prototype.getTop = function getTop(){ var m = this.s.m, s = this.s, r, x = 0, k = m.keys(); for (var i = 0; i < k.length; i++){ if (k[i]!=".st"&&m.get(k[i])[0]>x){ r = k[i]; x = m.get(k[i])[0]; } } return r; } OTTag.prototype.getFirst = function getFirst(){ return this.s.m.get(".st"); } OTTag.prototype.remove = function remove(v){ v = String(v);v=v.replace(/,/g, ''); this.s.remove(v); this.store(this.s.m.serialize()); } OTTag.prototype.size = function size(){ return this.s.size(); } OTTag.prototype.contains = function contains(v){ return this.s.contains(v); } OTTag.prototype.values = function values(){ return this.s.values(); } OTTag.prototype.reset = function reset(){ var k=this.n; if(k.indexOf("ot_") != 0) k="ot_"+n; f_dc(k,ot_gtld()); this.s = new OTSet({}); } var ot_bootstrap = function(callback, useCookie, idDomain, secure){ var key = "_otui";//key || defaultkey; var useCookie = useCookie || defaultUseCookie; var idDomain = idDomain || defaultIdDomain; var secure = secure || defaultSecure; if (useCookie){ ot_init_log(); } } function f_sc(n, v, t, p, d, s){ n += uhx; if (typeof ot_cc !== ot_un)ot_cc.put(n, v); if (defaultUseCookie){ if ((n.indexOf("_otor")!=0&&n.indexOf("_otpe")!=0&&n.indexOf("_ots")!=0&&n.indexOf("_otui")!=0)&&st()&&uhx!=""){ localStorage.setItem(n, v); return; } ot_c.cookie=n+'='+encodeURIComponent(v)+((t)?(';expires='+t):'')+((p)?';path='+p:'')+((d)?';domain='+d:'')+((s && (s==true))?'; secure':'')+((s && (s==true))?';sameSite=None':';sameSite=Lax'); return; } } function f_dc(n,tld){ if ((n.indexOf("_otor")!=0&&n.indexOf("_otpe")!=0&&n.indexOf("_ots")!=0&&n.indexOf("_otui")!=0)&&st()&&uhx!="") localStorage.removeItem(n); if(f_rc(n))ot_c.cookie=n+"=;path=/;domain="+tld+";expires=Thu, 01-Jan-1970 00:00:01 GMT"; } var ot_init_log = function(p){ if (typeof ot_cc === ot_un && typeof p !== ot_un){ ot_cc = new OTMap(); for (var key in p){ if (p.hasOwnProperty(key)){ ot_cc.put(key, p[key]); } } } ot_rc=f_rc("_otui"); if (!ot_rc){ ot_rc=ot_t0+":"+ot_t0; ot_fv=true; } else{ ot_rc=ot_rc.split(".")[0]+":"+ot_rc.split(".")[0]; } ot_ups(); if (ot_d.getElementById && ot_d.createElement){ if (window.addEventListener){ window.addEventListener("pagehide",ot_evt,true); window.addEventListener("click",ot_exl,true); } } if(typeof ot_onload !== ot_un && typeof ot_onload == "function"){ ot_onload(ot_uid(), ot_sid()); } else{ ot_log_state(); } } //leadboxer enhancements start - fmark var fallback_attr = {'id': 'name','name': 'id'}; function getInputName(inputElement) { if (inputElement[ft.formInputAttribute]) { return inputElement[ft.formInputAttribute]; } else if (inputElement[fallback_attr[ft.formInputAttribute]]) { return inputElement[fallback_attr[ft.formInputAttribute]]; } return; } let scriptFormFields = ft.scriptFormFields; let scriptFormMapping = ft.scriptFormMapping; if (ft.enabled) { console.log("form tk enabled"); var captureForm = { excludeTagTypes: new Set(['password', 'hidden', 'submit', 'fieldset', 'button', 'file']), excludeTagNamesContaining: /pass|billing|creditcard|cardnum|^cc|ccnum|exp|seccode|securitycode|securitynum|cvc|cvv|ssn|socialsec|socsec|csc/i, lastSubmittedForm: null, lastSubmitTime: 0, safeSubmit(form) { const now = Date.now(); if (form === this.lastSubmittedForm && now - this.lastSubmitTime < 1000) { return; // prevent duplicate submission within 1 second } this.lastSubmittedForm = form; this.lastSubmitTime = now; this.processValues(form); }, processValues(form) { const formData = new FormData(form); const processedKeys = new Set(); const formMap = {}; const fallbackEmailInput = form.querySelector(`input[type="email"]`); form.querySelectorAll('input[type="radio"]:checked').forEach((radio) => { const key = radio.id || radio.name; if (key && !formMap[key]) { formMap[key] = radio.value; processedKeys.add(key); } }); formData.forEach((value, key) => { let inputElement = form.querySelector(`[name="${key}"]`) || form.querySelector(`#${key}`); if (this.validateField(inputElement)) { if (inputElement.type !== 'radio') { formMap[key] = value; } processedKeys.add(key); } }); if (fallbackEmailInput && this.validateField(fallbackEmailInput)) { formMap["email"] = fallbackEmailInput.value; } const isSearchForm = form.querySelector('input[type="search"]') || form.action.includes('search'); const eventName = isSearchForm ? "Search form submitted" : "Submitted form"; form.querySelectorAll('input').forEach((input) => { const key = input.id || input.name; if (key && !processedKeys.has(key)) { let value = input.value; if (input.type === 'checkbox') { // cb handle value = input.checked ? (input.value || 'on') : ''; if (value) { formMap[key] = value; } } else if (this.validateField(input)) { formMap[key] = value; } } }); const fdt = {}; for (const key in formMap) { if (formMap[key]) { fdt[key] = formMap[key]; } } this.sendResults(fdt, eventName); }, validateField(field) { if (!field) return false; const type = field.type; const name = getInputName(field); if (!type || this.excludeTagTypes.has(type)) { return false; } if (this.excludeTagNamesContaining.test(name)) { // console.log("log: "+ name +" not allowed, not sending this value."); return false; } if (type === 'radio' && !field.checked) { return false; } return true; }, sendResults(fdt, eventName) { const normalizedFormMap = Object.keys(fdt).reduce((acc, key) => { acc[key.toLowerCase()] = fdt[key]; return acc; }, {}); scriptFormFields.forEach(field => { const lowerCaseField = field.toLowerCase(); if (lowerCaseField in normalizedFormMap) { _otmap.put(field, normalizedFormMap[lowerCaseField]); } }); Object.entries(scriptFormMapping).forEach(([originalField, mappedField]) => { const lowerCaseOriginalField = originalField.toLowerCase(); const lowerCaseMappedField = mappedField.toLowerCase(); if (lowerCaseOriginalField in normalizedFormMap && !_otmap.get(mappedField)) { _otmap.put(mappedField, normalizedFormMap[lowerCaseOriginalField]); } }); OTLogService.sendEvent(eventName, _otmap, false); }, attachSubmitAction() { document.querySelectorAll('form').forEach((form) => { if (form.dataset.trackingAttached === "true") return; form.dataset.trackingAttached = "true"; form.addEventListener('submit', (e) => { this.safeSubmit(e.target); }); }); }, observeMutations() { const observer = new MutationObserver(() => { this.attachSubmitAction(); }); observer.observe(document.body, { childList: true, subtree: true }); } }; captureForm.attachSubmitAction(); captureForm.observeMutations(); } if (ot_gp('email')) { ot_tag("email", ot_gp('email')); } //leadboxer enhancements end window['OTMap'] = OTMap; window['_otmap'] = _otmap; window['OTTag'] = OTTag; window['f_rc'] = f_rc; window['ot_tag'] = ot_tag; window['ot_bootstrap'] = ot_bootstrap; window['ot_init_log'] = ot_init_log; window['ot_log'] = ot_log; window['ot_load_state'] = ot_load_state; window['ot_log_state'] = ot_log_state; window['ot_uid'] = ot_uid; window['_ot_uid'] = ot_uid; window['ot_sid'] = ot_sid; window['ot_gp'] = ot_gp; window['ot_grxp'] = ot_grxp; window['OTLogService'] = OTLogService; ot_bootstrap(ot_init_log); var retryInterval = 5000; // retry every 5 seconds var initialDelay = 500; // initial delay var maxRetries = 12; // optional: stop after 1 minute (12 * 5s) var retryCount = 0; var eventSent = false; function trackHubspotId() { var hubspotId = f_rc('hubspotutk'); var lbHubspotId = f_rc('lb_hubspotutk_id'); if (hubspotId) { if (lbHubspotId === false || lbHubspotId !== hubspotId) { var mktoMap = new OTMap(); mktoMap.put("hubspotutk_id", hubspotId); OTLogService.sendEvent("Hubspot cookie ID captured", mktoMap, false); f_sc('lb_hubspotutk_id', hubspotId, ot_cd, "/", ot_gtld()); eventSent = true; } } if ((!hubspotId || !lbHubspotId) && retryCount < maxRetries && !eventSent) { retryCount++; setTimeout(trackHubspotId, retryInterval); } } setTimeout(trackHubspotId, initialDelay); } function ftCallback(ipCookieCallback, ft) { if (ot_gp('lb_uid') !== undefined && ot_gp('lb_uid') !== '') { initScript(ipCookieCallback, ft); } else if (ot_gp('email')) { executeRequest(apiUrl + "/api/leads/id?email=" + ot_gp('email') + "&datasetId=5942944f9a698e24b37f905750dd476a", function(textResponse) {initScript(ipCookieCallback, ft, JSON.parse(textResponse))}); } else { initScript(ipCookieCallback, ft); } } function mainScript(ipCookieCallback) { var ftUrl = apiUrl + "/api/datasets/formTracking?datasetId=5942944f9a698e24b37f905750dd476a"; var userId = ot_uid(); if (userId !== undefined && userId !== '') { ftUrl = ftUrl + "&userId=" + userId; } executeRequest(ftUrl, function(textResponse){ftCallback(ipCookieCallback, JSON.parse(textResponse))}); } function beginScript() { /* jsonp.js, (c) Przemek Sobstel 2012, License: MIT */ var jsonp = (function() { var that ={}; that.send = function(src, options){ var options = options ||{}, callback_name = options.callbackName || 'callback', on_success = options.onSuccess || function(){}, on_timeout = options.onTimeout || function(){}, timeout = options.timeout || 10; var timeout_trigger = window.setTimeout(function(){ window[callback_name] = function(){}; on_timeout(); }, timeout * 1000); window[callback_name] = function(data){ window.clearTimeout(timeout_trigger); on_success(data); }; var script = ot_d.createElement('script'); script.type = 'text/javascript'; script.async = true; script.src = src; ot_d.getElementsByTagName('head')[0].appendChild(script); }; return that; })(); function executeJsonP(url, callback) { jsonp.send(url,{ callbackName: 'handler', onSuccess: function(json){ callback(json); }, onTimeout: function(){ callback(null); }, timeout: 5 //5 seconds }); } // GET CLIENT IP | IP4 OR IP6 executeJsonP("https://ip.leadboxer.com?jsonp&callback=handler", function(ipTextResponse) { var ip6_or_ip4 = ipTextResponse.ip; var ipv6Regex = /((([0-9a-fA-F]){1,4})\:){7}([0-9a-fA-F]){1,4}/; if ((ipv6match = ipv6Regex.exec(ip6_or_ip4)) !== null) { var ipv6 = ip6_or_ip4; // more precisely ipv6 // Set IPV* Cookies | GET IP4 FROM IP6 executeJsonP("https://ip-server.leadboxer.com?jsonp&callback=handler", function(ip6TextResponse) { var ipv4 = ip6TextResponse.ip; function setCookies() { var [f_sc, f_dc, ot_gd, ot_gtld] = arguments; f_sc("ip4", ipv4, ot_gd(30).toGMTString(), "/", ot_gtld()); f_sc("ip6", ipv6, ot_gd(30).toGMTString(), "/", ot_gtld()); } mainScript(setCookies); }); } else { function removeCookies() { // Remove Cookies // Case client ipv4 var [f_sc, f_dc, ot_gd, ot_gtld] = arguments; f_dc("ip4",ot_gtld()); f_dc("ip6",ot_gtld()); var ipv4 = ipTextResponse.ip; f_sc("ip4", ipv4, ot_gd(30).toGMTString(), "/", ot_gtld()); } mainScript(removeCookies); } }); } beginScript(); })();