{"version":3,"file":"scripts.js","sources":["scripts.js"],"sourcesContent":["var redirectToUrl;\r\nvar loadedPersonalSuggestions;\r\n\r\nfunction getLoginReturnUrl() {\r\n return encodeURIComponent(redirectToUrl ? redirectToUrl : window.location.hash);\r\n}\r\n\r\n/* SCRIPTS */\r\n$(function ($) {\r\n const url = new URL(window.location.href);\r\n if (url.searchParams.has('IsSearchboxQuery')) {\r\n url.searchParams.delete('IsSearchboxQuery');\r\n history.replaceState({}, null, url.toString());\r\n }\r\n\r\n // Init hi module.\r\n $.hi = $.hi || {};\r\n\r\n // Validations\r\n\r\n // By default validator ignores hidden fields.\r\n // change the setting here to ignore nothing\r\n $.validator.setDefaults({ ignore: null });\r\n\r\n $.validator.addMethod('requiredforvalue', function (value, element, param) {\r\n var targetInput = $(param[0]);\r\n var currentValue = targetInput.is(':radio') ? targetInput.filter(':checked').val() : targetInput.val();\r\n var requiredForValue = param[2];\r\n\r\n if (currentValue === requiredForValue) {\r\n var val = $(element).val();\r\n return val && val.length > 0;\r\n }\r\n\r\n return true;\r\n });\r\n\r\n $.validator.unobtrusive.adapters.add('requiredforvalue', ['property', 'value'], function (options) {\r\n var $targetElement = $(options.form).find('#' + options.params.property);\r\n\r\n options.rules['requiredforvalue'] = [$targetElement[0], options.params.property, options.params.value];\r\n options.messages['requiredforvalue'] = options.message;\r\n });\r\n\r\n $.validator.addMethod(\"requiredif\", function (value, element, param) {\r\n var $targetElement = $(`input[name=${param.propertyname}]`);\r\n const regex = new RegExp(element.dataset.valRequiredifPattern);\r\n\r\n var isRequired = $targetElement.is(':checkbox')\r\n ? $targetElement.is(':checked').toString() == param.propertyvalue\r\n : $targetElement.val().toLowerCase() == param.propertyvalue;\r\n\r\n const regexValid = element.dataset.valRequiredifPattern\r\n ? regex.test($.trim(value))\r\n : true;\r\n\r\n if (isRequired) {\r\n if (!this.depend(param, element))\r\n return \"dependency-mismatch\";\r\n switch (element.nodeName.toLowerCase()) {\r\n case 'select':\r\n var val = $(element).val();\r\n return val && val.length > 0;\r\n case 'input':\r\n if (this.checkable(element))\r\n return this.getLength(value, element) > 0 && regexValid;\r\n default:\r\n return $.trim(value).length > 0 && regexValid;\r\n }\r\n }\r\n\r\n return true;\r\n });\r\n\r\n $.validator.unobtrusive.adapters.add(\"requiredif\", [\"property\", \"value\"], function (options) { \r\n options.rules[\"requiredif\"] = {\r\n propertyname: options.params.property,\r\n propertyvalue: options.params.value\r\n };\r\n options.messages[\"requiredif\"] = options.message;\r\n });\r\n\r\n $.validator.addMethod('requiredconsent', function (value, element, param) {\r\n var $element = $(element);\r\n\r\n if ($element.is(':checkbox')) {\r\n return $element.is(':checked');\r\n }\r\n\r\n return true;\r\n });\r\n\r\n $.validator.unobtrusive.adapters.add('requiredconsent', ['property', 'value'], function (options) {\r\n options.rules['requiredconsent'] = [];\r\n options.messages['requiredconsent'] = options.message;\r\n });\r\n\r\n $.validator.addMethod('rangeforvalue', function (value, element, params) {\r\n var targetInput = $(params[0]);\r\n var currentValue = targetInput.is(':radio') ? targetInput.filter(':checked').val() : targetInput.val();\r\n var rangeforvalue = params[2];\r\n var minValue = parseInt(element.dataset.valRangeforvalueMin);\r\n var maxValue = parseInt(element.dataset.valRangeforvalueMax);\r\n\r\n if (currentValue === rangeforvalue) {\r\n var val = parseInt($(element).val());\r\n return val && val >= minValue && val <= maxValue;\r\n }\r\n\r\n return true;\r\n });\r\n\r\n $.validator.unobtrusive.adapters.add('rangeforvalue', ['property', 'value'], function (options) {\r\n var $targetElement = $(options.form).find('#' + options.params.property);\r\n\r\n options.rules['rangeforvalue'] = [$targetElement[0], options.params.property, options.params.value];\r\n options.messages['rangeforvalue'] = options.message;\r\n });\r\n}(jQuery));\r\n\r\nfunction debounce(func, wait, immediate) {\r\n var timeout;\r\n return function () {\r\n var context = this,\r\n args = arguments;\r\n\r\n var later = function () {\r\n timeout = null;\r\n if (!immediate) func.apply(context, args);\r\n };\r\n var callNow = immediate && !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow) func.apply(context, args);\r\n };\r\n};\r\n\r\nfunction showFlashMessage(message, isError) {\r\n const color = isError ? 'error' : 'success';\r\n $('.js-flash-message-container').html(`
${message}
`);\r\n}\r\n\r\nfunction copyUrl(url) {\r\n if (!url) {\r\n url = `${$(location).attr('origin')}${$(location).attr('pathname')}`;\r\n }\r\n\r\n var $temp = $(\"\");\r\n $(\"body\").append($temp);\r\n $temp.val(url).select();\r\n document.execCommand(\"copy\");\r\n $temp.remove();\r\n}\r\n\r\n$(document).ready(function () {\r\n // Things to hide on click\r\n\r\n $('body').click(function (e) {\r\n var $clickedElement = $(e.target);\r\n if ($clickedElement.hasClass('js-search-item')) {\r\n return;\r\n }\r\n\r\n if ($clickedElement.closest('.js-search-item').length) {\r\n return;\r\n }\r\n\r\n closeFullTextSearch();\r\n });\r\n\r\n // popup close on escape\r\n\r\n $('body').keydown(function (e) {\r\n if (e.keyCode == 27 && $('.c-new-ad__step-1--visible').length > 0) {\r\n $('.js-step-1').removeClass('c-new-ad__step-1--visible');\r\n $('body').removeClass('u-no-scroll');\r\n }\r\n else if (e.keyCode == 27 && $('.c-user-popup--visible').length > 0) {\r\n $('.js-user-popup').removeClass('c-user-popup--visible');\r\n $('body').removeClass('u-no-scroll');\r\n loginOpen = false;\r\n }\r\n else if (e.keyCode == 27 && $('.c-filter-popup--visible').length > 0) {\r\n $('.js-filters-container').removeClass('c-filter-popup--visible');\r\n $('body').removeClass('u-no-scroll');\r\n }\r\n else if (e.keyCode == 27 && $('.c-message-popup--visible').length > 0) {\r\n $('.js-message-popup').removeClass('c-message-popup--visible');\r\n $('body').removeClass('u-no-scroll');\r\n }\r\n else if (e.keyCode == 27 && $('.c-new-ad__step-3--visible').length > 0) {\r\n $('.js-step-3').removeClass('c-new-ad__step-3--visible');\r\n $('body').removeClass('u-no-scroll');\r\n }\r\n else if (e.keyCode == 27 && $('.c-popup--visible').length > 0) {\r\n $('.c-popup').removeClass('c-popup--visible');\r\n $('body').removeClass('u-no-scroll');\r\n }\r\n });\r\n\r\n // Menu scrolling\r\n\r\n var lastScrollTop = 0;\r\n\r\n $(window).scroll(function (event) {\r\n var st = $(this).scrollTop();\r\n if (st > lastScrollTop && st > 100) {\r\n $('.js-header-compact').addClass('c-header-compact--hidden');\r\n $('.js-side-bar').removeClass('c-main__side-bar--scrolling-top');\r\n $('.js-side-banners').removeClass('c-main__banners--scrolling-top');\r\n } else {\r\n $('.js-header-compact').removeClass('c-header-compact--hidden');\r\n $('.js-side-bar').addClass('c-main__side-bar--scrolling-top');\r\n $('.js-side-banners').addClass('c-main__banners--scrolling-top');\r\n $('#adfContainer').removeClass('scrolling');\r\n }\r\n\r\n if (st > lastScrollTop) {\r\n $('#adfContainer').addClass('scrolling');\r\n } else {\r\n $('#adfContainer').removeClass('scrolling');\r\n }\r\n lastScrollTop = st;\r\n });\r\n\r\n\r\n $(window).bind('load', function () {\r\n\r\n var bannerTimer = setInterval(bannerTime, 500);\r\n var bannerTimerinterator = 0;\r\n\r\n function bannerTime() {\r\n if ($('#adfContainer').length > 0) {\r\n $('.js-banner-leader-main').removeClass('c-banner__leaderboard--no-padding');\r\n $('.c-desktop-search').removeClass('c-desktop-search--no-banner');\r\n $('.c-header-compact__placeholder').removeClass('.c-header-compact__placeholder--bg');\r\n $('.c-header__placeholder').removeClass('.c-header__placeholder--bg');\r\n clearInterval(bannerTimer);\r\n }\r\n\r\n else {\r\n $('.js-banner-leader-main').addClass('c-banner__leaderboard--no-padding');\r\n $('.c-desktop-search').addClass('c-desktop-search--no-banner');\r\n $('.c-header-compact__placeholder').addClass('.c-header-compact__placeholder--bg');\r\n $('.c-header__placeholder').addClass('.c-header__placeholder--bg');\r\n }\r\n\r\n if (bannerTimerinterator >= 4) {\r\n clearInterval(bannerTimer);\r\n }\r\n\r\n bannerTimerinterator++;\r\n }\r\n\r\n function stopBannerTime() {\r\n clearInterval(bannerTimer);\r\n }\r\n });\r\n\r\n\r\n\r\n // User menu\r\n\r\n $('.js-user-menu-switch').click(function (e) {\r\n e.stopPropagation();\r\n $('.js-user-menu').toggleClass('open');\r\n });\r\n\r\n // User list and article technical support\r\n\r\n $(document).on('click', '.js-user-list-switch', function (e) {\r\n e.preventDefault();\r\n $(this).siblings('.js-user-list-text').toggleClass('c-user-form__list-text--active');\r\n $(this).find('.js-user-list-image').toggleClass('c-user-form__list-image--active');\r\n });\r\n\r\n\r\n // Categories\r\n\r\n $(document).on('click', '.js-category-switch', function (e) {\r\n e.preventDefault();\r\n $('.js-categories').toggleClass('c-categories--active');\r\n $('.js-category-switch').toggleClass('js-category-switch--active');\r\n });\r\n\r\n $(document).on('click', '.js-continue-to-step-3', function (e) {\r\n e.preventDefault();\r\n $('.js-step-3').addClass('c-new-ad__step-3--visible');\r\n $('body').addClass('u-no-scroll');\r\n });\r\n\r\n function newAdPopup() {\r\n window.location.hash = \"\";\r\n\r\n $.ajax({\r\n url: \"/inzeraty/NewStep1\",\r\n success: function (html) {\r\n $(\"#js-popup-container\").html(html);\r\n $('.js-step-1').addClass('c-new-ad__step-1--visible');\r\n $.validator.unobtrusive.parse(\"#new-ad-step1\");\r\n loadCategoriesByParentId();\r\n },\r\n error: function (response) {\r\n if (response.status === 403) {\r\n // We need to first set fragment to know where to return from login\r\n window.location.hash = '#new-ad';\r\n loginPopup();\r\n }\r\n }\r\n });\r\n }\r\n\r\n if (window.location.hash === \"#new-ad\") {\r\n newAdPopup();\r\n }\r\n\r\n $(document).on('click', '.js-add', function (e) {\r\n e.preventDefault();\r\n newAdPopup();\r\n window.dataLayer.push({\r\n 'event': 'user-action',\r\n 'category': 'Inzerat',\r\n 'action': 'VlozeniBtn'\r\n });\r\n });\r\n\r\n $(document).on('click', '.js-close-step-1', function (e) {\r\n $('.js-step-1').removeClass('c-new-ad__step-1--visible');\r\n window.location.hash = '';\r\n });\r\n\r\n $(document).on('click', '.js-step-1', function (e) {\r\n window.dataLayer.push({\r\n 'event': 'user-action',\r\n 'category': 'Inzerat',\r\n 'action': 'VlozeniPrvniKrok'\r\n });\r\n });\r\n\r\n /* USER POPUP */\r\n\r\n $(document).on('click', '.js-close-user-popup', function (e) {\r\n e.preventDefault();\r\n loginOpen = false;\r\n window.location.hash = '';\r\n $('.c-user-popup__container--active').removeClass('c-user-popup__container--active');\r\n $('.js-user-popup').removeClass('c-user-popup--visible');\r\n });\r\n\r\n\r\n // Textarea character counter\r\n\r\n var stringLength = 0;\r\n\r\n\r\n function charCounter(el) {\r\n var textareaValue = el.val();\r\n var maxlength = el.attr('maxlength');\r\n\r\n // Count new lines - js ignore new lines in text\r\n var numberOfLineBreaks = (textareaValue.match(/(\\r\\n|\\n|\\r)/g) || []).length;\r\n // Shortens the text according to the max length\r\n el.val(textareaValue.slice(0, maxlength - numberOfLineBreaks));\r\n // Rewrite value\r\n textareaValue = el.val();\r\n\r\n var stringLength = textareaValue.length + numberOfLineBreaks;\r\n\r\n var target = el.closest('.js-counter').find('.js-counter-target');\r\n target.html(stringLength);\r\n\r\n if (stringLength >= parseInt($('.js-counter-limit').html())) {\r\n target.addClass('o-counter__number--over');\r\n } else {\r\n target.removeClass('o-counter__number--over');\r\n }\r\n }\r\n\r\n $('.js-counter-source').each(function () {\r\n charCounter($(this));\r\n });\r\n\r\n $(document).on('keyup', '.js-counter-source', function (e) {\r\n charCounter($(this));\r\n });\r\n\r\n // Show password\r\n\r\n $(document).on('mousedown touchstart', '.js-show-password', function (e) {\r\n $('#' + $(this).attr('data-for')).attr('type', 'text');\r\n });\r\n\r\n $(document).on('mouseup mouseleave touchend', '.js-show-password', function () {\r\n $('#' + $(this).attr('data-for')).attr('type', 'password');\r\n $('#' + $(this).attr('data-for')).focus();\r\n });\r\n\r\n\r\n // CATEGORY SELECT\r\n\r\n var mq = window.matchMedia('(min-width: 1024px)');\r\n\r\n // DESKTOP\r\n\r\n let currentCategoryId = -1;\r\n let currentCategoryContent = '';\r\n\r\n function loadCategoriesByParentId(categoryId) {\r\n if (categoryId === currentCategoryId) {\r\n $('.js-category-select-container').html(currentCategoryContent);\r\n return;\r\n }\r\n\r\n $('.js-category-select-container').addClass('loading');\r\n\r\n $.ajax({\r\n url: '/inzeraty/Subcategories',\r\n data: {\r\n categoryId: categoryId\r\n },\r\n success: function (result) {\r\n $('.js-category-select-item-container').fadeIn();\r\n $('.js-category-select-container').html(result);\r\n $('.js-category-select-container').removeClass('loading');\r\n currentCategoryId = categoryId;\r\n currentCategoryContent = result;\r\n }\r\n });\r\n };\r\n\r\n let loadCategoriesByNameLastQuery = null;\r\n\r\n var loadCategoriesByName = debounce(function () {\r\n var query = $('#js-popup-container .js-category-select-input').val();\r\n if (loadCategoriesByNameLastQuery !== query) {\r\n $('#AdCategoryId').val(null);\r\n }\r\n loadCategoriesByNameLastQuery = query;\r\n\r\n if (query.length > 2) {\r\n $('.js-category-select-item-container').fadeIn();\r\n $('.js-category-select-container').addClass('loading');\r\n $('.js-category-select-change').hide();\r\n $('.js-category-select-input-container, .js-category-select-container, .js-category-select').addClass('open');\r\n\r\n var url = '/inzeraty/FindCategories?query=' + query;\r\n $.ajax({\r\n url: url,\r\n success: function (result) {\r\n $(\".js-category-select-container\").html(result);\r\n $('.js-category-select-container').removeClass('loading');\r\n\r\n currentCategoryId = -1;\r\n },\r\n error: function () {\r\n $('.js-category-select-container').removeClass('loading');\r\n\r\n currentCategoryId = -1;\r\n }\r\n });\r\n } else {\r\n loadCategoriesByParentId();\r\n }\r\n }, 500);\r\n\r\n if (mq.matches) {\r\n $(document).on('click', '.js-category-select-switch, .js-category-select-change', function (e) {\r\n e.preventDefault();\r\n $('.js-category-select-input-container, .js-category-select-container').toggleClass('open');\r\n\r\n if ($('.js-category-select').hasClass('open')) {\r\n setTimeout(function () {\r\n $('.js-category-select').toggleClass('open');\r\n $('.js-category-select-change').toggle();\r\n }, 300);\r\n } else {\r\n loadCategoriesByParentId();\r\n\r\n $('.js-category-select').toggleClass('open');\r\n $('.js-category-select-change').toggle();\r\n }\r\n });\r\n }\r\n // MOBILE\r\n else {\r\n function openCategorySelector() {\r\n $('.js-category-select, .js-category-select-input-container, .js-category-select-container, .js-category-select-header').addClass('open');\r\n $('.js-category-select-switch').addClass('hidden');\r\n $('.js-category-select-search-button').addClass('visible');\r\n\r\n if ($('.js-category-select-container .js-select-category-item').length === 0) {\r\n loadCategoriesByName();\r\n }\r\n }\r\n\r\n $(document).on('click', '.js-category-select-input-container', openCategorySelector);\r\n $(document).on('focus', '.js-category-select-input', openCategorySelector);\r\n\r\n $(document).on('click', '.js-category-select-close', function () {\r\n $('.js-category-select, .js-category-select-input-container, .js-category-select-container, .js-category-select-header').removeClass('open');\r\n $('.js-category-select-switch').removeClass('hidden');\r\n $('.js-category-select-search-button').removeClass('visible');\r\n });\r\n\r\n $(document).on('click', '.js-category-select-search-button', function () {\r\n $('.js-category-select-container').addClass('loading');\r\n loadCategoriesByName();\r\n });\r\n }\r\n\r\n // DESKTOP & MOBILE UNIVERSAL\r\n\r\n $(document).on('keydown', '.js-category-select-input', function () {\r\n loadCategoriesByName();\r\n });\r\n\r\n $(document).on('click', '.js-category-back-button', function (e) {\r\n e.preventDefault();\r\n loadCategoriesByParentId($(this).data('parent-category-id'));\r\n });\r\n\r\n $(document).on('click', '.js-select-category-item', function (e) {\r\n e.preventDefault();\r\n\r\n if ($(this).hasClass('js-select-category-item-has-sub')) {\r\n loadCategoriesByParentId($(this).data('id'));\r\n $('.js-category-select-item-container').fadeIn();\r\n } else {\r\n loadCategoriesByNameLastQuery = $(this).attr('data-name');\r\n $('.js-category-select-input').val(loadCategoriesByNameLastQuery);\r\n $('.js-category-select-item-container').fadeOut();\r\n $('#AdCategoryId').val($(this).data('id'));\r\n $('#new-ad-step1').validate().form();\r\n $('.js-category-select, .js-category-select-input-container, .js-category-select-container, .js-category-select-header').removeClass('open');\r\n\r\n if (!mq.matches) {\r\n $('.js-category-select-switch').removeClass('hidden');\r\n $('.js-category-select-search-button').removeClass('visible');\r\n } else {\r\n $('.js-category-select-change').toggle();\r\n }\r\n }\r\n });\r\n\r\n // Fulltext search\r\n\r\n var searchItems = 0;\r\n var index = 0;\r\n\r\n var closeFullTextSearch = function () {\r\n selectedItem = 0;\r\n $('.js-search-results').removeClass('c-search-results--visible');\r\n $('.js-search-results').empty();\r\n };\r\n\r\n $(document).on('click', '.js-search-item', function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n suggestionSelected($(this));\r\n });\r\n\r\n $('.js-search-area').click(function (e) {\r\n var $clickedElement = $(e.target);\r\n if (!($clickedElement.hasClass('js-search-item') || $clickedElement.parent('.js-search-item'))) {\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n $(document).on('submit', '.js-search-form', function (ev) {\r\n $(this).find('.js-data-submit-query').val(true);\r\n });\r\n\r\n var fullTextSearch = debounce(function (query) {\r\n if (query) {\r\n $('.js-search-area').addClass('loading');\r\n\r\n $.ajax({\r\n url: '/inzeraty/suggest',\r\n data: {\r\n query: query\r\n },\r\n success: function (suggestions) {\r\n var html = '';\r\n\r\n var hasCategories = suggestions.categories.length > 0;\r\n var hasTerms = suggestions.data.length > 0;\r\n\r\n if (hasCategories) {\r\n var items = suggestions.categories.map(function (c) {\r\n return '
  • ' +\r\n ' ' +\r\n ' ' +\r\n ' \"\"' +\r\n ' ' +\r\n ' ' + c.name + '' +\r\n ' ' +\r\n '
  • ';\r\n }).join('');\r\n\r\n var categories = '
    Kategorie
    ' +\r\n ' ' +\r\n '';\r\n\r\n html += categories;\r\n }\r\n\r\n if (hasTerms) {\r\n var items = suggestions.data.map(function (t) {\r\n return '
  • ' +\r\n ' ' +\r\n ' ' +\r\n ' \"\"' +\r\n ' ' +\r\n ' ' + t.name + '' +\r\n ' ' +\r\n '
  • ';\r\n }).join('');\r\n\r\n var terms = '
    Hledané výrazy
    ' +\r\n ' ' +\r\n '';\r\n html += terms;\r\n }\r\n\r\n $('.js-search-results').html(html);\r\n\r\n searchItems = $('.js-desktop-search .js-search-item').length;\r\n\r\n $('.js-search-area').removeClass('loading');\r\n\r\n if (hasCategories || hasTerms) {\r\n $('.js-search-results').addClass('c-search-results--visible');\r\n $('.js-desktop-search .js-search-item').each(function (i) {\r\n index = i + 1;\r\n $(this).attr('id', 'search-item-' + index);\r\n });\r\n }\r\n else {\r\n $('.js-search-results').removeClass('c-search-results--visible');\r\n }\r\n }\r\n })\r\n }\r\n else {\r\n closeFullTextSearch();\r\n $('.js-search-area').addClass('loading');\r\n }\r\n }, 500);\r\n\r\n function suggestionSelected($selectedItem) {\r\n var $form = $selectedItem.closest('form');\r\n var $searchInput = $form.find('.js-search-input');\r\n\r\n $searchInput.val($selectedItem.text().trim());\r\n\r\n if ($selectedItem.hasClass('js-search-category-item')) {\r\n var url = $selectedItem.attr('href');\r\n if (url != undefined && url != '') {\r\n if (url.indexOf('?') >= 0) {\r\n url += '&'\r\n } else {\r\n url += '?';\r\n }\r\n url += `IsSearchboxQuery=true`;\r\n\r\n if ($form.find('.js-nearby-search').is(':checked')) {\r\n url += '&GeoLocation=' + $form.find('#GeoLocation').val() + '&DistanceSearch=true';\r\n }\r\n\r\n window.location.href = url;\r\n }\r\n }\r\n else if ($selectedItem.hasClass('js-search-query-item')) {\r\n var url = $selectedItem.attr('href');\r\n if (url != undefined && url != '') {\r\n let prefix = (url.indexOf('?') >= 0) ? '&' : '?';\r\n\r\n if ($form.find('.js-nearby-search').is(':checked')) {\r\n url += prefix + 'GeoLocation=' + $form.find('#GeoLocation').val() + '&DistanceSearch=true';\r\n }\r\n\r\n window.location.href = url;\r\n }\r\n }\r\n else {\r\n $form.submit();\r\n }\r\n\r\n closeFullTextSearch();\r\n }\r\n\r\n $(document).on('keyup', '.js-search-input', function (e) {\r\n if (e.keyCode != 40 && e.keyCode != 39 && e.keyCode != 38 && e.keyCode != 37 && e.keyCode != 13 && e.keyCode != 27) {\r\n var query = $(this).val().trim();\r\n if (query.length > 2) {\r\n fullTextSearch(query);\r\n }\r\n else if (query.length == 0) {\r\n closeFullTextSearch();\r\n }\r\n }\r\n });\r\n\r\n function showQuerySuggestions(suggestions) {\r\n var html = '';\r\n\r\n var hasSuggestion = suggestions.length > 0;\r\n if (hasSuggestion) {\r\n var items = suggestions.map(function (c) {\r\n var url = (c.url ?? \"/inzeraty/index\") + c.query;\r\n var image = c.image ?? \"/img/icon_hledat_blue.svg\";\r\n return '
  • ' +\r\n ' ' +\r\n ' ' +\r\n ' \"\"' +\r\n ' ' +\r\n ' ' + c.name + '' +\r\n ' ' +\r\n '
  • ';\r\n }).join('');\r\n\r\n var categories = '
    Naposledy hledané
    ' +\r\n ' ' +\r\n '';\r\n\r\n html += categories;\r\n }\r\n\r\n $('.js-search-results').html(html);\r\n\r\n searchItems = $('.js-desktop-search .js-search-item').length;\r\n\r\n $('.js-search-area').removeClass('loading');\r\n\r\n if (hasSuggestion) {\r\n $('.js-search-results').addClass('c-search-results--visible');\r\n $('.js-desktop-search .js-search-item').each(function (i) {\r\n index = i + 1;\r\n $(this).attr('id', 'search-item-' + index);\r\n });\r\n }\r\n else {\r\n $('.js-search-results').removeClass('c-search-results--visible');\r\n }\r\n }\r\n\r\n var personalSuggestionLoader = debounce(function () {\r\n $.ajax({\r\n url: '/inzeraty/suggestpersonal',\r\n success: function (suggestion) {\r\n loadedPersonalSuggestions = suggestion;\r\n showQuerySuggestions(suggestion);\r\n\r\n // We load suggesion only once and cache it.\r\n personalSuggestionLoader = debounce(function () {\r\n showQuerySuggestions(loadedPersonalSuggestions);\r\n }, 100);\r\n },\r\n });\r\n }, 100);\r\n\r\n $(document).on('focus', '.js-search-input', function (e) {\r\n var query = $(this).val().trim();\r\n if (query.length == 0) {\r\n $('.js-search-area').addClass('loading');\r\n personalSuggestionLoader();\r\n }\r\n });\r\n\r\n // Key navigation in menu\r\n\r\n var selectedItem = 0;\r\n\r\n $(document).keydown(function (e) {\r\n if ($('.c-search-results--visible').length > 0) {\r\n switch (e.keyCode) {\r\n case 40:\r\n e.preventDefault();\r\n selectedItem++;\r\n $('.js-desktop-search .js-search-item').removeClass('c-search-results__item-link--active');\r\n $('.js-desktop-search #search-item-' + selectedItem).addClass('c-search-results__item-link--active');\r\n if (selectedItem >= searchItems) {\r\n selectedItem = 0;\r\n }\r\n break;\r\n case 38:\r\n e.preventDefault();\r\n selectedItem--;\r\n if (selectedItem <= 0) {\r\n selectedItem = searchItems;\r\n }\r\n $('.js-desktop-search .js-search-item').removeClass('c-search-results__item-link--active');\r\n $('.js-desktop-search #search-item-' + selectedItem).addClass('c-search-results__item-link--active');\r\n break;\r\n case 13:\r\n if (selectedItem >= 0 && selectedItem <= searchItems) {\r\n e.preventDefault();\r\n\r\n var $selectedItem = $('#search-item-' + selectedItem);\r\n suggestionSelected($selectedItem);\r\n\r\n } else {\r\n $('.js-search-all').trigger('click');\r\n }\r\n break;\r\n case 27:\r\n e.preventDefault();\r\n closeFullTextSearch();\r\n }\r\n }\r\n });\r\n\r\n var loginOpen = false;\r\n\r\n function loginPopup() {\r\n if (loginOpen == false) {\r\n loginOpen = true;\r\n $.ajax({\r\n url: `/Users/Login?returnUrl=${getLoginReturnUrl()}`,\r\n success: function (html) {\r\n $('.js-log-in').removeClass('c-header__button--account-loading');\r\n $('#js-popup-container').html('
    ');\r\n $('.js-user-popup').html(html);\r\n\r\n $('.js-user-popup-login').addClass('c-user-popup__container--active');\r\n $('.js-user-popup').addClass('c-user-popup--visible');\r\n }\r\n });\r\n }\r\n }\r\n\r\n function registerSocialPopup() {\r\n if (loginOpen == false) {\r\n loginOpen = true;\r\n $.ajax({\r\n url: `/Users/SocialRegistration?returnUrl=${getLoginReturnUrl()}`,\r\n success: function (html) {\r\n $('.js-log-in').removeClass('c-header__button--account-loading');\r\n $('#js-popup-container').html('
    ');\r\n $('.js-user-popup').html(html);\r\n\r\n $('.js-user-popup-social-registration').addClass('c-user-popup__container--active');\r\n $('.js-user-popup').addClass('c-user-popup--visible');\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (window.location.hash.includes(\"#login\")) {\r\n\r\n if (window.location.hash.includes(\"redirect\")) {\r\n var redirectPath = window.location.hash.split(\"&redirect=\")[1];\r\n redirectToUrl = `${redirectPath}`;\r\n }\r\n\r\n window.location.hash = \"\";\r\n loginPopup();\r\n }\r\n\r\n if (window.location.hash === \"#socialregister\") {\r\n window.location.hash = \"\";\r\n registerSocialPopup();\r\n }\r\n\r\n // 'Back' button\r\n $(document).on('click', '.js-registration-back, .js-lost-password-back', function (e) {\r\n loginOpen = false;\r\n loginPopup();\r\n });\r\n\r\n // Log in\r\n\r\n $(document).on('click', '.js-log-in', function (e) {\r\n $(this).addClass('c-header__button--account-loading');\r\n e.preventDefault();\r\n loginPopup();\r\n });\r\n\r\n // Show login popup if user is not logged in and clicks on button that requires logged user\r\n $(document).on('click', '.js-logged-in-only', function (e) {\r\n if ($('.js-log-in').length) {\r\n e.preventDefault();\r\n // We need to first set redirect to know where to return from social login\r\n redirectToUrl = e.target.href;\r\n $('.js-log-in').trigger('click');\r\n }\r\n });\r\n\r\n // FAQ\r\n\r\n $(document).on('click', '.js-faq-title', function(){\r\n $(this).toggleClass('c-faq__item-title--active');\r\n $(this).next('.js-faq-item').toggleClass('c-faq__item--visible');\r\n });\r\n\r\n // Favourite\r\n\r\n $(document).on('click', '.js-favourite-ad', function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n favourite($(this));\r\n $(this).addClass('loading');\r\n });\r\n\r\n function favourite($adCard) {\r\n debounce(function () {\r\n if ($('.js-log-in').length) {\r\n $('.js-log-in').trigger('click');\r\n $adCard.removeClass('loading');\r\n return;\r\n }\r\n var identifier = $adCard.attr('data-identifier');\r\n var data = { identifier: identifier }\r\n\r\n if ($adCard.hasClass('active')) {\r\n $.ajax({\r\n method: 'POST',\r\n url: '/inzeraty/AdUnfavourite',\r\n data: data,\r\n success: function () {\r\n $adCard.removeClass('active');\r\n $adCard.removeClass('loading');\r\n $adCard.title = 'Přidat do oblíbených.';\r\n },\r\n error: function (response) {\r\n if (response.status == 401) {\r\n $('.js-log-in').trigger('click');\r\n }\r\n $adCard.removeClass('loading');\r\n }\r\n });\r\n }\r\n else {\r\n $.ajax({\r\n method: 'POST',\r\n url: '/inzeraty/AdFavourite',\r\n data: data,\r\n success: function () {\r\n $adCard.addClass('active');\r\n $adCard.removeClass('loading');\r\n $adCard.title = 'Odebrat z oblíbených.';\r\n },\r\n error: function (response) {\r\n if (response.status == 401) {\r\n $('.js-log-in').trigger('click');\r\n }\r\n $adCard.removeClass('loading');\r\n }\r\n });\r\n }\r\n }, 500)();\r\n }\r\n\r\n //18+ popup\r\n $(document).on('click', '.js-close-warning-popup', function (e) {\r\n e.preventDefault();\r\n $.ajax({\r\n url: '/Users/GrantIsAdultConsent',\r\n success: function () {\r\n $('.js-warning-popup').removeClass('c-popup--visible');\r\n location.reload();\r\n }\r\n });\r\n });\r\n\r\n // New ad topping tooltips\r\n $(document).on('click', '.js-new-ad-tooltip-switch', function (e) {\r\n e.preventDefault();\r\n $('.js-new-ad-tooltip-target').removeClass('c-new-ad__label-tooltip--visible');\r\n $(this).next('.js-new-ad-tooltip-target').toggleClass('c-new-ad__label-tooltip--visible');\r\n });\r\n\r\n $(document).on('click', '.js-new-ad-tooltip-target', function (e) {\r\n e.preventDefault();\r\n $(this).removeClass('c-new-ad__label-tooltip--visible');\r\n });\r\n\r\n // Phone number input\r\n\r\n $.hi.initPhoneNumberInput = function ($element) {\r\n var $container = $element || $(document);\r\n $container.find('.js-phone-number-input').mask('+^^_ ^^^ ^^^ ^^^', {\r\n translation: {\r\n '_': { pattern: /[0-9]/, optional: true },\r\n '^': { pattern: /[0-9]/ },\r\n '0': { pattern: '0', fallback: '0' }\r\n }\r\n });\r\n };\r\n\r\n $.hi.initPhoneNumberInput();\r\n\r\n $(document).on('focus', '.js-phone-number-input', function () {\r\n var $phoneNumber = $(this);\r\n\r\n if (!$phoneNumber.prop('readonly') && !$phoneNumber.val()) {\r\n $phoneNumber.val('+420');\r\n }\r\n });\r\n\r\n $(document).on('blur', '.js-phone-number-input', function () {\r\n var $phoneNumber = $(this);\r\n\r\n if ($phoneNumber.val() === '+420') {\r\n $phoneNumber.val('');\r\n }\r\n });\r\n\r\n // Click on whole ad item links to ad detail\r\n\r\n $(document).on('click', '.js-ad-list-link', function (e) {\r\n const url = window.location.href.split('#', 2)[0];\r\n const id = $(this).attr('id');\r\n history.replaceState(history.state, document.title, `${url}#${id}`)\r\n window.location.href = $(this).data('link');\r\n });\r\n\r\n // Click to partner link to stop opening the ad detail.\r\n // Stop bubbling phases.\r\n $(document).on('click', '.js-partner-link', function (e) {\r\n e.stopPropagation();\r\n });\r\n\r\n // User indicator for mobile a desktop version\r\n\r\n let indicators = $('.js-message-indicator');\r\n $.each(indicators,\r\n function (key, value) {\r\n let indicator = $(value);\r\n let messageCount = parseInt(indicator.data('count'));\r\n\r\n if (messageCount >= 10) {\r\n indicator.html('9+');\r\n }\r\n\r\n indicator.addClass('c-header__indicator--visible');\r\n });\r\n\r\n // Copy to clipboard\r\n\r\n $(document).on('click', '.js-copy-to-clipboard', function(){\r\n var text = $(this).html();\r\n var input = document.createElement('textarea');\r\n input.innerHTML = text;\r\n document.body.appendChild(input);\r\n input.select();\r\n var result = document.execCommand('copy');\r\n document.body.removeChild(input);\r\n return result;\r\n });\r\n\r\n // Watchdog Popup\r\n\r\n $(document).on('click', '.js-toggle-watch-dog-popup', function(){\r\n $('.js-watchdog-popup').toggleClass('c-watch-dog-popup--visible');\r\n });\r\n\r\n // Watchdog create/update disable button on submit\r\n $(document).on('submit', '#js-watchdog-form', function () {\r\n $(this).find(\"button[type='submit']\").prop('disabled', true);\r\n });\r\n\r\n // Point list toggle\r\n\r\n $(document).on('click', '.js-point-list-toggle', function(e){\r\n e.preventDefault();\r\n e.stopPropagation();\r\n $(this).toggleClass('c-ad-list__point-text--active');\r\n $(this).parent().next('.js-point-list-target').toggleClass('c-ad-list__point-item-container--visible');\r\n });\r\n\r\n $(document).on('input', '.js-points-range, .js-points-target', function(){\r\n var value = $(this).val();\r\n var numberValue = Number(value);\r\n var valueText = numberValue == 1 ? ' bod' : numberValue > 1 && numberValue < 5 ? ' body' : ' bodů';\r\n $('.js-points-target, .js-points-range').val(value);\r\n $('.js-slider-bubble-points').text(value);\r\n $('.js-slider-bubble-points-text, .c-new-ad__slider-number-text').text(valueText);\r\n setBubble(document.querySelector('.js-points-range'), document.querySelector('.js-slider-bubble'));\r\n });\r\n\r\n function setBubble(range, bubble) {\r\n const val = range.value;\r\n const min = range.min ? range.min : 0;\r\n const max = range.max ? range.max : 100;\r\n const newVal = Number(((val - min) * 100) / (max - min));\r\n\r\n // Sorta magic numbers based on size of the native UI thumb\r\n bubble.style.left = `calc(${newVal}% + (${1 - newVal * 0.15}px))`;\r\n }\r\n\r\n setBubble(document.querySelector('.js-points-range'), document.querySelector('.js-slider-bubble'));\r\n});"],"names":["redirectToUrl","loadedPersonalSuggestions","getLoginReturnUrl","encodeURIComponent","window","location","hash","debounce","func","wait","immediate","timeout","context","this","args","arguments","callNow","clearTimeout","setTimeout","apply","showFlashMessage","message","isError","color","$","html","copyUrl","url","attr","$temp","append","val","select","document","execCommand","remove","URL","href","searchParams","has","delete","history","replaceState","toString","hi","validator","setDefaults","ignore","addMethod","value","element","param","targetInput","is","filter","length","unobtrusive","adapters","add","options","$targetElement","form","find","params","property","rules","messages","propertyname","regex","RegExp","dataset","valRequiredifPattern","isRequired","propertyvalue","toLowerCase","regexValid","test","trim","depend","nodeName","checkable","getLength","$element","currentValue","rangeforvalue","minValue","parseInt","valRangeforvalueMin","maxValue","valRangeforvalueMax","jQuery","ready","click","e","$clickedElement","target","hasClass","closest","closeFullTextSearch","keydown","keyCode","removeClass","loginOpen","lastScrollTop","newAdPopup","ajax","success","addClass","parse","loadCategoriesByParentId","error","response","status","loginPopup","scroll","event","st","scrollTop","bind","bannerTimer","setInterval","clearInterval","bannerTimerinterator","stopPropagation","toggleClass","on","preventDefault","siblings","dataLayer","push","category","action","charCounter","el","textareaValue","maxlength","numberOfLineBreaks","match","slice","stringLength","each","focus","mq","matchMedia","let","currentCategoryId","currentCategoryContent","categoryId","data","result","fadeIn","loadCategoriesByNameLastQuery","loadCategoriesByName","query","hide","openCategorySelector","matches","toggle","fadeOut","validate","searchItems","index","selectedItem","empty","suggestionSelected","parent","ev","fullTextSearch","suggestions","hasCategories","categories","hasTerms","map","c","image","name","join","t","i","$selectedItem","$form","text","undefined","indexOf","prefix","submit","showQuerySuggestions","hasSuggestion","personalSuggestionLoader","suggestion","trigger","includes","redirectPath","split","next","$adCard","identifier","method","title","reload","initPhoneNumberInput","mask","translation","_","pattern","optional","^","0","fallback","$phoneNumber","prop","id","state","indicators","setBubble","range","bubble","min","max","newVal","Number","style","left","key","indicator","input","createElement","innerHTML","body","appendChild","removeChild","numberValue","valueText","querySelector"],"mappings":"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"}