/** * JS povezani s prijavo in registracijo */ (function ($) { 'use strict'; // To understand behaviors, see https://drupal.org/node/756722#behaviors /* Drupal.behaviors.prijavaInRegistracija = { attach: function (context, settings) { } };*/ jQuery(document).ready(function () { // Drupal nova prijava jQuery('.submit-prijava').on('click', function(){ izvediPrijavoUporabnika(); }); jQuery('.prijava-password-input').keyup(function(e){ if(e.keyCode == 13){ izvediPrijavoUporabnika(); } }); // Odpremo drop down menu za uporabnika jQuery('#user-login-menu').on('click', function () { jQuery('#user-menu').toggle(); }); // Obnovitev gesla jQuery('#open-modal-lost-password').on('click', function () { jQuery('#modal-login').hide(); jQuery('#modal-lost-password').css('display', 'flex'); }); jQuery('#submit-lost-password').on('click', function () { jQuery('.obvestilo').empty().hide(); jQuery('#input-obnovitev-email').removeClass('error'); var emailObnovitev = jQuery('#obnovitev-gesla-email').val(); if (emailObnovitev.length == 0 || emailObnovitev.length > 1 && (emailObnovitev.search('@') == -1 || emailObnovitev.indexOf('.') == -1)) { jQuery('#input-obnovitev-email').addClass('error'); return false; } // V kolikor je vse ok poljemo POST request, da preverimo v bazi jQuery.post('/api/drupal/reset_password', { email: emailObnovitev, ajax: true, jezik: pridobiJezik() }).done(function (val) { val = JSON.parse(val); jQuery('#modal-lost-password .w-form-done').html('').hide(); jQuery('#modal-lost-password .w-form-fail').hide(); if (val.type == 'success') { jQuery('#modal-lost-password .w-form-done').html('
' + val.text + '
').show(); // Če je bil email uspešno poslal potem okno zapremo po 5 sekundah setTimeout(function () { jQuery("#modal-lost-password").hide(); jQuery('#modal-lost-password .w-form-done').hide(); jQuery("#obnovitev-gesla").val(''); }, 2000); } else { // Napaka, če email ne obstaja v bazi jQuery('#modal-lost-password .w-form-fail').html('
' + val.text + '
').show(); } }); }); // AKtivacija izgubljenega gesla if (window.location.hash == '#aktivacija-gesla') { jQuery('#modal-lost-password-activate').show(); } jQuery('#submit-lost-password-activation').on('click', function () { jQuery('.w-form-fail').hide(); jQuery('.error').removeClass('error'); var email = jQuery('#aktivacija-email').val(); var geslo = jQuery('#aktivacija-geslo').val(); var koda = ''; var jezik = jQuery('#modal-lost-password [name="jezik"]').val(); var results = new RegExp('[\?&]code=([^&#]*)').exec(window.location.href); if (results[1].length > 10) koda = results[1]; if (email.length == 0 || geslo.length == 0 || koda.length == 0) { jQuery('#error-aktivacija-gesla').show(); if (email.length == 0) { jQuery('#aktivacija-email').addClass('error'); } if (geslo.length == 0) { jQuery('#aktivacija-geslo').addClass('error'); } return false; } // V kolikor je vse ok poljemo POST request, da preverimo v bazi jQuery.post('/frontend/api/api.php?action=reset_password_activate', { email: email, pass: geslo, code: koda, ajax: true, lang: jezik }).done(function (val) { val = JSON.parse(val); jQuery('#error-aktivacija-gesla').removeClass('w-form-fail').removeClass('w-form-done').html('').hide(); if (val.type == 'success') { jQuery('#error-aktivacija-gesla').addClass('w-form-done').html('
' + val.text + '
').show(); // Če je bil email uspešno poslal potem okno zapremo po 5 sekundah setTimeout(function () { window.location.href = val.action; }, 5000); } else { // Napaka, če email ne obstaja v bazi jQuery('#error-aktivacija-gesla').addClass('w-form-fail').html('
' + val.text + '
').show(); } }); }); }); })(jQuery); function izvediPrijavoUporabnika() { // ODstranimo vse napake jQuery('.error-field').removeClass('error-field'); jQuery(':input[required]:visible').each(function () { if (jQuery(this).val() == '') { jQuery(this).addClass('error-field'); } }); if( jQuery('.error-field').length > 0){ return false; } jQuery('#prijava-1ka .error-message').empty().hide(); var sendVariables = jQuery('#forma-prijava :input').serialize(); var url = jQuery('#forma-prijava').attr('action'); jQuery.post(url, sendVariables, function (data) { var response = JSON.parse(data); if(response.type == 'success'){ return window.location = response.data.url; } else if(response.type == 'error') { let sporocilo = vrniBesediloNapake(response.data); jQuery('#prijava-1ka .error-message').append(sporocilo).show(); } }); } function pridobiJezik(){ } function vrniBesediloNapake(besedilo){ let sporocilo; if(jQuery.isArray(besedilo)){ sporocilo = ''; } else { sporocilo = besedilo; } return sporocilo; } function CheckEmail(text) { jQuery('#modal-registration .w-form-fail').html('').hide(); jQuery('.w-input').removeClass('error'); var text = text || 'Prosimo, popravite email'; var Email = jQuery('#register-form [name="email"]').val(); if (Email.length > 1 && (Email.search('@') == -1 || Email.indexOf('.') == -1)) { jQuery('#modal-registration .w-form-fail').html('
' + text + '
').show(); jQuery('#modal-registration [type="email"]').addClass('error'); return false; } return true; } function InsertName() { var Email = jQuery('#register-form [name="email"]').val(); var lokacija = Email.search('@'); if (Email.search('@') == -1) { lokacija = Email.length; } var Ime = Email.substring(0, lokacija); if (jQuery('#register-form [name="ime"]').val().length < 2) { jQuery('#register-form [name="ime"]').val(Ime); } } function CheckEmailTypo(text) { var email = jQuery('#register-form [name="email"]').val(); var domains = ['gmail.com', 'hotmail.com', 'guest.arnes.si', 'siol.net']; var splitEmail = email.split('@'); for (var i = 0; i < domains.length; i++) { var domain = domains[i]; if (preveriZaTipkarskoNapakoVemailu(splitEmail[1], domain)) { jQuery('#modal-registration .w-form-fail').html('
' + text + ' @' + domain + '?
').show(); return jQuery('#modal-registration [type="email"]').addClass('error'); } } return ''; } function preveriZaTipkarskoNapakoVemailu(uporabnikovaDomena, domena) { // Domeni se ujemata if (uporabnikovaDomena && domena && uporabnikovaDomena.includes(domena)) return false; //Preverimo če vsebuje dve piki ali vejico if (new RegExp('(\\.{2})|(\,)').test(uporabnikovaDomena) && uporabnikovaDomena.substring(0, 3) == domena.substring(0, 3)) { return true; } // domeno razbijemo, da preverimo napake za posamezne črke gm|ail for (var i = 1; i < domena.length; i++) { var prviDel = domena.substring(0, i); var preostenekBesede = domena.substring(i); // preverimo, če so črke napačne if (new RegExp(prviDel + '.' + preostenekBesede.substring(1)).test(uporabnikovaDomena)) { return true; } // preverimo, če je dodana črka preveč if (new RegExp(prviDel + '.' + preostenekBesede).test(uporabnikovaDomena)) { return true; } // majkajoča črka if (preostenekBesede !== 'mail' && new RegExp('(' + prviDel + '{0}' + preostenekBesede + ')|(' + domena + '{0})').test(uporabnikovaDomena)) { return true; } if (domena == 'gmail.com' && new RegExp('gmail.si|gmail.net').test(uporabnikovaDomena) || domena == 'guest.arnes.si' && new RegExp('arnes.si').test(uporabnikovaDomena) || domena == 'siol.net' && new RegExp('siol.com').test(uporabnikovaDomena)) { return true; } if (domena == 'hotmail.com' && new RegExp('hotmail.si').test(uporabnikovaDomena)) { return true; } // test for switched letters var switchedLetters = [ domena.substring(0, i - 1), domena.charAt(i), domena.charAt(i - 1), domena.substring(i + 1) ].join(''); if (uporabnikovaDomena.includes(switchedLetters)) { return true; } } return false; } function pridobiJezik() { return jQuery('html')[0].lang; } function odpriAaiLoginObvestilo(){ jQuery('.modal-intro-title').hide(); jQuery('.nakup-prijava').hide(); jQuery('.modal-intro-login-text').css('display', 'flex'); if(pridobiJezik() == 'sl') { jQuery('#modal-open-1ka').removeClass('modal-goto-registration').addClass('modal-open-login-obrazec'); jQuery('#modal-info-login').css('display', 'flex'); // V kolikor gre za nakup prikažemo še obvestilo o nakupu if (document.cookie.indexOf('nakup=') > 0) { jQuery('.nakup-prijava').css('display', 'flex'); } } else { jQuery('#modal-open-login-obrazec').css('display', 'flex'); } }