{"version":3,"file":"ads-detail.js","sources":["ads-detail.js"],"sourcesContent":["$(document).ready(function () {\r\n\r\n // Things to hide on click\r\n\r\n $('body').click(function () {\r\n if ($('.c-share--visible').length > 0) {\r\n $('.js-share-container').removeClass('c-share--visible');\r\n }\r\n });\r\n\r\n if ($('.js-ad-detail-location').html().length < 1) {\r\n $('.js-ad-detail-location').hide();\r\n }\r\n\r\n // Hide second bar if first on is visible\r\n\r\n\r\n $(window).on('scroll', function () {\r\n var top_of_element = $(\".js-detail-info-0\").offset().top;\r\n var bottom_of_element = $(\".js-detail-info-0\").offset().top + $(\".js-detail-info-0\").outerHeight();\r\n var bottom_of_screen = $(window).scrollTop() + $(window).innerHeight();\r\n var top_of_screen = $(window).scrollTop();\r\n\r\n if ((bottom_of_screen > top_of_element) && (top_of_screen < bottom_of_element)) {\r\n $('.js-detail-info-1').slideUp(200);\r\n } else {\r\n $('.js-detail-info-1').slideDown(200);\r\n }\r\n });\r\n\r\n\r\n // Gallery functions\r\n\r\n if ($('.js-gallery').length != 0) {\r\n (function () {\r\n var currentSlide = 1;\r\n var listIsOpen = false;\r\n var detailIsOpen = false;\r\n var totalSlides = $('.js-gallery-item').length;\r\n var cacheNext = \"\";\r\n var cachePrev = \"\";\r\n\r\n /* TODO Ota - loader */\r\n\r\n function changeSlide(id, source, alt) {\r\n if (id >= totalSlides && totalSlides != 1) {\r\n $('.js-gallery-next').hide();\r\n $('.js-gallery-prev').show();\r\n id = totalSlides;\r\n } else if (id <= 1 && totalSlides != 1) {\r\n $('.js-gallery-next').show();\r\n $('.js-gallery-prev').hide();\r\n id = 1;\r\n } else if (totalSlides == 1) {\r\n $('.js-gallery-next, .js-gallery-prev').hide();\r\n } else {\r\n $('.js-gallery-next, .js-gallery-prev').show();\r\n }\r\n\r\n if (id <= totalSlides && id >= 1) {\r\n $('.js-gallery-current').html(id);\r\n $('.js-gallery-large-pic').attr('src', source);\r\n $('.js-gallery-large-pic').attr('alt', alt);\r\n currentSlide = id;\r\n if (currentSlide != totalSlides) { \r\n nextImage = currentSlide + 1;\r\n const nextImageElement = $(\".js-gallery\").find(\"[data-gallery-id='\" + nextImage + \"']\");\r\n cacheNext = nextImageElement.data('gallery-full-url');\r\n\r\n $('.js-gallery-cache-next').attr('src', cacheNext);\r\n //TODO(HICZDE-1358): when SEO testings is done always copy alt\r\n if ($('.js-gallery-cache-next').attr('alt')) {\r\n $('.js-gallery-cache-next').attr('alt', nextImageElement.attr('alt'));\r\n }\r\n }\r\n if (currentSlide != 1) {\r\n prevImage = currentSlide - 1;\r\n const prevCacheImageElement = $(\".js-gallery\").find(\"[data-gallery-id='\" + prevImage + \"']\");\r\n cachePrev = prevCacheImageElement.data('gallery-full-url');\r\n \r\n $('.js-gallery-cache-prev').attr('src', cachePrev);\r\n //TODO(HICZDE-1358): when SEO testings is done always copy alt\r\n if ($('.js-gallery-cache-prev').attr('alt')) {\r\n $('.js-gallery-cache-prev').attr('alt', prevCacheImageElement.attr('alt'));\r\n }\r\n }\r\n }\r\n }\r\n\r\n function slideGallery(direction) {\r\n if (direction == \"prev\" && currentSlide > 1) {\r\n currentSlide -= 1;\r\n $('.js-gallery-large-pic').addClass('move-right');\r\n\r\n setTimeout(function () {\r\n $('.js-gallery-large-pic').removeClass('move-right');\r\n }, 300);\r\n } else if (direction == \"next\" && currentSlide < totalSlides) {\r\n currentSlide += 1;\r\n $('.js-gallery-large-pic').addClass('move-left');\r\n\r\n setTimeout(function () {\r\n $('.js-gallery-large-pic').removeClass('move-left');\r\n }, 300);\r\n }\r\n\r\n setTimeout(function () {\r\n var source = $(\".js-gallery\").find(\"[data-gallery-id='\" + currentSlide + \"']\").data('gallery-full-url');\r\n var alt = $(\".js-gallery\").find(\"[data-gallery-id='\" + currentSlide + \"']\").attr('alt');\r\n changeSlide(currentSlide, source, alt);\r\n }, 100);\r\n }\r\n\r\n // Set numbers for gallery detail\r\n\r\n $('.js-gallery-total').html(totalSlides);\r\n\r\n // Set IDs\r\n\r\n $('.js-gallery-item').each(function (i) {\r\n $(this).attr('data-gallery-id', i + 1);\r\n });\r\n\r\n $('.js-gallery-preview-image').each(function (i) {\r\n $(this).attr('data-gallery-id', i + 1);\r\n });\r\n\r\n $(window).bind('load', function () {\r\n $('.js-gallery-preview-image').each(function (i) {\r\n\r\n if ($(this).width() >= $(this).height()) {\r\n $(this).addClass('js-landscape');\r\n } else {\r\n $(this).addClass('js-portrait');\r\n }\r\n });\r\n });\r\n\r\n // Open gallery list\r\n\r\n $(document).on('click', '.js-open-gallery-list', function (e) {\r\n $('.js-gallery-list').addClass('c-gallery-list--visible');\r\n $('.js-gallery-detail').removeClass('c-gallery-detail--visible');\r\n $('body').addClass('u-no-scroll');\r\n listIsOpen = true;\r\n detailIsOpen = false;\r\n\r\n setTimeout(function () {\r\n if ($('.js-gallery').height() >= $('.js-gallery-list').height()) {\r\n $('.js-gallery-list').addClass('c-gallery-list--overflow');\r\n } else {\r\n $('.js-gallery-list').removeClass('c-gallery-list--overflow');\r\n }\r\n }, 200);\r\n });\r\n\r\n // Open gallery detail\r\n\r\n $(document).on('click', '.js-open-gallery-detail', function (e) {\r\n $('.js-gallery-list').removeClass('c-gallery-list--visible');\r\n $('.js-gallery-detail').addClass('c-gallery-detail--visible');\r\n $('body').addClass('u-no-scroll');\r\n listIsOpen = false;\r\n detailIsOpen = true;\r\n });\r\n\r\n // Close gallery\r\n\r\n $(document).on('click', '.js-gallery-close', function (e) {\r\n $('.js-gallery-list').removeClass('c-gallery-list--visible');\r\n $('.js-gallery-detail').removeClass('c-gallery-detail--visible');\r\n $('body').removeClass('u-no-scroll');\r\n listIsOpen = false;\r\n detailIsOpen = false;\r\n });\r\n\r\n // Handle click on gallery item\r\n\r\n $(document).on('click', '.js-gallery-item, .js-gallery-preview-image', function (e) {\r\n var source = $(this).data('gallery-full-url');\r\n var alt = $(this).attr('alt');\r\n var ID = $(this).data('gallery-id');\r\n detailIsOpen = true;\r\n\r\n changeSlide(ID, source, alt);\r\n\r\n $('.js-gallery-list').removeClass('c-gallery-list--visible');\r\n $('.js-gallery-detail').addClass('c-gallery-detail--visible');\r\n });\r\n\r\n // Handle mousewheel\r\n\r\n\r\n $('.js-gallery-detail').bind('mousewheel DOMMouseScroll', function (e) {\r\n e.preventDefault();\r\n\r\n console.log(e.originalEvent.wheelDelta);\r\n\r\n if (e.type == 'mousewheel') {\r\n if (e.originalEvent.wheelDelta > 0) {\r\n slideGallery('prev');\r\n } else {\r\n slideGallery('next');\r\n }\r\n }\r\n else if (e.type == 'DOMMouseScroll') {\r\n if (e.originalEvent.detail > 0) {\r\n slideGallery('next');\r\n } else {\r\n slideGallery('prev');\r\n }\r\n }\r\n });\r\n\r\n // Handle Arrows\r\n\r\n // Prev\r\n\r\n $(document).on('click', '.js-gallery-prev', function (e) {\r\n slideGallery('prev');\r\n });\r\n\r\n // Next\r\n\r\n $(document).on('click', '.js-gallery-next', function (e) {\r\n slideGallery('next');\r\n });\r\n\r\n // Handle key press\r\n\r\n $('body').keydown(function (e) {\r\n if (e.keyCode == 37 && detailIsOpen == true) {\r\n slideGallery('prev');\r\n } else if (e.keyCode == 39 && detailIsOpen == true) {\r\n slideGallery('next');\r\n } else if (e.keyCode == 27 && detailIsOpen == true) {\r\n $('.js-gallery-detail').removeClass('c-gallery-detail--visible');\r\n $('body').removeClass('u-no-scroll');\r\n detailIsOpen = false;\r\n } else if (e.keyCode == 27 && listIsOpen == true) {\r\n $('.js-gallery-list').removeClass('c-gallery-list--visible');\r\n $('body').removeClass('u-no-scroll');\r\n listIsOpen = false;\r\n }\r\n });\r\n\r\n // Swipe\r\n\r\n $('.js-gallery-large-pic').swipe({\r\n swipe: function (event, direction) {\r\n\r\n if (direction == 'right') {\r\n if (currentSlide != 1) {\r\n slideGallery('prev');\r\n }\r\n } else if (direction == 'left') {\r\n if (currentSlide != totalSlides) {\r\n slideGallery('next');\r\n }\r\n }\r\n }\r\n });\r\n\r\n // Gallery slick\r\n\r\n function initSlickSliderDetail() {\r\n $('.js-gallery').slick({\r\n infinite: false,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: false,\r\n arrows: true\r\n });\r\n $('.js-gallery').on('beforeChange', function(event, slick, currentSlide, nextSlide){\r\n if(currentSlide < nextSlide) {\r\n $('.slick-current-slide').addClass('move');\r\n $('.slick-arrow').addClass('move-left');\r\n }\r\n else {\r\n $('.slick-current-slide').addClass('move');\r\n $('.slick-arrow').addClass('move-right');\r\n }\r\n });\r\n\r\n $('.js-gallery').on('afterChange', function(event, slick, currentSlide, nextSlide){\r\n $('.slick-arrow').removeClass('move-left move-right');\r\n $('.slick-current-slide').removeClass('move');\r\n });\r\n };\r\n\r\n if ($(window).width() <= 1024) {\r\n initSlickSliderDetail();\r\n $('.js-gallery').removeClass('c-gallery-list__item-container--loading');\r\n }\r\n\r\n else {\r\n $('.js-gallery').removeClass('c-gallery-list__item-container--loading');\r\n }\r\n\r\n window.addEventListener(\"resize\", function () {\r\n if ($(window).width() <= 1024 && !$('.js-gallery').hasClass('slick-initialized')) {\r\n initSlickSliderDetail();\r\n } else if ($(window).width() >= 1024 && $('.js-gallery').hasClass('slick-initialized')) {\r\n $('.js-gallery').slick('unslick');\r\n }\r\n });\r\n })();\r\n }\r\n\r\n // Message popup\r\n\r\n $('.c-ad-detail__info-button.js-toggle-message-popup').each(function () {\r\n if ($(this).data('type') == 'SupplyEnum') {\r\n $(this).html('Mám zájem');\r\n }\r\n else {\r\n $(this).html('Reagovat');\r\n }\r\n });\r\n\r\n $(document).on('click', '.js-toggle-message-popup', function (e) {\r\n e.preventDefault();\r\n\r\n // Show message popup if user is logged in, otherwise redirect to login form\r\n if ($('#js-message-popup-email').length || $('#IsUserLogged').val() === \"True\") {\r\n messagePopup();\r\n\r\n const rootCategoryName = $('.root-category-name').text();\r\n\r\n window.dataLayer.push({\r\n 'event': 'user-action',\r\n 'category': 'Inzerat',\r\n 'action': 'Odpoved',\r\n 'section': rootCategoryName\r\n });\r\n } else {\r\n // We need to first set fragment to know where to return from login\r\n window.location.hash = '#message';\r\n $('.js-log-in').trigger('click');\r\n }\r\n });\r\n\r\n $(document).on('click', '.o-button--popup-close.js-toggle-message-popup', function (e) {\r\n window.location.hash = '';\r\n });\r\n\r\n if (window.location.hash === '#message') {\r\n // Check if exist popup and button for message\r\n // Message button does not exist for the logged ad owner\r\n if ($('#send-message').length && $('.js-interest-button').length) {\r\n messagePopup();\r\n }\r\n }\r\n\r\n // Share popup in detail\r\n\r\n $('.js-toggle-share').click(function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n $(\".js-copy-url\").text(\"Kopírovat do schránky\");\r\n $('.js-share-container').toggleClass('c-share--visible');\r\n });\r\n\r\n $(document).on('click', '.js-close-share', function (e) {\r\n e.preventDefault();\r\n $('.js-share-container').removeClass('c-share--visible');\r\n });\r\n\r\n $('.js-copy-url').click(function (e) {\r\n e.preventDefault();\r\n copyUrl();\r\n $(\".js-copy-url\").text(\"Adresa zkopírována!\");\r\n });\r\n\r\n $('.js-share-container').click(function (e) {\r\n if (!e.target.classList.contains('js-close-share')) {\r\n e.stopPropagation();\r\n }\r\n });\r\n\r\n // Print\r\n\r\n $(document).on('click', '.js-detail-print', function (e) {\r\n e.preventDefault();\r\n\r\n const adIdentifier = $(\".user-ad-identifier\").val();\r\n window.dataLayer.push({\r\n 'event': 'user-action',\r\n 'category': 'Inzerat',\r\n 'action': 'Vytisknout',\r\n 'label': adIdentifier\r\n });\r\n window.print();\r\n });\r\n\r\n\r\n // Report\r\n\r\n $(document).on('click', '.js-report-popup-toggle', function (e) {\r\n e.preventDefault();\r\n $('.js-report-popup').toggleClass('c-popup--visible');\r\n });\r\n\r\n $('.js-report-select').change(function () {\r\n if ($(this).val() == 'other') {\r\n $('.js-report-other-container').find('textarea').removeAttr('disabled');\r\n $('.js-report-other-container').removeClass('c-popup__input-container--hidden');\r\n }\r\n else {\r\n $('.js-report-other-container').find('textarea').attr('disabled', 'disabled');\r\n $('.js-report-other-container').addClass('c-popup__input-container--hidden');\r\n }\r\n });\r\n\r\n $(document).on('click', '.js-report-button', function (e) {\r\n e.preventDefault();\r\n\r\n var $reportButton = $(this);\r\n var $form = $('#js-report-form');\r\n\r\n if ($form.valid()) {\r\n $reportButton.attr('disabled', 'disabled');\r\n $.ajax({\r\n url: '/inzeraty/Report',\r\n method: 'POST',\r\n data: $form.serialize(),\r\n success: function () {\r\n $('.js-report-content').hide();\r\n $('.js-report-message').removeClass('c-popup__message--hidden');\r\n\r\n setTimeout(function () {\r\n $('.js-report-popup').removeClass('c-popup--visible');\r\n }, 5000);\r\n },\r\n error: function (ressponse) {\r\n $('.js-report-popup').removeClass('c-popup--visible');\r\n $reportButton.removeAttr('disabled');\r\n\r\n let flashMessageContent = \"Při nahlašování došlo k chybě.\";\r\n\r\n if (ressponse.status === 422) {\r\n flashMessageContent = \"Obsah zprávy byl detekován jako spam.\";\r\n }\r\n\r\n $('.js-flash-message-container').html(`
${flashMessageContent}
`);\r\n\r\n }\r\n });\r\n }\r\n\r\n return false;\r\n });\r\n\r\n // Open order modal\r\n\r\n if ($(\"#open-order-modal\").val()) {\r\n OpenOrderModal();\r\n }\r\n\r\n if (window.location.hash === \"#order\") {\r\n window.location.hash = \"\";\r\n \r\n // Check if user is logged in\r\n if ($('.js-log-in').length) {\r\n // set timeout \r\n debounce(function () {\r\n // Check if adult popup is displayed\r\n if (!$('.js-warning-popup').length) {\r\n // We need to first set fragment to know where to return from login\r\n // Update hash to open order popup after login\r\n window.location.hash = \"order\"\r\n $('.js-log-in').trigger('click');\r\n } else {\r\n // Update hash to login after confirming the adult popup\r\n window.location.hash = \"login\";\r\n }\r\n }, 500)();\r\n\r\n } else {\r\n OpenOrderModal();\r\n }\r\n }\r\n\r\n $(document).on('click', '#order-button', function (e) {\r\n e.preventDefault();\r\n OpenOrderModal();\r\n })\r\n\r\n // 18+ popup\r\n\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\r\n if (window.location.hash === '#login' && $('.js-log-in').length) {\r\n $('.js-log-in').trigger('click');\r\n window.location.hash = \"\";\r\n }\r\n }\r\n });\r\n });\r\n\r\n // Smaller price\r\n\r\n if($('.js-ad-detail-price').width() >= 160) {\r\n $('.js-ad-detail-price').addClass('c-ad-detail__info-price--smaller');\r\n }\r\n\r\n // Log to Google Analytics message send\r\n $(document).on('submit', '#send-message', createLogToGoogleOnPostHandler('Inzerat', 'Konverzace'));\r\n $(document).on('click', '.js-report-button', createLogToGoogleOnPostHandler('Inzerat', 'Nahlasit'));\r\n\r\n function createLogToGoogleOnPostHandler(eventName, subeventName) {\r\n var eventLoggedToGa = false;\r\n const adIdentifier = $(\".user-ad-identifier\").val();\r\n const rootCategoryName = $(\".root-category-name\").text();\r\n const isDirectMessage = $('#js-message-popup-email').length != 0;\r\n\r\n return function (e) {\r\n if (!eventLoggedToGa) {\r\n e.preventDefault();\r\n\r\n if ($(this).is('form')) {\r\n var $form = $(this);\r\n $form.find(':submit').attr('disabled', 'disabled');\r\n\r\n var formSubmitted = false;\r\n\r\n function submitForm() {\r\n eventLoggedToGa = true;\r\n\r\n if (!formSubmitted && $form && $form.submit) {\r\n formSubmitted = true;\r\n $form.submit();\r\n }\r\n }\r\n }\r\n\r\n let labelParameter = null;\r\n if (subeventName === 'Konverzace') {\r\n labelParameter = isDirectMessage ? 1 : 0;\r\n }\r\n\r\n window.dataLayer.push({\r\n 'event': 'user-action',\r\n 'category': eventName,\r\n 'action': subeventName,\r\n 'label': adIdentifier,\r\n 'labelParameter': labelParameter,\r\n 'eventCallback': submitForm,\r\n 'section': rootCategoryName,\r\n 'eventTimeout': 1000\r\n });\r\n }\r\n };\r\n\r\n $form.find(':submit').removeAttr('disabled');\r\n }\r\n});\r\n\r\nfunction OpenOrderModal() {\r\n const adIdentifier = $(\".user-ad-identifier\").val();\r\n return $.hi.order.openAdOrderModal(adIdentifier)\r\n}\r\n\r\nfunction messagePopup() {\r\n $('.js-message-popup').toggleClass('c-message-popup--visible');\r\n $('body').toggleClass('u-no-scroll');\r\n $.validator.unobtrusive.parse(\"#send-message\");\r\n}"],"names":["OpenOrderModal","adIdentifier","$","val","hi","order","openAdOrderModal","messagePopup","toggleClass","validator","unobtrusive","parse","document","ready","changeSlide","id","source","alt","totalSlides","hide","show","html","attr","currentSlide","nextImage","nextImageElement","find","cacheNext","data","prevImage","prevCacheImageElement","cachePrev","slideGallery","direction","addClass","setTimeout","removeClass","initSlickSliderDetail","slick","infinite","slidesToShow","slidesToScroll","dots","arrows","on","event","nextSlide","listIsOpen","detailIsOpen","createLogToGoogleOnPostHandler","eventName","subeventName","eventLoggedToGa","rootCategoryName","text","isDirectMessage","length","e","preventDefault","submitForm","formSubmitted","$form","submit","this","is","let","labelParameter","window","dataLayer","push","category","action","label","eventCallback","section","eventTimeout","click","top_of_element","offset","top","bottom_of_element","outerHeight","bottom_of_screen","scrollTop","innerHeight","top_of_screen","slideUp","slideDown","each","i","bind","width","height","ID","console","log","originalEvent","wheelDelta","type","detail","keydown","keyCode","swipe","addEventListener","hasClass","location","hash","trigger","stopPropagation","copyUrl","target","classList","contains","print","change","removeAttr","$reportButton","valid","ajax","url","method","serialize","success","error","ressponse","flashMessageContent","status","debounce"],"mappings":"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"}