1// $(document).ready(function () { 2// const twoExcursion = $("#two_excursion"); 3 4// const modalAjaxComplexExcursion = new Modal({ 5// modalBtns: '[data-modal-complex]', 6// modalCloseBtns: '.js-modal-complex-close', 7// modals: '.js-modal-form', 8// }); 9 10// $("[data-modal-complex='complex-form']").click(function (event) { 11// modalAjaxComplexExcursion.openModal(event); 12// }); 13 14// twoExcursion.click(function () { 15// const $datepicker = $("#date-popup-complex-2").parent(); 16// const $datepickerLabel = $datepicker.find('.form-item__name'); 17// const $datepickerError = $datepicker.siblings(); 18// const formId = "#complex-form"; 19// const $dataSelect2 = $(formId + ' #date-popup-complex-2'); 20 21// if (twoExcursion.is(':checked')) { 22// if (!$(formId + ' .part-2').hasClass('disabled')) { 23// $datepicker.addClass('disabled'); 24// sendAjaxAbrauAtOneday(formId, window.dp2); 25// disableGuestSelects(); 26 27// //label error datepicker 28// if ($datepickerError.length > 0) { 29// $datepickerLabel.hide(); 30// } else { 31// $datepickerLabel.show(); 32// } 33// } 34// } else { 35// $datepicker.removeClass('disabled'); 36// $dataSelect2.val('').removeClass('changed'); 37// setLabelQuotasNotExist('', false); 38// sendAjaxAbrauAtDifferentDays(); 39// disableGuestSelects(); 40 41// //label error datepicker 42// if ($datepickerError.length > 0) { 43// $datepickerError.hide(); 44// $datepickerLabel.show(); 45// } 46// } 47// }); 48 49// $("[data-modal-step-2='step-2']").click(function (event) { 50// const formId = "#complex-form"; 51// $(formId).removeClass('step1').addClass('step2'); 52// $(".step-1").addClass('hide'); 53// $(".step-2").removeClass('hide'); 54 55// let data = {}; 56 57// $.ajax({ 58// type: "POST", 59// data: data, 60// dataType: 'json', 61// url: '/local/templates/chateaudetalu/assets/js/complex-ajax.json', 62// success: function (data) { 63// const disabledDays = data.data.quotas.disabledDays; 64// const quotas = data.data.quotas.quotas; 65 66// const form = new Form("#complexForm", { 67// handleSubmit: 'sendFormComplexExcursion', 68// handleSubmitOption: 'ComplexExcursion', 69// handleAjax: quotas, 70// guestSelectTitle: 'ÐзÑоÑлÑе, Ð¾Ñ 12 леÑ*', 71// datepicker: { 72// datepickerContainer: '.js-date-complex', 73// datepickerId: '#date-popup-complex-1', 74// disabledDays: disabledDays, 75// onShow: () => setLabelQuotasNotExist('', false), 76// onSelect: onDataSelectHandler 77// }, 78// onGuestSelect: () => { 79// onGuestSelectHandler('select-children', 'ÐеÑи Ð¾Ñ 3 до 12 леÑ*', $(formId + ' .js-fake-children'), onChildrenSelectHandler); 80// setPrice(); 81// }, 82// onTimeSelect: onTimeSelectHandler, 83// labelErrorQuota: 'Ð ÑожалениÑ, на вÑбÑаннÑе вами даÑÑ Ð¸ вÑÐµÐ¼Ñ Ð¼ÐµÑÑ Ð½ÐµÑ', 84// labelErrorQuota2: 'Ð ÑожалениÑ, на вÑбÑаннÑÑ Ð²Ð°Ð¼Ð¸ даÑÑ Ð¼ÐµÑÑ Ð½ÐµÑ', 85// noRestQuotas: true 86// }); 87// }, 88// error: function (jqXHR, text, error) { 89// //$('#news-ajax').html(error); 90// } 91// }); 92// }); 93 94// $(".js-modal-complex-close").click(function () { 95// const formId = "#complex-form"; 96 97// if ($(formId + " .step-1").hasClass('hide')) { 98// const modalBody = $(formId + ' .modal-custom__body'); 99 100// //пÑи ÑообÑении об оÑибке не оÑиÑаÑÑ ÑоÑÐ¼Ñ 101// if ($(formId + " .error-message").hasClass('active')) { 102// modalBody.removeClass('message'); 103// } 104 105// $(formId).removeClass('step2').addClass('step1'); 106// $(".step-2").addClass('hide'); 107 108// $(formId + " .form-message").removeClass('active').addClass('hide'); 109// $(formId + " .error-message").removeClass('active').addClass('hide'); 110 111// setLabelQuotasNotExist('', false); 112// setTimeout(() => { 113// $(".step-1").removeClass('hide'); 114// }, 300); 115 116// // ÑбÑÐ¾Ñ ÑоÑÐ¼Ñ 117// if (modalBody.hasClass('message')) { 118// //time select 1 119// const $timeSelect = $(formId + ' #select-time'); 120// const fakeTimeSelect = $(formId + ' .part-1 .js-fake-time'); 121// if ($timeSelect && $timeSelect.hasClass('select-ui')) disableSelect($timeSelect, fakeTimeSelect, window.selectTime); 122 123// //adult select 1 124// const $adultSelect = $(formId + ' #select-guest'); 125// const fakeAdultSelect = $(formId + ' .part-1 .js-fake-guest'); 126// if ($adultSelect && $adultSelect.hasClass('select-ui')) disableSelect($adultSelect, fakeAdultSelect, window.selectGuestEvent); 127 128// //children select 1 129// const $childrenSelect = $(formId + ' #select-children'); 130// const fakeСhildrenSelect = $(formId + ' .part-1 .js-fake-children'); 131// if ($childrenSelect && $childrenSelect.hasClass('select-ui')) disableSelect($childrenSelect, fakeСhildrenSelect, window.childrenSelect); 132 133// disableGuestSelects(); 134 135// $('#complex-form .js-form')[0].reset(); 136// } 137 138// } 139// }); 140 141// $("#complexForm").submit(function() { 142// const formId = "#complex-form"; 143// const $elements = $('#complexForm .select-ui.required'); 144// const $adultSelect2 = $(formId + ' #select-guest4'); 145// const $childrenSelect1 = $(formId + ' #select-guest5'); 146// const $childrenSelect2 = $(formId + ' #select-guest6'); 147// const $parentChildren1 = $childrenSelect1.parents(".row"); 148// const $alertChildren1 = $(formId).find('.alert-2'); 149// const errorChildren1 = 'ÐÑжно ÑказаÑÑ Ð½Ðµ менее одного взÑоÑлого Ð¾Ñ 9 Ð»ÐµÑ Ð¸Ð»Ð¸ Ñебенка Ð¾Ñ 6 до 9 леÑ'; 150 151// if ($adultSelect2.find('[data-type="value"]').length > 0 || $childrenSelect1.find('[data-type="value"]').length > 0 || $childrenSelect2.find('[data-type="value"]').length > 0) { 152// // пÑи заполненной ÑоÑме пÑовеÑÑем ÑелекÑÑ Ð²Ð·ÑоÑлÑÑ Ð¸ деÑей 153// const adultValue = Number($adultSelect2.find('[data-type="value"]').text()); 154// const childrenValue1 = Number($childrenSelect1.find('[data-type="value"]').text()); 155
156// if (adultValue === 0 && childrenValue1 === 0) { 157// if ($alertChildren1.length === 0) { 158// $parentChildren1.append(`<div class="alert-2">${errorChildren1}</div>`); 159// } 160// } else { 161// $alertChildren1.remove(); 162// } 163 164// } else { 165// // подÑвеÑиваем оÑибки Ñ ÑейковÑÑ ÑелекÑов пÑи пÑÑÑой ÑоÑме 166// $elements.each(function() { 167// const error = $(this).attr("data-validate-text-invalid"); 168// const parent = $(this).parents(".field"); 169// const alert = $(this).siblings('.alert'); 170 171// if (alert.length === 0) { 172// if ($(this).css("display") === "block") { 173// parent.append(`<div class="alert">${error}</div>`); 174// } 175// } 176// }); 177// } 178 179// // check email 180// checkEmail(); 181// }); 182 183// }); 184 185// function onDataSelectHandler() { 186// const formId = "#complex-form"; 187 188// //пÑи новом вÑбоÑе даÑÑ Ð¾Ð±Ð½ÑлÑем children select 1 189// const $childrenSelect = $(formId + ' #select-children'); 190// const fakeСhildrenSelect = $(formId + ' .part-1 .js-fake-children'); 191 192// if ($childrenSelect && $childrenSelect.hasClass('select-ui')) disableSelect($childrenSelect, fakeСhildrenSelect, window.childrenSelect); 193 194// //пÑи новом вÑбоÑе даÑÑ Ð¾Ð±Ð½ÑлÑем ÑоÑÐ¼Ñ ÐбÑаÑ, еÑли она Ñже бÑла заполнена 195// disableAbrauForm(); 196// } 197 198// function onTimeSelectHandler() { 199// const formId = "#complex-form"; 200 201// //пÑи новом вÑбоÑе даÑÑ Ð¾Ð±Ð½ÑлÑем children select 1 202// const $childrenSelect = $(formId + ' #select-children'); 203// const fakeСhildrenSelect = $(formId + ' .part-1 .js-fake-children'); 204 205// if ($childrenSelect && $childrenSelect.hasClass('select-ui')) disableSelect($childrenSelect, fakeСhildrenSelect, window.childrenSelect); 206 207// const twoExcursion = $("#two_excursion"); 208// //пÑи новом вÑбоÑе вÑемени обнÑлÑем ÑоÑÐ¼Ñ ÐбÑаÑ, еÑли она Ñже бÑла заполнена и Ð½Ð°Ð¶Ð°Ñ ÑÐµÐºÐ±Ð¾ÐºÑ Ð² один Ð´ÐµÐ½Ñ 209// if (twoExcursion.is(':checked')) { 210// disableAbrauForm(); 211// } 212// } 213 214// function onGuestSelectHandler( 215// select, 216// guestSelectTitle, 217// fakeChildrenSelect, 218// onChildrenSelectHandler, 219// maxOptions = 11 220// ) { 221// let childrenSelect; 222 223// if (fakeChildrenSelect.css('display') === 'block') { 224// fakeChildrenSelect.css('display', 'none'); 225 226// childrenSelect = new SelectUI('#' + select, { 227// placeholder: guestSelectTitle || 'Ðол-во гоÑÑей*', 228// errorText: 'УкажиÑе кол-во гоÑÑей*', 229// nameSelect: select, 230// maxOptions: maxOptions, 231// onSelect: () => { 232// onChildrenSelectHandler(); 233// setPrice(); 234// } 235// }); 236// } 237 238// switch(select) { 239// case 'select-children': 240// window.childrenSelect = childrenSelect; 241// break; 242// case 'select-guest6': 243// window.childrenSelect3 = childrenSelect; 244// break; 245// default: 246// window.childrenSelect = childrenSelect; 247// break; 248// } 249// } 250 251// function onChildrenSelectHandler() { 252// const formId = "#complex-form"; 253// const part2 = $("#complex-form .part-2"); 254// const datepicker = $("#date-popup-complex-2").parent(); 255// const twoExcursion = $("#two_excursion"); 256 257// part2.removeClass('disabled'); 258 259// //checkbox two excursion at one day 260// if (twoExcursion.is(':checked')) { 261// datepicker.addClass('disabled'); 262// sendAjaxAbrauAtOneday(formId, window.dp); 263// } else { 264// datepicker.removeClass('disabled'); 265// sendAjaxAbrauAtDifferentDays(); 266// } 267// } 268 269// function getDataTime(data, inputValue) { 270// let dates = data[inputValue]; 271// if (typeof (dates) == 'object') { 272// let dataSelect = [];
273// Object.keys(dates).forEach(key => { 274// dataSelect.push({ 275// id: (inputValue + key).toString(), 276// value: key 277// }) 278// }) 279 280// return dataSelect; 281// } else { 282// return {}; 283// } 284// } 285 286// function enableGuestSelect(select, fakeSelect, formId, quotas, dataInput) { 287// const $timeSelect = $(formId + ' .part-2 #select-time2 [data-type="value"]'); 288// const timeInput = $timeSelect.text(); 289 290// if (timeInput != "ÐÑемÑ*") { 291// const dataSelect = getDataGuest(quotas, timeInput, dataInput); 292 293// if (dataSelect.length == 0) { 294// setLabelQuotasNotExist('Ð ÑожалениÑ, на вÑбÑаннÑе вами даÑÑ Ð¸ вÑÐµÐ¼Ñ Ð¼ÐµÑÑ Ð½ÐµÑ'); 295// } else { 296// setLabelQuotasNotExist('', false); 297 298// if (fakeSelect.css('display') === 'block') { 299// fakeSelect.css('display', 'none'); 300 301// if (select === 'select-guest4') { 302// enableAdultSelect(select, dataSelect, formId, quotas, timeInput, dataInput); 303// } else { 304// enableChildrenSelect(select, dataSelect); 305// } 306// } 307// } 308// } 309// } 310 311// function getDataGuest(data, timeInput, dataInput, newQuotas = false) { 312// let dates = data[dataInput]; 313// // const quotas = dates[timeInput][category]; 314// const quotas = dates[timeInput]['adults'] + dates[timeInput]['children6_9']; 315// let dataSelect = []; 316// const countQuotas = quotas > 10 ? 10 : quotas; 317// let newQuotasNumber = countQuotas; 318 319// if (newQuotas > 0 && newQuotas <= countQuotas) { 320// newQuotasNumber -= newQuotas; 321// } else { 322// newQuotasNumber = countQuotas; 323// } 324 325// if (quotas > 0) { 326// for (let i = 0; i <= newQuotasNumber; i++) { 327// dataSelect.push({ id: (i+1).toString(), value: i.toString() }); 328// } 329// } 330 331// return dataSelect; 332// } 333 334// function enableAdultSelect(select, dataSelect, formId, quotas, timeInput, dataInput) { 335// const adultSelect = new SelectUI('#' + select, { 336// placeholder: 'ÐзÑоÑлÑе, Ð¾Ñ 9 леÑ*' || 'Ðол-во гоÑÑей*', 337// errorText: 'УкажиÑе кол-во гоÑÑей*', 338// nameSelect: select, 339// data: dataSelect, 340// onSelect: (val) => { 341// const $childrenSelect2 = $(formId + ' #select-guest6'); 342// const $parent = $childrenSelect2.parent('.field-children-1'); 343// const dataSelectNew = getDataGuest(quotas, timeInput, dataInput, Number(val.value)); 344 345// //select children 6-9 346// const $childrenSelect1 = $(formId + ' #select-guest5'); 347// const $fakeChildrenSelect1 = $(formId + ' .js-fake-child1'); 348// if ($childrenSelect1 && $childrenSelect1.hasClass('select-ui')) { 349// if (window.childrenSelect2) disableSelect($childrenSelect1, $fakeChildrenSelect1, window.childrenSelect2); 350 351// } 352// if ($fakeChildrenSelect1.css('display') === 'block') $fakeChildrenSelect1.css('display', 'none') 353// enableChildrenSelect('select-guest5', dataSelectNew); 354 355// if (Number(val.value) > 0) { 356// //select children 3-5 357// onGuestSelectHandler('select-guest6', 'ÐеÑи Ð¾Ñ 3 до 5 леÑ', $(formId + ' .js-fake-child2'), () => {}); 358// $parent.removeClass('disabled'); 359// } else { 360// $parent.addClass('disabled'); 361 362// //destroy select children 3-5 363// const fakeChildrenSelect2 = $(formId + ' .js-fake-child2'); 364// if ($childrenSelect2 && $childrenSelect2.hasClass('select-ui')) disableSelect($childrenSelect2, fakeChildrenSelect2, window.childrenSelect3); 365// } 366// setPrice(); 367// } 368// }); 369// window.selectAdultEvent = adultSelect; 370// } 371 372// function enableChildrenSelect(select, dataSelect) { 373// const childrenSelect = new SelectUI('#' + select, { 374// placeholder: 'ÐеÑи Ð¾Ñ 6 до 9 леÑ*' || 'Ðол-во гоÑÑей*', 375// errorText: 'УкажиÑе кол-во гоÑÑей*', 376// nameSelect: select, 377// data: dataSelect, 378// onSelect: () => { 379// onChildrenSelectHandler(); 380// setPrice(); 381// } 382// }); 383// window.childrenSelect2 = childrenSelect; 384// } 385 386// function disableSelect(select, fakeSelect, wSelect) { 387// if (Object.keys(wSelect).length !== 0) { 388// select.removeClass('select-ui'); 389// wSelect.destroy(); 390// fakeSelect.css('display', 'block'); 391// } 392// } 393 394// function setPrice() { 395// const formId = "#complex-form"; 396// const priceChateau = $(formId + ' #priceChateauHidden').val(); 397// const priceAbrau = $(formId + ' #priceAbrauHidden').val(); 398// const priceChildAbrau = $(formId + ' #priceChildAbrauHidden').val(); 399// const discount = Number($(formId + ' #discount').val()); 400// const priceHidden = $(formId + ' #totalPriceInput'); 401// const priceHiddenDiscount = $(formId + ' #totalPriceDiscountInput'); 402// const $totalPrice = $(formId + ' .js-total-price'); 403// const $totalOldPrice = $(formId + ' .js-old-price'); 404// const $totalDiscountPrice = $(formId + ' .js-price'); 405// const $discount = $(formId + ' .js-discount'); 406// let totalAdultGuest = 0, totalChildGuest = 0, totalAdultPrice = 0, totalChildPrice = 0, totalPrice = 0, discountTotalPrice = 0; 407 408// let guest1 = Number($("[name=select-guest]").val()); 409// let guest2 = Number($("[name=select-guest4]").val()) || 0; 410// let guestCh = Number($("[name=select-guest5]").val()) || 0; 411
412// totalAdultGuest = guest1 + guest2; 413// totalChildGuest = guestCh; 414 415// totalAdultPrice = (Number(guest1) * Number(priceChateau)) + (Number(guest2) * Number(priceAbrau)); 416// totalChildPrice = Number(totalChildGuest) * Number(priceChildAbrau); 417// totalPrice = totalAdultPrice + totalChildPrice; 418// discountTotalPrice = totalPrice - (totalPrice * (discount / 100)); 419 420// if (totalChildGuest === 0 || typeof (totalChildGuest) == 'undefined') { 421// $totalPrice.html(Number(totalAdultPrice) + ' ÑÑб. за ' + Number(totalAdultGuest) + ' взÑ.'); 422// } else { 423// if (Number(totalChildGuest) === 1) { 424// $totalPrice.html(Number(totalAdultPrice) + ' ÑÑб. за ' + Number(totalAdultGuest) + ' взÑ., ' + Number(totalChildPrice) + ' ÑÑб. за ' + Number(totalChildGuest) + ' Ñеб.'); 425// } else { 426// $totalPrice.html(Number(totalAdultPrice) + ' ÑÑб. за ' + Number(totalAdultGuest) + ' взÑ., ' + Number(totalChildPrice) + ' ÑÑб. за ' + Number(totalChildGuest) + ' деÑей.'); 427// } 428// } 429 430// if (totalPrice > 0) { 431// $(formId + ' #priceBlock').css('display', 'block'); 432// $discount.html('Скидка ' + discount + '%'); 433// $totalOldPrice.text(totalPrice); 434// $totalDiscountPrice.text(discountTotalPrice); 435 436// priceHidden.val(totalPrice); 437// priceHiddenDiscount.val(discountTotalPrice); 438// } 439// } 440 441// function setLabelQuotasNotExist(message, showHide = true) { 442// const form = $('#complexForm'); 443// if (typeof form == 'object') { 444// const quotasLabel = $('#complexForm .quotasMessages2'); 445// if (typeof quotasLabel == 'object' && quotasLabel !== null) { 446// if (showHide) { 447// quotasLabel.text(message); 448// quotasLabel.addClass('active'); 449// } else { 450// quotasLabel.removeClass('active'); 451// } 452// } 453 454// } 455// } 456 457// function sendAjaxAbrauAtOneday(formId, datepickerW) { 458// const $timeSelect = $(formId + ' #select-time [data-type="value"]'); 459// const timeSelect = $timeSelect.text(); 460// const data = timeSelect; 461 462// // добавиÑÑ Ð² запÑÐ¾Ñ Ð²ÑбÑанное в ШаÑо вÑÐµÐ¼Ñ 463// $.ajax({ 464// type: "POST", 465// data: data, 466// dataType: 'json', 467// url: '/local/templates/chateaudetalu/assets/js/abrau-ajax.json', 468// success: function (data) { 469// const quotas = data.result; 470// //ÑÑÑ Ð¿Ð¾Ð»ÑÑаем квоÑÑ Ñ ÑÑеÑом вÑбÑанного вÑемени quotas 471// datepickerW.$el.classList.add('changed'); 472 473// const $dataSelect = $(formId + ' #date-popup-complex-1'); 474// const $dataSelect2 = $(formId + ' #date-popup-complex-2'); 475// const dataInput = $dataSelect.val(); 476// const dataTimeSelect = getDataTime(quotas, dataInput); 477// const fakeTimeSelect = $(formId + ' .part-2 .js-fake-time'); 478// const $adultSelect = $(formId + ' #select-guest4'); 479// const fakeAdultSelect = $(formId + ' .js-fake-adult'); 480// const $childrenSelect1 = $(formId + ' #select-guest5'); 481// const fakeChildrenSelect1 = $(formId + ' .js-fake-child1'); 482// const $childrenSelect2 = $(formId + ' #select-guest6'); 483// const fakeChildrenSelect2 = $(formId + ' .js-fake-child2'); 484 485// $dataSelect2.val(dataInput).addClass('changed'); 486 487// if (Object.keys(dataTimeSelect).length === 0) { 488// setLabelQuotasNotExist('Ð ÑожалениÑ, на вÑбÑаннÑÑ Ð²Ð°Ð¼Ð¸ даÑÑ Ð¼ÐµÑÑ Ð½ÐµÑ'); 489// } else { 490// if (fakeTimeSelect.css('display') === 'block') { 491// fakeTimeSelect.css('display', 'none'); 492 493// const selectTimeEvent = new SelectUI('#select-time2', { 494// placeholder: 'ÐÑемÑ*', 495// errorText: 'ÐÑбеÑиÑе вÑемÑ*', 496// nameSelect: 'select-time2', 497// data: dataTimeSelect, 498// onSelect: () => { 499// if ($adultSelect && $adultSelect.hasClass('select-ui')) { 500// disableSelect($adultSelect, fakeAdultSelect, window.selectAdultEvent); 501// disableSelect($childrenSelect1, fakeChildrenSelect1, window.childrenSelect2); 502// disableSelect($childrenSelect2, fakeChildrenSelect2, window.childrenSelect3); 503// } 504// enableGuestSelect('select-guest4', $(formId + ' .part-2 .js-fake-adult'), formId, quotas, dataInput); 505// } 506// }); 507// window.selectTime2 = selectTimeEvent; 508// } 509// } 510// }, 511// error: function (jqXHR, text, error) { 512// //$('#news-ajax').html(error); 513// } 514// }); 515// } 516 517// function sendAjaxAbrauAtDifferentDays() { 518// const formId = "#complex-form"; 519// const $dataSelect = $(formId + ' #date-popup-complex-1'); 520// const dateSelect = $dataSelect.val(); 521// const data = dateSelect; 522 523// // добавиÑÑ Ð² запÑÐ¾Ñ Ð²ÑбÑаннÑÑ Ð² ШаÑо даÑÑ 524// $.ajax({ 525// type: "POST", 526// data: data, 527// dataType: 'json', 528// url: '/local/templates/chateaudetalu/assets/js/abrau-ajax.json', 529// success: function (data) { 530// const disabledDays = []; 531// const quotas = data.result; 532// //ÑÑÑ Ð¿ÐµÑедаÑÑÑÑ ÐºÐ²Ð¾ÑÑ Ñ ÑÑеÑом вÑбÑанной даÑÑ quotas 533// //datepicker 2 534// enableDatepicker2(quotas, disabledDays); 535// }, 536// error: function (jqXHR, text, error) { 537// //$('#news-ajax').html(error); 538// } 539// }); 540// } 541 542// function enableDatepicker2(quotas, disabledDays) { 543// const formId = "#complex-form"; 544// let maxdate = new Date(); 545// maxdate.setDate(maxdate.getDate() + 90); //3 months 546 547// if (window.dp2) window.dp2.destroy(); 548 549// const dp = new AirDatepicker("#date-popup-complex-2", { 550// autoClose: true, 551// minDate: new Date(), 552// maxDate: maxdate, 553// onRenderCell({ date, cellType }) { 554// if (cellType == 'day') { 555// var day = date.getDay(); 556 557// var dd = date.getDate(); 558// if (dd < 10) dd = '0' + dd; 559 560// var mm = date.getMonth() + 1; // меÑÑÑ 1-12 561// if (mm < 10) mm = '0' + mm; 562
563// var yy = date.getFullYear(); 564 565// const dateFormat = dd + '.' + mm + '.' + yy; 566// const indexDisabled = disabledDays.indexOf(day); 567// if (typeof quotas[dateFormat] !== "undefined" && indexDisabled == -1) { 568// var isDisabled = false; 569// window.isQuotasExist = window.isQuotasExist - 1; 570// } else { 571// var isDisabled = true; 572// window.isQuotasExist = window.isQuotasExist + 1; 573// } 574// window.dayIndex = window.dayIndex + 1; 575 576// return { 577// disabled: isDisabled 578// }; 579// } 580// }, 581// onShow() {}, 582// onSelect({ date, formattedDate, datepicker }) { 583// datepicker.$el.classList.add('changed'); 584// //деÑÑÑой ÑелекÑа вÑемени и гоÑÑей в ÑлÑÑае пеÑевÑбоÑа даÑÑ 585// //select time 586// let timeSelect; 587// const fakeTimeSelect = $(formId + ' .part-2 .js-fake-time'); 588// const $timeSelect = $(formId + ' #select-time2'); 589 590// const $dataSelect = $(formId + ' #date-popup-complex-2'); 591// const dataInput = $dataSelect.val(); 592// const dataTimeSelect = getDataTime(quotas, dataInput); 593 594// if (dataTimeSelect.length == 0) { 595// setLabelQuotasNotExist('Ð ÑожалениÑ, на вÑбÑаннÑÑ Ð²Ð°Ð¼Ð¸ даÑÑ Ð¼ÐµÑÑ Ð½ÐµÑ'); 596// } else { 597// setLabelQuotasNotExist('', false); 598// if ($timeSelect) timeSelect = $timeSelect.attr("id"); 599// if ($timeSelect && $timeSelect.hasClass('select-ui')) disableSelect($timeSelect, fakeTimeSelect, window.selectTime2); 600 601// if (fakeTimeSelect.css('display') === 'block') { 602// fakeTimeSelect.css('display', 'none'); 603 604// const selectTimeEvent = new SelectUI('#' + timeSelect, { 605// placeholder: 'ÐÑемÑ*', 606// errorText: 'ÐÑбеÑиÑе вÑемÑ*', 607// nameSelect: timeSelect, 608// data: dataTimeSelect, 609// onSelect: () => { 610// if ($adultSelect && $adultSelect.hasClass('select-ui')) { 611// disableSelect($adultSelect, fakeAdultSelect, window.selectAdultEvent); 612// disableSelect($childrenSelect1, fakeChildrenSelect1, window.childrenSelect2); 613// disableSelect($childrenSelect2, fakeChildrenSelect2, window.childrenSelect3); 614// } 615// enableGuestSelect('select-guest4', $(formId + ' .part-2 .js-fake-adult'), formId, quotas, dataInput); 616// } 617// }); 618// window.selectTime2 = selectTimeEvent; 619// } 620// } 621 622// //select guest 623// const $adultSelect = $(formId + ' #select-guest4'); 624// const fakeAdultSelect = $(formId + ' .js-fake-adult'); 625// if ($adultSelect && $adultSelect.hasClass('select-ui')) disableSelect($adultSelect, fakeAdultSelect, window.selectAdultEvent); 626 627// //select children 1 628// const $childrenSelect1 = $(formId + ' #select-guest5'); 629// const fakeChildrenSelect1 = $(formId + ' .js-fake-child1'); 630// if ($childrenSelect1 && $childrenSelect1.hasClass('select-ui')) disableSelect($childrenSelect1, fakeChildrenSelect1, window.childrenSelect2); 631 632// //select children 2 633// const $childrenSelect2 = $(formId + ' #select-guest6'); 634// const fakeChildrenSelect2 = $(formId + ' .js-fake-child2'); 635// if ($childrenSelect2 && $childrenSelect2.hasClass('select-ui')) disableSelect($childrenSelect2, fakeChildrenSelect2, window.childrenSelect3); 636 637// }, 638// container: '.js-date-complex', 639// position({ $datepicker, $target, $pointer, done }) { 640// let popper = Popper.createPopper($target, $datepicker, { 641// placement: 'bottom', 642// modifiers: [ 643// { 644// name: 'flip', 645// options: { 646// fallbackPlacements: ['bottom'],
647// } 648// }, 649// { 650// name: 'offset', 651// options: { 652// offset: [0, 10] 653// } 654// }, 655// { 656// name: 'arrow', 657// options: { 658// element: $pointer 659// } 660// } 661// ] 662// }) 663 664// return function completeHide() { 665// popper.destroy(); 666// done(); 667// } 668// } 669// }); 670// window.dp2 = dp; 671// } 672 673// function disableGuestSelects() { 674// const formId = "#complex-form"; 675 676// //time select 677// const $timeSelect = $(formId + ' #select-time2'); 678// const fakeTimeSelect = $(formId + ' .part-2 .js-fake-time'); 679// if ($timeSelect && $timeSelect.hasClass('select-ui')) disableSelect($timeSelect, fakeTimeSelect, window.selectTime2); 680 681// //adult adult 2 682// const $adultSelect2 = $(formId + ' #select-guest4'); 683// const fakeAdultSelect2 = $(formId + ' .js-fake-adult'); 684// if ($adultSelect2 && $adultSelect2.hasClass('select-ui')) disableSelect($adultSelect2, fakeAdultSelect2, window.selectAdultEvent); 685 686// //select children 2-1 687// const $childrenSelect1 = $(formId + ' #select-guest5'); 688// const fakeChildrenSelect1 = $(formId + ' .js-fake-child1'); 689// if ($childrenSelect1 && $childrenSelect1.hasClass('select-ui')) disableSelect($childrenSelect1, fakeChildrenSelect1, window.childrenSelect2); 690 691// //select children 2-2 692// const $childrenSelect2 = $(formId + ' #select-guest6'); 693// const fakeChildrenSelect2 = $(formId + ' .js-fake-child2'); 694// if ($childrenSelect2 && $childrenSelect2.hasClass('select-ui')) disableSelect($childrenSelect2, fakeChildrenSelect2, window.childrenSelect3); 695// } 696 697// function checkEmail() { 698// const $inputEmail = document.querySelector('#complex-form #email'); 699// const $inputEmailParent = $inputEmail.parentNode; 700// const $inputEmailLabel = $inputEmailParent.querySelector('.form-item__name'); 701// const $inputEmailError = $inputEmailParent.querySelector('.error-email'); 702 703// if ($inputEmail.value.length > 0) { 704// if (isEmailValid($inputEmail.value)) { 705// $inputEmailError.style.display = 'none'; 706// $inputEmailLabel.style.display = 'block'; 707// } else { 708// $inputEmailError.style.display = 'block'; 709// $inputEmailLabel.style.display = 'none'; 710// } 711// } else { 712// $inputEmailError.style.display = 'none'; 713// $inputEmailLabel.style.display = 'block'; 714// } 715// } 716 717// function isEmailValid(value) { 718// const EMAIL_REGEXP = /^(([^<>()[\].,;:\s@"]+(\.[^<>()[\].,;:\s@"]+)*)|(".+"))@(([^<>()[\].,;:\s@"]+\.)+[^<>()[\].,;:\s@"]{2,})$/iu; 719 720// return EMAIL_REGEXP.test(value); 721// } 722 723// function disableAbrauForm() { 724// const formId = "#complex-form"; 725// const part2 = $(formId + " .part-2"); 726// const $dataSelect2 = $(formId + ' #date-popup-complex-2'); 727// $dataSelect2.val('').removeClass('changed'); 728 729// if (!part2.hasClass('disabled')) { 730// part2.addClass('disabled'); 731// disableGuestSelects(); 732// } 733// } 734 735// async function sendFormComplexExcursion(data, className) { 736// //ÑÑнкÑÐ¸Ñ ÑкопиÑовала ÑÑпо Ñ Ð´ÑÑгой ÑоÑмÑ, ÑкоÑее вÑего, ее пеÑепиÑаÑÑ Ð½Ð°Ð´Ð¾ под наÑи нÑÐ¶Ð´Ñ 737// data.className = "ComplexExcursion"; 738// if (className) { 739// data.className = className; 740// } 741 742// data.isQuotasExist = true; 743 744// return await BX.ajax.runComponentAction('uniqtrip:forms', 745// 'sendMessage', { 746// mode: 'class', 747// data: { post: data }, 748// }).then(function (response) { 749// return response.data; 750// }, function (response) { 751// }); 752// }
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.