PageSourceSearch

https://www.dafanews.com/normal-reg/js/rf-common.js?v=1790320033

js dafanews.com collected 2026-09-25 07:58:38 UTC 63,728 bytes, 1,307 lines download raw bytes

1(function ($, root, undefined) {
2
3    $(function () {
4
5        'use strict';
6        
7        var rf_isocode_array = ["CN", "TH", "VN", "ID", "KR", "IN", "MY"];
8        var rf_isocode = $('#registration_form_isocode').val();
9        var rf_currency = $('#registration_form_currency').val();
10        var rf_lang = $('#registration_form_lang').val();
11        var rf_url = $('#registration_form_url').val();
12
13
14        /* get Dafanews domains */
15        var getHostname = window.location.hostname;
16        var hostname = getHostname.toLowerCase();
17
18        //console.log(hostname);
19
20        if (hostname.indexOf('dev.') !== -1){
21            var domainDafanews = window.location.protocol+"//dev.dafanews.com"; // dev
22        }
23        else if (hostname.indexOf('local.') !== -1 || hostname.indexOf('localhost') !== -1){
24            var domainDafanews = window.location.protocol+"//localhost/dafanews.com"; // localhost
25        }   
26        else{
27            var domainDafanews = window.location.protocol+"//dafanews.com"; // live
28        }
29
30        //console.log(domainDafanews);
31
32        var environment = 'PRD'; // possible values are TCT, STG, PRD
33
34        if (environment == 'TCT')
35        {
36            var domain = "https://tct-www.elysium-dfbt.com";
37            var mobile_domain = "https://tct-m.elysium-dfbt.com";
38            var environment_signature = '!uH6*29L#aMrP&-7h';
39        }
40        else if (environment == 'STG')
41        {
42            var domain = "https://stg-www.elysium-dfbt.com";
43            var mobile_domain = "https://stg-m.elysium-dfbt.com";
44            var environment_signature = '*g3U)aF2>,k;4wpGt';
45        }
46        else // PRD
47        {
48            var domain = "";
49			var mobile_domain = "";
50            // document.addEventListener("DOMContentLoaded", function () {
51				fetch('/domain.json')
52                    .then(response => response.json())
53                    .then(domainsJSON => {
54                        switch (rf_isocode) {
55                            case "CN":
56                                domain = "https://www." + domainsJSON.sc;
57                                mobile_domain = "https://m." + domainsJSON.sc;
58                                break;
59                            case "ID":
60                                domain = "https://www." + domainsJSON.id;
61                                mobile_domain = "https://m." + domainsJSON.id;
62                                break;
63                            case "KR":
64                                domain = "https://www." + domainsJSON.kr;
65                                mobile_domain = "https://m." + domainsJSON.kr;
66                                break;
67                            case "TH":
68                                domain = "https://www." + domainsJSON.th;
69                                mobile_domain = "https://m." + domainsJSON.th;
70                                break;
71                            case "VN":
72                                domain = "https://www." + domainsJSON.vn;
73                                mobile_domain = "https://m." + domainsJSON.vn;
74                                break;
75                            case "IN":
76                                domain = "https://www." + domainsJSON.in;
77                                mobile_domain = "https://m." + domainsJSON.in;
78                                break;
79                            case "PT":
80                                domain = "https://www." + domainsJSON.pt;
81                                mobile_domain = "https://m." + domainsJSON.pt;
82                                break;
83                            case "BN":
84                                domain = "https://www." + domainsJSON.bn;
85                                mobile_domain = "https://m." + domainsJSON.bn;
86                                break;
87                            default:
88                                domain = "https://www." + domainsJSON.en;
89                                mobile_domain = "https://m." + domainsJSON.en;
90                        }
91
92						// You can now use domain and mobile_domain as needed
93                        console.log("Desktop domain:", domain);
94                        console.log("Mobile domain:", mobile_domain);
95
96						var terms_url;
97                        if($( window ).width() < 1023){
98                            terms_url = mobile_domain+"/"+rf_lang+"/terms-of-use";
99                        }else{
100                            terms_url = domain+"/"+rf_lang+"/terms-of-use";
101                        }
102
103                        $('#rf-terms').attr('href',terms_url);    
104
105                    })
106                    .catch(error => {
107                        console.error("Error loading domain.json:", error);
108                    });
109				// });
110
111            var environment_signature = '%k;-y2&mAy*B.z7)Hu$cX!';
112        }
113
114        var host = domain+"/"+rf_lang+"/join";
115        var redirection_url = domain+"/"+rf_lang;
116
117        var getQueryString = function ( field, url ) {
118            var href = url ? url : window.location.href;
119            var reg = new RegExp( '[?&]' + field + '=([^&#]*)', 'i' );
120            var string = reg.exec(href);
121            return string ? string[1] : "";
122        };
123
124        var registration_creferer = getQueryString('creferer');
125        var registration_querystr_btag = getQueryString('btag');
126
127        if (rf_lang == "in") {
128            var registration_lang = "rf_ind";
129        } else {
130            var registration_lang = "rf_"+rf_lang;
131        }
132        //console.log(registration_lang);
133
134        var username_error = window[registration_lang].username_error;
135        var username_alphanumeric_error = window[registration_lang].username_alphanumeric_error;
136        var username_min_max_error = window[registration_lang].username_min_max_error;
137        var username_exists_error = window[registration_lang].username_exists_error;
138
139        var password_error = window[registration_lang].password_error;
140        var password_alphanumeric_error = window[registration_lang].password_alphanumeric_error;
141        var password_invalid_error = window[registration_lang].password_invalid_error;
142        var password_match_error = window[registration_lang].password_match_error;
143        var password_min_error = window[registration_lang].password_min_error;
144        var password_max_error = window[registration_lang].password_max_error;
145        var password_strong = window[registration_lang].password_strong;
146        var password_average = window[registration_lang].password_average;
147        var password_weak = window[registration_lang].password_weak;
148
149        var email_error = window[registration_lang].email_error;
150        var email_validity_error = window[registration_lang].email_validity_error;
151        var email_exists_error = window[registration_lang].email_exists_error;
152        var email_exists_click_here = window[registration_lang].email_exists_click_here;
153
154        var mobile_error = window[registration_lang].mobile_error;
155        var mobile_validity_error = window[registration_lang].mobile_validity_error;
156        var mobile_min_max_error = window[registration_lang].mobile_min_max_error;
157
158        var firstname_error = window[registration_lang].firstname_error;
159        var lastname_error = window[registration_lang].lastname_error;
160        var firstname_range_error = window[registration_lang].firstname_range_error;
161        var firstname_chars_error = window[registration_lang].firstname_chars_error;
162        var firstname_invalid_error = window[registration_lang].firstname_invalid_error;
163        var lastname_range_error = window[registration_lang].lastname_range_error;
164        var lastname_chars_error = window[registration_lang].lastname_chars_error;
165        var lastname_invalid_error = window[registration_lang].lastname_invalid_error;
166
167        var birthdate_error = window[registration_lang].birthdate_error;
168        var birthdate_format_error = window[registration_lang].birthdate_format_error;
169        var currency_error = window[registration_lang].currency_error;
170        var country_error = window[registration_lang].country_error;
171        var submit_error = window[registration_lang].submit_error;
172        var submit_success = window[registration_lang].submit_success;
173        var submit_btn = window[registration_lang].submit_btn;
174
175        var email_exists_error_wp = window[registration_lang].email_exists_error_wp;
176
177        var password_strong_code = "strong";
178        var password_average_code = "average";
179        var password_weak_code = "weak";
180
181
182        var error_element = "<span class='item-error'>[[msg_string]]</span>";
183        var validation_icon = "<span class='validation-icon'></span>";
184        var submit_success_notif = "<div class='rf-notification'><span class='rf-submit-icon rf-submit-success-icon'></span><span>[[submit_msg_string]]</span></div>";
185        var submit_failed_notif = "<div class='rf-notification'><span class='rf-submit-icon rf-submit-failed-icon'></span><span>[[submit_msg_string]]</span></div>";
186        var submit_loading = "<span class='submit-loading'></span>";
187
188        var username_flag = false;
189        var password_flag = false;
190        var email_flag = false;
191        var mobile_flag = false;
192        var firstname_flag = false;
193        var lastname_flag = false;
194        var birthdate_flag = false;
195        var currency_flag = false;
196        var country_flag = false;
197
198        if (rf_isocode == "IN") {
199            $("#regForm_currency option[value='"+$('#registration_form_currency').val()+"']").prop('selected', true);
200        }
201
202        // -------------------------------------------------------------------------------------------------------------------------------------
203        // begin generating signature for reg api
204        // -------------------------------------------------------------------------------------------------------------------------------------
205
206        // set reg-api headers
207
208        var setRegApiHeaders = function () {
209
210            var timestamp = Date.now(),
211                uuid = guid();
212
213            var signature = CryptoJS.enc.Base64.stringify(
214                CryptoJS.HmacSHA256(timestamp + ":" + uuid + ":" + window.navigator.userAgent, environment_signature)
215            );
216
217            return {
218                'x-client-cache': CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse("V1.0:" + timestamp + ":" + uuid + ":" + signature))
219            };
220        };
221
222        // method to create one time guid
223
224
225        var guid = function () {
226            return s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4();
227        };
228
229        // generate random string
230
231        var s4 = function () {
232            return Math.floor((1 + Math.random()) * 0x10000)
233                .toString(16)
234                .substring(1);
235        };
236
237        // -------------------------------------------------------------------------------------------------------------------------------------
238
239        var validateFunction = function(type,value,element) {
240            console.log('validate '+type);
241            //console.log(element);
242
243            var validateUrl = domain+"/api/v1/registration/validate";
244            var registerUrl = domain+"/api/v1/registration/player";
245
246            var lang = rf_lang;
247            var clickhere_link = domain+"/"+lang+"/cant-login";
248            var clickhere = "<a href='"+clickhere_link+"' onclick='window.open(\""+clickhere_link+"\",\"popup\",\"width=800,height=600\"); return false;' target='window'>"+email_exists_click_here+"</a>"
249
250            var portalId = parseInt($("#registration_form_regvia").val());
251
252            $.ajax({
253                url : validateUrl,
254                type: "POST",
255                headers: setRegApiHeaders(), 
256                data: JSON.stringify({
257                        body: {
258                            PlayerDataList: [{
259                                Type: type,
260                                Value: value
261                            }],
262                            PortalId: portalId
263                        },
264                        head: {
265                            host: host,
266                            time: (new Date).toISOString(),
267                            url: "/api/v1/registration/validate",
268                            verb: "POST",
269                            version: "1.0"
270                        }
271                    }),
272                dataType: "json",
273                success: function(response) 
274                {   
275                    console.log('success '+type);  
276                    console.log(response);
277                    if (200 === response.body["api-http-status"]) {
278                        if ("Success" === response.body["icore-result"].StatusCode) {
279                            //validation succcessful
280                            if ("Success" === response.body["icore-result"].PlayerDataList[0].Status) {
281                                if (type == "Username") {
282                                    username_flag = true;
283                                } else if (type == "Email") {
284                                    email_flag = true;
285                                }
286                                element.parent().parent().removeClass('has-error').addClass('has-success');
287                                if (element.siblings('.validation-icon').length == 0) {
288                                    element.after(validation_icon);
289                                }
290                            } else {
291                                if (type == "Username") {
292                                    element.parent().append(error_element.replace('[[msg_string]]',username_exists_error));
293                                    
294                                    username_flag = false;
295                                } else if (type == "Email") {
296                                    if ("EmailExist" === response.body["icore-result"].PlayerDataList[0].Status) {
297                                        element.parent().append(error_element.replace('[[msg_string]]',email_exists_error.replace('[[here_string]]',clickhere)));
298                                    } else {
299                                        element.parent().append(error_element.replace('[[msg_string]]',email_validity_error));
300                                    }
301                                    email_flag = false;
302
303                                }
304                                element.parent().parent().removeClass('has-success').addClass('has-error');
305                                if (element.siblings('.validation-icon').length == 0) {
306                                    element.after(validation_icon);
307                                }
308                            }
309                        }
310                    }
311                    return false;
312                },
313                error: function (data) {
314                    console.log('error '+type);
315                    console.log(data);
316                }
317            });
318        }
319
320        /* for wordpress username & email validation */
321        var validateWPFunction = function(type,value,element) {
322            console.log('validate WP '+type);
323            // console.log(value);
324
325            $.ajax({
326                type: 'POST',
327                url: 'normal-reg/includes-dafanews/wp-validate-user.php',
328                data: {"field_type":type, "input_value": value},
329                dataType: "json",
330                success: function (response) {
331
332                    // console.log(response);
333
334                    // $( '#name_status' ).html(response);
335
336                    if(response=="0") {
337                       if (type == "Username") {
338                            username_flag = true;
339                            console.log('valid WP '+type);
340                        } else if (type == "Email") {
341                            email_flag = true;
342                            console.log('valid WP '+type);
343                        }
344                        element.parent().parent().removeClass('has-error').addClass('has-success');
345                        if (element.siblings('.validation-icon').length == 0) {
346                            element.after(validation_icon);
347                        } 
348                    }
349                    else {
350                        if (type == "Username") {
351                            element.parent().append(error_element.replace('[[msg_string]]',username_exists_error));
352                            
353                            username_flag = false;
354                            console.log('error WP '+type);
355                        } 
356                        else if (type == "Email") {
357                            element.parent().append(error_element.replace('[[msg_string]]',email_exists_error_wp));
358
359                            email_flag = false;
360                            console.log('error WP '+type);
361                        }
362
363                            element.parent().parent().removeClass('has-success').addClass('has-error');
364
365                        if (element.siblings('.validation-icon').length == 0) {
366                            element.after(validation_icon);
367                        }
368                    }
369                },
370                error: function (data) {
371                    console.log('error '+type);
372                    //console.log(data);
373                }
374            });
375        }
376
377
378        var submitFunction = function() {
379            console.log('submit');
380            //console.log(element);
381
382            /* One Login. All Access. unchecked */
383            if($('.checkbox-wrapper input[type="checkbox"]').prop("checked") == false){
384
385                $('#regForm_submit').html(submit_loading);
386                $('#regForm_submit').prop("disabled", true).addClass('disabled');
387
388                $('#registration-form .rf-notification').remove();
389
390                $.ajax({
391                    url: domainDafanews+"/normal-reg/includes-dafanews/one-login-all-access-disabled.php",
392                    success: function (data) {
393                        // this is executed when ajax call finished well
394                        console.log('content of the executed page: ' + data);
395                    }
396                });
397                
398                setTimeout(function(){ 
399                    $('#registration-form').append(submit_success_notif.replace('[[submit_msg_string]]',submit_success));
400                }, 3000);
401
402                $('#um-submit-btn').click();
403            }
404
405            /* One Login. All Access. checked */
406            else {
407
408                var validateUrl = domain+"/api/v1/registration/validate";
409                var registerUrl = domain+"/api/v1/registration/player";
410
411                var portalId = parseInt($("#registration_form_regvia").val());
412
413                var registration_default_btag = $("#registration_form_btag").val();
414                
415                if (registration_querystr_btag) {
416                    var registration_btag = registration_querystr_btag;
417                } else {
418                    var registration_btag = registration_default_btag;
419                }
420
421                console.log("creferer="+registration_creferer);
422                console.log("btag="+registration_btag);
423
424                var date_split = $("#regForm_birthdate").val().split('/');
425
426                if (rf_lang == "sc" || rf_lang == "ch") {
427                  var new_date_format = date_split[2]+"/"+date_split[1]+"/"+date_split[0];
428                } else {
429                  var new_date_format = date_split[1]+"/"+date_split[0]+"/"+date_split[2];
430                }
431                
432                // FOR DATE PICKER FIELD
433                //var date_day = $("#regForm_birthdate_day").val(); 
434                //var date_month = $("#regForm_birthdate_month").val();
435                //var date_year = $("#regForm_birthdate_year").val();
436
437                // using date picker
438                // if (rf_lang == "sc" || rf_lang == "ch") {
439                //  var new_date_format = date_split[2]+"/"+date_split[1]+"/"+date_split[0];
440                // } else {
441                //  var new_date_format = date_split[1]+"/"+date_split[0]+"/"+date_split[2];
442                // }
443
444                // var new_date_format = date_month+"/"+date_day+"/"+date_year;
445
446                //console.log($("#regForm_birthdate").val());
447                //console.log(date_split);
448                console.log(new_date_format);
449                console.log(new Date(new_date_format));
450                console.log((new Date(new_date_format)).getFullYear());
451
452                $('#regForm_submit').html(submit_loading);
453                $('#regForm_submit').prop("disabled", true).addClass('disabled');
454
455                // SET VALUES FOR THE LOGIN FORM
456                $('#LoginForm_username').val($("#regForm_username").val().toUpperCase());
457                $('#LoginForm_password').val($("#regForm_password").val());
458
459                // SET VALUES FOR THE MOBILE LOGIN FORM
460                $('#MobileLoginForm_username').val($("#regForm_username").val().toUpperCase());
461                $('#MobileLoginForm_password').val($("#regForm_password").val());
462
463                var mobile_num;
464                if ($("#regForm_mobile_number").val() == "") {
465                    mobile_num = "000000";
466                } else {
467                    mobile_num = $("#regForm_mobile_number").val();
468                }
469
470                $.ajax({
471                    url : registerUrl,
472                    type: "POST",
473                    headers: setRegApiHeaders(), 
474                    data: JSON.stringify({
475                        head: {
476                            host: host,
477                            time: (new Date).toISOString(),
478                            url: "/api/v1/registration/player",
479                            verb: "GET",
480                            version: "1.0"
481                        },
482                        body: {
483                            player: {
484                                UserName: $("#regForm_username").val().toUpperCase(),
485                                Password: $("#regForm_password").val(),
486                                EMail: $("#regForm_email").val(),
487                                FirstName: $("#regForm_first_name").val(),
488                                LastName: $("#regForm_last_name").val(),
489                                PhoneNumber: $.trim($("#trigger-span").text()) + mobile_num,
490                                BirthDayOfMonth: (new Date(new_date_format)).getDate(),
491                                BirthMonth: (new Date(new_date_format)).getMonth() + 1,
492                                BirthYear: (new Date(new_date_format)).getFullYear(),
493                                CountryId: parseInt($("#regForm_country").val()),
494                                CurrencyId: parseInt($("#regForm_currency").val()),
495                                PortalId: portalId,
496                                Locale: "en-US",
497                                GeoLocCountryCode: "",
498                                ProductTypeId: null,
499                                CustomParameters: [{
500                                    Key: "creferer",
501                                    Value: registration_creferer
502                                }]
503                            },
504                            trackingSource: {
505                                MarketingChannel: "Affiliate",
506                                MarketingSource: registration_btag,
507                                Btag: registration_btag
508                            },
509                            deviceFingerprint: "some device"
510                        }
511                    }),
512                    dataType: "json",
513                    success: function(response) 
514                    {   
515                        console.log('submit success');  
516                        console.log(response);
517                        
518                        $('#registration-form .rf-notification').remove();
519
520                        if($('.checkbox-wrapper input[type="checkbox"]').prop("checked") == true){
521                            if (200 === response.body["api-http-status"] && "Success" === response.body["api-reason"] && "OK" === response.body["api-reason-msg"]) {
522                                username_flag = false;
523                                password_flag = false;
524                                email_flag = false;
525                                mobile_flag = false;
526                                firstname_flag = false;
527                                lastname_flag = false;
528                                birthdate_flag = false;
529                                currency_flag = false;
530                                country_flag = false;
531
532                                // $('#registration-form')[0].reset();
533
534                                $('#registration-form input').val("");
535                                $('#registration-form select').val("");
536                                $('.country-area-code span#trigger-span').text("+00");
537                                $('.country-area-code span#trigger-span').attr("class","trigger");
538                                $('.validation-icon').remove();
539                                
540                                $(".password-strength-wrapper").attr('class','password-strength-wrapper password-strength-hidden');
541                                $(".password-strength-msg span").text('');
542
543                                $('#regForm_submit').prop("disabled", false).removeClass('disabled');
544                                $('#registration-form').append(submit_success_notif.replace('[[submit_msg_string]]',submit_success));
545                                $('#regForm_submit').html(submit_btn);
546
547                                if ($(window).width() <= 1023) {
548                                    //then redirect to logged-in dafabet mobile page
549                                    $('#MobileLoginForm').submit();
550                    
551                                    setTimeout(function(){ 
552                                        window.location = mobile_domain+"/"+rf_lang;
553                                    }, 3000);
554                                } else {
555                                    //then redirect to logged-in dafabet page
556                                        //window.location = redirection_url;
557                                        $('#LoginForm').submit();
558                                        //$('.registration-wrapper').hide();
559                                        //$('.reg-success-play-now-wrapper').show();
560                                }
561                            } 
562
563                            $.ajax({
564                                url: domainDafanews+"/normal-reg/includes-dafanews/one-login-all-access-enabled.php",
565                                success: function (data) {
566                                    // this is executed when ajax call finished well
567                                    console.log('content of the executed page: ' + data);
568                                }
569                            });
570
571                            /* Submit WP Reg */
572                            setTimeout(function(){ 
573                                $('#um-submit-btn').click();
574                            }, 3000);
575                        }
576
577                        else {
578                            $('#regForm_submit').prop("disabled", false).removeClass('disabled');
579                            $('#registration-form').append(submit_failed_notif.replace('[[submit_msg_string]]',submit_error));
580                            $('#regForm_submit').html(submit_btn);
581                        }
582                    },
583                    error: function (data) {
584                        console.log('submit error');
585                        console.log(data);
586                    }
587                });
588            }
589        }
590
591        function validateEmail(emailAddress) {
592            var pattern = new RegExp(/^(("[\w-+\s]+")|([\w-+]+(?:\.[\w-+]+)*)|("[\w-+\s]+")([\w-+]+(?:\.[\w-+]+)*))(@((?:[\w-+]+\.)*\w[\w-+]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][\d]\.|1[\d]{2}\.|[\d]{1,2}\.))((25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\.){2}(25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\]?$)/i);
593            return pattern.test(emailAddress);
594        }
595
596        function validateAlphaNumeric(text) {
597            var pattern = new RegExp(/^[a-z0-9]+$/i);
598            return pattern.test(text);
599        }
600
601        function validatePasswordStrength(password) {
602            var pattern = /(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])/g;
603            var pattern2 = /(?=.*[A-Z])(?=.*[a-z])|(?=.*[A-Z])(?=.*[0-9])|(?=.*[a-z])(?=.*[0-9])/g;
604            // console.log(password);
605            // console.log(pattern.test(password));
606            // console.log(pattern2.test(password));
607            if (pattern.test(password)) {
608                return [password_strong_code,password_strong];
609            } else {
610                if (pattern2.test(password)) {
611                    return [password_average_code,password_average];
612                } else {
613                    return [password_weak_code,password_weak];
614                }
615            }
616            
617        }
618
619        function validateNumbers(numbers) {
620            var pattern = new RegExp(/^[0-9]+$/i);
621            return pattern.test(numbers);
622        }
623
624        function validateName(name) {
625            //chinese - \u4e00-\u9eff
626            //korean - \u3130-\u318F\uAC00-\uD7AF
627            //greek - \u0370-\u03FF\u1F00-\u1FFF
628            var pattern = new RegExp(/^[-' a-z\u4e00-\u9eff\u3130-\u318F\uAC00-\uD7AF\u0370-\u03FF\u1F00-\u1FFF]{1,50}$/i);
629            return pattern.test(name);
630        }
631
632        function validateDate(birthDate) { 
633            var objDate,  // date object initialized from the birthDate string 
634                mSeconds, // birthDate in milliseconds 
635                day,      // day 
636                month,    // month 
637                year;     // year 
638            // date length should be 10 characters (no more no less) 
639            if (birthDate.length !== 10) { 
640                return false; 
641            } 
642            // third and sixth character should be '/' 
643            if (rf_lang == "sc" || rf_lang == "ch") {
644                if (birthDate.substring(4, 5) !== '/' || birthDate.substring(7, 8) !== '/') { 
645                    return false; 
646                } 
647            } else {
648                if (birthDate.substring(2, 3) !== '/' || birthDate.substring(5, 6) !== '/') { 
649                    return false; 
650                } 
651            }
652
653            // extract month, day and year from the birthDate (expected format is mm/dd/yyyy) 
654            // subtraction will cast variables to integer implicitly (needed 
655            // for !== comparing) 
656            if (rf_lang == "sc" || rf_lang == "ch") {
657                year = birthDate.substring(0, 4) - 0; 
658                day = birthDate.substring(5, 7) - 0; 
659                month = birthDate.substring(8, 10) - 1; // because months in JS start from 0 
660            } else {
661                day = birthDate.substring(0, 2) - 0; 
662                month = birthDate.substring(3, 5) - 1; // because months in JS start from 0 
663                year = birthDate.substring(6, 10) - 0; 
664            }
665
666            // test year range 
667            if (year < 1000 || year > 3000) { 
668                return false; 
669            } 
670            // convert birthDate to milliseconds 
671            mSeconds = (new Date(year, month, day)).getTime(); 
672            // initialize Date() object from calculated milliseconds 
673            objDate = new Date(); 
674            objDate.setTime(mSeconds); 
675            // compare input date and parts from Date() object 
676            // if difference exists then date isn't valid 
677            if (objDate.getFullYear() !== year || 
678                objDate.getMonth() !== month || 
679                objDate.getDate() !== day) { 
680                return false; 
681            } 
682            // otherwise return true 
683            return true; 
684        }
685
686        var validateUsernameField = function(element,e) {
687            //console.log(e.type);
688            var username_cnt = $("#regForm_username").val().length;
689            var username_val = $("#regForm_username").val();
690
691            if (username_val == "" || (username_cnt < 3 || username_cnt > 15) || !validateAlphaNumeric(username_val)) {
692                if (element.siblings('.item-error').length != 0) {
693                    element.siblings('.item-error').remove();
694                }
695                if (element.siblings('.item-error').length == 0) {
696                    if (username_val == "") {
697                        element.parent().append(error_element.replace('[[msg_string]]',username_error));
698                    } else if ((username_cnt < 3 || username_cnt > 15)) {
699                        element.parent().append(error_element.replace('[[msg_string]]',username_min_max_error));
700                    } else if (!validateAlphaNumeric(username_val)) {
701                        element.parent().append(error_element.replace('[[msg_string]]',username_alphanumeric_error));
702                    }
703                    //element.parent().append(error_element.replace('[[msg_string]]',username_error));
704                    element.parent().parent().removeClass('has-success').addClass('has-error');
705                    if (element.siblings('.validation-icon').length == 0) {
706                        element.after(validation_icon);
707                    }
708                }
709                username_flag = false;
710            } else {
711                if (element.siblings('.item-error').length != 0) {
712                    element.siblings('.item-error').remove();
713                }
714                element.parent().parent().removeClass('has-error').addClass('has-success');
715                
716                if (e.type == "blur" || e.type == "click") {
717                    /* One Login. All Access. checked */
718                    if($('.checkbox-wrapper input[type="checkbox"]').prop("checked") == true){
719                        validateFunction("Username",username_val,element);
720                    }
721
722                    /* One Login. All Access. unchecked */
723                    else {
724                        validateWPFunction("Username",username_val,element);
725                    }
726                }
727            }
728        }
729
730        var validatePasswordField = function(element,e) {
731            //console.log(e.type);
732            var username_val = $("#regForm_username").val();
733            var password_cnt = $("#regForm_password").val().length;
734            var password_val = $("#regForm_password").val();
735
736            if (password_val == "" || (password_cnt < 6 || password_cnt > 10) || !validateAlphaNumeric(password_val) || (username_val != "" && password_val != "" && username_val == password_val) || ("password" == password_val.toLowerCase())) {
737                if (element.siblings('.item-error').length != 0) {
738                    element.siblings('.item-error').remove();
739                }
740                if (element.siblings('.item-error').length == 0) {
741                    if (password_val == "") {
742                        element.parent().append(error_element.replace('[[msg_string]]',password_error));
743                    } else if (password_cnt < 6) {
744                        element.parent().append(error_element.replace('[[msg_string]]',password_min_error));
745                    } else if (password_cnt > 10) {
746                        element.parent().append(error_element.replace('[[msg_string]]',password_max_error));
747                    } else if (!validateAlphaNumeric(password_val)) {
748                        element.parent().append(error_element.replace('[[msg_string]]',password_alphanumeric_error));
749                    } else if (username_val != "" && password_val != "" && username_val == password_val) {
750                        element.parent().append(error_element.replace('[[msg_string]]',password_match_error));
751                    } else if ("password" == password_val.toLowerCase()) {
752                        element.parent().append(error_element.replace('[[msg_string]]',password_invali
752d_error));
753                    }
754                    element.parent().parent().removeClass('has-success').addClass('has-error');
755                    if (element.siblings('.validation-icon').length == 0) {
756                        element.after(validation_icon);
757                    }
758                }
759                password_flag = false;
760            } else {
761                if (element.siblings('.item-error').length != 0) {
762                    element.siblings('.item-error').remove();
763                }
764                element.parent().parent().removeClass('has-error').addClass('has-success');
765
766                if (e.type == "blur" || e.type == "click") {
767                    var password_strength = validatePasswordStrength(password_val);
768                    var password_strength_code = password_strength[0];
769                    var password_strength_value = password_strength[1];
770
771                    $(".password-strength-wrapper").removeClass('password-strength-hidden').addClass('password-strength-'+password_strength_code);
772                    $(".password-strength-msg span").text(password_strength_value);
773                }
774                password_flag = true;
775            }
776        }
777
778        var validateEmailField = function(element,e) {
779            //console.log(e.type);
780            var email_cnt = $("#regForm_email").val().length;
781            var email_val = $("#regForm_email").val();
782
783            if (email_val == "" || !validateEmail(email_val)) {
784                if (element.siblings('.item-error').length != 0) {
785                    element.siblings('.item-error').remove();
786                }
787                if (element.siblings('.item-error').length == 0) {
788                    if (email_val == "") {
789                        element.parent().append(error_element.replace('[[msg_string]]',email_error));
790                    } else if (!validateEmail(email_val)) {
791                        element.parent().append(error_element.replace('[[msg_string]]',email_validity_error));
792                    }
793                    //element.parent().append(error_element.replace('[[msg_string]]',email_error));
794                    element.parent().parent().removeClass('has-success').addClass('has-error');
795                    if (element.siblings('.validation-icon').length == 0) {
796                        element.after(validation_icon);
797                    }
798                }
799                email_flag = false;
800            } else {
801                if (element.siblings('.item-error').length != 0) {
802                    element.siblings('.item-error').remove();
803                }
804                element.parent().parent().removeClass('has-error').addClass('has-success');
805                
806                if (e.type == "blur" || e.type == "click") {
807                    /* One Login. All Access. checked */
808                    if($('.checkbox-wrapper input[type="checkbox"]').prop("checked") == true){
809                        validateFunction("Email",email_val,$("#regForm_email"));
810                        // if (valid_email) {
811                        //  email_flag = true;
812                        // } else {
813                        //  email_flag = false;
814                        // }
815                    }
816
817                    /* One Login. All Access. unchecked */
818                    else {
819                        validateWPFunction("Email",email_val,$("#regForm_email"));
820                    }
821                }
822            }
823        }
824
825        var validateMobileField = function(element) {
826            var mobile_cnt = $("#regForm_mobile_number").val().length;
827            var mobile_val = $("#regForm_mobile_number").val();
828
829            if (
830                // mobile_val != "" && 
831                mobile_val = "" ||
832                (
833                // (rf_isocode == "CN" && mobile_cnt != 11) || 
834                // (rf_isocode == "TH" && mobile_cnt != 9) || 
835                // (rf_isocode == "VN" && (mobile_cnt < 9 || mobile_cnt > 11)) || 
836                // (rf_isocode == "ID" && (mobile_cnt < 10 || mobile_cnt > 12)) || 
837                // (rf_isocode == "KR" && mobile_cnt != 10) || 
838                // (rf_isocode == "IN" && mobile_cnt != 10) || 
839                // (rf_isocode == "MY" && (mobile_cnt < 9 || mobile_cnt > 10)) || 
840                // (!rf_isocode_array.includes(rf_isocode) && (mobile_cnt < 6 || mobile_cnt > 15)) || 
841                (mobile_cnt < 6 || mobile_cnt > 15) || 
842                !validateNumbers(mobile_val)
843                )
844                ) {
845                if (element.siblings('.item-error').length != 0) {
846                    element.siblings('.item-error').remove();
847                }
848                if (element.siblings('.item-error').length == 0) {
849                    // IF MOBILE NUMBER NOT REQUIRED
850                    /* if (mobile_cnt < 6 || mobile_cnt > 15) {
851                        element.parent().append(error_element.replace('[[msg_string]]',mobile_min_max_error));
852                    } else if (!validateNumbers(mobile_val)) {
853                        element.parent().append(error_element.replace('[[msg_string]]',mobile_val
853idity_error));
854                    } */
855                    if (mobile_cnt == 0) {
856                        element.parent().append(error_element.replace('[[msg_string]]',mobile_error));
857                    } else if (mobile_cnt < 6 || mobile_cnt > 15) {
858                        element.parent().append(error_element.replace('[[msg_string]]',mobile_min_max_error));
859                    } else if (!validateNumbers(mobile_val)) {
860                        element.parent().append(error_element.replace('[[msg_string]]',mobile_validity_error));
861                    }
862                    //element.parent().append(error_element.replace('[[msg_string]]',mobile_error));
863                    element.parent().parent().removeClass('has-success').addClass('has-error');
864                    if (element.siblings('.validation-icon').length == 0) {
865                        element.after(validation_icon);
866                    }
867                }
868                mobile_flag = false;
869            } else {
870                if (element.siblings('.item-error').length != 0) {
871                    element.siblings('.item-error').remove();
872                }
873                element.parent().parent().removeClass('has-error').addClass('has-success');
874                mobile_flag = true;
875            }
876        }
877
878        var validateFirstNameField = function(element) {
879            var firstname_cnt = $("#regForm_first_name").val().length;
880            var firstname_val = $("#regForm_first_name").val();
881
882            if (firstname_val == "" || !validateName(firstname_val) || ("first name" == firstname_val.toLowerCase())) {
883                if (element.siblings('.item-error').length != 0) {
884                    element.siblings('.item-error').remove();
885                }
886                if (element.siblings('.item-error').length == 0) {
887                    if (firstname_cnt > 50) {
888                        element.parent().append(error_element.replace('[[msg_string]]',firstname_range_error));
889                    } else if (firstname_cnt == 0) {
890                        element.parent().append(error_element.replace('[[msg_string]]',firstname_error));
891                    } else if (!validateName(firstname_val)) {
892                        element.parent().append(error_element.replace('[[msg_string]]',firstname_chars_error));
893                    } else if ("first name" == firstname_val.toLowerCase()) {
894                        element.parent().append(error_element.replace('[[msg_string]]',firstname_invalid_error));
895                    }
896                    element.parent().parent().removeClass('has-success').addClass('has-error');
897                    if (element.siblings('.validation-icon').length == 0) {
898                        element.after(validation_icon);
899                    }
900                }
901                firstname_flag = false;
902            } else {
903                if (element.siblings('.item-error').length != 0) {
904                    element.siblings('.item-error').remove();
905                }
906                element.parent().parent().removeClass('has-error').addClass('has-success');
907                if (element.siblings('.validation-icon').length == 0) {
908                    element.after(validation_icon);
909                }
910                firstname_flag = true;
911            }
912        }
913
914        var validateLastNameField = function(element) {
915            var lastname_cnt = $("#regForm_last_name").val().length;
916            var lastname_val = $("#regForm_last_name").val();
917
918            if (lastname_val == "" || !validateName(lastname_val) || ("last name" == lastname_val.toLowerCase())) {
919                if (element.siblings('.item-error').length != 0) {
920                    element.siblings('.item-error').remove();
921                }
922                if (element.siblings('.item-error').length == 0) {
923                    if (lastname_cnt > 50) {
924                        element.parent().append(error_element.replace('[[msg_string]]',lastname_range_error));
925                    } else if (lastname_cnt == 0) {
926                        element.parent().append(error_element.replace('[[msg_string]]',lastname_error));
927                    } else if (!validateName(lastname_val)) {
928                        element.parent().append(error_element.replace('[[msg_string]]',lastname_chars_error));
929                    } else if ("last name" == lastname_val.toLowerCase()) {
930                        element.parent().append(error_element.replace('[[msg_string]]',lastname_invalid_error));
931                    }
932                    element.parent().parent().removeClass('has-success').addClass('has-error');
933                    if (element.siblings('.validation-icon').length == 0) {
934                        element.after(validation_icon);
935                    }
936                }
937                lastname_flag = false;
938            } else {
939                if (element.siblings('.item-error').length != 0) {
940                    element.siblings('.item-error').remove();
941                }
942                element.parent().parent().removeClass('has-error').addClass('has-success');
943                if (element.siblings('.validation-icon').length == 0) {
944                    element.after(validation_icon);
945                }
946                lastname_flag = true;
947            }
948        }
949
950        var validateBirthdateField = function(element) {
951            var birthdate_cnt = $("#regForm_birthdate").val().length;
952            var birthdate_val = $("#regForm_birthdate").val();
953
954            if (birthdate_val == "" || !validateDate(birthdate_val)) {
955                if (element.siblings('.item-error').length != 0) {
956                    element.siblings('.item-error').remove();
957                }
958                if (element.siblings('.item-error').length == 0) {
959                    if (birthdate_val == "") {
960                        element.parent().append(error_element.replace('[[msg_string]]',birthdate_error));
961                    } else if (!validateDate(birthdate_val)) {
962                        element.parent().append(error_element.replace('[[msg_string]]',birthdate_format_error));
963                    } 
964                    element.parent().parent().removeClass('has-success').addClass('has-error');
965                    if (element.siblings('.validation-icon').length == 0) {
966                        element.after(validation_icon);
967                    }
968                }
969                birthdate_flag = false;
970            } else {
971                if (element.siblings('.item-error').length != 0) {
972                    element.siblings('.item-error').remove();
973                }
974                element.parent().parent().removeClass('has-error').addClass('has-success');
975                if (element.siblings('.validation-icon').length == 0) {
976                    element.after(validation_icon);
977                }
978                birthdate_flag = true;
979            }
980        }
981
982        var validateDropdownDateField = function(element) {
983            var day = $("#regForm_birthdate_day").val();
984            var month = $("#regForm_birthdate_month").val();
985            var year = $("#regForm_birthdate_year").val();
986
987            var birthdate_val;
988            if (rf_lang == "sc" || rf_lang == "ch") {
989                birthdate_val = year + '/' + day + '/' + month;
990            } else {
991                birthdate_val = day + '/' + month + '/' + year;
992            }
993            
994            if (day == "" || month == "" || year == "" || !validateDate(birthdate_val)) {
995                if (element.siblings('.item-error').length != 0) {
996                    element.siblings('.item-error').remove();
997                }
998                if (element.siblings('.item-error').length == 0) {
999                    if (day == "" || month == "" || year == "") {
1000                        element.parent().append(error_element.replace('[[msg_string]]',birthdate_error));
1001                    } else if (!validateDate(birthdate_val)) {
1002                        element.parent().append(error_element.replace('[[msg_string]]',birthdate_format_error));
1003                    } 
1004                    element.parent().parent().removeClass('has-success').addClass('has-error');
1005                    if (element.siblings('.validation-icon').length == 0) {
1006                        element.after(validation_icon);
1007                    }
1008                }
1009                birthdate_flag = false;
1010            } else {
1011                if (element.siblings('.item-error').length != 0) {
1012                    element.siblings('.item-error').remove();
1013                }
1014                element.parent().parent().removeClass('has-error').addClass('has-success');
1015                if (element.siblings('.validation-icon').length == 0) {
1016                    element.after(validation_icon);
1017                }
1018                birthdate_flag = true;
1019            }
1020        }
1021
1022        var validateCurrencyField = function(element) {
1023            var currency_cnt = $("#regForm_currency").val().length;
1024            var currency_val = $("#regForm_currency").val();
1025
1026            if (currency_val == "") {
1027                if (element.siblings('.item-error').length == 0) {
1028                    element.parent().append(error_element.replace('[[msg_string]]',currency_error));
1029                    element.parent().parent().removeClass('has-success').addClass('has-error');
1030                    if (element.siblings('.validation-icon').length == 0) {
1031                        element.after(validation_icon);
1032                    }
1033                }
1034                currency_flag = false;
1035            } else {
1036                if (element.siblings('.item-error').length != 0) {
1037                    element.siblings('.item-error').remove();
1038                }
1039                element.parent().parent().removeClass('has-error').addClass('has-success');
1040                if (element.siblings('.validation-icon').length == 0) {
1041                    element.after(validation_icon);
1042                }
1043                currency_flag = true;
1044            }
1045        }
1046
1047        var validateCountryField = function(element) {
1048            var country_cnt = $("#regForm_country").val().length;
1049            var country_val = $("#regForm_country").val();
1050
1051            if (country_val == "") {
1052                if (element.siblings('.item-error').length == 0) {
1053                    element.parent().append(error_element.replace('[[msg_string]]',country_error));
1054                    element.parent().parent().removeClass('has-success').addClass('has-error');
1055                    if (element.siblings('.validation-icon').length == 0) {
1056                        element.after(validation_icon);
1057                    }
1058                }
1059                country_flag = false;
1060            } else {
1061                if (element.siblings('.item-error').length != 0) {
1062                    element.siblings('.item-error').remove();
1063                }
1064                element.parent().parent().removeClass('has-error').addClass('has-success');
1065                if (element.siblings('.validation-icon').length == 0) {
1066                    element.after(validation_icon);
1067                }
1068                country_flag = true;
1069            }
1070        }
1071
1072        //USERNAME VALIDATION
1073        $("#regForm_username").on('input blur', function(event) {
1074            //console.log(event);
1075            validateUsernameField($(this),event);
1076        });
1077
1078        //PASSWORD VALIDATION
1079        $("#regForm_password").on('input blur', function(event) {
1080            //console.log(event);
1081            validatePasswordField($(this),event);
1082        });
1083
1084        //HIDE PASSWORD STRENGTH
1085        $("#regForm_password").on('focus', function(event) {
1086            $(".password-strength-wrapper").attr('class','password-strength-wrapper password-strength-hidden');
1087            $(".password-strength-msg span").text('');
1088        });
1089
1090        //PASSWORD VISIBILITY
1091        $(".password-visibility-icon").click(function(event){
1092            if ($(this).hasClass('icon-hide')) {
1093                $(this).removeClass('icon-hide').addClass('icon-show');
1094                $(this).siblings('#regForm_password').attr('type', 'text');
1095            } else {
1096                $(this).removeClass('icon-show').addClass('icon-hide');
1097                $(this).siblings('#regForm_password').attr('type', 'password');
1098            }
1099        });
1100
1101        //EMAIL VALIDATION
1102        $("#regForm_email").on('input blur', function(event) {
1103            //console.log(event);
1104            validateEmailField($(this),event);
1105        });
1106
1107        //MOBILE VALIDATION
1108        $("#regForm_mobile_number").on('input blur', function(event) {
1109            //console.log(event);
1110            validateMobileField($(this));
1111        });
1112
1113        //FIRST NAME VALIDATION
1114        $("#regForm_first_name").on('input blur', function(event) {
1115            //console.log(event);
1116            validateFirstNameField($(this));
1117        });
1118
1119        //LAST NAME VALIDATION
1120        $("#regForm_last_name").on('input blur', function(event) {
1121            //console.log(event);
1122            validateLastNameField($(this));
1123        });
1124
1125        var custom_year = new Date(new Date().setFullYear(new Date().getFullYear()-18));
1126        //console.log(custom_year);
1127        
1128        if (rf_lang == "sc" || rf_lang == "ch") {
1129            var pika_date_format = 'YYYY/DD/MM';
1130        } else {
1131            var pika_date_format = 'DD/MM/YYYY';
1132        }
1133
1134        var picker = new Pikaday(
1135        {
1136            field: document.getElementById('regForm_birthdate'),
1137            format: pika_date_format,
1138            minDate: new Date(new Date().setFullYear(new Date().getFullYear()-18-100)),
1139            maxDate: new Date(new Date().setFullYear(new Date().getFullYear()-18)),
1140            yearRange: [new Date().getFullYear()-18-100,new Date().getFullYear()-18],
1141            toString(date, format) {
1142                // you should do formatting based on the passed format,
1143                // but we will just return 'DD/MM/YYYY' for simplicity
1144                const day = ("0" + date.getDate()).slice(-2);
1145                const month = ("0" + (date.getMonth() + 1)).slice(-2);
1146                const year = date.getFullYear();
1147                if (rf_lang == "sc" || rf_lang == "ch") {
1148                    return `${year}/${day}/${month}`;
1149                } else {
1150                    return `${day}/${month}/${year}`;
1151                }
1152                
1153            },
1154            // parse(dateString, format) {
1155            //     // dateString is the result of `toString` method
1156            //     const parts = dateString.split('/');
1157            //     const day = parseInt(parts[0], 10);
1158            //     const month = parseInt(parts[1] - 1, 10);
1159            //     const year = parseInt(parts[1], 10);
1160            //     return new Date(year, month, day);
1161            // }
1162        });
1163
1164        picker.gotoYear(new Date().getFullYear()-18);
1165
1166        //BIRTHDATE VALIDATION
1167        $("#regForm_birthdate").on('input blur', function(event) {
1168            //console.log(event);
1169            validateBirthdateField($(this));
1170        });
1171
1172        //BIRTHDATE DROPDOWN FIELDS VALIDATION
1173        $("#regForm_birthdate_day, #regForm_birthdate_month, #regForm_birthdate_year").on('input blur', function(event) {
1174            //console.log(event);
1175            validateDropdownDateField($(this));
1176        });
1177
1178        //CURRENCY VALIDATION
1179        $("#regForm_currency").on('change blur', function(event) {
1180            //console.log(event);
1181            validateCurrencyField($(this));
1182        });
1183
1184        //COUNTRY VALIDATION
1185        $("#regForm_country").on('change blur', function(event) {
1186            //console.log(event);
1187            validateCountryField($(this));
1188        });
1189
1190        $("#regForm_submit").click(function(event){
1191            //event.preventDefault();
1192
1193            $('#registration-form .rf-notification').remove();
1194
1195            if (!username_flag)     validateUsernameField($("#regForm_username"),event);
1196            if (!password_flag)     validatePasswordField($("#regForm_password"),event);
1197            if (!email_flag)        validateEmailField($("#regForm_email"),event);
1198            if (!mobile_flag)       validateMobileField($("#regForm_mobile_number"));
1199            if (!firstname_flag)    validateFirstNameField($("#regForm_first_name"));
1200            if (!lastname_flag)     validateLastNameField($("#regForm_last_name"));
1201            if (!birthdate_flag)    validateBirthdateField($("#regForm_birthdate"));
1202            // if (!birthdate_flag)     validateDropdownDateField($("#regForm_birthdate_year")); // FOR DROPDOWN DATE FIELD
1203            if (!currency_flag)     validateCurrencyField($("#regForm_currency"));
1204            if (!country_flag)      validateCountryField($("#regForm_country"));
1205
1206            console.log("u="+username_flag);
1207            console.log("p="+password_flag);
1208            console.log("e="+email_flag);
1209            console.log("m="+mobile_flag);
1210            console.log("f="+firstname_flag);
1211            console.log("l="+lastname_flag);
1212            console.log("b="+birthdate_flag);
1213            console.log("cu="+currency_flag);
1214            console.log("co="+country_flag);
1215
1216
1217            if (username_flag && password_flag && email_flag && mobile_flag && firstname_flag && lastname_flag && birthdate_flag && currency_flag && country_flag) {
1218                console.log("form valid - submit now");
1219                
1220                submitFunction();
1221
1222                return false;
1223            }
1224
1225            return false;
1226        });
1227
1228        
1229        // $(".country-area-code span.trigger").click(function(event){
1230        //  $('.country-area-code ul').toggleClass('active');
1231        // });
1232
1233        // $(".country-area-code ul li").click(function(event){
1234        //  $('.country-area-code span#trigger-span').attr('class','trigger');
1235        //  $('.country-area-code span#trigger-span').addClass($(this).attr('class'));
1236        //  $('.country-area-code span#trigger-span').text($(this).find('.country-num').text());
1237        //  $('.country-area-code ul').toggleClass('active');
1238        // });
1239
1240        if (rf_isocode_array.includes(rf_isocode)) {
1241            $('.country-area-code span#trigger-span').attr('class','trigger');
1242            $('.country-area-code span#trigger-span').addClass(rf_isocode.toLowerCase());
1243            $('.country-area-code span#trigger-span').text($('li.'+rf_isocode.toLowerCase()).find('.country-num').text());
1244        } else {
1245            $(".country-area-code span.trigger").click(function(event){
1246                $('.country-area-code ul').toggleClass('active');
1247            });
1248
1249            $(".country-area-code ul li").click(function(event){
1250                $('.country-area-code span#trigger-span').attr('class','trigger');
1251                $('.country-area-code span#trigger-span').addClass($(this).attr('class'));
1252                $('.country-area-code span#trigger-span').text($(this).find('.country-num').text());
1253                $('.country-area-code ul').toggleClass('active');
1254            });
1255        }
1256
1257        $("#regForm_email, #regForm_first_name, #regForm_last_name").on('focus blur', function(event) {
1258            if (event.type == "focus") {
1259                $(this).after('<span class="form-input-tip">'+$(this).attr('data-tip')+'</span>');
1260            } else if (event.type == "blur") {
1261                $(this).siblings('.form-input-tip').remove();
1262            }
1263        });
1264
1265        // $("#regForm_email, #regForm_first_name, #regForm_last_name, #regForm_birthdate").on('focus blur', function(event) {
1266        //  if (event.type == "focus") {
1267        //      $(this).after('<span class="form-input-tip">'+$(this).attr('data-tip')+'</span>');
1268        //  } else if (event.type == "blur") {
1269        //      $(this).siblings('.form-input-tip').remove();
1270        //  }
1271        // });
1272
1273        // $("#regForm_birthdate_day, #regForm_birthdate_month, #regForm_birthdate_year").on('focus blur', function(event) {
1274        //  if (event.type == "focus") {
1275        //      $('#regForm_birthdate_year').after('<span class="form-input-tip">'+$(this).attr('data-tip')+'</span>');
1276        //  } else if (event.type == "blur") {
1277        //      $(this).siblings('.form-input-tip').remove();
1278        //  }
1279        // });
1280        
1281        $(window).on("resize", function() {
1282            var regvia_val = $('#registration_form_regvia').val();
1283            var product_id = $('#registration_form_product_id').val();
1284
1285            if (regvia_val && product_id)  {
1286
1287                var new_reg_via;
1288
1289                if ($(window).width() <= 1023) {
1290                    new_reg_via = $('#'+product_id).attr('data-regvia-mobi');
1291                } else {
1292                    new_reg_via = $('#'+product_id).attr('data-regvia-desk');
1293                }
1294
1295                $('#registration_form_regvia').val(new_reg_via);
1296
1297            }
1298        });
1299
1300        $(document).ready(function() {
1301             $("#regForm_currency").formSelect();
1302             $("#regForm_country").formSelect();
1303        });
1304
1305    });
1306
1307})(jQuery, this);

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.