{"id":769,"date":"2026-01-25T20:19:48","date_gmt":"2026-01-26T00:19:48","guid":{"rendered":"https:\/\/lcregister.petroleum.gov.gy\/appl\/?page_id=769"},"modified":"2026-02-13T08:09:11","modified_gmt":"2026-02-13T12:09:11","slug":"register","status":"publish","type":"page","link":"https:\/\/lcregister.petroleum.gov.gy\/appl\/register\/","title":{"rendered":"Register"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"769\" class=\"elementor elementor-769\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b5a6686 e-flex e-con-boxed e-con e-child\" data-id=\"b5a6686\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f7e9f35 elementor-widget elementor-widget-heading\" data-id=\"f7e9f35\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Register for an Account<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-190deeb elementor-widget elementor-widget-text-editor\" data-id=\"190deeb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Register for an account and then apply for a Local Content Certificate.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a009289 elementor-widget elementor-widget-shortcode\" data-id=\"a009289\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <style>\n        .as-fa-errors { color: red; }\n        .as-fa-username-hint { font-size: 12px; opacity: 0.8; margin-top: 4px; }\n        .as-fa-username-hint .as-fa-username-status { margin-left: 6px; }\n        .as-fa-register-form input[name=\"as_fa_username\"][readonly] { background: #f7f7f7; }\n\n        .as-fa-pw-meter-wrap{ margin-top:8px; }\n        .as-fa-pw-meter{\n          width:100%;\n          height:10px;\n          background:#e5e7eb;\n          border-radius:999px;\n          overflow:hidden;\n        }\n        .as-fa-pw-meter-bar{\n          display:block;\n          height:10px;\n          width:0%;\n          background:#ef4444;\n          transition:width .15s ease;\n        }\n        .as-fa-pw-meter-text{ margin-top:6px; font-size:12px; }\n        .as-fa-pw-meter-hint{ margin-top:4px; font-size:12px; opacity:.75; }\n\n        .as-fa-pw-meter-wrap.str-0 .as-fa-pw-meter-bar{ background:#ef4444; }\n        .as-fa-pw-meter-wrap.str-1 .as-fa-pw-meter-bar{ background:#f97316; }\n        .as-fa-pw-meter-wrap.str-2 .as-fa-pw-meter-bar{ background:#eab308; }\n        .as-fa-pw-meter-wrap.str-3 .as-fa-pw-meter-bar{ background:#22c55e; }\n        .as-fa-pw-meter-wrap.str-4 .as-fa-pw-meter-bar{ background:#16a34a; }\n\n        .as-fa-pw-match{ margin-top:6px; font-size:12px; }\n        .as-fa-pw-match.ok{ color:#16a34a; }\n        .as-fa-pw-match.bad{ color:#ef4444; }\n\n        .as-fa-register-form button.as-fa-disabled,\n        .as-fa-register-form button[disabled],\n        .as-fa-register-form input[type=\"submit\"][disabled]{\n          opacity:.6;\n          cursor:not-allowed;\n        }\n        .as-fa-submit-hint{ margin-top:8px; font-size:12px; opacity:.85; }\n    <\/style>\n\n    <form method=\"post\" class=\"as-fa-form as-fa-register-form\" autocomplete=\"off\">\n        <p>\n            <label for=\"as_fa_first_name\">First Name<\/label><br>\n            <input type=\"text\" id=\"as_fa_first_name\" name=\"as_fa_first_name\" value=\"\" required>\n        <\/p>\n\n        <p>\n            <label for=\"as_fa_last_name\">Last Name<\/label><br>\n            <input type=\"text\" id=\"as_fa_last_name\" name=\"as_fa_last_name\" value=\"\" required>\n        <\/p>\n\n        <p>\n            <label for=\"as_fa_username\">Username<\/label><br>\n            <input type=\"text\" id=\"as_fa_username\" name=\"as_fa_username\" value=\"\" readonly>\n            <div class=\"as-fa-username-hint\">\n                Auto-generated from your first and last name (first.lastname).                <span class=\"as-fa-username-status\" aria-live=\"polite\"><\/span>\n            <\/div>\n        <\/p>\n\n        <p>\n            <label for=\"as_fa_email\">Email<\/label><br>\n            <input type=\"email\" id=\"as_fa_email\" name=\"as_fa_email\" value=\"\" required>\n        <\/p>\n\n        <p>\n            <label for=\"as_fa_password\">Password<\/label><br>\n            <input type=\"password\" id=\"as_fa_password\" name=\"as_fa_password\" required>\n\n            <div class=\"as-fa-pw-meter-wrap\" aria-live=\"polite\">\n                <div class=\"as-fa-pw-meter\"><span class=\"as-fa-pw-meter-bar\"><\/span><\/div>\n                <div class=\"as-fa-pw-meter-text\"><\/div>\n                <div class=\"as-fa-pw-meter-hint\">Tip: use 12+ characters with a mix of letters, numbers, and symbols.<\/div>\n            <\/div>\n        <\/p>\n\n        <p>\n            <label for=\"as_fa_password2\">Confirm Password<\/label><br>\n            <input type=\"password\" id=\"as_fa_password2\" name=\"as_fa_password2\" required>\n            <div class=\"as-fa-pw-match\" aria-live=\"polite\"><\/div>\n        <\/p>\n\n                    <p><div class=\"g-recaptcha\" data-sitekey=\"6LfjJT8sAAAAAE9KN_m7qmHGGuzCJk3_ZJU49ELx\"><\/div><\/p>\n        \n        <input type=\"hidden\" id=\"as_fa_register_nonce\" name=\"as_fa_register_nonce\" value=\"4e95ed9618\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/appl\/wp-json\/wp\/v2\/pages\/769\" \/>        <input type=\"hidden\" name=\"as_fa_action\" value=\"register\">\n\n        <p>\n            <button type=\"submit\">Register<\/button>\n            <div class=\"as-fa-submit-hint\" aria-live=\"polite\"><\/div>\n        <\/p>\n    <\/form>\n\n    <script>\n    (function($){\n      var CFG = {\"ajax_url\":\"https:\\\/\\\/lcregister.petroleum.gov.gy\\\/appl\\\/wp-admin\\\/admin-ajax.php\",\"nonce\":\"d313280599\"};\n\n      function localBase(first, last){\n        function clean(s){\n          s = (s || '').toString().trim().toLowerCase();\n          s = s.replace(\/\\s+\/g, '');\n          s = s.replace(\/[^a-z0-9\\.\\-_]\/g, '');\n          return s;\n        }\n        var f = clean(first), l = clean(last);\n        if (!f || !l) return '';\n        var base = (f + '.' + l).replace(\/^[\\.\\-_]+|[\\.\\-_]+$\/g, '');\n        return base.substring(0, 60);\n      }\n\n      \/\/ Fallback strength estimator (0..4) if WP meter isn't available yet\n      function fallbackStrength(pw){\n        pw = (pw || '');\n        if (!pw) return 0;\n        var score = 0;\n        if (pw.length >= 8) score++;\n        if (pw.length >= 12) score++;\n        if (\/[a-z]\/.test(pw) && \/[A-Z]\/.test(pw)) score++;\n        if (\/\\d\/.test(pw)) score++;\n        if (\/[^a-zA-Z0-9]\/.test(pw)) score++;\n        if (score <= 1) return 1;\n        if (score === 2) return 2;\n        if (score === 3) return 3;\n        return 4;\n      }\n\n      function strengthLabel(n){\n        switch(n){\n          case 0: return 'Very weak';\n          case 1: return 'Weak';\n          case 2: return 'Medium';\n          case 3: return 'Strong';\n          case 4: return 'Very strong';\n          default: return '';\n        }\n      }\n\n      $('.as-fa-register-form').each(function(){\n        var $form = $(this);\n\n        \/\/ Scoped selectors (registration form only)\n        var $first = $form.find('input[name=\"as_fa_first_name\"]');\n        var $last  = $form.find('input[name=\"as_fa_last_name\"]');\n        var $user  = $form.find('input[name=\"as_fa_username\"]');\n        var $uStat = $form.find('.as-fa-username-status');\n\n        var $email = $form.find('input[name=\"as_fa_email\"]');\n        var $pw    = $form.find('input[name=\"as_fa_password\"]');\n        var $pw2   = $form.find('input[name=\"as_fa_password2\"]');\n\n        var $meterWrap = $form.find('.as-fa-pw-meter-wrap');\n        var $meterBar  = $form.find('.as-fa-pw-meter-bar');\n        var $meterText = $form.find('.as-fa-pw-meter-text');\n        var $match     = $form.find('.as-fa-pw-match');\n\n        var $submit    = $form.find('button[type=\"submit\"], input[type=\"submit\"]');\n        var $hint      = $form.find('.as-fa-submit-hint');\n\n        var tUser = null;\n        var lastReq = 0;\n\n        var lastStrength = 0; \/\/ 0..4\n        var isMatch = false;\n\n        function updateSubmitState(){\n          \/\/ Medium+ => strength >= 2\n          var ok = (lastStrength >= 2) && isMatch;\n\n          $submit.prop('disabled', !ok).toggleClass('as-fa-disabled', !ok);\n\n          if (!ok){\n            $form.attr('data-as-fa-blocked', '1');\n            $hint.text('Register is disabled until your password is Medium+ and both passwords match.');\n          } else {\n            $form.removeAttr('data-as-fa-blocked');\n            $hint.text('');\n          }\n        }\n\n        \/\/ --- Username suggest (AJAX) ---\n        function suggestUsername(){\n          var first = $first.val() || '';\n          var last  = $last.val() || '';\n\n          if (!first.trim() || !last.trim()){\n            $user.val('');\n            $uStat.text('');\n            return;\n          }\n\n          \/\/ quick local fill while server checks\n          var base = localBase(first, last);\n          if (base && !$user.val()){\n            $user.val(base);\n          }\n\n          $uStat.text('Checking availability\u2026');\n          var reqId = ++lastReq;\n\n          $.post(CFG.ajax_url, {\n            action: 'as_fa_suggest_username',\n            nonce: CFG.nonce,\n            first: first,\n            last: last\n          }).done(function(res){\n            if (reqId !== lastReq) return;\n\n            if (res && res.success && res.data && res.data.username !== undefined){\n              $user.val(res.data.username || '');\n              if (res.data.username) {\n                if (res.data.base && res.data.username === res.data.base){\n                  $uStat.text('Available.');\n                } else {\n                  $uStat.text('Adjusted to be unique.');\n                }\n              } else {\n                $uStat.text('');\n              }\n              \/\/ username participates in WP blacklist\n              updateStrength();\n            } else {\n              $uStat.text('');\n            }\n          }).fail(function(){\n            if (reqId !== lastReq) return;\n            $uStat.text('');\n          });\n        }\n\n        function scheduleSuggestUsername(){\n          if (tUser) window.clearTimeout(tUser);\n          tUser = window.setTimeout(suggestUsername, 250);\n        }\n\n        \/\/ --- Password strength (real-time, WP standard if available) ---\n        function getWpStrength(pw){\n          try {\n            if (window.wp && wp.passwordStrength && typeof wp.passwordStrength.meter === 'function') {\n              var userInput = [\n                ($email.val() || ''),\n                ($first.val() || ''),\n                ($last.val() || ''),\n                ($user.val() || '')\n              ].join(' ');\n\n              var blacklist = [];\n              if (typeof wp.passwordStrength.userInputDisallowedList === 'function') {\n                blacklist = wp.passwordStrength.userInputDisallowedList(userInput);\n              }\n\n              var s = wp.passwordStrength.meter(pw, blacklist);\n              if (typeof s !== 'number' || s < 0) s = 0;\n              if (s > 4) s = 4;\n              return s;\n            }\n          } catch(e){}\n          return null;\n        }\n\n        function updateStrength(){\n          var pw = $pw.val() || '';\n          if (!$meterWrap.length) return;\n\n          if (!pw) {\n            lastStrength = 0;\n            $meterWrap.removeClass('str-0 str-1 str-2 str-3 str-4');\n            $meterBar.css('width', '0%');\n            $meterText.text('');\n            updateSubmitState();\n            return;\n          }\n\n          var s = getWpStrength(pw);\n          if (s === null) s = fallbackStrength(pw);\n\n          lastStrength = s;\n\n          $meterWrap.removeClass('str-0 str-1 str-2 str-3 str-4').addClass('str-' + s);\n          $meterBar.css('width', (s * 25) + '%');\n          $meterText.text(strengthLabel(s));\n\n          updateSubmitState();\n        }\n\n        function updateMatch(){\n          var pw = $pw.val() || '';\n          var pw2 = $pw2.val() || '';\n\n          if (!$match.length) return;\n\n          $match.removeClass('ok bad');\n\n          if (!pw || !pw2) {\n            isMatch = false;\n            $match.text('');\n            updateSubmitState();\n            return;\n          }\n\n          if (pw === pw2) {\n            isMatch = true;\n            $match.addClass('ok').text('Passwords match.');\n          } else {\n            isMatch = false;\n            $match.addClass('bad').text('Passwords do not match.');\n          }\n\n          updateSubmitState();\n        }\n\n        \/\/ Block submit if disabled (Enter key etc.)\n        $form.on('submit', function(e){\n          if ($form.attr('data-as-fa-blocked') === '1') {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n        });\n\n        \/\/ Bind events\n        $first.on('input change', function(){ scheduleSuggestUsername(); updateStrength(); });\n        $last.on('input change', function(){ scheduleSuggestUsername(); updateStrength(); });\n\n        $email.on('input change', updateStrength);\n\n        $pw.on('input change', function(){ updateStrength(); updateMatch(); });\n        $pw2.on('input change', updateMatch);\n\n        \/\/ Initial\n        suggestUsername();\n        updateStrength();\n        updateMatch();\n        updateSubmitState(); \/\/ ensure button is disabled until conditions met\n\n      });\n\n    })(jQuery);\n    <\/script>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Register for an Account Register for an account and then apply for a Local Content Certificate.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-769","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/lcregister.petroleum.gov.gy\/appl\/wp-json\/wp\/v2\/pages\/769","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lcregister.petroleum.gov.gy\/appl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lcregister.petroleum.gov.gy\/appl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lcregister.petroleum.gov.gy\/appl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lcregister.petroleum.gov.gy\/appl\/wp-json\/wp\/v2\/comments?post=769"}],"version-history":[{"count":10,"href":"https:\/\/lcregister.petroleum.gov.gy\/appl\/wp-json\/wp\/v2\/pages\/769\/revisions"}],"predecessor-version":[{"id":895,"href":"https:\/\/lcregister.petroleum.gov.gy\/appl\/wp-json\/wp\/v2\/pages\/769\/revisions\/895"}],"wp:attachment":[{"href":"https:\/\/lcregister.petroleum.gov.gy\/appl\/wp-json\/wp\/v2\/media?parent=769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}