1 2; /* Start:"a:4:{s:4:"full";s:83:"/local/components/rivers/genplan.frame/templates/.default/script.js?175256052311483";s:6:"source";s:67:"/local/components/rivers/genplan.frame/templates/.default/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 3document.addEventListener("DOMContentLoaded", function() 4{ 5 let plotsBoxContract = document.querySelector('.plots.contract'), 6 plotsBoxNoContract = document.querySelector('.plots.no-contract'), 7 plotsSaleContract = document.querySelectorAll('.plots.contract .plot.sale'), 8 plotsSaleNoContract = document.querySelectorAll('.plots.no-contract .plot.sale'), 9 10 genplanMap = document.getElementById('genplanMap'), 11 titleMap = genplanMap.querySelector('h2'), 12 genplanMenu = genplanMap.querySelector('.genplan-menu'), 13 borderBeach = genplanMenu.querySelector('.border-beach'), 14 borderContract = genplanMenu.querySelector('.border-contract'), 15 borderNoContract = genplanMenu.querySelector('.border-no-contract'), 16 btnContract = document.getElementById('btnContract'), 17 btnNoContract = document.getElementById('btnNoContract'), 18 btnBack = genplanMap.querySelector('.btn-back'); 19 20 // Ðнопки "ÐакÑÑÑÑ Ð¿Ð¾Ð¿Ð°Ð¿" 21 let btnClosePopup = document.querySelectorAll('.btn-close-popup'); 22 23 btnBack.addEventListener('click', () => { 24 plotsBoxContract.classList.add('hide'); 25 plotsBoxNoContract.classList.add('hide'); 26 genplanMenu.classList.remove('hide'); 27 setTimeout(() => genplanMap.classList.remove('contract'),200); 28 setTimeout(() => genplanMap.classList.remove('no-contract'),200); 29 setTimeout(() => genplanMap.classList.remove('beach'),200); 30 setTimeout(() => genplanMenu.classList.remove('hide-menu'),700); 31 setTimeout(() => btnBack.classList.add('hide'),1000); 32 setTimeout(() => titleMap.classList.remove('hide-title'),1000); 33 btnNoContract.classList.remove('active'); 34 btnContract.classList.remove('active'); 35 for (let close of btnClosePopup) close.click(); // закÑÑÑÑ Ð²Ñе попап-окна 36 }); 37 38 borderContract.addEventListener('click', () => activeContract()); 39 borderNoContract.addEventListener('click', () => activeNoContract()); 40 borderBeach.addEventListener('click', () => activeBeach()); 41 42 btnContract.addEventListener('click', () => activeContract()); 43 btnNoContract.addEventListener('click', () => activeNoContract()); 44 45 let activeContract = function () { 46 plotsBoxNoContract.classList.add('hide'); 47 genplanMap.classList.remove('no-contract'); 48 genplanMap.classList.remove('beach'); 49 genplanMenu.classList.add('hide-menu'); 50 titleMap.classList.add('hide-title'); 51 setTimeout(() => genplanMap.classList.add('contract'),300); 52 setTimeout(() => plotsBoxContract.classList.remove('hide'),900); 53 setTimeout(() => genplanMenu.classList.add('hide'),1000); 54 setTimeout(() => btnBack.classList.remove('hide'),1000); 55 btnContract.classList.add('active'); 56 btnNoContract.classList.remove('active'); 57 } 58 59 let activeNoContract = function () { 60 plotsBoxContract.classList.add('hide'); 61 genplanMap.classList.remove('contract'); 62 genplanMap.classList.remove('beach'); 63 genplanMenu.classList.add('hide-menu'); 64 titleMap.classList.add('hide-title'); 65 setTimeout(() => genplanMap.classList.add('no-contract'), 300); 66 setTimeout(() => plotsBoxNoContract.classList.remove('hide'), 900); 67 setTimeout(() => genplanMenu.classList.add('hide'),1000); 68 setTimeout(() => btnBack.classList.remove('hide'),1000); 69 btnNoContract.classList.add('active'); 70 btnContract.classList.remove('active'); 71 }; 72 73 let activeBeach = function () { 74 plotsBoxContract.classList.add('hide'); 75 plotsBoxNoContract.classList.add('hide'); 76 genplanMap.classList.remove('contract'); 77 genplanMap.classList.remove('no-contract'); 78 genplanMenu.classList.add('hide-menu'); 79 titleMap.classList.add('hide-title'); 80 setTimeout(() => genplanMap.classList.add('beach'), 300); 81 setTimeout(() => genplanMenu.classList.add('hide'),1000); 82 setTimeout(() => btnBack.classList.remove('hide'),1000); 83 btnNoContract.classList.remove('active'); 84 btnContract.classList.remove('active'); 85 }; 86 87 //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 88 // Ðоказ попап-окна 89 //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 90 91 // for (let plotSale of plotsSaleContract) plotSale.addEventListener('click', showPopupSale); 92 93 function showPopupSale(e) 94 { 95 let numsCollect = document.querySelectorAll('.plot-number-visual'); 96 for (let num of numsCollect) num.classList.remove('clicked'); 97 this.classList.add('active', 'clicked'); 98 99 if (this.parentElement.classList.contains('contract')) { 100 popupInfoPlot = plotsBoxContract.querySelector('.popup-info-plot'); 101 if (this.dataset.project !== 'Y') { 102 linkName = '<a href="/gotovye-doma/' + this.dataset.number + '/" ><b>УÑаÑÑок ' + this.dataset.number + '</b> <span>(Ñ Ð¿Ð¾Ð´ÑÑдом)</span></a>'; 103 } else { 104 linkName = '<a href="/gotovye-doma/' + this.dataset.number + '/" ><b>УÑаÑÑок ' + this.dataset.number + '</b> <span>(гоÑовÑй дом)</span></a>'; 105 } 106 linkMore = '<a href="/gotovye-doma/' + this.dataset.number + '/" >ÐодÑобнее</a>'; 107 } else { 108 popupInfoPlot = plotsBoxNoContract.querySelector('.popup-info-plot'); 109 linkName = '<a href="/zemelnye-uchastki/' + this.dataset.number + '/" ><b>УÑаÑÑок ' + this.dataset.number + '</b></a>'; 110 linkMore = '<a href="/zemelnye-uchastki/' + this.dataset.number + '/" >ÐодÑобнее</a>'; 111 } 112 113 let plotNameValue = popupInfoPlot.querySelector('.name'), 114 plotAreaValue = popupInfoPlot.querySelector('.area .value'), 115 plotPriceValue = popupInfoPlot.querySelector('.price .value'), 116 plotMoreLink = popupInfoPlot.querySelector('.more-link'); 117 118 plotAreaValue.innerText = this.dataset.area; 119 plotNameValue.innerHTML = linkName; 120 plotMoreLink.innerHTML = linkMore; 121 122 if (this.dataset.price_new !== 'undefined') { 123 plotPriceValue.innerHTML = "<b class='price-old'>" + this.dataset.price + "</b><br>" + this.dataset.price_new; 124 plotPriceValue.classList.add('red'); 125 } else { 126 plotPriceValue.innerText = this.dataset.price; 127 plotPriceValue.classList.remove('red'); 128 } 129 130 localStorage.setItem('plotNumber', this.dataset.number); // ÐобавлÑем Ð½Ð¾Ð¼ÐµÑ ÑÑаÑÑка в localStorage 131 132 popupInfoPlot.classList.add('show'); 133 134 let x = Number.parseInt(this.dataset.x);
135 let y = Number.parseInt(this.dataset.y); 136 137 popupInfoPlot.style.top = (y - 15) + 'px'; 138 popupInfoPlot.style.left = (x + 85) + 'px'; 139 140 }; 141 142 // ÐакÑÑÑÑ Ð¿Ð¾Ð¿Ð°Ð¿-окна 143 for (let close of btnClosePopup) close.addEventListener('click', hidePopupInfoPlot); 144 145 function hidePopupInfoPlot(e) 146 { 147 let popupInfoPlot = this.parentElement; 148 console.log(popupInfoPlot); 149 if (popupInfoPlot.classList.contains('show') && !e.target.classList.contains('popup-info-plot')) { 150 popupInfoPlot.classList.remove('show'); 151 document.querySelector('.plot-number-visual.clicked').classList.remove('clicked'); 152 }; 153 } 154 155 //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 156 // Ðоказ ÑÑаÑÑков 157 //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 158 159 // "ÐоÑовÑе дома" 160 let showPlotsSaleContract = function () { 161 for (let plot of plotsSaleContract) { 162 // ÐомеÑа ÑÑаÑÑков 163 let x = Number.parseInt(plot.getAttribute('x')); 164 let y = Number.parseInt(plot.getAttribute('y')); 165 166 let numberHTML = document.createElement('a'); 167 // numberHTML.setAttribute('href', `/gotovye-doma/${plot.dataset.number}/`); 168 // numberHTML.setAttribute('target', '_blank'); 169 numberHTML.classList.add('plot-number-visual'); 170 numberHTML.classList.add(`num-${plot.dataset.number}`); 171 if (plot.dataset.project === 'Y') { 172 numberHTML.classList.add('with-project'); 173 } 174 175 numberHTML.dataset.number = plot.dataset.number; 176 numberHTML.dataset.area = plot.dataset.area; 177 numberHTML.dataset.price = plot.dataset.price; 178 numberHTML.dataset.price_new = plot.dataset.price_new; 179 numberHTML.dataset.project = plot.dataset.project; 180 numberHTML.dataset.x = x; 181 numberHTML.dataset.y = y; 182 183 numberHTML.classList.add('active'); 184 numberHTML.innerHTML = plot.dataset.number; 185 numberHTML.addEventListener('click', showPopupSale); 186 plotsBoxContract.append(numberHTML); 187 188 numberHTML.style.top = (y - 15) + 'px'; 189 numberHTML.style.left = (x + 35) + 'px'; 190 191 // plot.classList.add('show-sale'); 192 // plotsBoxContract.querySelector(`.num-${plot.dataset.number}`).classList.add('active'); 193 } 194 }; 195 196 // "УÑаÑÑки" 197 let showPlotsSaleNoContract = function () { 198 for (let plot of plotsSaleNoContract) { 199 // ÐомеÑа ÑÑаÑÑков 200 let x = Number.parseInt(plot.getAttribute('x')); 201 let y = Number.parseInt(plot.getAttribute('y')); 202 203 let numberHTML = document.createElement('a'); 204 // numberHTML.setAttribute('href', `/zemelnye-uchastki/${plot.dataset.number}/`); 205 // numberHTML.setAttribute('target', '_blank'); 206 numberHTML.classList.add('plot-number-visual'); 207 numberHTML.classList.add(`num-${plot.dataset.number}`); 208 209 numberHTML.dataset.number = plot.dataset.number; 210 numberHTML.dataset.area = plot.dataset.area; 211 numberHTML.dataset.price = plot.dataset.price; 212 numberHTML.dataset.price_new = plot.dataset.price_new; 213 numberHTML.dataset.x = x; 214 numberHTML.dataset.y = y; 215 216 numberHTML.classList.add('active'); 217 numberHTML.innerHTML = plot.dataset.number; 218 numberHTML.addEventListener('click', showPopupSale); 219 plotsBoxNoContract.append(numberHTML); 220 221 numberHTML.style.top = (y - 15) + 'px'; 222 numberHTML.style.left = (x + 25) + 'px'; 223 } 224 }; 225 226 showPlotsSaleContract(); 227 showPlotsSaleNoContract(); 228}); 229/* End */ 230; 231; /* Start:"a:4:{s:4:"full";s:76:"/local/components/rivers/projects.list/templates/2025/script.
231js?163064012065";s:6:"source";s:63:"/local/components/rivers/projects.list/templates/2025/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 232document.addEventListener("DOMContentLoaded", function() { 233 234}); 235/* End */ 236; 237; /* Start:"a:4:{s:4:"full";s:85:"/local/components/rivers/main.carousel.slider/templates/2025/script.js?17513423241478";s:6:"source";s:70:"/local/components/rivers/main.carousel.slider/templates/2025/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 238// To control a number of slider per page 239// You can use number or object 240 241// Use number if you want a same layout for all viewports 242// If you want a controll number dependable of viewport 243// Use object notation as on example below 244 245 246// If the window is wider than 768px 247// Show 2 slider per page 248 249// If the window is wider than 1024px 250// Show 3 slider per page 251 252// Otherwise show 1 slide per page 253 254document.addEventListener('DOMContentLoaded', function(){ 255 let numSlide = document.querySelector('.slider-documents .num-slide'); 256 let sliderDocuments = new Siema({ 257 selector: '#sliderDocuments', 258 perPage: { 259 768: 1, 260 1024: 1, 261 1280: 1, 262 1360: 1, 263 }, 264 duration: 1000, 265 loop: true, 266 }); 267 document.querySelector('.slider-documents .prev').addEventListener('click', () => { 268 sliderDocuments.prev(); 269 numSlide.textContent = (sliderDocuments.currentSlide + 1); 270 }); 271 document.querySelector('.slider-documents .next').addEventListener('click', () => { 272 sliderDocuments.next(); 273 numSlide.textContent = (sliderDocuments.currentSlide + 1); 274 // console.log(sliderDocuments); 275 }); 276 277 // listen for keydown event 278 setInterval(() => { 279 sliderDocuments.next(); 280 numSlide.textContent = (sliderDocuments.currentSlide + 1); 281 // console.log(sliderDocuments.currentSlide); 282 }, 5000); 283}); 284 285/* End */ 286; 287; /* Start:"a:4:{s:4:"full";
287s:72:"/local/components/rivers/news.list/templates/2025/script.js?163064012065";s:6:"source";s:59:"/local/components/rivers/news.list/templates/2025/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/ 288document.addEventListener("DOMContentLoaded", function() { 289 290}); 291/* End */ 292;; /* /local/components/rivers/genplan.frame/templates/.default/script.js?175256052311483*/ 293; /* /local/components/rivers/projects.list/templates/2025/script.js?163064012065*/ 294; /* /local/components/rivers/main.carousel.slider/templates/2025/script.js?17513423241478*/ 295; /* /local/components/rivers/news.list/templates/2025/script.js?163064012065*/
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.