PageSourceSearch

https://www.okappy.com/js/customJs.js?v=2026092114161789996601

js okappy.com collected 2026-09-24 10:55:26 UTC 49,785 bytes, 1,056 lines download raw bytes

1var signupEmailField;
2var signupPwdField;
3var signupBtn;
4var signupTooltipDiv;
5var loginEmailFieldDesktop;
6var loginPwdFieldDesktop;
7var loginBtnDesktop;
8var loginEmailFieldMobile;
9var loginPwdFieldMobile;
10var loginBtnMobile;
11var loginTooltipDiv;
12var getStartedEmailField;
13var getStartedPwdField;
14var getStartedBtn;
15var requestBtn;
16var connectEmailField;
17var connectPwdField;
18var connectTooltipDiv;
19var connectBtn;
20var cloudflareToken = true;
21//var okappyUrl = 'https://ok-appy.com';
22var okappyUrl = 'https://dashboard.okappy.com';
23var okappyAPIUrl = 'https://api.okappy.com';
24if (typeof window.ga !== 'function') {
25    window.ga = function () {
26        try {
27            var cmd = arguments[0];
28            var hit = arguments[1];
29            if (typeof gtag !== 'function') return;
30            if (cmd === 'send' && hit === 'event') {
31                gtag('event', String(arguments[3] || 'event'), {
32                    event_category: arguments[2],
33                    event_label: arguments[4] || undefined
34                });
35            } else if (cmd === 'send' && hit === 'pageview') {
36                gtag('event', 'page_view');
37            }
38        } catch (err) {}
39    };
40}
41function okappyTrackEvent(category, action, label) {
42    try {
43        ga('send', 'event', category, action, label);
44    } catch (err) {}
45}
46jQuery(document).ready(function() {
47    //wp.okappy.com - default menu - login button
48    jQuery("#menu-item-12180").html("<a href='#' style='line-height: 83px; height:83px;' id='opaque-web-login-btn' class='fusion-modal-text-link ok-menu-signin-btn' data-toggle='modal' data-target='.fusion-modal.ok-modal-open-login-box'><span class='menu-text'><strong>LOG IN</strong></span></a>");
49    //wp.okappy.com - default menu - ry for free button
50    jQuery("#menu-item-21943").html("<a href='#' style='line-height: 83px; height:83px;' id='opaque-web-tryforfree-btn' class='fusion-modal-text-link ok-menu-signup-btn' data-toggle='modal' data-target='.ok-modal-open-signup-box'><span class='menu-text'><strong>Try for free</strong></span></a>");
51    //wp.okappy.com - transparent menu - login button
52    jQuery("#menu-item-17964").html("<a href='#' id='opaque-web-login-btn' class='fusion-modal-text-link ok-menu-signin-btn' data-toggle='modal' data-target='.fusion-modal.ok-modal-open-login-box'><span class='menu-text'><strong>LOG IN</strong></span></a>");
53    //wp.okappy.com - transparent menu - try for button
54    jQuery("#menu-item-17963").html("<a href='#' id='opaque-web-tryforfree-btn' class='fusion-modal-text-link ok-menu-signup-btn' data-toggle='modal' data-target='.ok-modal-open-signup-box'><span class='menu-text'><strong>Try for free</strong></span></a>");
55
56    jQuery(".ok-handshake-cta").html("<a href='#' class='fusion-modal-text-link ok-signup-cta' data-toggle='modal' data-target='.ok-modal-open-signup-box'><span class='menu-text'>JOIN OKAPPY TODAY</span></a>");
57    //jQuery("#menu-item-24035").html("<a href='#' id='opaque-web-login-btn' class='fusion-modal-text-link ok-menu-signin-btn' data-toggle='modal' data-target='.fusion-modal.ok-modal-open-login-box'><span class='menu-text'><strong>LOG IN</strong></span></a>");
58    //wp.okappy.com - mobile menu - login button
59    //jQuery("#mobile-menu-main-menu-1 > li:nth-child(8)").html("<a href='https://dashboard.okappy.com/mobile/index.jsp' style='line-height: 83px; height:83px;' id='opaque-web-login-btn' class='ok-menu-signin-btn'><span class='menu-text'><strong>LOG IN</strong></span></a>");
60
61    //www.ok-appy.co.uk - default menu - login button
62    jQuery("#menu-item-13").html("<a href='#' style='line-height: 83px; height:83px;' id='opaque-web-login-btn' class='fusion-modal-text-link ok-menu-signin-btn' data-toggle='modal' data-target='.fusion-modal.ok-modal-open-login-box'><span class='menu-text'><strong>LOG IN</strong></span></a>");
63    //www.ok-appy.co.uk - default menu - ry for free button
64    jQuery("#menu-item-16").html("<a href='#' style='line-height: 83px; height:83px;' id='opaque-web-tryforfree-btn' class='fusion-modal-text-link ok-menu-signup-btn' data-toggle='modal' data-target='.ok-modal-open-signup-box'><span class='menu-text'><strong>Try for free</strong></span></a>");
65    //www.ok-appy.co.uk - transparent menu - login button
66    jQuery("#menu-item-40477").html("<a href='#' id='opaque-web-login-btn' class='fusion-modal-text-link ok-menu-signin-btn' data-toggle='modal' data-target='.fusion-modal.ok-modal-open-login-box'><span class='menu-text'><strong>LOG IN</strong></span></a>");
67    //www.ok-appy.co.uk - transparent menu - try for button
68    jQuery("#menu-item-15").html("<a href='#' id='opaque-web-tryforfree-btn' class='fusion-modal-text-link ok-menu-signup-btn' data-toggle='modal' data-target='.ok-modal-open-signup-box'><span class='menu-text'><strong>Try for free</strong></span></a>");
69
70    signupEmailField = document.getElementById('ok-signup-email');
71    signupPwdField = jQuery('#ok-signup-pwd').val();
72    signupBtn = document.getElementById('ok-signup-btn');
73    signupTooltipDiv = document.getElementById('signupTooltip');
74    if (signupBtn != null) {
75        signupBtn.disabled = true;
76        signupTooltipDiv.style.display = "none";
77    }
78    loginEmailFieldDesktop = document.getElementById('ok-login-email-desktop');
79    loginPwdFieldDesktop = document.getElementById('ok-login-pwd-desktop');
80    loginBtnDesktop = document.getElementById('ok-login-btn-desktop');
81    loginEmailFieldMobile = document.getElementById('ok-login-email-mobile');
82    loginPwdFieldMobile = document.getElementById('ok-login-pwd-mobile');
83    loginBtnMobile = document.getElementById('ok-login-btn-mobile');
84    loginTooltipDiv = document.getElementById('loginTooltip');
85    if (loginBtnDesktop != null) {
86        loginBtnDesktop.disabled = true;
87        loginTooltipDiv.style.display = "none";
88    }
89    getStartedEmailField = document.getElementById('ok-getstarted-email');
90    getStartedPwdField = document.getElementById('ok-getstarted-pwd');
91    getStartedBtn = document.getElementById('ok-getstarted-btn');
92    if (getStartedBtn != null) {
93        getStartedBtn.disabled = true;
94    }
95    requestBtn = document.getElementById("ok-request-btn");
96    if (requestBtn != null) {
97        requestBtn.disabled = true;
98    }
99    connectEmailField = document.getElementById('ok-connect-email');
100    connectPwdField = document.getElementById('ok-connect-pwd');
101    connectBtn = document.getElementById('ok-connect-btn');
102    if (connectBtn != null) {
103        connectBtn.disabled = true;
104    }
105    jQuery('#nadcSignup #ok-signup-btn').attr('disabled', true);
106    if (document.domain != 'www.okappy.com') {
107        jQuery('#loginModalFormDesktop').attr('action', '/processlogin.jsp');
108        jQuery('#editCompanyProfileModalDesktop').attr('action', '/processlogin.jsp');
109    }
110    if (document.domain == 'www.ok-appy.co.uk' || document.domain == 'www.okappy.com') {
111        jQuery('#loginModalFormDesktop').attr('action', okappyUrl+'/processlogin.jsp');
112        jQuery('#editCompanyProfileModalDesktop').attr('action', okappyUrl+'/processlogin.jsp');
113    }
114    if (getMobileOperatingSystem() == "Android") {
115        jQuery('#apple-app-store').hide();
116    } else if (getMobileOperatingSystem() == "iOS") {
117        jQuery('#google-play-store').hide();
118    }
119    jQuery('#wt-single-signup-start').click(function() {
120        onboardingStart("desktop-wt");
121    });
122    jQuery('#ok-single-signup-start').click(function() {
123        onboardingStart("desktop");
124    });
125    jQuery('#ok-single-signup-start-secondBtn').click(function() {
126        onboardingStart("desktop");
127    });
128    jQuery('#ok-single-signup-start-thirdBtn').click(function() {
129        onboardingStart("desktop");
130    });
131    jQuery('#ok-single-signup-continue-to-step2').click(function() {
132        onboardingFlow("step2", "desktop");
133    });
134    jQuery('#ok-single-signup-continue-to-step3').click(function() {
135        onboardingFlow("step3", "desktop");
136    });
137    jQuery('#ok-single-signup-continue-to-createAccount').click(function() {
138        jQuery("#ok-single-signup-continue-to-createAccount").html("Creating account...");
139        onboardingFlow("createAccount", "desktop");
140    });
141    jQuery('#ok-single-signup-back-to-step1').click(function() {
142        onboardingFlow("step1", "desktop");
143    });
144    jQuery('#ok-single-signup-back-to-step2').click(function() {
145        onboardingFlow("step2", "desktop");
146    });
147    jQuery('#ok-single-signup-mobile-start').click(function() {
148        onboardingStart("mobile");
149    });
150    jQuery('#ok-single-signup-mobile-continue-to-step2').click(function() {
151        onboardingFlow("step2", "mobile");
152    });
153    jQuery('#ok-single-signup-mobile-continue-to-step3').click(function() {
154        onboardingFlow("step3", "mobile");
155    });
156    jQuery('#ok-single-signup-mobile-continue-to-createAccount').click(function() {
157        onboardingFlow("createAccount", "mobile");
158    });
159    jQuery('#ok-single-signup-mobile-back-to-step1').click(function() {
160        onboardingFlow("step1", "mobile");
161    });
162    jQuery('#ok-single-signup-mobile-back-to-step2').click(function() {
163        onboardingFlow("step2", "mobile");
164    });
165    if (window.location.pathname.indexOf("onboarding-mobile") >= 0) {
166        onboardingFlow("step1", "mobile");
167    } else if (window.location.pathname.indexOf("onboarding") >= 0) {
168        onboardingFlow("step1", "desktop");
169    }
170    jQuery('#ok-gocardless-btn').click(function() {
171        window.location.href = "https://pay.gocardless.com/AL00006M
171BNB30N";
172    });
173    if (window.location.href.indexOf("/invest") >= 0 || window.location.href.indexOf('24851') >= 0) {
174        jQuery('.js-timeline').Timeline();
175    }
176    var getEmail = getUrlParameter('email');
177    var targetPage = getUrlParameter('targetPage');
178    var getJobId = getUrlParameter('jobDescriptionID');
179    jQuery(".emailParameter").html("email '<strong>" + getEmail + "</strong>'");
180    loadMobileMenu();
181    if (getEmail) {
182        if (window.location.pathname.indexOf('/login/') >= 0
183          || window.location.pathname.indexOf('/login-to-okappy/') >= 0
184          || window.location.pathname.indexOf('/logged-out/session-expired/') >= 0) {
185            jQuery('#mobile-login #login-page-desktop-email').val(getEmail);
186            jQuery('#login-page-desktop-email').val(getEmail);
187            if(targetPage){
188              jQuery('#mobile-login #login-page-mobile-target').val(targetPage);
189              jQuery('#login-page-desktop-target').val(targetPage);
190            }
191            if(getJobId){
192              jQuery('#mobile-login #login-page-mobile-jobid').val(getJobId);
193              jQuery('#login-page-desktop-jobid').val(getJobId);
194            }
195        } else if (window.location.pathname.indexOf('/signup/') >= 0) {
196            jQuery('#ok-signup-email').val(getEmail);
197        } else if (window.location.pathname.indexOf('new-password') >= 0) {
198            jQuery('#ok-reset-email #username').val(getEmail);
199            jQuery('#ok-reset-email #userToken').val(getUrlParameter('token'));
200        }
201    }
202    if (window.location.pathname.indexOf('/no-account-details-found/') >= 0) {
203        var numberAttempts = getUrlParameter('attempts');
204        if (numberAttempts != null && numberAttempts > 0 && numberAttempts < 6) {
205            var numberAttemptsText = "(" + numberAttempts + " of 6 attempts remaining)";
206            jQuery('#numberAttempts').text(numberAttemptsText).show();
207        }
208    }
209    jQuery('#ok-set-email #username').val(getUrlParameter('username'));
210    jQuery('#ok-set-email #userToken').val(getUrlParameter('token'));
211    jQuery('.fusion-search-form').attr('action', '');
212    jQuery('.fusion-search-button').html('<button name="Submit" value="Submit" onclick="submit_search();" class="fb-icon-element-1 fb-icon-element fontawesome-icon fa-search fas circle-yes fusion-text-flow" style="font-size:12px;line-height:24px;height:24px;width:24px;background-color:#96c346;border:none;"></button>');
213
214    //show on cohere
215    var page = window.location.pathname;
216    if(page.indexOf('-password')||page.indexOf('login')){
217      useCohere();
218    }
219
220    //add linkedin url to sidebar
221    const linkedinUrl = "https://www.linkedin.com/company/okappy-ltd-";
222    jQuery('#custom_html-10').css('cursor', 'pointer');
223    jQuery('#custom_html-10').click(function() {
224      window.open(linkedinUrl,'_blank');
225    });
226    jQuery('#custom_html-11').css('cursor', 'pointer');
227    jQuery('#custom_html-11').click(function() {
228      window.open(linkedinUrl,'_blank');
229    });
230});
231jQuery(window).load(function(e) {
232    loadMobileMenu();
233});
234document.addEventListener('wpcf7mailsent', function(event) {
235    okappyTrackEvent('Contact Form', 'ContactForm', 'submit');
236}, false);
237jQuery('#wpcf7-f19813-p19808-o1 .wpcf7-submit').on("click", function() {
238    okappyTrackEvent('RequestDemo', 'RequestDemo', 'submit');
239});
240jQuery('#wpcf7-f30216-p30214-o1 .wpcf7-submit').on("click", function() {
241    okappyTrackEvent('ApplyReseller', 'ApplyReseller', 'submit');
242});
243jQuery('#confirmedPassword').on("change", function() {
244    checkPasswords();
245});
246jQuery('#confirmedPassword').on("blur", function() {
247    checkPasswords();
248});
249jQuery('#submitResetPasswordBtn').on("hover", function() {
250    checkPasswords();
251});
252jQuery('#submitResetPasswordBtn').on("click", function() {
253    resetPassword();
254});
255jQuery('#submitGetResetEmailBtn').on("click", function() {
256    getResetEmail();
257});
258
259function submit_search() {
260    event.preventDefault();
261    var searchTerm = jQuery('#menu-main-menu > li.fusion-custom-menu-item.fusion-main-menu-search.fusion-main-menu-search-open > div > form > div > div.fusion-search-field.search-field > label > input').val();
262    if(!searchTerm){searchTerm = jQuery('#search-2 > form > div > div.fusion-search-field.search-field > label > input').val();}
263    var searchUrl = 'https://www.ok-appy.co.uk/search/index.html?s=' + searchTerm;
264    window.location.href = searchUrl;
265    return true;
266}
267function loadMobileMenu() {
268    //wp.okappy.com - default menu
269    jQuery("#mobile-menu-main-menu-1 > [data-item-id=12180]").html("<a href='"+okappyUrl+"/mobile/index.jsp' style='line-height: 83px; height:83px;' id='opaque-mobile-login-btn' class='ok-menu-signin-btn'><span class='menu-text'><strong>LOG IN</strong></span></a>");
270    jQuery("#mobile-menu-main-menu-1 > [data-item-id=21943]").html("<a href='https://www.okappy.com/download-okappy/' style='line-height: 83px; height:83px;' id='opaque-mobile-tryforfree-btn' class='fusion-modal-text-link ok-menu-signup-btn'><span class='menu-text'><strong>Download</strong></span></a>");
271    jQuery("#mobile-menu-main-menu-1 > [data-item-id=15937]").html("<a href='tel:=+442070995698'><span class='menu-text'><strong>+44 207 099 5698</strong></span></a>");
272    jQuery('#ok-signup-email').val('');
273    //sticky menu
274    jQuery("#mobile-menu-item-17964").html("<a href='https://www.okappy.com/mobile/index.jsp' style='line-height: 83px; height:83px;' id='transparent-mobile-login-btn' class='ok-menu-signin-btn'><span class='menu-text'><strong>LOG IN</strong></span></a>");
275    jQuery("#mobile-menu-item-17963").html("<a href='https://www.okappy.com/download-okappy/' style='line-height: 83px; height:83px;' id='transparent-mobile-tryforfree-btn' class='fusion-modal-text-link ok-menu-signup-btn'><span class='menu-text'><strong>Download</strong></span></a>");
276
277    //www.ok-appy.co.uk - default menu
278    jQuery("#mobile-menu-main-menu-1 > [data-item-id=13]").html("<a href='"+okappyUrl+"/mobile/index.jsp' style='line-height: 83px; height:83px;' id='opaque-mobile-login-btn' class='ok-menu-signin-btn'><span class='menu-text'><strong>LOG IN</strong></span></a>");
279    jQuery("#mobile-menu-main-menu-1 > [data-item-id=16]").html("<a href='https://www.okappy.com/download-okappy/' style='line-height: 83px; height:83px;' id='opaque-mobile-tryforfree-btn' class='fusion-modal-text-link ok-menu-signup-btn'><span class='menu-text'><strong>Download</strong></span></a>");
280    jQuery("#mobile-menu-main-menu-1 > [data-item-id=14]").html("<a href='tel:=+442070995698'><span class='menu-text'><strong>+44 207 099 5698</strong></span></a>");
281}
282var getUrlParameter = function getUrlParameter(sParam) {
283    var sPageURL = decodeURIComponent(window.location.search.substring(1)),
284        sURLVariables = sPageURL.split('&'),
285        sParameterName,
286        i;
287    for (i = 0; i < sURLVariables.length; i++) {
288        sParameterName = sURLVariables[i].split('=');
289        if (sParameterName[0] === sParam) {
290            return sParameterName[1] === undefined ? true : sParameterName[1];
291        }
292    }
293};
294function getMobileOperatingSystem() {
295    var userAgent = navigator.userAgent || navigator.vendor || window.opera;
296    if (/windows phone/i.test(userAgent)) {
297        return "Windows Phone";
298    }
299    if (/android/i.test(userAgent)) {
300        return "Android";
301    }
302    if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
303        return "iOS";
304    }
305    return "unknown";
306}
307function checkLoginFields() {
308    if (loginBtnDesktop != null && loginEmailFieldDesktop != null && loginEmailFieldDesktop.value.length > 7 && loginPwdFieldDesktop != null && loginPwdFieldDesktop.value.length >= 3) {
309        loginBtnDesktop.disabled = false;
310        jQuery('#loginTooltip').fadeOut({
311            queue: false,
312            duration: 'fast'
313        });
314        jQuery('#loginTooltip').animate({
315            left: "540px"
316        }, 'slow');
317    } else {
318        loginBtnDesktop.disabled = true;
319        jQuery('#loginTooltip').fadeIn({
320            queue: false,
321            duration: 'fast'
322        });
323        jQuery('#loginTooltip').animate({
324            left: "520px"
325        }, 'slow');
326    }
327}
328function checkSignupFields() {
329    var tryForFreeShowing = jQuery('#ok-signup-email').is(":visible");
330    if (signupBtn != null && signupEmailField != null && signupEmailField.value.length > 7 && tryForFreeShowing) {
331        if (checkEmail()) {
332            signupBtn.disabled = false;
333            signupBtn.setAttribute("title", "Sign up to Okappy");
334            jQuery('#signupTooltip').fadeOut({
335                queue: false,
336                duration: 'fast'
337            });
338            jQuery('#signupTooltip').animate({
339                left: "540px"
340            }, 'slow');
341        }
342    } else {
343        signupBtn.disabled = true;
344        jQuery('#signupTooltip').fadeIn({
345            queue: false,
346            duration: 'fast'
347        });
348        jQuery('#signupTooltip').animate({
349            left: "520px"
350        }, 'slow');
351    }
352}
353function checkNADCSignupFields() {
354    var nadcContractorNo = jQuery('#nadcSignup #ok-signup-nadcnumber').val();
355    var email = jQuery('#nadcSignup #ok-signup-email').val();
356    var password = jQuery('#nadcSignup #ok-signup-pwd').val();
357    if (nadcContractorNo && nadcContractorNo.length > 3 && email && email.length > 3 && password && password.length > 3) {
358        jQuery('#nadcSignup #ok-signup-btn').attr('disabled', false);
359    }
360}
361function checkEmail() {
362    if (signupBtn != null && signupEmailField != null && signupEmailField.value.length > 7) {
363        signupBtn.disabled = false;
364        signupBtn.setAttribute("title", "Sign up to Okappy");
365        jQuery('#signupTooltip').fadeOut({
366            queue: false,
367            duration: 'fast'
368        });
369        jQuery('#signupTooltip').animate({
370            left: "540px"
371        }, 'slow');
372    } else {
373        signupBtn.disabled = true;
374        jQuery('#signupTooltip').fadeIn({
375            queue: false,
376            duration: 'fast'
377        });
378        jQuery('#signupTooltip').animate({
379            left: "520px"
380        }, 'slow');
381    }
382}
383function verifyEmail() {
384    var emailUsed = jQuery('#single-email-signup').val();
385    if (jQuery("#ok-signup-companytype").val() == '1-3') {
386        window.location.href = '/small-companies/';
387    } else {
388        jQuery.ajax({
389            type: 'POST',
390            url: okappyUrl+'/rest/verifyEmail/' + signupEmailField.value,
391            async: false,
392            success: function(data, status) {
393                if (data[0].status == "success") {
394                    window.open('/onboarding', '_self');
395                    jQuery('#ok-single-signup-email').val(emailUsed);
396                } else {
397                    alert('Your email ' + emailUsed + ' was not recognised, please check and try again.');
398                }
399            },
400            error: function(data) {
401                alert('There as a problem checking your email ' + emailUsed + '.  Please check and try again.');
402            }
403        });
404    }
405}
406function checkGetStartedFields() {
407    if (getStartedBtn != null && getStartedEmailField != null && getStartedEmailField.value.length > 7) {
408        getStartedBtn.disabled = false;
409        getStartedBtn.setAttribute("title", "Sign up to Okappy");
410    } else {
411        getStartedBtn.disabled = true;
412    }
413}
414function checkConnectFields() {
415    if (connectBtn != null && connectEmailField != null && connectEmailField.value.length > 7 && connectPwdField != null && connectPwdField.value.length > 3) {
416        connectBtn.disabled = false;
417        connectBtn.setAttribute("title", "Request connection on Okappy");
418        jQuery('#connectTooltip').fadeOut({
419            queue: false,
420            duration: 'fast'
421        });
422        jQuery('#connectTooltip').animate({
423            left: "540px"
424        }, 'slow');
425    } else {
426        signupBtn.disabled = true;
427        jQuery('#connectTooltip').fadeIn({
428            queue: false,
429            duration: 'fast'
430        });
431        jQuery('#connectTooltip').animate({
432            left: "520px"
433        }, 'slow');
434    }
435}
436function checkGetUserDetailsFields() {
437    var firstName = document.getElementById("request-details-firstName");
438    var lastName = document.getElementById("request-details-lastName");
439    var address = document.getElementById("request-details-address");
440    var postcode = document.getElementById("request-details-postcode");
441    if (firstName != null && lastName != null && address != null && postcode != null && requestBtn != null) {
442        requestBtn.disabled = false;
443        requestBtn.setAttribute("title", "Request username");
444    } else {
445        requestBtn.disabled = true;
446    }
447}
448function hideTooltips() {
449    if (signupTooltipDiv != null) {
450        jQuery('#signupTooltip').fadeOut({
451            queue: false,
452            duration: 'fast'
453        });
454        jQuery('#signupTooltip').animate({
455            left: "540px"
456        }, 'slow');
457    }
458    if (loginTooltipDiv != null) {
459        jQuery('#loginTooltip').fadeOut({
460            queue: false,
461            duration: 'fast'
462        });
463        jQuery('#loginTooltip').animate({
464            left: "540px"
465        }, 'slow');
466    }
467    if (connectTooltipDiv != null) {
468        jQuery('#connectTooltip').fadeOut({
469            queue: false,
470            duration: 'fast'
471        });
472        jQuery('#connectTooltip').animate({
473            left: "540px"
474        }, 'slow');
475    }
476}
477function checkPasswords() {
478    var passwordOK = false;
479    var confirmedPassword = jQuery('#confirmedPassword').val();
480    var newPassword = jQuery('#newPassword').val();
481    var match = newPassword == confirmedPassword;
482
483    if (newPassword.length > 0) {
484        if (match) {
485          passwordOK = true;
486          jQuery('#ok-reset-email-warning').hide();
487        }else{
488          jQuery('#ok-reset-email-warning').show();
489        }
490    }
491    return passwordOK;
492}
493function resetPassword() {
494    var username = jQuery('#username').val();
495    var userToken = getUrlParameter('userToken');
496
497    if (!checkPasswords()) return;
498
499    var newPassword = jQuery('#newPassword').val();
500    var jsonUrl = okappyAPIUrl+"/rest/resetUserPassword/" + username + "/" + newPassword + "/" + userToken;
501    var varUrl = "/login-to-okappy/?email=" + username;
502    if (username && userToken && newPassword) {
503        jQuery.getJSON(jsonUrl, function(data) {
504            if (data[0].status == "true") {
505                if (window.location.href.indexOf('reset-password')>= 0) {
506                    varUrl = "/login-to-okappy/?email=" + username;
507                } else {
508                    varUrl = "/account-set-up";
509                }
510            } else if (data[0].status == "Reset token has expired") {
511                varUrl = "/reset-password/link-expired";
512            } else {
513                console.log(data);
514            }
515        }).done(function() {
516            window.location = varUrl;
517        });
518    } else {
519        alert("Please enter your email and/or password.");
520    }
521}
522function getResetEmail() {
523    var loginEmail = jQuery('#loginEmail').val();
524    var jsonUrl = okappyAPIUrl+"/rest/getResetEmail/" + loginEmail;
525    var varUrl = "/reset-password/email-sent";
526    jQuery.getJSON(jsonUrl, function(data) {
527        if (data[0].status.indexOf("email sent") >= 0) {
528            varUrl = "/reset-password/email-sent";
529        } else if (data[0].status == "Email not found") {
530            varUrl = "/reset-password/email-not-found";
531        }
532    }).done(function() {
533        window.location = varUrl;
534    });
535}
536function createAccountFromForm() {
537    console.log("createAccountFromForm | ");
538    var firstName = jQuery(".fusion-form-34017 [name='firstName']").val();
539    var lastName = jQuery(".fusion-form-34017 [name='lastName']").val();
540    var userName = jQuery(".fusion-form-34017 [name='username']").val();
541    var password = jQuery(".fusion-form-34017 [name='password']").val();
542    var contactPhone = jQuery(".fusion-form-34017 [name='contactPhone']").val();
543    var companyName = "";
544    var referrer = "signupOkappy";
545    var plan = "standard";
546    var freeDays = 14;
547    var customerType = 8;
548    var subscribe = jQuery('#ok-signup-subscribe').is(":checked");
549    var customerSize = jQuery(".fusion-form-34017 [name='customerSize']").val();
550    var type = jQuery("#ok-signup-type").val();
551    var payload = {
552        'firstName': firstName,
553        'lastName': lastName,
554        'companyName': companyName,
555        'userName': userName,
556        'password': password,
557        'contactPhone': contactPhone,
558        'referrer': referrer,
559        'plan': plan,
560        'freeDays': freeDays,
561        'customerType': parseInt(customerType),
562        'type':type,
563        'subscribe': subscribe,
564        'customerSize': (customerSize===undefined||customerSize=="")?0:customerSize
565    };
566    createAccountWithPayload(payload, "desktop");
567}
568function createAccount(source) {
569    console.log("createAccount | source: " + source);
570    jQuery('#ok-signup-btn').html("Joining...");
571    var firstName = jQuery('#ok-signup-firstname').val();
572    var lastName = jQuery('#ok-signup-lastname').val();
573    var coName = jQuery('#ok-signup-companyname').val();
574    var userName = signupEmailField.value;
575    var password = jQuery('#ok-signup-pwd').val();
576    var cPhone = jQuery('#ook-signup-contactphone').val();
577    var customerType = jQuery("#ok-signup-companytype").val();
578    var customerSize = jQuery("#ok-signup-companysize").val();
579    var type = jQuery("#ok-signup-type").val();
580    var userRole = jQuery('#ok-single-signup-userRole').val();
581    var nadcCode = "";
582    var awsToken = "";
583    if (source == "mobile") {
584        firstName = jQuery('#ok-signup-firstname-mobile').val();
585        lastName = jQuery('#ok-signup-lastname-mobile').val();
586        coName = jQuery('#ok-signup-companyname-mobile').val();
587        userName = jQuery('#ok-single-signup-email-mobile').val();
588        password = jQuery('#ok-single-signup-pwd-mobile').val();
589        cPhone = jQuery('#ok-signup-contactphone-mobile').val();
590        customerType = jQuery("#ok-signup-companytype-mobile").val();
591        customerSize = jQuery("#ok-signup-companysize-mobile").val();
592        userRole = jQuery('#ok-single-signup-userRole-mobile').val();
593    } else if (source == "nadc") {
594        firstName = jQuery('#nadcSignup #ok-signup-firstname').val();
595        nadcCode = jQuery('#nadcSignup #ok-signup-nadcnumber').val();
596        userName = jQuery('#nadcSignup #ok-signup-email').val();
597        password = jQuery('#nadcSignup #ok-signup-pwd').val();
598        cPhone = jQuery('#nadcSignup #ok-signup-contactphone').val();
599    } else if (source == "aws") {
600        firstName = jQuery('#awsSignup #ok-signup-firstname').val();
601        awsToken = jQuery('#awsSignup #ok-signup-token').val();
602        userName = jQuery('#awsSignup #ok-signup-email').val();
603        password = jQuery('#awsSignup #ok-signup-pwd').val();
604        cPhone = null;
605        contactPhone = jQuery('#awsSignup #ok-signup-contactphone').val();
606    }
607    companyName = "";
608    var referrer = jQuery('#ok-signup-referrer').val();
609    var plan = jQuery('#ok-signup-plan').val();
610    var freeDays = jQuery('#ok-signup-freeDays').val();
611    var contactPhone = "";
612    var varUrl;
613    var firstNameGetStarted = jQuery('#ok-getstarted-firstname').val();
614    var userNameGetStarted = jQuery('#ok-getstarted-email').val();
615    var passwordGetStarted = jQuery('#ok-getstarted-pwd').val();
616    var subscribe = "Y";
617    if (window.location.pathname.indexOf("onboarding") >= 0) {
618        if (jQuery('#ok-signup-subscribe').is(":checked")) {
619            subscribe = "Y";
620        } else {
621            subscribe = "N";
622        }
623    }
624    _paq.push(['setUserId', userName]);
625    if (firstNameGetStarted != null) {
626        firstName = firstNameGetStarted.value;
627    }
628    if (userNameGetStarted != null) {
629        userName = userNameGetStarted.value;
630    }
631    if (passwordGetStarted != null) {
632        password = passwordGetStarted.value;
633    }
634    if (cPhone != null) {
635        contactPhone = cPhone.value;
636    }
637    var nameArray;
638    if (lastName == null || lastName.value == '') {
639        nameArray = firstName.split(' ');
640        firstName = nameArray[0];
641        if (nameArray.length > 0) {
642            for (var i = 1; i < nameArray.length; i++) {
643                if (i == 1) {
644                    lastName = nameArray[i];
645                } else {
646                    lastName += " " + nameArray[i];
647                }
648            }
649        }
650    }
651    if (password == null || password == "") {
652        password = "null";
653    }
654    if (lastName == null || lastName == "") {
655        lastName = "Okappy";
656    }
657    if (coName != null) {
658        companyName = coName;
659    } else {
660        companyName = firstName + " " + lastName;
661    }
662    referrer += '-' + window.location.pathname;
663    if (getUrlParameter('ad') != null) {
664        referrer += '-' + getUrlParameter('ad');
665    }
666    if (freeDays == null || freeDays == "") {
667        freeDays = 14;
668    }
669    freeDays = 7;
670    var payload = {
671        'firstName': firstName,
672        'lastName': lastName,
673        'companyName': companyName,
674        'userName': userName,
675        'password': password,
676        'contactPhone': contactPhone,
677        'referrer': referrer,
678        'plan': plan,
679        'freeDays': freeDays,
680        'customerType': parseInt(customerType),
681        'type': type,
682        'subscribe': subscribe,
683        'nadcCode': nadcCode,
684        'awsToken': awsToken,
685        'customerSize': (customerSize===undefined||customerSize=="")?0:customerSize
686    };
687    createAccountWithPayload(payload, source);
688}
689function createAccountWithPayload(payload, source) {
690    console.log("createAccountWithPayload | source: " + source);
691    var jsonString = JSON.stringify(payload);
692    var jsonUrl = okappyUrl+"/rest/createAccount";
693    var userName = payload.userName;
694    var password = payload.password;
695    var okappyDomain = "/";
696    var accountAlreadyCreated = false;
697    var varUrl = "/processlogin.jsp?username=" + userName + "&password=" + password;
698    _paq.push(['trackEvent', 'createAccount', 'signUp']);
699    jQuery.ajax({
700        method: 'POST',
701        url: jsonUrl,
702        contentType: 'text/plain',
703        dataType: 'text',
704        data: 'jsonData=' + encodeURIComponent(jsonString),
705        async: false,
706        success: function(data) {
707            var jsonObject = jQuery.parseJSON(data);
708            var status = jsonObject["status"];
709            if (status && status.indexOf("Account created") >= 0) {
710                okappyTrackEvent('button', 'createdAccount', 'signup');
711                varUrl = "/processlogin.jsp?username=" + userName + "&password=" + jsonObject["initialPassword"];
712                if (source == "mobile") {
713                    onboardingFlow("accountCreated", "mobile");
714                }
715            } else if (status == "Account has already been set up with this email") {
716                varUrl = "login/account-already-created?email=" + userName;
717                accountAlreadyCreated = true;
718            } else if (status == "Email domain not supported") {
719                varUrl = "login/email-not-supported?email=" + userName;
720                accountAlreadyCreated = true;
721            }
722            if (source != "mobile") {
723                if (!accountAlreadyCreated && (document.domain == 'www.okappy.com' || document.domain == 'dashboard.okappy.com') || document.domain == okappyUrl) {
724                    okappyDomain = okappyUrl;
725                }
726                window.location.href = okappyDomain + varUrl;
727            }
728        },
729        error: function(data) {
730            okappyTrackEvent('button', 'accountCreationError', 'signup');
731            varUrl = "/processlogin.jsp?username=" + userName + "&password=" + password;
732            if (source != "mobile") {
733                if (!accountAlreadyCreated && (document.domain == 'www.okappy.com' || document.domain == 'dashboard.okappy.com') || document.domain == okappyUrl) {
734                    okappyDomain = okappyUrl;
735                }
736                window.location.href = okappyDomain + varUrl;
737            }
738        }
739    });
740}
741function createAndConnect() {
742    var varUrl;
743    var firstNameConnect = document.getElementById('ok-connect-firstname').value;
744    var lastNameConnect = document.getElementById('ok-connect-lastname').value;
745    var companyNameConnect = document.getElementById('ok-connect-companyname').value;
746    var userNameConnect = document.getElementById('ok-connect-email').value;
747    console.log("createAndConnect | userNameConnect: " + userNameConnect);
748    var passwordConnect = document.getElementById('ok-connect-pwd').value;
749    var referrerConnect = document.getElementById('ok-connect-referrer').value;
750    var planConnect = document.getElementById('ok-connect-plan').value;
751    var freeDaysConnect = document.getElementById('ok-connect-freeDays').value;
752    var connectTo = document.getElementById('ok-connect-connectTo').value;
753    var nameArray;
754    if (lastNameConnect == null || lastNameConnect.value == '') {
755        nameArray = firstNameConnect.split(' ');
756        firstNameConnect = nameArray[0];
757        if (nameArray.length > 0) {
758            for (var i = 1; i < nameArray.length; i++) {
759                if (i == 1) {
760                    lastNameConnect = nameArray[i];
761                } else {
762                    lastNameConnect += " " + nameArray[i];
763                }
764            }
765        }
766    }
767    if (passwordConnect == null || passwordConnect == "") {
768        passwordConnect = "null";
769    }
770    if (lastNameConnect == null || lastNameConnect == "") {
771        lastNameConnect = "Okappy";
772    }
773    if (companyNameConnect == null || companyNameConnect == "") {
774        companyNameConnect = firstNameConnect + " " + lastNameConnect;
775    }
776    var connectAsCustomer = "Y";
777    var connectAsSubcontractor = "N";
778    var jsonUrl = okappyUrl+"/rest/createAndConnect/" + firstNameConnect + "/" + lastNameConnect + "/" + companyNameConnect + "/" + connectTo + "/" + userNameConnect + "/" + passwordConnect + "/" + referrerConnect + "/" + planConnect + "/" + freeDaysConnect + "/" + connectAsCustomer + "/" 
778+ connectAsSubcontractor;
779    console.log("createAndConnect | jsonUrl: " + jsonUrl);
780    okappyTrackEvent('button', 'connectAccount', 'signup');
781    jQuery.ajax({
782        type: 'GET',
783        url: jsonUrl,
784        async: false,
785        success: function(data) {
786            if (data[0].status.indexOf("Account created") >= 0) {
787                varUrl = okappyUrl+"/processlogin.jsp?username=" + userNameConnect + "&password=" + data[0].initialPassword;
788            } else if (data[0].status == "Account has already been set up with this email") {
789                varUrl = "https://www.okappy.com/login/account-already-created/?email=" + userNameConnect;
790            }
791        },
792        error: function(data) {
793            console.log('error creating account error ' + data.responseText + ' and URL ' + jsonUrl);
794            varUrl = okappyUrl+"/processlogin.jsp?username=" + userNameConnect + "&password=" + passwordConnect;
795        }
796    })
797    window.location.href = varUrl;
798}
799function requestUserName() {
800    var firstName = document.getElementById("request-details-firstName");
801    var lastName = document.getElementById("request-details-lastName");
802    var address = document.getElementById("request-details-address");
803    var postcode = document.getElementById("request-details-postcode");
804    var varUrl = "/failed-login?response=noAccountDetailsFound&email=";
805    if (firstName != null && lastName != null && address != null && postcode != null) {
806        var jsonUrl = okappyUrl+"/rest/getAccountDetailsFromUserDetails/" + firstName.value + "/" + lastName.value + "/" + address.value + "/" + postcode.value;
807        jQuery.getJSON(jsonUrl, function(data) {
808            if (data.length > 0) {
809                varUrl = "/login/?referringPage=welcome&email=" + data[0].UserName;
810            } else {
811                varUrl = "/failed-login/?response=noAccountDetailsFound";
812            }
813        }).done(function() {
814            window.location = varUrl;
815        });
816    } else {
817        varUrl = "/failed-login/?response=notEnoughDetails";
818        window.location = varUrl;
819    }
820}
821function calculateSavingsChange() {
822    jQuery('#industry-type').change(function() {
823        calculateSavings()
824    });
825    jQuery('#weekly-jobs').change(function() {
826        calculateSavings()
827    });
828    jQuery('#number-employees').change(function() {
829        calculateSavings()
830    });
831    jQuery('#jobs-value').change(function() {
832        calculateSavings()
833    });
834}
835function calculateSavings() {
836    var industryType = jQuery('#industry-type option:selected').val();
837    var weeklyJobs = jQuery('#weekly-jobs option:selected').val();
838    var numberEmployees = jQuery('#number-employees option:selected').val();
839    var jobsValue = jQuery('#jobs-value option:selected').val();
840    if (industryType != "" && weeklyJobs != "" && numberEmployees != "" && jobsValue != "") {
841        jQuery('#more-revenue').text('200,000');
842        jQuery('#less-costs').text('100,000');
843        jQuery('#more-cashflow').text('3,000,000');
844    }
845}
846function onboardingStart(source) {
847    if (source == "mobile") {
848        var emailUserMobile = jQuery('#single-email-signup-mobile').val();
849        if (emailUserMobile == null || emailUserMobile == "") {
850            alert('Please enter a valid email to get started.');
851        } else if (emailUserMobile.indexOf("@") < 0) {
852            alert('Your email ' + emailUserMobile + ' was not valid, please check and try again.');
853        } else {
854            _paq.push(['setUserId', emailUserMobile]);
855            window.open('/onboarding-mobile?email=' + emailUserMobile, '_self');
856        }
857    } else {
858        var emailUsed = jQuery('#single-email-signup').val();
859        if (source == 'desktop-wt') {
860            emailUsed = jQuery('#wt-single-email-signup').val();
861        } else if (source == 'desktop-nb') {
862            emailUsed = jQuery('#ok-signup-email').val();
863        }
864        if (emailUsed == null || emailUsed == "") {
865            emailUsed = jQuery('#single-email-signup-secondBtn').val();
866            if (emailUsed == null || emailUsed == "") {
867                emailUsed = jQuery('#single-email-signup-thirdBtn').val();
868            }
869        }
870        if (emailUsed == null || emailUsed == "") {
871            alert('Please enter a valid email to get started.');
872        } else if (emailUsed.indexOf("@") < 0) {
873            alert('Your email ' + emailUsed + ' was not valid, please check and try again.');
874        } else {
875            _paq.push(['setUserId', emailUsed]);
876            window.open('/onboarding/?email=' + emailUsed, '_self');
877        }
878    }
879}
880function onboardingFlow(step, source) {
881    if (source == "mobile") {
882        if (step == "step1") {
883            sendAnalytics("single sign up onboarding mobile", "step1");
884            if (getUrlParameter('email')) {
885                jQuery('#ok-single-signup-email-mobile').val(getUrlParameter('email'));
886            }
887            jQuery('#mobile-onboarding-step1-container').show();
888            jQuery('#mobile-onboarding-step2-container').hide();
889            jQuery('#mobile-onboarding-step3-container').hide();
890            jQuery('#mobile-onboarding-step4-container').hide();
891            jQuery('#mobile-onboarding-step5-container').hide();
892        } else if (step == "step2") {
893            sendAnalytics("single sign up onboarding mobile", "step2");
894            jQuery('#mobile-onboarding-step1-container').hide();
895            jQuery('#mobile-onboarding-step2-container').show();
896            jQuery('#mobile-onboarding-step3-container').hide();
897            jQuery('#mobile-onboarding-step4-container').hide();
898            jQuery('#mobile-onboarding-step5-container').hide();
899        } else if (step == "step3") {
900            if (jQuery('#ok-signup-firstname-mobile').val() != "" && jQuery('#ok-signup-companyname-mobile').val() != "" && jQuery('#ok-signup-companytype-mobile option:selected').text() != "Select Industry" && jQuery('#ok-signup-companysize-mobile option:selected').text() != "Company Size") {
901                sendAnalytics("single sign up onboarding mobile", "step3");
902                sendAnalytics("single sign up onboarding mobile type", jQuery('#ok-signup-companytype-mobile option:selected').text());
903                sendAnalytics("single sign up onboarding mobile size", jQuery('#ok-signup-companysize-mobile option:selected').text());
904                jQuery('#mobile-onboarding-step1-container').hide();
905                jQuery('#mobile-onboarding-step2-container').hide();
906                jQuery('#mobile-onboarding-step3-container').show();
907                jQuery('#mobile-onboarding-step4-container').hide();
908                jQuery('#mobile-onboarding-step5-container').hide();
909            } else {
910                alert("Please complete all fields.1");
911            }
912        } else if (step == "createAccount") {
913            if (jQuery('#ok-single-signup-pwd-mobile').val() != "" && jQuery('#ok-signup-contactphone-mobile').val() != "" && jQuery('#ok-single-signup-userRole-mobile option:selected').text() != "Which one of these best describes your role?") {
914                sendAnalytics("single sign up onboarding mobile", "step4");
915                sendAnalytics("single sign up onboarding mobile role", jQuery('#ok-single-signup-userRole-mobile option:selected').text());
916                createAccount("mobile");
917            } else {
918                alert("Please complete all fields.2");
919            }
920        } else if (step == "accountCreated") {
921            sendAnalytics("single sign up onboarding mobile", "step5");
922            jQuery('#ok-single-signup-mobile-continue-to-accountCreated').attr('href', 'https://www.okappy.com/mobile/index.jsp?referringPage=welcome&email=' + jQuery('#ok-single-signup-email-mobile').val());
923            jQuery('#mobile-onboarding-step1-container').hide();
924            jQuery('#mobile-onboarding-step2-container').hide();
925            jQuery('#mobile-onboarding-step3-container').hide();
926            jQuery('#mobile-onboarding-step4-container').show();
927            jQuery('#mobile-onboarding-step5-container').hide();
928        }
929    } else {
930        if (step == "step1") {
931            sendAnalytics("single sign up onboarding", "step1");
932            if (getUrlParameter('email')) {
933                jQuery('#ok-single-signup-email').val(getUrlParameter('email'));
934            }
935            jQuery('#onboarding-step1-container').show();
936            jQuery('#onboarding-step2-container').hide();
937            jQuery('#onboarding-step3-container').hide();
938        } else if (step == "step2") {
939            sendAnalytics("single sign up onboarding", "step2");
940            jQuery('#onboarding-step1-container').hide();
941            jQuery('#onboarding-step2-container').show();
942            jQuery('#onboarding-step3-container').hide();
943        } else if (step == "step3") {
944            if (jQuery('#ok-signup-firstname').val() != "" && jQuery('#ok-signup-companyname').val() != "" && jQuery('#ok-signup-companytype option:selected').text() != "Select Industry" && jQuery('#ok-signup-companysize option:selected').text() != "Company Size") {
945                sendAnalytics("single sign up onboarding", "step3");
946                sendAnalytics("single sign up onboarding type", jQuery('#ok-signup-companytype option:selected').text());
947                sendAnalytics("single sign up onboarding size", jQuery('#ok-signup-companysize option:selected').text());
948                jQuery('#onboarding-step1-container').hide();
949                jQuery('#onboarding-step2-container').hide();
950                jQuery('#onboarding-step3-container').show();
951            } else {
952                alert("Please complete all fields.3");
953            }
954        } else if (step == "createAccount") {
955            if (jQuery('#ok-single-signup-pwd').val != "" && jQuery('#ok-signup-contactphone').val() != "" && jQuery('#ok-single-signup-userRole option:selected').text() != "Which one of these best describes your role?") {
956                sendAnalytics("single sign up onboarding", "step4");
957                sendAnalytics("single sign up onboarding role", jQuery('#ok-single-signup-userRole option:selected').text());
958                signupEmailField.value = jQuery('#ok-single-signup-email').val();
959                createAccount("desktop");
960            } else {
961                alert("Please complete all fields.4");
962            }
963        }
964    }
965}
966function sendAnalytics(event, action) {
967    if (document.domain == 'www.okappy.com' || document.domain == 'dashboard.okappy.com' || document.domain == okappyUrl) {
968        okappyTrackEvent('webapp', event, action);
969        if (typeof _paq !== 'undefined' && _paq.push) {
970            _paq.push(['trackEvent', event, action]);
971        }
972    }
973}
974window.addEventListener('error', function(e) {
975    okappyTrackEvent('JavaScript Error', e.message, e.filename + ':  ' + e.lineno);
976});
977jQuery(document).ajaxError(function(e, request, settings) {
978    okappyTrackEvent('Ajax Error', settings.url, e.result);
979});
980if (localStorage.varUserId) {
981    Chatra('hide');
982}
983
984function turnstilesCallback(token){
985  console.log(`Cloudflare challenge success token: `+token);
986  const siteKey = '0x4AAAAAAABq10hB1Iqg3Fju';
987  fetch('https://www.cloudflare.com/api/v4/siteverify', {
988    method: 'POST',
989    headers: {
990      'Content-Type': 'application/json',
991      },
992      body: JSON.stringify({
993        token: token,
994        site_key: siteKey
995      })
996    })
997    .then(response => response.json())
998    .then(data => {
999      if (data.success) {
1000        cloudflareToken = true;
1001      }
1002  });
1003}
1004function submit_form() {
1005    var formSource = window.location.pathname;
1006    jQuery('#WebToLeadForm #refered_by').val(formSource);
1007    check_webtolead_fields();
1008    var spanColor = 'white';
1009    if(jQuery('#two-column-signup').css('background-color')!="rgb(239, 91, 53)"){
1010      spanColor = 'red';
1011    }
1012
1013    if(cloudflareToken==false) {
1014      document.getElementById('captcha').innerHTML="<span style='color:"+spanColor+";'>Please complete the captcha</span>";
1015      event.preventDefault();
1016    } else if (
1017          (formSource.indexOf('demo')>=0 ||
1018          formSource.indexOf('contact')>=0) && (
1019          jQuery('#first_name').val()=="" ||
1020          jQuery('#last_name').val()=="" ||
1021          jQuery('#phone_work').val()=="" ||
1022          jQuery('#email1').val()=="" ||
1023          jQuery('#account_name').val()=="" ||
1024          jQuery('#noemployees_c').val()==""
1025        )
1026      ) {
1027      document.getElementById('captcha').innerHTML="<span style='color:"+spanColor+";margin-left:-20px;'>Please complete all fields</span>";
1028      event.preventDefault();
1029    } else {
1030      okappyTrackEvent("WebToLeadForm","submit",formSource);
1031      jQuery('#WebToLeadForm').attr('action', "https://crm.okappy.com/index.php?entryPoint=WebToPersonCapture").submit();
1032      return true;
1033    }
1034}
1035
1036function check_webtolead_fields() {
1037	if (document.getElementById('bool_id') != null) {
1038    	var reqs = document.getElementById('bool_id').value;
1039        bools = reqs.substring(0, reqs.lastIndexOf(';'));
1040        var bool_fields = new Array();
1041        var bool_fields = bools.split(';');
1042        nbr_fields = bool_fields.length;
1043        for (var i = 0; i < nbr_fields; i++) {
1044        	if (document.getElementById(bool_fields[i]).value == 'on') {
1045            	document.getElementById(bool_fields[i]).value = 1;
1046            } else {
1047            	document.getElementById(bool_fields[i]).value = 0;
1048            }
1049        }
1050    }
1051}
1052
1053function useCohere(){
1054		!function(){var e=window.Cohere=window.Cohere||[];if(e.invoked)console.error("Tried to load Cohere twice");else{e.invoked=!0,e.snippet="0.2",e.methods=["init","identify","stop","showCode"],e.methods.forEach(function(o){e[o]=function(){var t=Array.prototype.slice.call(arguments);t.unshift(o),e.push(t)}});var o=document.createElement("script");o.async=!0,o.src="https://static.cohere.so/main.js",o.crossOrigin="anonymous";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(o,t)}}();
1055		window.Cohere.init("doW0DCjJQCE973fao3-JKygB", {disableRecordings:false});
1056}

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.