1 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml" class="" lang="en"> 4 5<head> 6 <meta charset="utf-8"> 7 <meta http-equiv="x-ua-compatible" content="ie=edge"> 8 <meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover"> 9 <title>Prijava | Moj Petrol</title> 10 <meta name="description" content=""> 11 <!-- Disable tap highlight on IE --> 12 <meta name="msapplication-tap-highlight" content="no"> 13 <!-- Disable number formatting as phone links --> 14 <meta name="format-detection" content="telephone=no"> 15 <link rel="shortcut icon" href="/auth/resources/30h8q/login/moj-petrol/images/brand/favicon.ico"> 16 <link rel="preconnect" href="https://rsms.me/"> 17 <link rel="stylesheet" href="https://rsms.me/inter/inter.css"> 18 <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 72 bytes, lines 18-19
18 19 <script async src="https://www.googletagmanager.com/gtag/js?id=
19G-ZBEDJ0M14D
vendor: 20 bytes, lines 19-20
19"></script> 20
20<script> 21
vendor: 164 bytes, lines 21-25
21window.dataLayer = window.dataLayer || []; 22 function gtag(){dataLayer.push(arguments);} 23 gtag('js', new Date()); 24 25 gtag('config', '
25G-ZBEDJ0M14D
vendor: 12 bytes, lines 25-26
25'); 26
26</script>
26 27 28 29 <title>Log in to Moj Petrol</title> 30 31 <link href="/auth/resources/30h8q/login/moj-petrol/css/styles.css" rel="stylesheet" /> 32 33 34 <link href="/auth/resources/30h8q/login/moj-petrol/css/petrol-go-styles.css" rel="stylesheet" /> 35 36
36<script src="/auth/resources/30h8q/login/moj-petrol/js/jquery-3.7.1.min.js" type="text/javascript"></script>
36 37
37<script src="/auth/resources/30h8q/login/moj-petrol/js/moj-petrol.js" type="text/javascript"></script>
vendor: 107 bytes, lines 37-39
37 38 39 <script src="https://www.google.com/recaptcha/api.js?hl=en" type="text/javascript"></script>
40</head> 41 42<body> 43 <!-- PetrolGO view --> 44 <main id="petrol-go-app" class="main"> 45 <div class="registration__sso-frame"> 46 <div class="registration__sso-container"> 47 <div class="registration__sso-header"> 48 <img src="/auth/resources/30h8q/login/moj-petrol/images/brand/petrol.svg" alt="Petrol"> 49 <div class="form-item form-item--select label-hidden no-margin-bottom registration__sso-header-lang"> 50 <label id="language-label" for="language">Language selection</label> 51 <form autocomplete="off"> 52 <select class="language-select" id="language" aria-labelledby="language-label" onchange="location = this.value;"> 53 <option value="/auth/realms/moj-petrol/login-actions/authenticate?client_id=moj-petrol-web&tab_id=w5wPUkqibNE&execution=47772999-4c7e-4673-b015-126c62af3b53&kc_locale=sl" aria-label="Slovenian" data-accessible-label="Slovenian">SL</option> 54 <option value="/auth/realms/moj-petrol/login-actions/authenticate?client_id=moj-petrol-web&tab_id=w5wPUkqibNE&execution=47772999-4c7e-4673-b015-126c62af3b53&kc_locale=en" aria-label="English" data-accessible-label="English" selected="selected">EN</option> 55 <option value="/auth/realms/moj-petrol/login-actions/authenticate?client_id=moj-petrol-web&tab_id=w5wPUkqibNE&execution=47772999-4c7e-4673-b015-126c62af3b53&kc_locale=hr" aria-label="Croatian" data-accessible-label="Croatian">HR</option> 56 <option value="/auth/realms/moj-petrol/login-actions/authenticate?client_id=moj-petrol-web&tab_id=w5wPUkqibNE&execution=47772999-4c7e-4673-b015-126c62af3b53&kc_locale=sr" aria-label="Serbian" data-accessible-label="Serbian">SR</option> 57 </select> 58 </form> 59 </div> 60 </div> 61 <div id="petrolgo-dimmer"> 62 <div class="spinner-dots"></div> 63 </div> 64
64<script> 65 (function() { 66 const params = new URLSearchParams(window.location.search); 67 const isReset = params.get('reset_pw_action') === 'true'; 68 const dimmer = document.getElementById('petrolgo-dimmer'); 69 70 if (!isReset && dimmer) { 71 dimmer.classList.add('hidden'); 72 } 73 })(); 74 </script>
74 75 <div id="register-mandatory-data-text" data-text="Mandatory data." ></div> 76 <div id="register-invalid-email-text" data-text="Enter valid email address."></div> 77 <div id="register-invalid-agree-text" data-text="You must accept the terms and conditions."></div> 78 <div class="registration__sso login-form__sso"> 79 <form id="kc-form-login" onsubmit="login.disabled = true; login.setAttribute('aria-disabled', 'true'); return true;" action="https://www.petrol.si/auth/realms/moj-petrol/login-actions/authenticate?session_code=B1rcrXL4S9kHgZIewCYItW0ne_ryspZO4yTtsJGMpsQ&execution=47772999-4c7e-4673-b015-126c62af3b53&client_id=moj-petrol-web&tab_id=w5wPUkqibNE" method="post" autocomplete="on"> 80 <div class="registration_sso-title"> 81 <p class="title"> 82 <strong> 83 Log in to 84 Moj Petrol 85 </strong> 86 </p> 87 </div> 88 89 <div class="form-item form-item--username "> 90 <label for="username"><strong>Email</strong></label> 91 <input aria-describedby="username-error" id="username" name="username" type="email" value="" autofocus autocomplete="username" required aria-invalid=""> 92 <span id="username-error" name="error" class="form-item__error" role="alert" aria-live="assertive"></span> 93 </div> 94 <div class="form-item form-item--password password-reveal js-password-reveal paragraph-margin-bottom has-icon "> 95 <label for="password"><strong>Password</strong></label> 96 <div> 97 <input id="password" name="password" type="password" autocomplete="current-password" required aria-describedby="password-error" aria-invalid=""> 98 <button id="password-reveal-button" type="button" class="form-item__icon input-button" aria-label="Toggle password visibility" aria-pressed="false" data-toggle=""> 99 <svg class="icon icon--eye_closed" aria-hidden="true"><use xlink:href="/auth/resources/30h8q/login/moj-petrol/images/icons/symbol-defs.svg#icon-eye_closed"></use></svg> 100 </button> 101 </div> 102 <span id="password-error" name="error" class="form-item__error" role="alert" aria-live="assertive"></span> 103 <a href="/auth/realms/moj-petrol/login-actions/reset-credentials?client_id=moj-petrol-web&tab_id=w5wPUkqibNE&kc_locale=en" id="petrolGoResetLink" class="registration__forgotten-pass">Forgot Password?</a> 104 </div> 105 <div class="form-item form-item--checkbox registration__step-agree"> 106 <input id="agree" 107 name="agree" 108 type="checkbox" 109 required 110 aria-required="true" 111 aria-describedby="agree-error" 112 aria-invalid="false" 113 value="true" 114 > 115 <label for="agree"><span>I agree to <a href="https://www.petrol.si/pravni-pogoji" class="color-red js-agree-link">the Terms of Use</a></span></label> 116 <span id="agree-error" role="alert" aria-live="assertive" name="error" class="form-item__error"></span> 117 </div> 118 <div class="registration__step-buttons"> 119 <button name="login" id="kc-login" type="button" title="Login" 120 class="button no-margin-bottom -wide-small-only g-recaptcha" 121 data-sitekey="6LdvJmEqAAAAAJkg22R_e2ExF3etEhcKSqkjl__R" data-callback="onSubmit" data-action="login">
122 <span><strong>Login</strong> 123 </button> 124 </div> 125 <div class="login__divider"> 126 <span class="or login__or"><strong>OR</strong></span> 127 </div> 128 <p class="social-provider-label">Log in with:</p> 129 <div class="social-provider-buttons" role="group" aria-label="OR"> 130 <a title="Google" aria-label="Google" class="button--outline -google -wide -has-icon" target="_parent" href="/auth/realms/moj-petrol/broker/google/login?client_id=moj-petrol-web&tab_id=w5wPUkqibNE&session_code=B1rcrXL4S9kHgZIewCYItW0ne_ryspZO4yTtsJGMpsQ" > 131 <img src="/auth/resources/30h8q/login/moj-petrol/images/icons/svg-color/google.svg" alt="" aria-hidden="true" class="icon"> 132 </a> 133 <a title="Apple" aria-label="Apple" class="button--outline -apple -wide -has-icon" target="_parent" href="/auth/realms/moj-petrol/broker/apple/login?client_id=moj-petrol-web&tab_id=w5wPUkqibNE&session_code=B1rcrXL4S9kHgZIewCYItW0ne_ryspZO4yTtsJGMpsQ"> 134 <img src="/auth/resources/30h8q/login/moj-petrol/images/icons/svg-color/apple.svg" alt="" aria-hidden="true" class="icon"> 135 </a> 136 </div> 137 </form> 138 </div> 139 <div> 140 <div style="display: flex; flex-direction: column; align-items: center;"> 141 <span>Dont have a Petrol user account?</span> 142 <a href="/auth/realms/moj-petrol/login-actions/registration?client_id=moj-petrol-web&tab_id=w5wPUkqibNE" aria-label="Register" class="color-red">Register</a> 143 </div> 144 <div style="display: flex; flex-direction: column; align-items: center; margin-top: 16px; margin-bottom: 16px;"> 145 <a href="https://www.petrol.si/povej" aria-label="Report a problem" class="color-red">Report a problem</a> 146 </div> 147 </div> 148
148<script> 149 if (window!=window.top) { 150 if (window.top.location.href.indexOf('/moj-petrol') >= 0) { 151 $('#petrol-go-app').hide(); 152 var logoutUrl = window.top.location.protocol + '//' + window.top.location.host + '/moj-petrol/?sso-action=logout'; 153 console.log("No keycloak session. Redirecting to : " + logoutUrl); 154 window.top.location = logoutUrl; 155 } 156 } 157 </script>
157 158
158<script src="/auth/resources/30h8q/login/moj-petrol/js/svgxuse.min.js"></script>
158 159
159<script src="/auth/resources/30h8q/login/moj-petrol/js/helpers.js"></script>
159 160
160<script src="/auth/resources/30h8q/login/moj-petrol/js/password-reveal.js"></script>
160 161 </div> 162 </div> 163 <div class="registration__sso-footer text-small"> 164 <a class="underline" href="https://www.petrol.si/pravni-pogoji">Legal terms</a> 165 <a class="underline" href="https://www.petrol.si/gdpr">More about processing your personal data</a> 166 <p>© 2019-2026 Petrol d.d., Ljubljana</p> 167 </div> 168 </main> 169
169<script> 170 (function () { 171 const root = document.documentElement; 172 173 function enableKeyboardMode(e) { 174 if (e.key === 'Tab') { 175 root.classList.add('user-is-tabbing'); 176 } 177 } 178 179 function disableKeyboardMode() { 180 root.classList.remove('user-is-tabbing'); 181 } 182 183 document.addEventListener('keydown', enableKeyboardMode, true); 184 document.addEventListener('mousedown', disableKeyboardMode, true); 185 document.addEventListener('pointerdown', disableKeyboardMode, true); 186 document.addEventListener('touchstart', disableKeyboardMode, true); 187 })(); 188 </script>
188 189</body> 190</html> 191
192<script> 193 $(document).ready(function () { 194 var loginBtn = $('#kc-login'); 195 loginBtn.MojPetrol({action: 'install-login-button'}); 196 loginBtn.MojPetrol({ action: 'clear-login-errors' }); 197 198 $("#username").keyup(function(event) { 199 if (event.keyCode === 13) { 200 $('#kc-login').click(); 201 } 202 }); 203 $("#password").keyup(function(event) { 204 if (event.keyCode === 13) { 205 $('#kc-login').click(); 206 } 207 }); 208 209 $('.registration__step-agree .js-agree-link') 210 .on('mouseenter focus', function () { 211 $(this).closest('.registration__step-agree').addClass('is-link-hover'); 212 }) 213 .on('mouseleave blur', function () { 214 $(this).closest('.registration__step-agree').removeClass('is-link-hover'); 215 }); 216 }); 217 218 function onSubmit(token) { 219 const errorMessages = { 220 mandatory: $('#register-mandatory-data-text').data('text'), 221 invalidEmail: $('#register-invalid-email-text').data('text'), 222 agree: $('#register-invalid-agree-text').data('text') 223 }; 224 225 let isFormValid = true; 226 227 const isEmailEmpty = !$.validateRequired('#username', '#email-error', errorMessages.mandatory); 228 if (isEmailEmpty) { 229 isFormValid = false; 230 $.setError('#username-error', errorMessages.mandatory); 231 } else if (!$.validateEmail($('#username').val())) { 232 $.setError('#username-error', errorMessages.invalidEmail); 233 isFormValid = false; 234 } 235 236 if (!$.validateRequired('#password', '#password-error', errorMessages.mandatory)) isFormValid = false; 237 238 if (!$.validateCheckbox('#agree', '#agree-error', errorMessages.agree)) isFormValid = false; 239 240 if (isFormValid) { 241 $('#kc-form-login').submit(); 242 } 243 } 244</script>
vendor: 1 bytes, line 244
244
245<script> 246 document.addEventListener("DOMContentLoaded", function() { 247 const urlParams = new URLSearchParams(window.location.search); 248 const idToken = urlParams.get('id_token_hint'); 249 const loginHint = urlParams.get('login_hint'); 250 const dimmer = document.getElementById('petrolgo-dimmer'); 251 if (loginHint) { 252 sessionStorage.setItem('petrolgo_user_email', loginHint.trim()); 253 } 254 if (urlParams.get('reset_pw_action') === 'true') { 255 const resetLink = document.getElementById('petrolGoResetLink'); 256 257 if (resetLink) { 258 if(idToken) { 259 const currentUrl = window.location.href; 260 const logoutUrl = currentUrl.split('/protocol/')[0] + '/protocol/openid-connect/logout'; 261 const finalUrl = logoutUrl + "?id_token_hint=" + idToken + "&post_logout_redirect_uri=" + encodeURIComponent(resetLink.href)+ "&client_id=" + urlParams.get('client_id'); 262 window.location.replace(finalUrl); 263 } else { 264 window.location.replace(resetLink.href); 265 } 266 } else { 267 if (dimmer) { 268 dimmer.classList.add('hidden'); 269 } 270 } 271 } 272 }); 273 274 document.addEventListener("DOMContentLoaded", function() { 275 const loginBtn = document.getElementById('kc-login'); 276 const usernameInput = document.getElementById('username'); 277 const passwordInput = document.getElementById('password'); 278 const agreeInput = document.getElementById('agree'); 279 280 if (!loginBtn || !usernameInput || !passwordInput) { 281 return; 282 } 283 284 if (agreeInput) { 285 agreeInput.addEventListener('keydown', function(event) { 286 if (event.key === 'Enter') { 287 event.preventDefault(); 288 agreeInput.checked = !agreeInput.checked; 289 agreeInput.dispatchEvent(new Event('change', { bubbles: true })); 290 } 291 }); 292 } 293 294 function validateInputs() { 295 const userValue = usernameInput.value.trim(); 296 const passValue = passwordInput.value.trim(); 297 298 // LOGIC: Check if BOTH fields have content 299 // If User AND Password have content -> Enable Button 300 // Otherwise -> Disable Button 301 if (userValue.length > 0 && passValue.length > 0) { 302 loginBtn.disabled = false; 303 loginBtn.setAttribute('aria-disabled', 'false'); 304 loginBtn.classList.remove('set-disabled'); 305 } else { 306 loginBtn.disabled = true; 307 loginBtn.setAttribute('aria-disabled', 'true'); 308 loginBtn.classList.add('set-disabled'); 309 } 310 } 311 312 usernameInput.addEventListener('input', validateInputs); 313 passwordInput.addEventListener('input', validateInputs); 314 315 // Initial validation 316 validateInputs(); 317 // Validate after maybe repatcha reenabled the button 318 setTimeout(validateInputs, 100); 319 }); 320</script>
vendor: 1 bytes, line 320
320
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.