PageSourceSearch

https://www.ncca.org.au/wp-content/plugins/wp-jobsearch/modules/lo…/js/login-registration.js?ver=7.1

js ncca.org.au collected 2026-09-24 09:56:46 UTC 25,439 bytes, 570 lines download raw bytes

1jQuery(document).ready(function ($) {
2
3    // demo login
4    $(document).on('click', '.jobsearch-demo-login-btn', function () {
5        var _this = jQuery(this);
6        var user_type = 'candidate';
7        var icon_class = 'jobsearch-icon jobsearch-user';
8        if (_this.hasClass('employer-login-btn')) {
9            user_type = 'employer';
10            icon_class = 'jobsearch-icon jobsearch-building';
11        }
12
13        _this.find('i').attr('class', 'fa fa-refresh fa-spin');
14
15        var request = $.ajax({
16            url: jobsearch_login_register_common_vars.ajax_url,
17            method: "POST",
18            data: {
19                'user_type': user_type,
20                'action': 'jobsearch_demo_user_login',
21            },
22            dataType: "json"
23        });
24        request.done(function (response) {
25            if (typeof response.redirect !== 'undefined') {
26                window.location.href = response.redirect;
27                return false;
28            }
29            window.location.reload(true);
30        });
31
32        request.fail(function (jqXHR, textStatus) {
33            _this.find('i').attr('class', icon_class);
34        });
35    });
36
37    // Post login form
38    $(document).on('click', '.jobsearch-login-submit-btn', function (e) {
39        e.preventDefault();
40        var _this = $(this),
41                this_id = $(this).data('id'),
42                login_form = $('#login-form-' + this_id),
43                msg_con = login_form.find('.login-reg-errors'),
44                loader_con = login_form.find('.form-loader');
45        var button = $(this).find('button');
46        var btn_html = button.html();
47        msg_con.hide();
48        _this.addClass('disabled-btn');
49        _this.attr('disabled', 'disabled');
50        //button.html('loading');
51        loader_con.show();
52        loader_con.html('<i class="fa fa-refresh fa-spin"></i>');
53        $.post(jobsearch_login_register_common_vars.ajax_url, login_form.serialize(), function (data) {
54
55            var obj = $.parseJSON(data);
56            msg_con.html(obj.message);
57
58            loader_con.hide();
59            loader_con.html('');
60            _this.removeClass('disabled-btn');
61            _this.removeAttr('disabled');
62            msg_con.slideDown('slow');
63            if (obj.error == false) {
64                // $('#pt-user-modal .modal-dialog').addClass('loading');
65                //window.location.reload(true);
66                if (typeof obj.redirect !== 'undefined') {
67                    window.location.href = obj.redirect;
68                }
69                button.hide();
70            }
71
72            button.html(btn_html);
73        });
74    });
75    // end login post
76
77    // Reset Password
78    // Switch forms login/register
79    $(document).on('click', '.lost-password', function (e) {
80        e.preventDefault();
81        var this_id = $(this).data('id');
82        $('.login-form-' + this_id).slideUp();
83        $('.reset-password-' + this_id).slideDown();
84    });
85    $(document).on('click', '.login-form-btn', function (e) {
86        e.preventDefault();
87        var this_id = $(this).data('id');
88        $('.login-form-' + this_id).slideDown();
89        $('.reset-password-' + this_id).slideUp();
90    });
91    $(document).on('click', '.register-form', function (e) {
92        e.preventDefault();
93        var login_form = jQuery('#JobSearchModalLogin').find('form[id^="login-form-"]');
94        var rgistr_form = jQuery('#JobSearchModalLogin').find('form[id^="registration-form-"]');
95        var this_id = $(this).data('id');
96        $('.reset-password-' + this_id).slideUp();
97        $('.register-' + this_id).slideDown();
98        $('.login-form-' + this_id).slideUp();
99        
100        // for redirect url
101        var redrct_hiden_field = login_form.find('input[name="jobsearch_wredirct_url"]');
102        if (redrct_hiden_field.length > 0) {
103            var redrct_hiden_val = redrct_hiden_field.val();
104            rgistr_form.append('<input type="hidden" name="jobsearch_wredirct_url" value="' + redrct_hiden_val + '">');
105            if (rgistr_form.find('input[name="jobsearch_job_id"]').length == 0) {
106                var form_job_id = rgistr_form.attr('data-jid');
107                rgistr_form.append('<input type="hidden" name="jobsearch_job_id" value="' + form_job_id + '">');
108            }
109            redrct_hiden_field.remove();
110        }
111
112        // for packages
113        var pkginfo_hiden_field = login_form.find('input[name="extra_login_params"]');
114        if (pkginfo_hiden_field.length > 0) {
115            var pkginfo_hiden_val = pkginfo_hiden_field.val();
116            rgistr_form.append('<input type="hidden" name="extra_login_params" value="' + pkginfo_hiden_val + '">');
117            pkginfo_hiden_field.remove();
118        }
119    });
120    $(document).on('click', '.reg-tologin-btn', function (e) {
121        e.preventDefault();
122        var login_form = jQuery('#JobSearchModalLogin').find('form[id^="login-form-"]');
123        var rgistr_form = jQuery('#JobSearchModalLogin').find('form[id^="registration-form-"]');
124        var this_id = $(this).data('id');
125        $('.reset-password-' + this_id).slideUp();
126        $('.register-' + this_id).slideUp();
127        $('.login-form-' + this_id).slideDown();
128        
129        // for redirect url
130        var redrct_hiden_field = rgistr_form.find('input[name="jobsearch_wredirct_url"]');
131        if (redrct_hiden_field.length > 0) {
132            var redrct_hiden_val = redrct_hiden_field.val();
133            login_form.append('<input type="hidden" name="jobsearch_wredirct_url" value="' + redrct_hiden_val + '">');
134            redrct_hiden_field.remove();
135        }
136
137        // for packages
138        var pkginfo_hiden_field = rgistr_form.find('input[name="extra_login_params"]');
139        if (pkginfo_hiden_field.length > 0) {
140            var pkginfo_hiden_val = pkginfo_hiden_field.val();
141            login_form.append('<input type="hidden" name="extra_login_params" value="' + pkginfo_hiden_val + '">');
142            pkginfo_hiden_field.remove();
143        }
144    });
145
146    $(document).on('click', '.user-type-chose-btn', function () {
147        var this_type = $(this).attr('data-type');
148        if (this_type != 'jobsearch_employer' && this_type != 'jobsearch_candidate') {
149            $('.user-candidate-spec-field').slideUp();
150            $('.user-employer-spec-field').slideUp();
151            $('.employer-cus-field').slideUp();
152            $('.candidate-cus-field').slideUp();
153            
154            $('.' + this_type + '-spec-field').slideDown();
155        } else {
156            if (this_type == 'jobsearch_employer') {
157                $('.user-candidate-spec-field').slideUp();
158                $('.user-employer-spec-field').slideDown();
159                $('.employer-cus-field').slideDown();
160                $('.candidate-cus-field').slideUp();
161                
162                $('.jobsearch_recruiter-spec-field').slideUp();
163                
164                $('.jobsearch-register-form').find('.jobsearch-box-title-sub').slideUp();
165                $('.jobsearch-register-form').find('.jobsearch-login-media').slideUp();
166            } else {
167                $('.user-candidate-spec-field').slideDown();
168                $('.user-employer-spec-field').slideUp();
169                $('.employer-cus-field').slide
169Up();
170                $('.candidate-cus-field').slideDown();
171                
172                $('.jobsearch_recruiter-spec-field').slideUp();
173                
174                $('.jobsearch-register-form').find('.jobsearch-box-title-sub').slideDown();
175                $('.jobsearch-register-form').find('.jobsearch-login-media').slideDown();
176            }
177        }
178        $(this).parents('.jobsearch-user-type-choose').find('li').removeClass('active');
179        $(this).parent('li').addClass('active');
180        $(this).parents('form').find('input[name="pt_user_role"]').val(this_type);
181    });
182
183    $(document).on('change', 'input[type="radio"][name="pt_user_role"], select[name="pt_user_role"]', function () {
184        var this_type = $(this).val();
185        if (this_type != 'jobsearch_employer' && this_type != 'jobsearch_candidate') {
186            $('.user-candidate-spec-field').slideUp();
187            $('.user-employer-spec-field').slideUp();
188            $('.employer-cus-field').slideUp();
189            $('.candidate-cus-field').slide
189Up();
190            
191            $('.' + this_type + '-spec-field').slideDown();
192        } else {
193            if (this_type == 'jobsearch_employer') {
194                $('.user-candidate-spec-field').slideUp();
195                $('.user-employer-spec-field').slideDown();
196                $('.employer-cus-field').slideDown();
197                $('.candidate-cus-field').slideUp();
198                $('.jobsearch_recruiter-spec-field').slideUp();
199            } else {
200                $('.user-candidate-spec-field').slideDown();
201                $('.user-employer-spec-field').slideUp();
202                $('.employer-cus-field').slideUp();
203                $('.candidate-cus-field').slideDown();
204                $('.jobsearch_recruiter-spec-field').slideUp();
205            }
206        }
207    });
208
209    $(document).on('click', '.jobsearch-reset-password-submit-btn', function (e) {
210        e.preventDefault();
211        var _this = $(this),
212                this_id = $(this).data('id'),
213                reset_password_form = $('#reset-password-form-' + this_id),
214                msg_con = reset_password_form.find('.reset-password-errors'),
215                loader_con = reset_password_form.find('.form-loader');
216        var button = $(this).find('button');
217        var btn_html = button.html();
218        //button.html('loading');
219        msg_con.hide();
220        _this.addClass('disabled-btn');
221        _this.attr('disabled', 'disabled');
222        loader_con.show();
223        loader_con.html('<i class="fa fa-refresh fa-spin"></i>');
224        
225        var reset_password_form_o = $('#reset-password-form-' + this_id)[0];
226        var formData = new FormData(reset_password_form_o);
227
228        var request = $.ajax({
229            url: jobsearch_login_register_common_vars.ajax_url,
230            method: "POST",
231            processData: false,
232            contentType: false,
233            data: formData,
234            dataType: "json"
235        });
236        request.done(function (response) {
237            msg_con.html(response.message);
238
239            msg_con.slideDown('slow');
240
241            _this.removeClass('disabled-btn');
242            _this.removeAttr('disabled');
243
244            loader_con.hide();
245            loader_con.html('');
246
247            button.html(btn_html);
248        });
249        request.fail(function (jqXHR, textStatus) {
250            _this.removeClass('disabled-btn');
251            _this.removeAttr('disabled');
252            loader_con.hide();
253            loader_con.html('');
254        });
255    });
256    // end reset password
257
258    // Post register form
259    $(document).on('click', '.jobsearch-register-submit-btn', function (e) {
260        e.preventDefault();
261        var _this = $(this),
262                this_id = $(this).data('id'),
263                registration_form = $('#registration-form-' + this_id),
264                msg_con = registration_form.find('.registration-errors'),
265                loader_con = registration_form.find('.form-loader');
266               
267        var reg_user_role = 'jobsearch_candidate';
268        var user_role_con = registration_form.find('input[name=pt_user_role]');
269        if (user_role_con.attr('type') == 'radio') {
270            reg_user_role = registration_form.find('input[name=pt_user_role]:checked').val();
271        } else {
272            reg_user_role = user_role_con.val();
273        }
274        
275        var _form_error = false;
276        
277        var form_req_fields = registration_form.find('.jobsearch-regrequire-field');
278        if (form_req_fields.length > 0) {
279            jQuery.each(form_req_fields, function () {
280                var _this_obj = jQuery(this);
281                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')) {
282                    var field_type = 'text';
283                    if (_this_obj.parent('.jobsearch-profile-select').length > 0) {
284                        field_type = 'select';
285                    }
286                    if (_this_obj.attr('type') == 'checkbox' || _this_obj.attr('type') == 'radio') {
287                        var chek_field_name = _this_obj.attr('name');
288                        if ((jQuery('input[name="' + chek_field_name + '"]:checked').length) <= 0) {
289                            _form_error = true;
290                            _this_obj.parents('.jobsearch-cusfield-checkbox').css({"border": "1p
290x solid #ff0000"});
291                        } else {
292                            _this_obj.parents('.jobsearch-cusfield-checkbox').css({"border": "none"});
293                        }
294                    } else {
295                        if (_this_obj.val() == '' || _this_obj.val() === null) {
296                            if (field_type == 'select') {
297                                if (_this_obj.parents('li').is(':visible')) {
298                                    _form_error = true;
299                                    _this_obj.parent('.jobsearch-profile-select').css({"border": "1px solid #ff0000"});
300                                }
301                            } else {
302                                if (_this_obj.parents('li').is(':visible')) {
303                                    _form_error = true;
304                                    _this_obj.css({"border": "1px solid #ff0000"});
305                                }
306                            }
307                        } else {
308                            if (field_type == 'select') {
309                                _this_obj.parent('.jobsearch-profile-select').css({"border": "none"});
310                            } else {
311                                if (!_this_obj.hasClass('phone-input-error')) {
312                                    _this_obj.css({"border": "1px solid #efefef"});
313                                }
314                            }
315                        }
316                    }
317                }
318            });
319        }
320        var req_li_fields = registration_form.find('.regrequire-field-li');
321        if (req_li_fields.length > 0) {
322            jQuery.each(req_li_fields, function () {
323                var _this_li = jQuery(this);
324                var _this_obj = _this_li.find('input[type="text"],select');
325                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')) {
326                    var field_type = 'text';
327                    if (_this_obj.parent('.jobsearch-profile-select').length > 0) {
328                        field_type = 'select';
329                    }
330                    if (_this_obj.val() == '' || _this_obj.val() === null) {
331                        if (field_type == 'select') {
332                            if (_this_obj.parents('li').is(':visible')) {
333                                _form_error = true;
334                                _this_obj.parent('.jobsearch-profile-select').css({"border": "1px solid #ff0000"});
335                            }
336                        } else {
337                            if (_this_obj.parents('li').is(':visible')) {
338                                _form_error = true;
339                                _this_obj.css({"border": "1px solid #ff0000"});
340                            }
341                        }
342                    } else {
343                        if (field_type == 'select') {
344                            _this_obj.parent('.jobsearch-profile-select').css({"border": "none"});
345                        } else {
346                            if (!_this_obj.hasClass('phone-input-error')) {
347                                _this_obj.css({"border": "1px solid #efefef"});
348                            }
349                        }
350                    }
351                }
352            });
353        }
354        
355        var user_email = registration_form.find('input[name=pt_user_email]');
356        
357        var cv_file = registration_form.find('input[name="candidate_cv_file"]');
358        
359        if (cv_file.length > 0 && cv_file.val() == '' && cv_file.hasClass('cv_is_req') && reg_user_role == 'jobsearch_candidate') {
360            _form_error = true;
361            jQuery('#jobsearch-upload-cv-main' + this_id).css({"border": "1px solid #ff0000"});
362        } else {
363            jQuery('#jobsearch-upload-cv-main' + this_id).css({"border": "none"});
364        }
365        
366        if (!_form_error) {
367
368            var user_phone = registration_form.find('input[name="pt_user_phone"]');
369
370            var get_terr_val = jobsearch_accept_terms_cond_pop(registration_form);
371            if (get_terr_val != 'yes') {
372                return false;
373            }
374            
375            if (registration_form.find('.other-conds-con').length > 0) {
376                var other_func = registration_form.find('.other-conds-con').attr('data-key');
377                if (!jobsearch_js_call_user_func(other_func, [_this])) {
378                    return false;
379                }
380            }
381
382            var error = 0;
383            //
384            if (user_phone.hasClass('phone-input-error')) {
385                jQuery('.phone-input-error').css({"border": "1px solid #ff0000"});
386                error = 1;
387            }
388
389            if (error == 0) {
390                var button = $(this).find('button');
391                var btn_html = button.html();
392                //button.html('loading');
393                msg_con.hide();
394                _this.addClass('disabled-btn');
395                _this.attr('disabled', 'disabled');
396                loader_con.show();
397                loader_con.html('<i class="fa fa-refresh fa-spin"></i>');
398                //var form_data = registration_form.serialize();
399                var reg_ser_form = $('#registration-form-' + this_id)[0];
400                var formData = new FormData(reg_ser_form);
401
402                var request = $.ajax({
403                    url: jobsearch_login_register_common_vars.ajax_url,
404                    method: "POST",
405                    processData: false,
406                    contentType: false,
407                    data: formData,
408                    dataType: "json"
409                });
410                request.done(function (response) {
411                    if (typeof response.message !== 'undefined') {
412                        msg_con.html(response.message);
413                        msg_con.slideDown('slow');
414                        button.html(btn_html);
415                        _this.removeClass('disabled-btn');
416                        _this.removeAttr('disabled');
417
418                        if (typeof response.error !== 'undefined' && response.error == true) {
419                            loader_con.hide();
420                            loader_con.html('');
421                            return false;
422                        }
423
424                        if (typeof response.redirect !== 'undefined') {
425                            window.location.href = response.redirect;
426                        } else {
427                            if (typeof response.email_auth !== 'undefined' && response.email_auth == '1') {
428                                var closePopOpnVrify = setInterval(function() {
429                                    loader_con.html('');
430                                    jQuery('.jobsearch-modal').removeClass('fade-in').addClass('fade');
431                                    jQuery('body').removeClass('jobsearch-modal-active');
432                                    jQuery('#JobSearchModalAccountActivationForm').find('input[name="user_email"]').val(user_email.val());
433                                    jQuery('#JobSearchModalAccountActivationForm').find('input[name="user_email"]').attr('value', user_email.val());
434                                    jobsearch_modal_popup_open('JobSearchModalAccountActivationForm');
435                                    clearInterval(closePopOpnVrify);
436                                }, 2000);
437                            } else {
438                                loader_con.html('');
439                            }
440                        }
441                    }
442                });
443                request.fail(function (jqXHR, textStatus) {
444                    _this.removeClass('disabled-btn');
445                    _this.removeAttr('disabled');
446                    loader_con.hide();
447                    loader_con.html('');
448                });
449            }
450        }
451    });
452});
453
454jQuery(document).on('click', '.jobsearch-resend-accactbtn', function (e) {
455    e.preventDefault();
456    var _this = jQuery(this);
457    var user_login = _this.attr('data-login');
458    _this.find('i').remove();
459    var _this_html = _this.html();
460    //
461    var thisemail_err_con = _this.parents('.login-reg-errors').find('.email-exceed-err');
462    thisemail_err_con.hide();
463    //
464    _this.html(_this_html + '<i class="fa fa-refresh fa-spin"></i>');
465    var request = jQuery.ajax({
466        url: jobsearch_plugin_vars.ajax_url,
467        method: "POST",
468        data: {
469            user_login: user_login,
470            action: 'jobsearch_resend_user_acc_approval_email',
471        },
472        dataType: "json"
473    });
474
475    request.done(function (response) {
476        if (typeof response.success !== 'undefined' && response.success == '1') {
477            _this.html(_this_html + '<i class="fa fa-check"></i>');
478            window.location.reload(true);
479        } else {
480            _this.html(_this_html + '<i class="fa fa-times"></i>');
481            if (thisemail_err_con.length > 0) {
482                thisemail_err_con.html(response.msg);
483            } else {
484                _this.parents('.login-reg-errors').append('<div class="alert alert-danger email-exceed-err">' + response.msg + '</div>');
485            }
486            thisemail_err_con.removeAttr('style');
487        }
488    });
489
490    request.fail(function (jqXHR, textStatus) {
491        _this.html(_this_html + '<i class="fa fa-times"></i>');
492    });
493});
494
495jQuery(document).on('click', '.user-passreset-submit-btn', function (e) {
496    e.preventDefault();
497    var _this = jQuery(this);
498    var _user_id = _this.attr('data-id');
499    var _user_key = _this.attr('data-key');
500
501    var this_form = _this.parents('form');
502    var this_loader = this_form.find('.loader-box');
503    var this_msg_con = this_form.find('.message-box');
504
505    var new_pass = this_form.find('input[name="new_pass"]');
506    var conf_pass = this_form.find('input[name="conf_pass"]');
507    
508    var error = 0;
509    if (new_pass.val() == '') {
510        error = 1;
511        new_pass.css({"border": "1px solid #ff0000"});
512    } else {
513        new_pass.css({"border": "1px solid #d3dade"});
514    }
515    if (conf_pass.val() == '') {
516        error = 1;
517        conf_pass.css({"border": "1px solid #ff0000"});
518    } else {
519        conf_pass.css({"border": "1px solid #d3dade"});
520    }
521
522    if (error == 0) {
523
524        this_msg_con.hide();
525        this_loader.html('<i class="fa fa-refresh fa-spin"></i>');
526        var request = jQuery.ajax({
527            url: jobsearch_plugin_vars.ajax_url,
528            method: "POST",
529            data: {
530                user_id: _user_id,
531                user_key: _user_key,
532                new_pass: new_pass.val(),
533                conf_pass: conf_pass.val(),
534                action: 'jobsearch_pass_reseting_by_redirect_url',
535            },
536            dataType: "json"
537        });
538
539        request.done(function (response) {
540            var msg_before = '';
541            var msg_after = '';
542            if (typeof response.error !== 'undefined') {
543                if (response.error == '1') {
544                    msg_before = '<div class="alert alert-danger"><i class="fa fa-times"></i>';
545                    msg_after = '</div>';
546                } else if (response.error == '0') {
547                    msg_before = '<div class="alert alert-success"><i class="fa fa-check"></i>';
548                    msg_after = '</div>';
549                }
550            }
551            if (typeof response.msg !== 'undefined') {
552                this_msg_con.html(msg_before + response.msg + msg_after);
553                this_msg_con.slideDown();
554                if (typeof response.error !== 'undefined' && response.error == '0') {
555                    new_pass.val('');
556                    conf_pass.val('');
557                    this_form.find('ul.email-fields-list').slideUp();
558                }
559            } else {
560                this_msg_con.html(jobsearch_plugin_vars.error_msg);
561            }
562            this_loader.html('');
563
564        });
565
566        request.fail(function (jqXHR, textStatus) {
567            this_loader.html(jobsearch_plugin_vars.error_msg);
568        });
569    }
570});

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.