PageSourceSearch

https://jobsdriver.eu/wp-content/plugins/wp-jobsearch/modules/logi…/js/login-registration.js?ver=7.1.2

js jobsdriver.eu collected 2026-10-06 08:52:40 UTC 35,938 bytes, 733 lines download raw bytes

1/* The 6-digit activation OTP builder (window.jobsearchOtpFieldHtml) and its
2 * delegated controller live in the globally-enqueued js/jobsearch-plugin.js,
3 * so they're available on every front-end page where an activation field can
4 * appear (login popup, registration, apply-job). Don't redefine them here. */
5jQuery(document).ready(function ($) {
6
7    // Login Signup Password Show Hide
8    jQuery('input[name="pt_user_pass"]').siblings('.jobsearch-user-showpass').on('click', function(e){
9        e.preventDefault();
10        var $passwordField = jQuery(this).siblings('input[name="pt_user_pass"]');
11        var fieldType = $passwordField.attr('type');
12        if (fieldType === 'password') {
13            $passwordField.attr('type', 'text');
14            jQuery(this).addClass('jobsearch-user-hidepass');
15        } else {
16            $passwordField.attr('type', 'password');
17            jQuery(this).removeClass('jobsearch-user-hidepass');
18        }
19    });
20
21    // Function to toggle password visibility for confirmation password field
22    jQuery('input[name="pt_user_cpass"]').siblings('.jobsearch-user-showpass').on('click', function(e){
23        e.preventDefault();
24        var $passwordField = jQuery(this).siblings('input[name="pt_user_cpass"]');
25        var fieldType = $passwordField.attr('type');
26        if (fieldType === 'password') {
27            $passwordField.attr('type', 'text');
28            jQuery(this).addClass('jobsearch-user-hidepass');
29        } else {
30            $passwordField.attr('type', 'password');
31            jQuery(this).removeClass('jobsearch-user-hidepass');
32        }
33    });
34
35    // Check if password field has a value on page load
36    jQuery('input[name="pt_user_pass"], input[name="pt_user_cpass"]').on('keyup', function() {
37        var $passwordField = jQuery(this);
38        var $icon = $passwordField.siblings('.jobsearch-user-showpass');
39        if ($passwordField.val().trim() !== '') {
40            $icon.show();
41        } else {
42            $icon.hide();
43        }
44    }).trigger('keyup');
45
46
47
48
49
50    // demo login
51    $(document).on('click', '.jobsearch-demo-login-btn', function () {
52        var _this = jQuery(this);
53        var user_type = 'candidate';
54        var icon_class = 'jobsearch-icon jobsearch-user';
55        if (_this.hasClass('employer-login-btn')) {
56            user_type = 'employer';
57            icon_class = 'jobsearch-icon jobsearch-building';
58        }
59
60        _this.find('i').attr('class', 'fa fa-refresh fa-spin');
61
62        // The page nonce is baked into the HTML, so it can be STALE when the page
63        // is served from a cache (LiteSpeed etc.) -> the login fails with
64        // "You are not allowed to do this." Fetch a fresh nonce from admin-ajax
65        // (never cached) first, then perform the demo login with it.
66        $.ajax({
67            url: jobsearch_login_register_common_vars.ajax_url,
68            method: "POST",
69            data: { 'action': 'jobsearch_demo_login_nonce' },
70            dataType: "json"
71        }).done(function (nres) {
72            jobsearch_do_demo_login((nres && nres.nonce) ? nres.nonce : jobsearch_comon_script_vars.nonce);
73        }).fail(function () {
74            jobsearch_do_demo_login(jobsearch_comon_script_vars.nonce);
75        });
76
77        function jobsearch_do_demo_login(nonce) {
78            var request = $.ajax({
79                url: jobsearch_login_register_common_vars.ajax_url,
80                method: "POST",
81                data: {
82                    'user_type': user_type,
83                    '_nonce': nonce,
84                    'action': 'jobsearch_demo_user_login',
85                },
86                dataType: "json"
87            });
88            request.done(function (response) {
89                // Success = no error flag. Redirect to the dashboard when provided,
90                // otherwise reload (the auth cookie is already set).
91                if (response && (typeof response.error === 'undefined' || response.error === '0' || response.error === 0)) {
92                    if (response.redirect) {
93                        window.location.href = response.redirect;
94                    } else {
95                        window.location.reload(true);
96                    }
97                    return false;
98                }
99                // Failure: restore the icon and SHOW the server message instead of
100                // silently reloading (which previously hid "disabled"/"not allowed").
101                _this.find('i').attr('class', icon_class);
102                var msg = (response && response.msg) ? response.msg : 'Demo login failed. Please try again.';
103                if (typeof jobsearchAlert === 'function') {
104                    jobsearchAlert('error', msg);
105                } else {
106                    window.alert(msg);
107                }
108            });
109
110            request.fail(function (jqXHR, textStatus) {
111                _this.find('i').attr('class', icon_class);
112                if (typeof jobsearchAlert === 'function') {
113                    jobsearchAlert('error', 'Demo login request failed. Please try again.');
114                }
115            });
116        }
117    });
118
119    // Post login form
120    $(document).on('click', '.jobsearch-login-submit-btn', function (e) {
121        e.preventDefault();
122        var _this = $(this),
123                this_id = $(this).data('id'),
124                login_form = $('#login-form-' + this_id),
125                msg_con = login_form.find('.login-reg-errors'),
126                loader_con = login_form.find('.form-loader');
127        var button = $(this).find('button');
128        var btn_html = button.html();
129        msg_con.hide();
130        _this.addClass('disabled-btn');
131        _this.attr('disabled', 'disabled');
132        //button.html('loading');
133        loader_con.show();
134        loader_con.html('<i class="fa fa-refresh fa-spin"></i>');
135        $.post(jobsearch_login_register_common_vars.ajax_url, login_form.serialize(), function (data) {
136
137            var obj = $.parseJSON(data);
138            var is_not_active = (typeof obj.not_active !== 'undefined' && obj.not_active == '1');
139            var alert_type = (typeof obj.error !== 'undefined' && obj.error) ? 'error' : (is_not_active ? 'info' : 'success');
140            jobsearchAlert(alert_type, obj.message);
141
142            loader_con.hide();
143            loader_con.html('');
144            _this.removeClass('disabled-btn');
145            _this.removeAttr('disabled');
146            msg_con.slideDown('slow');
147
148            // Account not active: surface the activation popup automatically (prefilled email).
149            if (is_not_active) {
150                var actv_popup = jQuery('#JobSearchModalAccountActivationForm');
151                var actv_email = (typeof obj.user_email !== 'undefined' && obj.user_email) ? obj.user_email : login_form.find('input[name="pt_user_login"]').val();
152                actv_popup.find('input[name="user_email"]').val(actv_email).attr('value', actv_email);
153                jQuery('.jobsearch-modal').removeClass('fade-in').addClass('fade');
154                jQuery('body').removeClass('jobsearch-modal-active');
155                jobsearch_modal_popup_open('JobSearchModalAccountActivationForm');
156            }
157
158            if (obj.error == false) {
159                // $('#pt-user-modal .modal-dialog').addClass('loading');
160                //window.location.reload(true);
161                if (typeof obj.redirect !== 'undefined') {
162                    window.location.href = obj.redirect;
163                }
164                button.hide();
165            }
166
167            button.html(btn_html);
168        });
169    });
170    // end login post
171
172    // Reset Password
173    // Switch forms login/register
174    $(document).on('click', '.lost-password', function (e) {
175        e.preventDefault();
176        var this_id = $(this).data('id');
177        $('.login-form-' + this_id).slideUp();
178        $('.reset-password-' + this_id).slideDown();
179    });
180    $(document).on('click', '.login-form-btn', function (e) {
181        e.preventDefault();
182        var this_id = $(this).data('id');
183        $('.login-form-' + this_id).slideDown();
184        $('.reset-password-' + this_id).slideUp();
185    });
186    $(document).on('click', '.register-form', function (e) {
187        e.preventDefault();
188        var login_form = jQuery('#JobSearchModalLogin').find('form[id^="login-form-"]');
189        var rgistr_form = jQuery('#JobSearchModalLogin').find('form[id^="registration-form-"]');
190        var this_id = $(this).data('id');
191        $('.reset-password-' + this_id).slideUp();
192        $('.register-' + this_id).slideDown();
193        $('.login-form-' + this_id).slideUp();
194        
195        // for redirect url
196        var redrct_hiden_field = login_form.find('input[name="jobsearch_wredirct_url"]');
197        if (redrct_hiden_field.length > 0) {
198            var redrct_hiden_val = redrct_hiden_field.val();
199            rgistr_form.append('<input type="hidden" name="jobsearch_wredirct_url" value="' + redrct_hiden_val + '">');
200            if (rgistr_form.find('input[name="jobsearch_job_id"]').length == 0) {
201                var form_job_id = rgistr_form.attr('data-jid');
202                rgistr_form.append('<input type="hidden" name="jobsearch_job_id" value="' + form_job_id + '">');
203            }
204            redrct_hiden_field.remove();
205        }
206
207        // for packages
208        var pkginfo_hiden_field = login_form.find('input[name="extra_login_params"]');
209        if (pkginfo_hiden_field.length > 0) {
210            var pkginfo_hiden_val = pkginfo_hiden_field.val();
211            rgistr_form.append('<input type="hidden" name="extra_login_params" value="' + pkginfo_hiden_val + '">');
212            pkginfo_hiden_field.remove();
213        }
214    });
215    $(document).on('click', '.reg-tologin-btn', function (e) {
216        e.preventDefault();
217        var login_form = jQuery('#JobSearchModalLogin').find('form[id^="login-form-"]');
218        var rgistr_form = jQuery('#JobSearchModalLogin').find('form[id^="registration-form-"]');
219        var this_id = $(this).data('id');
220        $('.reset-password-' + this_id).slideUp();
221        $('.register-' + this_id).slideUp();
222        $('.login-form-' + this_id).slideDown();
223        
224        // for redirect url
225        var redrct_hiden_field = rgistr_form.find('input[name="jobsearch_wredirct_url"]');
226        if (redrct_hiden_field.length > 0) {
227            var redrct_hiden_val = redrct_hiden_field.val();
228            login_form.append('<input type="hidden" name="jobsearch_wredirct_url" value="' + redrct_hiden_val + '">');
229            redrct_hiden_field.remove();
230        }
231
232        // for packages
233        var pkginfo_hiden_field = rgistr_form.find('input[name="extra_login_params"]');
234        if (pkginfo_hiden_field.length > 0) {
235            var pkginfo_hiden_val = pkginfo_hiden_field.val();
236            login_form.append('<input type="hidden" name="extra_login_params" value="' + pkginfo_hiden_val + '">');
237            pkginfo_hiden_field.remove();
238        }
239    });
240
241    $(document).on('click', '.user-type-chose-btn', function () {
242        var this_type = $(this).attr('data-type');
243        if (this_type != 'jobsearch_employer' && this_type != 'jobsearch_candidate') {
244            $('.user-candidate-spec-field').slideUp();
245            $('.user-employer-spec-field').slideUp();
246            $('.employer-cus-field').slideUp();
247            $('.candidate-cus-field').slideUp();
248            
249            $('.' + this_type + '-spec-field').slideDown();
250        } else {
251            if (this_type == 'jobsearch_employer') {
252                $('.user-candidate-spec-field').slideUp();
253                $('.user-employer-spec-field').slideDown();
254                $('.employer-cus-field').slideDown();
255                $('.candidate-cus-field').slideUp();
256                
257                $('.jobsearch_recruiter-spec-field').slideUp();
258                
259                $('.jobsearch-register-form').find('.jobsearch-box-title-sub').slideUp();
260                $('.jobsearch-register-form').find('.jobsearch-login-media').slideUp();
261            } else {
262                $('.user-candidate-spec-field').slideDown();
263                $('.user-employer-spec-field').slideUp();
264                $('.employer-cus-field').slide
264Up();
265                $('.candidate-cus-field').slideDown();
266                
267                $('.jobsearch_recruiter-spec-field').slideUp();
268                
269                $('.jobsearch-register-form').find('.jobsearch-box-title-sub').slideDown();
270                $('.jobsearch-register-form').find('.jobsearch-login-media').slideDown();
271            }
272        }
273        $(this).parents('.jobsearch-user-type-choose').find('li').removeClass('active');
274        $(this).parent('li').addClass('active');
275        $(this).parents('form').find('input[name="pt_user_role"]').val(this_type);
276    });
277
278    $(document).on('change', 'input[type="radio"][name="pt_user_role"], select[name="pt_user_role"]', function () {
279        var this_type = $(this).val();
280        if (this_type != 'jobsearch_employer' && this_type != 'jobsearch_candidate') {
281            $('.user-candidate-spec-field').slideUp();
282            $('.user-employer-spec-field').slideUp();
283            $('.employer-cus-field').slideUp();
284            $('.candidate-cus-field').slide
284Up();
285            
286            $('.' + this_type + '-spec-field').slideDown();
287        } else {
288            if (this_type == 'jobsearch_employer') {
289                $('.user-candidate-spec-field').slideUp();
290                $('.user-employer-spec-field').slideDown();
291                $('.employer-cus-field').slideDown();
292                $('.candidate-cus-field').slideUp();
293                $('.jobsearch_recruiter-spec-field').slideUp();
294            } else {
295                $('.user-candidate-spec-field').slideDown();
296                $('.user-employer-spec-field').slideUp();
297                $('.employer-cus-field').slideUp();
298                $('.candidate-cus-field').slideDown();
299                $('.jobsearch_recruiter-spec-field').slideUp();
300            }
301        }
302    });
303
304    $(document).on('click', '.jobsearch-reset-password-submit-btn', function (e) {
305        e.preventDefault();
306        var _this = $(this),
307                this_id = $(this).data('id'),
308                reset_password_form = $('#reset-password-form-' + this_id),
309                msg_con = reset_password_form.find('.reset-password-errors'),
310                loader_con = reset_password_form.find('.form-loader');
311        var button = $(this).find('button');
312        var btn_html = button.html();
313        //button.html('loading');
314        msg_con.hide();
315        _this.addClass('disabled-btn');
316        _this.attr('disabled', 'disabled');
317        loader_con.show();
318        loader_con.html('<i class="fa fa-refresh fa-spin"></i>');
319        
320        var reset_password_form_o = $('#reset-password-form-' + this_id)[0];
321        var formData = new FormData(reset_password_form_o);
322        formData.append('_nonce', jobsearch_comon_script_vars.nonce);
323        var request = $.ajax({
324            url: jobsearch_login_register_common_vars.ajax_url,
325            method: "POST",
326            processData: false,
327            contentType: false,
328            data: formData,
329            dataType: "json"
330        });
331        request.done(function (response) {
332            jobsearchAlert((typeof response.error !== 'undefined' && response.error) ? 'error' : 'success', response.message);
333
334            msg_con.slideDown('slow');
335
336            _this.removeClass('disabled-btn');
337            _this.removeAttr('disabled');
338
339            loader_con.hide();
340            loader_con.html('');
341
342            button.html(btn_html);
343        });
344        request.fail(function (jqXHR, textStatus) {
345            _this.removeClass('disabled-btn');
346            _this.removeAttr('disabled');
347            loader_con.hide();
348            loader_con.html('');
349        });
350    });
351    // end reset password
352
353    // Post register form
354    $(document).on('click', '.jobsearch-register-submit-btn', function (e) {
355        e.preventDefault();
356        var _this = $(this),
357                this_id = $(this).data('id'),
358                registration_form = $('#registration-form-' + this_id),
359                msg_con = registration_form.find('.registration-errors'),
360                loader_con = registration_form.find('.form-loader');
361               
362        var reg_user_role = 'jobsearch_candidate';
363        var user_role_con = registration_form.find('input[name=pt_user_role]');
364        if (user_role_con.attr('type') == 'radio') {
365            reg_user_role = registration_form.find('input[name=pt_user_role]:checked').val();
366        } else {
367            reg_user_role = user_role_con.val();
368        }
369
370        if (registration_form.find('input[class="jobsearch-check-userph-check"]').length > 0) {
371            if (typeof confirmationResult === 'undefined') {
372                return false;
373            }
374        }
375        
376        var _form_error = false;
377        
378        var form_req_fields = registration_form.find('.jobsearch-regrequire-field');
379        if (form_req_fields.length > 0) {
380            jQuery.each(form_req_fields, function () {
381                var _this_obj = jQuery(this);
382                if (typeof _this_obj.attr('name') !== undefined && _this_obj.attr('name') != '' && _this_obj.attr('name') != 'undefined' && !_this_obj.hasClass('selectize-control') && !_this_obj.hasClass('selectize-dropdown')) {
383                    var field_type = 'text';
384                    if (_this_obj.parent('.jobsearch-profile-select').length > 0) {
385                        field_type = 'select';
386                    }
387                    if (_this_obj.attr('type') == 'checkbox' || _this_obj.attr('type') == 'radio') {
388                        var chek_field_name = _this_obj.attr('name');
389                        if ((jQuery('input[name="' + chek_field_name + '"]:checked').length) <= 0) {
390                            _form_error = true;
391                            _this_obj.parents('.jobsearch-cusfield-checkbox').css({"border": "1p
391x solid #ff0000"});
392                        } else {
393                            _this_obj.parents('.jobsearch-cusfield-checkbox').css({"border": "none"});
394                        }
395                    } else {
396                        if (_this_obj.val() == '' || _this_obj.val() === null) {
397                            if (field_type == 'select') {
398                                if (_this_obj.parents('li').is(':visible')) {
399                                    _form_error = true;
400                                    _this_obj.parent('.jobsearch-profile-select').css({"border": "1px solid #ff0000"});
401                                }
402                            } else {
403                                if (_this_obj.parents('li').is(':visible')) {
404                                    _form_error = true;
405                                    _this_obj.css({"border": "1px solid #ff0000"});
406                                }
407                            }
408                        } else {
409                            if (field_type == 'select') {
410                                _this_obj.parent('.jobsearch-profile-select').css({"border": "none"});
411                            } else {
412                                if (!_this_obj.hasClass('phone-input-error')) {
413                                    _this_obj.css({"border": "1px solid #efefef"});
414                                }
415                            }
416                        }
417                    }
418                }
419            });
420        }
421        var req_li_fields = registration_form.find('.regrequire-field-li');
422        if (req_li_fields.length > 0) {
423            jQuery.each(req_li_fields, function () {
424                var _this_li = jQuery(this);
425                var _this_obj = _this_li.find('input[type="text"],select');
426                if (typeof _this_obj.attr('name') !== undefined && _this_obj.attr('name') != '' && _this_obj.attr('name') != 'undefined' && !_this_obj.hasClass('selectize-control') && !_this_obj.hasClass('selectize-dropdown')) {
427                    var field_type = 'text';
428                    if (_this_obj.parent('.jobsearch-profile-select').length > 0) {
429                        field_type = 'select';
430                    }
431                    if (_this_obj.val() == '' || _this_obj.val() === null) {
432                        if (field_type == 'select') {
433                            if (_this_obj.parents('li').is(':visible')) {
434                                _form_error = true;
435                                _this_obj.parent('.jobsearch-profile-select').css({"border": "1px solid #ff0000"});
436                            }
437                        } else {
438                            if (_this_obj.parents('li').is(':visible')) {
439                                _form_error = true;
440                                _this_obj.css({"border": "1px solid #ff0000"});
441                            }
442                        }
443                    } else {
444                        if (field_type == 'select') {
445                            _this_obj.parent('.jobsearch-profile-select').css({"border": "none"});
446                        } else {
447                            if (!_this_obj.hasClass('phone-input-error')) {
448                                _this_obj.css({"border": "1px solid #efefef"});
449                            }
450                        }
451                    }
452                }
453            });
454        }
455        
456        var user_email = registration_form.find('input[name=pt_user_email]');
457        
458        var cv_file = registration_form.find('input[name="candidate_cv_file"]');
459        
460        if (cv_file.length > 0 && cv_file.val() == '' && cv_file.hasClass('cv_is_req') && reg_user_role == 'jobsearch_candidate') {
461            _form_error = true;
462            jQuery('#jobsearch-upload-cv-main' + this_id).css({"border": "1px solid #ff0000"});
463        } else {
464            jQuery('#jobsearch-upload-cv-main' + this_id).css({"border": "none"});
465        }
466        
467        if (!_form_error) {
468
469            var user_phone = registration_form.find('input[name="pt_user_phone"]');
470
471            var get_terr_val = jobsearch_accept_terms_cond_pop(registration_form);
472            if (get_terr_val != 'yes') {
473                return false;
474            }
475            
476            if (registration_form.find('.other-conds-con').length > 0) {
477                var other_func = registration_form.find('.other-conds-con').attr('data-key');
478                if (!jobsearch_js_call_user_func(other_func, [_this])) {
479                    return false;
480                }
481            }
482
483            var error = 0;
484            //
485            if (user_phone.hasClass('phone-input-error')) {
486                jQuery('.phone-input-error').css({"border": "1px solid #ff0000"});
487                error = 1;
488            }
489
490            if (error == 0) {
491                var button = $(this).find('button');
492                var btn_html = button.html();
493                //button.html('loading');
494                msg_con.hide();
495                _this.addClass('disabled-btn');
496                _this.attr('disabled', 'disabled');
497                loader_con.show();
498                loader_con.html('<i class="fa fa-refresh fa-spin"></i>');
499                //var form_data = registration_form.serialize();
500                var reg_form_con = $('#registration-form-' + this_id);
501                var reg_ser_form = $('#registration-form-' + this_id)[0];
502                var formData = new FormData(reg_ser_form);
503
504                var request = $.ajax({
505                    url: jobsearch_login_register_common_vars.ajax_url,
506                    method: "POST",
507                    processData: false,
508                    contentType: false,
509                    data: formData,
510                    dataType: "json"
511                });
512                request.done(function (response) {
513                    if (typeof response.message !== 'undefined') {
514                        var reg_not_active = (typeof response.not_active !== 'undefined' && response.not_active == '1');
515                        var reg_alert_type = (typeof response.error !== 'undefined' && response.error) ? 'error' : (reg_not_active ? 'info' : 'success');
516                        jobsearchAlert(reg_alert_type, response.message);
517                        msg_con.slideDown('slow');
518                        button.html(btn_html);
519                        _this.removeClass('disabled-btn');
520                        _this.removeAttr('disabled');
521
522                        // Email already registered but not activated: surface the activation popup (prefilled email).
523                        if (reg_not_active) {
524                            loader_con.hide();
525                            loader_con.html('');
526                            var reg_actv_popup = jQuery('#JobSearchModalAccountActivationForm');
527                            var reg_actv_email = (typeof response.user_email !== 'undefined' && response.user_email) ? response.user_email : user_email.val();
528                            reg_actv_popup.find('input[name="user_email"]').val(reg_actv_email).attr('value', reg_actv_email);
529                            jQuery('.jobsearch-modal').removeClass('fade-in').addClass('fade');
530                            jQuery('body').removeClass('jobsearch-modal-active');
531                            jobsearch_modal_popup_open('JobSearchModalAccountActivationForm');
532                            return false;
533                        }
534
535                        if (typeof response.error !== 'undefined' && response.error == true) {
536                            loader_con.hide();
537                            loader_con.html('');
538                            return false;
539                        }
540
541                        if (typeof response.check_activation !== 'undefined' && response.check_activation == '1') {
542                            
543                            if (reg_form_con.closest('.jobsearch-modal').length) {
544                                var form_main_fields = reg_form_con.find('>.jobsearch-user-form > ul > li');
545                                var codefield_html = window.jobsearchOtpFieldHtml({ liClass: 'jobsearch-email-codechkfield jobsearch-user-form-coltwo-full', label: jobsearch_login_register_common_vars.actvcode_fieldlbl });
546                            } else {
547                                var form_main_fields = reg_form_con.find('> ul > li');
548                                var codefield_html = window.jobsearchOtpFieldHtml({ liClass: 'jobsearch-email-codechkfield', label: jobsearch_login_register_common_vars.actvcode_fieldlbl });
549                            }
550                            form_main_fields.each(function() {
551                                var _this_field = jQuery(this);
552                                if (!_this_field.hasClass('regsend-submit-btncon')) {
553                                    _this_field.hide();
554                                }
555                            });
556                            //
557                            reg_form_con.find('>.jobsearch-box-title').hide();
558                            reg_form_con.find('>.jobsearch-user-options').hide();
559                            
560                            var sbmitbtn_con = reg_form_con.find('.regsend-submit-btncon');
561                            if (!reg_form_con.find('.jobsearch-email-codechkfield').length) {
562                                if (!reg_form_con.find('.jobsearch-activ-notice').length) {
563                                    var rg_actv_email = user_email.length ? user_email.val() : '';
564                                    var rg_notice_html = '<li class="jobsearch-activ-notice-li jobsearch-user-form-coltwo-full"><div class="jobsearch-activ-notice">'
565                                        + '<span class="jobsearch-activ-notice-icon"><i class="fa fa-envelope-o"></i></span>'
566                                        + '<div class="jobsearch-activ-notice-text">'
567                                        + '<p>' + jobsearch_login_register_common_vars.activ_notice_msg1 + '</p>'
568                                        + '<p><a href="javascript:void(0);" class="jobsearch-resend-accactbtn" data-login="' + rg_actv_email + '">' + jobsearch_login_register_common_vars.activ_notice_lnk + '</a> ' + jobsearch_login_register_common_vars.activ_notice_msg2 + '</p>'
569                                        + '</div></div></li>';
570                                    sbmitbtn_con.before(rg_notice_html);
571                                }
572                                sbmitbtn_con.before(codefield_html);
573                            }
574                            sbmitbtn_con.find('input[type="submit"]').attr('value', jobsearch_login_register_common_vars.verify_btnlbl);
575                            sbmitbtn_con.find('button[type="submit"]').html(jobsearch_login_register_common_vars.verify_btnlbl);
576                            sbmitbtn_con.find('.terms-priv-chek-con').hide();
577                            sbmitbtn_con.find('.jobsearch-user-form-info').hide();
578                            reg_form_con.find('.jobsearch-login-media').hide();
579                            loader_con.html('');
580
581                            return false;
582                        }
583
584                        if (typeof response.redirect !== 'undefined') {
585                            window.location.href = response.redirect;
586                        } else {
587                            if (typeof response.email_auth !== 'undefined' && response.email_auth == '1') {
588                                var closePopOpnVrify = setInterval(function() {
589                                    loader_con.html('');
590                                    jQuery('.jobsearch-modal').removeClass('fade-in').addClass('fade');
591                                    jQuery('body').removeClass('jobsearch-modal-active');
592                                    jQuery('#JobSearchModalAccountActivationForm').find('input[name="user_email"]').val(user_email.val());
593                                    jQuery('#JobSearchModalAccountActivationForm').find('input[name="user_email"]').attr('value', user_email.val());
594                                    jobsearch_modal_popup_open('JobSearchModalAccountActivationForm');
595                                    clearInterval(closePopOpnVrify);
596                                }, 2000);
597                            } else {
598                                loader_con.html('');
599                            }
600                        }
601                    }
602                });
603                request.fail(function (jqXHR, textStatus) {
604                    _this.removeClass('disabled-btn');
605                    _this.removeAttr('disabled');
606                    loader_con.hide();
607                    loader_con.html('');
608                });
609            }
610        }
611    });
612});
613
614jQuery(document).on('click', '.jobsearch-resend-accactbtn', function (e) {
615    e.preventDefault();
616    var _this = jQuery(this);
617    var user_login = _this.attr('data-login');
618    // The account-activation popup link has no data-login; fall back to the email entered in the form.
619    if (!user_login) {
620        user_login = _this.closest('form').find('input[name="user_email"]').val();
621    }
622    if (!user_login) {
623        jobsearchAlert('error', jobsearch_plugin_vars.error_msg);
624        return false;
625    }
626    _this.find('i').remove();
627    var _this_html = _this.html();
628    //
629    var thisemail_err_con = _this.parents('.login-reg-errors').find('.email-exceed-err');
630    thisemail_err_con.hide();
631    //
632    _this.html(_this_html + '<i class="fa fa-refresh fa-spin"></i>');
633    var request = jQuery.ajax({
634        url: jobsearch_plugin_vars.ajax_url,
635        method: "POST",
636        data: {
637            user_login: user_login,
638            _nonce: jobsearch_comon_script_vars.nonce,
639            action: 'jobsearch_resend_user_acc_approval_email',
640        },
641        dataType: "json"
642    });
643
644    request.done(function (response) {
645        if (typeof response.success !== 'undefined' && response.success == '1') {
646            _this.html(_this_html + '<i class="fa fa-check"></i>');
647            if (response.msg) {
648                jobsearchAlert('success', response.msg);
649            }
650            // Inside the activation popup / inline verify form: keep it open so the user can enter the new code.
651            if (!_this.closest('.jobsearch-modal, form').length) {
652                window.location.reload(true);
653            }
654        } else {
655            _this.html(_this_html + '<i class="fa fa-times"></i>');
656            if (response.msg) {
657                jobsearchAlert('error', response.msg);
658            }
659        }
660    });
661
662    request.fail(function (jqXHR, textStatus) {
663        _this.html(_this_html + '<i class="fa fa-times"></i>');
664    });
665});
666
667jQuery(document).on('click', '.user-passreset-submit-btn', function (e) {
668    e.preventDefault();
669    var _this = jQuery(this);
670    var _user_id = _this.attr('data-id');
671    var _user_key = _this.attr('data-key');
672
673    var this_form = _this.parents('form');
674    var this_loader = this_form.find('.loader-box');
675    var this_msg_con = this_form.find('.message-box');
676
677    var new_pass = this_form.find('input[name="new_pass"]');
678    var conf_pass = this_form.find('input[name="conf_pass"]');
679    var password_nonce = this_form.find('input[name="password_nonce"]');
680    
681    var error = 0;
682    if (new_pass.val() == '') {
683        error = 1;
684        new_pass.css({"border": "1px solid #ff0000"});
685    } else {
686        new_pass.css({"border": "1px solid #d3dade"});
687    }
688    if (conf_pass.val() == '') {
689        error = 1;
690        conf_pass.css({"border": "1px solid #ff0000"});
691    } else {
692        conf_pass.css({"border": "1px solid #d3dade"});
693    }
694
695    if (error == 0) {
696
697        this_msg_con.hide();
698        this_loader.html('<i class="fa fa-refresh fa-spin"></i>');
699        var request = jQuery.ajax({
700            url: jobsearch_plugin_vars.ajax_url,
701            method: "POST",
702            data: {
703                user_id: _user_id,
704                user_key: _user_key,
705                new_pass: new_pass.val(),
706                conf_pass: conf_pass.val(),
707                password_nonce: password_nonce.val(),
708                action: 'jobsearch_pass_reseting_by_redirect_url',
709            },
710            dataType: "json"
711        });
712
713        request.done(function (response) {
714            if (typeof response.msg !== 'undefined') {
715                jobsearchAlert(response.error == '0' ? 'success' : (response.error == '2' ? 'warning' : 'error'), response.msg);
716                if (typeof response.error !== 'undefined' && response.error == '0') {
717                    new_pass.val('');
718                    conf_pass.val('');
719                    jQuery('.jobsearch-modal').removeClass('fade-in').addClass('fade');
720                    jQuery('body').removeClass('jobsearch-modal-active');
721                }
722            } else {
723                jobsearchAlert('error', jobsearch_plugin_vars.error_msg);
724            }
725            this_loader.html('');
726
727        });
728
729        request.fail(function (jqXHR, textStatus) {
730            jobsearchAlert('error', jobsearch_plugin_vars.error_msg);
731        });
732    }
733});

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.