{"id":9,"date":"2023-06-23T09:56:31","date_gmt":"2023-06-23T09:56:31","guid":{"rendered":"http:\/\/portal.regena.bg\/index.php\/register-login\/"},"modified":"2023-10-18T12:10:09","modified_gmt":"2023-10-18T09:10:09","slug":"register-login","status":"publish","type":"page","link":"https:\/\/portal.regena.bg\/index.php\/register-login\/","title":{"rendered":"\u041b\u0435\u043a\u0430\u0440\u0441\u043a\u0438 \u0434\u043e\u0441\u0442\u044a\u043f"},"content":{"rendered":"\n<div class=\"wp-block-kivi-care-register-login\"><div class=\"wp-block-kivi-care-register-login\">\n    <div class=\"kivi-widget\"  dir=''>\n        <div id=\"kivi-content\" style=\"display:none;\">\n                        <ul class=\"nav-tabs\">                        <li class=\"tab-item \u0430\u043a\u0442\u0438\u0432\u043d\u0438\">\n                            <a href=\"#login\" class=\"tab-link\" id=\"login-tab\" > \u0412\u043b\u0435\u0437 <\/a>\n                        <\/li>            <\/ul>\n            <div id=\"login-register-panel\">\n                                <form id=\"kivicare-login-form\" class=\"\">\n                    <div id=\"login\" class=\"iq-fade authActive\">\n                        <div>\n                            <div  id=\"kivicare-login\">\n                                <div class=\"form-group\">\n                                    <label class=\"form-label\"\n                                        for=\"loginUsername\">\u041f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0441\u043a\u043e \u0438\u043c\u0435 \u0438\u043b\u0438 \u0438\u043c\u0435\u0439\u043b                                        <span>*<\/span><\/label>\n                                    <input type=\"text\" name=\"username\" class=\"iq-kivicare-form-control\" id=\"loginUsername\"\n                                        placeholder=\"\u0412\u044a\u0432\u0435\u0434\u0438 \u0442\u0432\u043e\u0435\u0442\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0441\u043a\u043e \u0438\u043c\u0435 \u0438\u043b\u0438 \u0438\u043c\u0435\u0439\u043b\" required>\n                                <\/div>\n                                <div class=\"form-group\">\n                                    <label class=\"form-label\"\n                                        for=\"loginPassword\">\u041f\u0430\u0440\u043e\u043b\u0430                                        <span>*<\/span><\/label>\n                                    <div class=\"password-container\" style=\"position: relative;\">\n                                        <input type=\"password\" name=\"password\" class=\"iq-kivicare-form-control\"\n                                            id=\"loginPassword\" placeholder=\"***********\" required>\n                                        <i class=\"password-toggle fas fa-eye\" id=\"togglePassword\" style=\"position: absolute; top: 50%; right: 10px; transform: translateY(-50%); cursor: pointer;\"><\/i>\n                                    <\/div>\n                                <\/div>\n                                <div class=\"form-group remember-me-content\">\n                                    <div>\n                                        <input type=\"checkbox\" id=\"remember-me\" name=\"Remember Me\">\n                                        <label class=\"custom-control-label\" for=\"remember-me\">Remember Me<\/label>\n                                    <\/div>\n                                    <a href=\"https:\/\/portal.regena.bg\/wp-login.php?action=lostpassword\" target=\"_blank\"\n                                    class=\"iq-color-secondary forgot-password\"><i>\u0417\u0430\u0431\u0440\u0430\u0432\u0435\u043d\u0430 \u043f\u0430\u0440\u043e\u043b\u0430?<\/i><\/a>\n                                <\/div>\n                                <div>\n                                    <button type=\"submit\" name=\"submit\" value=\"submit\"\n                                            class=\"iq-button iq-button-primary\">Login                                    <\/button>\n                                <\/div>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/form>\n            <\/div>\n            <div class=\"mb-2\">\n                <div id=\"kivicare_server_error_msg\" class=\"alert alert-popup alert-danger alert-left error\" style=\"display:none\"><\/div>\n                <div id=\"kivicare_success_msg\" class=\"alert alert-popup alert-success alert-left\" style=\"display:none;\"><\/div>\n            <\/div>\n            <div id=\"kivi-main-loader-overlay\" class=\"d-none\">\n            <span style=\"background:#fff; display: flex;align-items: center;justify-content: center;\">\n                            <div class=\"double-lines-spinner\"><\/div>\n                    <\/span>\n            <\/div>\n        <\/div>\n        <div id=\"kivi-main-loader\">\n            <span style=\"background:#fff; display: flex;align-items: center;justify-content: center;\">\n                            <div class=\"double-lines-spinner\"><\/div>\n                    <\/span>\n        <\/div>\n    <\/div>\n<\/div>    \n<script>\n        if('1'){\n        document.documentElement.style.setProperty(\"--iq-primary\", '#99768b');\n    }\n\n    if('1'){\n        document.documentElement.style.setProperty(\"--iq-primary-dark\", '#895c7e');\n    }\n\n    if('1'){\n        document.documentElement.style.setProperty(\"--iq-secondary\", '#9f9999');\n    }\n\n    if('1'){\n        document.documentElement.style.setProperty(\"--iq-secondary-dark\", '#ded0d0');\n    }\n\n    function kivicareFileUploadSizeCheck(event){\n        const allowedSize = 20971520; \/\/(in bytes)\n        if (event.target.files && event.target.files.length > 0\n            && event.target.files[0].size > allowedSize) {\n            jQuery(event.target).css('border','1px solid var(--iq-secondary-dark)');\n            jQuery(event.target).siblings('div').css('display','block');\n            event.target.value = ''; \/\/ Clear the file input field\n        }else{\n            jQuery(event.target).css('border','1px solid #eee');\n            jQuery(event.target).siblings('div').css('display','none');\n        }\n    }\n\n    document.addEventListener('readystatechange', event => {\n        if (event.target.readyState === \"complete\") {\n            jQuery('#CountryCode').select2();\n            jQuery('#userRole').select2({\n                minimumResultsForSearch: Infinity\n            });\n            jQuery('#userClinic').select2({\n                minimumResultsForSearch: Infinity\n            });\n            'use strict';\n            (function ($) {\n\n                const post = (route, data = {}, frontEnd = false, headers = {\n                    headers: {'Content-Type': 'application\/json'}\n                }) => {\n\n                    window.ajaxurl = 'https:\/\/portal.regena.bg\/wp-admin\/admin-ajax.php';\n                    window.nonce = '2e57dfbae2';\n\n                    let url = window.ajaxurl;\n                    if (data.action === undefined) {\n                        url = ajaxurl + '?action=ajax_post';\n                    }\n\n                    if (route === undefined) {\n                        return false\n                    }\n\n                    if (data.append !== undefined) {\n                        data.append('route_name', route);\n                        data.append('_ajax_nonce', window.nonce)\n                    } else {\n                        data.route_name = route;\n                        data._ajax_nonce = window.nonce;\n                    }\n\n                    return new Promise((resolve, reject, headers) => {\n                        axios.post(url, data, headers)\n                            .then((data) => {\n                                if (data.data.status_code !== undefined && data.data.status_code === 403) {\n                                    kcShowErrorMessage('Route not found');\n                                }\n                                resolve(data)\n                            })\n                            .catch((error) => {\n                                reject(error)\n                                kcShowErrorMessage('Internal server error');\n                            });\n                    })\n                }\n\n                const get = (route, data, frontEnd = false) => {\n                    data._ajax_nonce = 'cc186ba4b5';\n                    let url = 'https:\/\/portal.regena.bg\/wp-admin\/admin-ajax.php';\n                    if (data.action === undefined) {\n                        url = url + '?action=ajax_get';\n                    }\n\n                    if (route === undefined) {\n                        return false\n                    }\n\n                    url = url + '&route_name=' + route;\n                    return new Promise((resolve, reject) => {\n                        axios.get(url, {params: data})\n                            .then((data) => {\n                                if (data.data.status_code !== undefined && data.data.status_code === 403) {\n                                    kcShowErrorMessage('kivicare_server_error_msg','Route not found');\n                                }\n                                resolve(data)\n                            })\n                            .catch((error) => {\n                                reject(error)\n                                kcShowErrorMessage('kivicare_server_error_msg','Internal server error');\n                            });\n                    })\n                }\n\n                if($(document).find('#userRole').val()){\n                    kcGetRegisterPageCustomField($(document).find('#userRole').val())\n                }\n                var element = document.getElementById('CountryCode');\n                if (element !== null) {\n                    getCountryCodeData();\n                }\n                \n                getUserRegistrationFormData();\n\n                if('1'){\n                    $('.kivi-widget ul li.tab-item a').on('click', function (e) {\n                        e.preventDefault();\n                        const tab_id = $(this).attr('href');\n                        $('.kivi-widget li.tab-item').removeClass('active');\n                        $(this).parent().addClass('active');\n                        $('.kivi-widget form').addClass ('d-none');\n                        $(tab_id).parent().removeClass('d-none')\n                    });\n                }\n\n                if(''){\n                    grecaptcha.ready(function() {\n                        kcCreateRecaptcha();\n                    });\n                }\n\n                function kcCreateRecaptcha(){\n                    grecaptcha.execute('', {action:'validate_captcha'})\n                        .then(function(token) {\n                            \/\/ add token value to form\n                            document.getElementById('g-recaptcha-response').value = token;\n                        });\n                }\n                $(document).on('submit', '#kivicare-register-form', function (event) {\n                    $('#kcCustomFieldsList .kivicare-required').prop('required', true);\n                    $.each($('#kcCustomFieldsList').find(':input:checkbox').parent().parent(), function (key, value) {\n                        let cbx_group = $(value).find(':input:checkbox');\n                        if (cbx_group.is(\":checked\")) {\n                            cbx_group.prop('required', false);\n                        }\n                    });\n                    var result = {};\n                    $.each($('#register :input').serializeArray(), function () {\n                        result[this.name] = this.value;\n                    });\n                    var custom_fields = kivicareCustomFieldsData('kcCustomFieldsList');\n                    kivicareButtonTextChange(this, 'Loading...', true)\n                    event.preventDefault();\n                    $('#kivi-content').addClass('kc-position-relative')\n                    $('#kivi-main-loader-overlay').removeClass('d-none')\n                    $('#kivi-main-loader-overlay').addClass('kc-relative-center')\n                    const registerData = {...result, ...{custom_fields}};\n                    let formData = new FormData(this)\n                    $.each(registerData, function (key, value) {\n                    if (typeof (value) === 'object') {\n                        value = JSON.stringify(value)\n                    }\n                        formData.append(key, value)\n                    });\n                    post('register_new_user',formData, true)\n                        .then((response) => {\n                            $('#kivi-content').removeClass('kc-position-relative')\n                            $('#kivi-main-loader-overlay').addClass('d-none')\n                            $('#kivi-main-loader-overlay').removeClass('kc-relative-center')\n                            if(''){\n                                kcCreateRecaptcha();\n                            }\n                            kivicareButtonTextChange(this, '\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f', false)\n                            if (response.data.status !== undefined && response.data.status === true) {\n                                $('#kivicare-register-form').trigger(\"reset\");\n                                if(response.data.redirect !== undefined && response.data.redirect !== ''){\n                                    setTimeout(() => {\n                                        location.href = response.data.redirect\n                                    }, 1000)\n                                }else{\n                                    kivicareShowSuccessMessage(response.data.message)\n                                }\n                            } else {\n                                kcShowErrorMessage(response.data.message)\n                            }\n                        }).catch((error) => {\n                        $('#kivi-content').removeClass('kc-position-relative')\n                        $('#kivi-main-loader-overlay').addClass('d-none')\n                        $('#kivi-main-loader-overlay').removeClass('kc-relative-center')\n                        if(''){\n                            kcCreateRecaptcha();\n                        }\n                        kivicareButtonTextChange(this, '\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f', false)\n                        kcShowErrorMessage('Internal server error')\n                        console.log(error);\n                    })\n                })\n\n                $(document).on('submit', '#kivicare-login-form', function (event) {\n                    var result = {};\n                    $.each($('#login :input').serializeArray(), function () {\n                        result[this.name] = this.value;\n                    });\n                    event.preventDefault();\n                    kivicareButtonTextChange(this, 'Loading...', true)\n                    $('#kivi-content').addClass('kc-position-relative')\n                    $('#kivi-main-loader-overlay').removeClass('d-none')\n                    $('#kivi-main-loader-overlay').addClass('kc-relative-center')\n                    post('login_new_user', result, true)\n                        .then((response) => {\n                            $('#kivi-content').removeClass('kc-position-relative')\n                            $('#kivi-main-loader-overlay').addClass('d-none')\n                            $('#kivi-main-loader-overlay').removeClass('kc-relative-center')\n                            kivicareButtonTextChange(this, 'Login', false)\n                            if (response.data.status !== undefined && response.data.status === true) {\n                                setTimeout(() => {\n                                    location.href = response.data.login_redirect_url;\n                                }, 1000)\n                            } else {\n                                kcShowErrorMessage(response.data.message)\n                            }\n                        }).catch((error) => {\n                        $('#kivi-content').removeClass('kc-position-relative')\n                        $('#kivi-main-loader-overlay').addClass('d-none')\n                        $('#kivi-main-loader-overlay').removeClass('kc-relative-center')\n                        kivicareButtonTextChange(this, 'Login', false)\n                        console.log(error);\n                        kcShowErrorMessage('Internal server error')\n                    })\n                })\n\n                $(document).on('change','#userRole',function(event){\n                    kcGetRegisterPageCustomField(this.value);\n                })\n\n                $('#kivi-main-loader').css('display','none');\n                $('#kivi-content').css('display','');\n\n                function kcGetRegisterPageCustomField(type){\n                    let customFieldEle  = document.getElementById('kcCustomFieldsList')\n                    customFieldEle.classList.add(\"kivi-center\");\n                    customFieldEle.innerHTML = `<div class=\"double-lines-spinner\"><\/div>`\n                    get('get_appointment_custom_field', {user_role: type}, true)\n                        .then((res) => {\n                            customFieldEle.classList.remove(\"kivi-center\");\n                            customFieldEle.innerHTML = ''\n                            if(res.data.status !== undefined && res.data.status){\n                                customFieldEle.innerHTML = res.data.data\n                            }\n                        }).catch((error) => {\n                        customFieldEle.classList.remove(\"kivi-center\");\n                        customFieldEle.innerHTML = ''\n                        console.log(error);\n                    })\n                }\n                function getCountryCodeData() {\n                    get('get_country_code_settings_data', {})\n                        .then((response) => {\n                            if (response.data.status !== undefined && response.data.status === true) {\n                                var valueString = '{\"countryCallingCode\":\"+' + response.data.data.country_calling_code + '\",\"countryCode\":\"' + response.data.data.country_code + '\"}';\n                                jQuery('#CountryCode').val(valueString).trigger('change');\n                            }\n                        })\n                        .catch((error) => {\n                            console.log(error);\n                            displayErrorMessage(this.formTranslation.common.internal_server_error);\n                        })\n                }\n                function getUserRegistrationFormData() {\n                    get('get_user_registration_form_settings_data', {})\n                        .then((response) => {\n                            console.log(response.data.data.userRegistrationFormSettingData);\n                            if (response.data.status !== undefined && response.data.status === true) {\n                                let userRegistrationFormSettingData = response.data.data.userRegistrationFormSettingData;\n                                if (userRegistrationFormSettingData === 'on') {                                   \n                                    $('#otherGenderOption').show();\n                                } else {\n                                    \n                                    $('#otherGenderOption').hide();\n                                }\n                                return response.data.data.userRegistrationFormSettingData;\n                            }\n                        })\n                        .catch((error) => {\n                            console.log(error);\n                            displayErrorMessage(this.formTranslation.common.internal_server_error);\n                        })\n                }\n                function kivicareCustomFieldsData(ele){\n                    var custom_fields = { };\n                    $.each($('#'+ele).find('select, textarea, :input:not(:checkbox)').serializeArray(), function() {\n                        custom_fields[this.name] = this.value;\n                    });\n                    var temp = [];\n                    var temp2= '';\n                    $.each($('#'+ele).find(':input:checkbox').serializeArray(), function(key,value) {\n                        if(temp2 !== value.name){\n                            temp = [];\n                        }\n                        temp.push(value.value)\n                        custom_fields[value.name] = temp;\n                        temp2 = value.name;\n                    });\n                    return custom_fields;\n                }\n\n                function kcShowErrorMessage(message){\n                    let ele = $('#kivicare_server_error_msg');\n                    ele.css('display','');\n                    ele.empty();\n                    ele.append(message)\n                    setTimeout(() => {\n                        ele.css('display','none');\n                    }, 3000);\n                }\n\n                function kivicareShowSuccessMessage(message){\n                    let ele = $('#kivicare_success_msg');\n                    ele.css('display','');\n                    ele.text('')\n                    ele.text(message)\n                    setTimeout(() => {\n                        ele.css('display','none');\n                    }, 3000);\n                }\n\n                function kivicareButtonTextChange(ele,txt,disabled){\n                    $(ele).find('button').text(txt);\n                    $(ele).find('button').prop('disabled',disabled);\n                }\n\n                $('#togglePassword').on('click', function (e) {\n                    var passwordInput = document.getElementById(\"loginPassword\");\n                    var toggleIcon = document.getElementById(\"togglePassword\");\n\n                    if (passwordInput.type === \"password\") {\n                        passwordInput.type = \"text\";\n                        toggleIcon.classList.remove(\"fa-eye\");\n                        toggleIcon.classList.add(\"fa-eye-slash\");\n                    } else {\n                        passwordInput.type = \"password\";\n                        toggleIcon.classList.remove(\"fa-eye-slash\");\n                        toggleIcon.classList.add(\"fa-eye\");\n                    }\n                });\n\n                if (jQuery('select').length > 0) {\n                    jQuery('select').each(function () {\n                        jQuery(this).select2({\n                            width: '100%'\n                        });\n                    });\n                    jQuery('.select2-container').addClass('wide');\n                }\n\n            })(window.jQuery)\n        }\n    });\n<\/script>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e \u0438 \u043f\u0440\u0435\u0445\u0432\u044a\u0440\u043b\u044f\u043d\u0435\u0442\u043e \u043a\u044a\u043c \u0432\u0441\u044f\u043a\u043e \u0434\u0440\u0443\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0430 \u043e\u0442 Google API, \u0449\u0435 \u0441\u0435 \u043f\u0440\u0438\u0434\u044a\u0440\u0436\u0430 \u043a\u044a\u043c \u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430\u0442\u0430 \u0437\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0441\u043a\u0438 \u0434\u0430\u043d\u043d\u0438 \u043d\u0430\u00a0\u00a0<a rel=\"noreferrer noopener\" href=\"https:\/\/developers.google.com\/terms\/api-services-user-data-policy#additional_requirements_for_specific_api_scopes\" target=\"_blank\">Google API Services User Data Policy<\/a>, \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u043d\u043e \u0438\u0437\u0438\u0441\u043a\u0432\u0430\u043d\u0438\u044f\u0442\u0430 \u0437\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0430 \u0443\u043f\u043e\u0442\u0440\u0435\u0431\u0430.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u0442\u043e \u0438 \u043f\u0440\u0435\u0445\u0432\u044a\u0440\u043b\u044f\u043d\u0435\u0442\u043e \u043a\u044a\u043c \u0432\u0441\u044f\u043a\u043e \u0434\u0440\u0443\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0430 \u043e\u0442 Google API, \u0449\u0435 \u0441\u0435 \u043f\u0440\u0438\u0434\u044a\u0440\u0436\u0430 \u043a\u044a\u043c \u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430\u0442\u0430 \u0437\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0441\u043a\u0438 \u0434\u0430\u043d\u043d\u0438 \u043d\u0430\u00a0\u00a0Google API Services User Data Policy, \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u043d\u043e \u0438\u0437\u0438\u0441\u043a\u0432\u0430\u043d\u0438\u044f\u0442\u0430 \u0437\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0430 \u0443\u043f\u043e\u0442\u0440\u0435\u0431\u0430.<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-9","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/portal.regena.bg\/index.php\/wp-json\/wp\/v2\/pages\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portal.regena.bg\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/portal.regena.bg\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/portal.regena.bg\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/portal.regena.bg\/index.php\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":7,"href":"https:\/\/portal.regena.bg\/index.php\/wp-json\/wp\/v2\/pages\/9\/revisions"}],"predecessor-version":[{"id":151,"href":"https:\/\/portal.regena.bg\/index.php\/wp-json\/wp\/v2\/pages\/9\/revisions\/151"}],"wp:attachment":[{"href":"https:\/\/portal.regena.bg\/index.php\/wp-json\/wp\/v2\/media?parent=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}