/** * @file * A JavaScript file for the theme. * * In order for this JavaScript to be loaded on pages, see the instructions in * the README.txt next to this file. */ // JavaScript should be made compatible with libraries other than jQuery by // wrapping it with an "anonymous closure". See: // - https://drupal.org/node/1446420 // - http://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth (function ($, Drupal, window, document) { 'use strict'; // To understand behaviors, see https://drupal.org/node/756722#behaviors Drupal.behaviors.my_custom_behavior = { attach: function (context, settings) { var adminMenu = ''; if (jQuery('#admin-menu').length > 0) { adminMenu = 'fixed-admin'; } jQuery(document).ready(function () { // Odpremo drop down menu za uporabnika jQuery('#submenu-login').on('click', function () { jQuery('#user-menu').toggle(); }); // JEZIK pustimo samo 3 črke var jezikText = jQuery('.language-link').text().substring(0,4); jQuery('.language-link').text(jezikText); // Iskalnik v navbaru // Zapremo iskalnik jQuery(document).on('click', '.search-close', function () {jQuery('#iskanje').show(); jQuery('#iskanje-form').hide(); }); //Odpremo iskalnik jQuery('#iskanje').on('click', function () { jQuery('#iskanje-form').show(); jQuery('#iskanje').hide(); }); // Preusmerimo na url za iskanje, ko uporabnik pritisne enter jQuery('#iskanje-input').on('keyup', function(event){ if (event.keyCode == 13) { var iskaniNiz = jQuery('#iskanje-input').val(); var action = jQuery('#iskanje-form').attr('data-action'); window.location.href = action + iskaniNiz; } }); // if (window.location.pathname.indexOf('/iskanje/') > -1) { // jQuery('.container-sidenav h1').hide(); // } // END Iskalnik /** * Napredno iskanje */ // var drupalLang = 'sl'; // var drupalButtonName = 'Iskanje po vprašalnikih'; // if(location.pathname.split("/")[2] == 'en') { // drupalLang = 'en'; // drupalButtonName = 'Search surveys'; // } // Dodamo Gumb za napredno iskanje if (jQuery('#search-api-page-search-form').length > 0) { // Če je uporabnik prijavljen dodamo opcijo iskanja po mojih anketah var piskotek = "; " + document.cookie; if(piskotek.split("; unam=").length == 2) { jQuery('#search-api-page-search-form [type="submit"]').after(''); } } jQuery('#edit-keys').bind('keyup', function(){ jQuery('#prikazi-moje-ankete').attr('href', '/admin/survey/index.php?search='+jQuery(this).val()+'&lang='+drupalLang); }); // Skrijemo napredno iskanje jQuery(document).on('click', '#prikazi-advance-search', function () { if(jQuery('.sprites').hasClass('plus')) { jQuery('.sprites').removeClass('plus').addClass('minus'); } else { jQuery('.sprites').removeClass('minus').addClass('plus'); } jQuery('fieldset#edit-advanced').toggle(); }); /*** end napredno iskanje ***/ /** * Quicktabs */ // Quick tabs dodamo ikone jQuery('#quicktabs-tab-tabs_faq_priporocila_video_slo-0, #quicktabs-tab-tabs_faq_manuals_video_eng-0').addClass('tab-povezava').prepend('
' + '' + '' + '' + '
'); jQuery('#quicktabs-tab-tabs_faq_priporocila_video_slo-1, #quicktabs-tab-tabs_faq_manuals_video_eng-1').addClass('tab-povezava').prepend('
' + '' + '' + '' + '
'); jQuery('#quicktabs-tab-tabs_faq_priporocila_video_slo-2, #quicktabs-tab-tabs_faq_manuals_video_eng-2').addClass('tab-povezava').prepend('
' + '' + '' + '' + '
'); //Dodamo naslove za posamezne tabe jQuery('[id^=quicktabs-tab-tabs_faq_priporocila_video_slo], [id^=quicktabs-tab-tabs_faq_manuals_video_eng]').each(function(){ var id = jQuery(this).attr('id').slice(14); var ime = jQuery(this).text(); // Če je v imenu active tab potem to odstranimo v naslovu var isci = ime.search('(active tab)'); if(isci > 0){ ime = ime.slice(0, (isci-1)); } jQuery('#quicktabs-tabpage-'+id+' .item-list').prepend('

'+ime+'

'); }); // Quick tabs na angleški strani razširi 2 zavihka na 50% if (jQuery('#quicktabs-tab-tabs_faq_manuals_video_eng-0').length) { jQuery('.tabs-1ka ul.quicktabs-tabs > li').each(function () { jQuery(this).addClass('width-50'); }); } // Quicktabs odpremo ustreznega glede na izbran url var urlPars = window.location.pathname.split('/'); if (urlPars[4] == 'prirocniki' || urlPars[4] == 'manuals') { jQuery('.quicktabs-tabs li').removeClass('active'); jQuery('.quicktabs-tabs li:eq(1)').addClass('active'); jQuery('.quicktabs-tabpage').addClass('quicktabs-hide'); jQuery('.quicktabs-tabpage:eq(1)').removeClass('quicktabs-hide'); } if (urlPars[4] == 'video') { jQuery('.quicktabs-tabs li').removeClass('active'); jQuery('.quicktabs-tabs li:eq(2)').addClass('active'); jQuery('.quicktabs-tabpage').addClass('quicktabs-hide'); jQuery('.quicktabs-tabpage:eq(2)').removeClass('quicktabs-hide'); } /*** end quictabs ***/ // POMOČ // Skrij moje ankete if(jQuery('.gumb1kazapri').length > 0) { jQuery('.menu-630').hide(); jQuery('.menu-489').hide(); jQuery('.menu-952').hide(); } // Nova 1ka // Prijava modal jQuery('#modal-open-login').on('click', function(){ jQuery('#modal-login').show(); }); //Registracija modal jQuery('#modal-open-registration').on('click', function(){ jQuery('#modal-registration').show(); }); jQuery('.closemodal').on('click', function(){ jQuery('.rexister-modal').hide(); jQuery('.w-input').val(''); jQuery('.w-checkbox-input').prop('checked', false); }); // Če gr za napako pri loginu if (window.location.search.indexOf('?a=login') > -1) { jQuery('#modal-login').show(); jQuery('.w-form-fail').show(); } jQuery('#gdpr-more').on('click', function(){ jQuery('#gdpr-vec-text').toggle(); }); jQuery('.checkbox-field .checkbox-display').on('click', function(){ var oznacen = true; if(jQuery(this).siblings('input:checked').length > 0) oznacen = false; jQuery(this).siblings('input').prop('checked', oznacen); }); // Forma za registracijo jQuery('#registracija-uporabnika .submit-btn').on('click', function( event ) { jQuery('.error-field').removeClass('error-field'); jQuery('.error').removeClass('error'); // Obravnamo manjkajoča polja if(jQuery('#register-form [name="email"]').val().length < 2){ jQuery('#register-form [name="email"]').addClass('error error-field'); } if(jQuery('#register-form [name="ime"]').val().length < 2){ jQuery('#register-form [name="ime"]').addClass('error error-field'); } if(!jQuery('#register-form [name="agree"]').is(':checked')){ jQuery('#register-form [name="agree"]').addClass('error').siblings('#agreelabel, .checkbox-display').addClass('error'); } if(jQuery('#register-form [name="email"]').val().length == 0 || jQuery('#register-form [name="ime"]').val().length == 0 || !jQuery('#register-form [name="agree"]').is(':checked')){ return false; } event.preventDefault(); var sendVariables = jQuery('#registracija-uporabnika').serialize(); sendVariables += '&ajax=1'; jQuery.post('/frontend/api/api.php?action=register', sendVariables, function(data){ var response = JSON.parse(data); jQuery('.error-field').removeClass('error-field'); if(response.success && response.success == 1){ jQuery('#reg-confirm-email').text( jQuery('#register-form [name="email"]').val()); jQuery('#reg-confirm-ime').text(jQuery('#register-form [name="ime"]').val()); jQuery('#reg-confirm-geslo').text('****'); jQuery('#reg-confirm-gdpr').text('NE'); if(window.location.href.search('/d/en') > 0) { if(jQuery('#GdprAgree').is(':checked')){ jQuery('#reg-confirm-gdpr').text('YES'); }else{ jQuery('#reg-confirm-gdpr').text('NO'); } }else { if(jQuery('#GdprAgree').is(':checked')){ jQuery('#reg-confirm-gdpr').text('DA'); } } if( jQuery('#register-form [name="geslo"]').val().length== 0){ jQuery('#reg-confirm-geslo').text('/'); } jQuery('#register-form').hide(); jQuery('#register-form-confirm').show(); }else { //Ponastavi reCaptcho if(grecaptcha) { grecaptcha.reset(); } // Izpišemo napake if(response.napaka && response.napaka.length > 0){ jQuery('.napaka-registracija').addClass('show'); var napake = ''; jQuery.each(response.napaka, function(key, val){ napake += '
'+val+'
'; }); jQuery('.napaka-registracija').html(napake); } if(response.error_email){ jQuery('#register-form [name="email"]').addClass('error-field'); } if(response.error_ime){ jQuery('#register-form [name="ime"]').addClass('error-field'); } if(response.error_geslo){ jQuery('#register-form [name="geslo"]').addClass('error-field'); jQuery('#register-form [name="geslo2"]').addClass('error-field'); } } }); }); // Pri potrditvi omogočimo gum nazaj jQuery('#reg-confirm-back').on('click', function(){ jQuery('#register-form-confirm').hide(); jQuery('#register-form').show(); }); //Pošljemo potrditven email jQuery('#reg-confirm-next').on('click', function(event){ event.preventDefault(); var sendVariables = jQuery('#registracija-uporabnika').serialize(); sendVariables += '&ajax=1'; jQuery.post('/frontend/api/api.php?action=register_confirm', sendVariables, function(data){ var response = JSON.parse(data); if(response.success && response.success == 1){ var text = jQuery('#register-form-email-sent').html().replace("SFMAIL", jQuery('#reg-confirm-email').text()); jQuery('#register-form-email-sent').html(text); jQuery('#reg-confirm-email').text(''); jQuery('#reg-confirm-ime').text(''); jQuery('#reg-confirm-geslo').text(''); jQuery('#reg-confirm-gdpr').text(''); // Počistimo formo jQuery(':input','#register-form') .not(':button, :submit') .val('') .removeAttr('checked'); jQuery('#register-form-confirm').hide(); jQuery('#register-form-email-sent').show(); } }); }); // GUmbi na desni front jQuery('#odpri-prijavo, .odpri-prijavo').on('click', function(){ jQuery('.rexister-modal').hide(); jQuery('#modal-login').show(); }); jQuery(document).on('click', "#odpri-registracijo", function () { jQuery('.rexister-modal').hide(); jQuery('.w-form-fail').html('').hide(); jQuery('#modal-registration').show(); }); if(window.location.hash == '#neregistriran-uporabnik'){ jQuery('#spletna-uporaba-modal').show(); } jQuery(document).on('click', '#gumb-spletna-uporaba, .gumb-spletna-uporaba', function(e){ e.preventDefault(); jQuery('#spletna-uporaba-modal').show(); }); jQuery('#gumb-lastna-namestitev').on('click', function(){ jQuery('#lastna-namestitev-modal').show(); }); // Izgubljeno geslo jQuery('#open-modal-lost-password').on('click', function(){ jQuery('#modal-login').hide(); jQuery('#modal-lost-password').show(); }); jQuery('#submit-lost-password').on('click', function () { jQuery('.w-form-fail').hide(); var emailObnovitev = jQuery('#obnovitev-gesla').val(); var jezik = jQuery('#modal-lost-password [name="jezik"]').val(); if (emailObnovitev.length == 0 || emailObnovitev.length > 1 && (emailObnovitev.search('@') == -1 || emailObnovitev.indexOf('.') == -1)) { jQuery('#error-lost-password').show(); return false; } // V kolikor je vse ok poljemo POST request, da preverimo v bazi jQuery.post('/frontend/api/api.php?action=reset_password', { email: emailObnovitev, ajax: true, jezik: jezik }).success(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 }).success(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(); } }); }); //Prijava z ostalimi računi jQuery('#agreelabel, #cutom-login-agree, .checkbox-agree').on('click', function(){ if(jQuery('#cutom-login-agree').is(':checked')){ jQuery('#custom-login-agree-submit').show(); } else{ jQuery('#custom-login-agree-submit').hide(); } }); jQuery('.ikona-custom-login').on('click', function () { var atribut = jQuery(this).attr('data-login'); jQuery('.rexister-modal').hide(); jQuery('#modal-other-login h3').hide(); jQuery('#cutom-login-agree').attr('checked', false); // Če obstaja piškotek, potemgumb naprej prikažemo if(document.cookie.indexOf('remember-me=') > 0) { jQuery('#cutom-login-agree').attr('checked', true); jQuery('#custom-login-agree-submit').show(); } jQuery('#modal-other-login #login-'+atribut+'-title').show(); jQuery('#submit-other-login').attr('data-redirect', 'url-'+atribut); jQuery('#modal-other-login').show(); }); jQuery('#modal-other-login #submit-other-login').on('click', function(){ var ikona = jQuery(this).attr('data-redirect'); var url = jQuery('[name="'+ikona+'"]').val(); //Preverimo, če gre za zapomni se me (remember) if(jQuery('#custom-login-remember-me').attr('checked')){ var date = new Date(new Date().setFullYear(new Date().getFullYear() + 1)); document.cookie='remember-me=1; expires='+ date +'; path=/' } document.location.href = url; }); /**end prijava z ostalimi računi **/ // Če uporabnik ni prijavljen potem moje ankete odprejo možnost za prijavo if(jQuery('[href*="/admin/survey/index.php?lang="]').length > 0 || jQuery('[data-href*="/admin/survey/index.php?lang="]').length > 0){ // preverimo če obstaja piškot, da je uporabnik prijavljen if(document.cookie.indexOf('unam=') > 0) { var dataHref = jQuery('[data-href*="/admin/survey/index.php?lang="]'); if(dataHref.length > 0) { dataHref.attr('href', dataHref.attr('data-href')); jQuery('#gumb-spletna-uporaba').attr('href', dataHref.attr('data-href')).attr('id', ''); dataHref.attr('data-href', ''); } var href= jQuery('[href*="/admin/survey/index.php?lang="]'); if(href.length > 0 && dataHref.length < 1) { jQuery('#gumb-spletna-uporaba').attr('href', href.attr('href')).attr('id', ''); } jQuery('[href*="/admin/survey/index.php?lang="]').removeClass('gumb-spletna-uporaba'); } else { var href = jQuery('[href*="/admin/survey/index.php?lang="]'); if(href.length > 0) { href.attr('data-href', href.attr('href')).attr('href', '#'); } jQuery('[data-href*="/admin/survey/index.php?lang="]').addClass('gumb-spletna-uporaba'); } } // Meni za mobilnike jQuery('.burger').on('click', function(){ jQuery('ul.nav-ul').show(); jQuery('ul.nav-ul').prepend(''); if(jQuery('.nav-ul > li.active-trail').length > 0){ jQuery('.nav-ul > li.active-trail').append( jQuery('aside.nav-ul-2 .menu-level-2').html()); jQuery('.nav-ul > li.active-trail > .menu').addClass('nav-ul-2-mobile'); } }); jQuery(document).on('click', '#mobile-menu-close', function(){ jQuery('ul.nav-ul').hide(); jQuery('.nav-ul-2-mobile').remove(); jQuery(this).remove(); }); }); } }; })(jQuery, Drupal, this, this.document); 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.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; } //Fro APP install banner window.addEventListener('beforeinstallprompt', function(e){ var piskotek = "; " + document.cookie+";"; //if cookies are not accepted, dont show install banner (because install banner covers cookie banner) if(piskotek.split("; cookie-agreed=2").length != 2) { e.preventDefault(); } });