//? Pagination


function calculate_rest_discount(sum = 0, discount = 0) {
	if (discount > 100) {
		discount = 100;
	}
	if (discount < 0) {
		discount = 0;
	}
	return sum / 100 * (100 - discount);
}

function number_format(number, decimals, dec_point, thousands_sep) {

	var i, j, kw, kd, km;

	if (isNaN(decimals = Math.abs(decimals))) {
		decimals = 2;
	}
	if (dec_point == undefined) {
		dec_point = ",";
	}
	if (thousands_sep == undefined) {
		thousands_sep = ".";
	}

	i = parseInt(number = (+number || 0).toFixed(decimals)) + "";

	if ((j = i.length) > 3) {
		j = j % 3;
	} else {
		j = 0;
	}

	km = (j ? i.substr(0, j) + thousands_sep : "");
	kw = i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep);
	kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).replace(/-/, 0).slice(2) : "");


	return km + kw + kd;
}

$(function () {
    if(('#pagination').length){
        if (typeof $.fn.pagination === 'function') {
            window.pagObj = $('#pagination').pagination({
                items: 1,
                itemOnPage: 8,
                currentPage: 1,
                cssStyle: '',
                prevText: '<span aria-hidden="true">&laquo;</span>',
                nextText: '<span aria-hidden="true">&raquo;</span>',
                onInit: function () {
                    // fire first page loading
                },
                onPageClick: function (page, evt) {
                    // some code
                }
            }).on('page', function (event, page) {
                console.info(page + ' (from event listening)');
            });
        } else {
            console.error('Функция pagination не найдена.');
        }
    }
});

//? rangeSlider
$(function () {

    if (typeof $.fn.ionRangeSlider === 'function') {
        $(".js-range-slider").ionRangeSlider();
    }
});

//? Modal filters
$(function () {
	$("#modal-btn").click(function () {
		$(".modal-filters").css('display', 'block');
	});
	$(".modal-filters__close").click(function () {
		$(".modal-filters").css('display', 'none');
	});
});

//? Modal city
$(function () {
	if (document.documentElement.clientWidth < 576) {
		$("#city").click(function () {
			$(".modal-city").css('display', 'block');
		});
		$(".modal-city__close").click(function () {
			$(".modal-city").css('display', 'none');
		});
	}
});

//? custom-settings
$(function () {
	let custom__body = $(".custom__body__element__body");
	let sbtitle = $(".custom__body__element__sbtitle");
	let save_btns = $(".custom__body__element__cancel");
	let edit_btn = $(".custom__body__element__edit");

	let cancel = $(".cancel");

	for (let i = 0; i < custom__body.length; i++) {
		edit_btn.eq(i).click(function () {
			sbtitle.eq(i).hide();
			custom__body.eq(i).css('display', 'flex');

			edit_btn.eq(i).hide();
			save_btns.eq(i).show();
		});
		cancel.eq(i).click(function () {
			sbtitle.eq(i).show();
			custom__body.eq(i).hide();

			edit_btn.eq(i).show();
			save_btns.eq(i).hide();
		});
	}
});

//? counter
$(function () {
	let counter = document.querySelectorAll(".cntr-body");
	let next = document.querySelectorAll(".cntr-next");
	let prew = document.querySelectorAll(".cntr-prew");

	for (let i = 0; i < counter.length; i++) {
		next[i].addEventListener("click", function () {
			counter[i].innerHTML = Number(counter[i].innerHTML) + 1;
		});
		prew[i].addEventListener("click", function () {
			if (Number(counter[i].innerHTML) - 1 >= 0)
				counter[i].innerHTML = Number(counter[i].innerHTML) - 1;
		});
	}
});


function all_hide() {
	if ($(".btn-tab-1").length) {
		$(".btn-tab-1").removeClass("active");
		$(".tab-1").css('display', 'none');
	}
	if ($(".btn-tab-2").length) {
		$(".btn-tab-2").removeClass("active");
		$(".tab-2").css('display', 'none');
	}
	if ($(".btn-tab-3").length) {
		$(".btn-tab-3").removeClass("active");
		$(".tab-3").css('display', 'none');
	}
}
$(function () {
	let btn_tab_1 = $(".btn-tab-1");
	let btn_tab_2 = $(".btn-tab-2");
	let btn_tab_3 = $(".btn-tab-3");

	btn_tab_1.click(function () {
		all_hide();
		$(".tab-1").css('display', 'block');
		btn_tab_1.addClass('active');
	});
	btn_tab_2.click(function () {
		all_hide();
		$(".tab-2").css('display', 'block');
		btn_tab_2.addClass('active');
	});
	btn_tab_3.click(function () {
		all_hide();
		$(".tab-3").css('display', 'block');
		btn_tab_3.addClass('active');
	});
});

//? Crop text
$(document).ready(function () {
	// crop-height высота обёртки под обрезку
	// crop-width ширина обёртки под обрезку
	// crop-text текст обрезаемый по ширине блока
	let crop_text = $(".crop-text");
	for (let i = 0; i < crop_text.length; i++) {
		let wrap_width = crop_text.eq(i).parents('.crop-width').width();
		let wrap_height = crop_text.eq(i).parents('.crop-height').height();

		let text_length = crop_text.eq(i).text().length;

		if (wrap_width != undefined) {
			crop_text.eq(i).css('white-space', 'nowrap');
			crop_text.eq(i).css('width', 'fit-content');
			for (let j = text_length; j > 0; j--) {
				if (crop_text.eq(i).width() < wrap_width)
					break;
				crop_text.eq(i).text(crop_text.eq(i).text().substring(0, j) + '…');
			}
		} else if (wrap_height != undefined) {
			console.log(crop_text.eq(i).height())
			console.log(wrap_height)
			for (let j = text_length; j > 0; j--) {
				if (crop_text.eq(i).height() < wrap_height)
					break;
				crop_text.eq(i).text(crop_text.eq(i).text().substring(0, j) + '…');
			}
		}
	}
});

//? login tab
loginTabs();
function loginTabs() {
	const tabs = document.querySelectorAll('[data-login-tab]');
	const openTabs = document.querySelectorAll('[data-login-tab-open]');
	const tabsTitle = document.querySelector('[data-login-tab-title]');

	openTabs.forEach((open) => {
		open.addEventListener('click', (e) => {

			openTabs.forEach((el) => {
				el.classList.add('active');
			})

			e.target.classList.remove('active');

			tabs.forEach((tab) => {
				tab.style.display = 'none';
			})

			tabs[e.target.dataset.loginTabOpen].style.display = "block";
			tabsTitle.innerHTML = tabs[e.target.dataset.loginTabOpen].dataset.loginTab;
		})
	})
}

//? card accordeon mobile
$(function () {
	let btn_accordeon = $(".content-card__info__body__title");
	let accordeon_content = $(".tab-content");

	if (document.documentElement.clientWidth <= 768) {
		for (let i = 0; i < btn_accordeon.length; i++) {
			btn_accordeon.eq(i).click(function () {
				if (accordeon_content.eq(i).css('display') == 'none') {
					accordeon_content.eq(i).slideDown();
					btn_accordeon.eq(i).find("span").css('transform', 'rotate(180deg)');
					btn_accordeon.eq(i).css('margin-bottom', '25px');
				} else {
					accordeon_content.eq(i).slideUp();
					btn_accordeon.eq(i).find("span").css('transform', 'rotate(0deg)');
					setTimeout(function () {
						btn_accordeon.eq(i).css('margin-bottom', '10px');
					}, 300);
				}
			});
		}
	}
});

//? sign_in
$(function () {
	let btn = $(".sign_in__main .btn");
	let accordeon_content = $(".sign_in__main");
	let mobile_width = $(".sign_in__main").width() + 100;

	btn.click(function () {
		if (document.documentElement.clientWidth <= 576)
			accordeon_content.css('transform', 'translate(-' + mobile_width + 'px, 0)');
		else
			accordeon_content.css('transform', 'translate(-500px, 0)');
	});
});

//? loader
$(function () {
	loader = $('.loaderM__body');

	if (loader.hasClass('flip')) {
		loader.removeClass('flip')
	} else {
		loader.addClass('flip')
	}

	setInterval(function () {
		if (loader.hasClass('flip')) {
			loader.removeClass('flip')
		} else {
			loader.addClass('flip')
		}
	}, 1000);
});

//? admin-menu
$(function () {
	head = $('.menu-head');
	list = head.parent().children('ul');

	for (let i = 0; i < head.length; i++) {
		head.eq(i).click(function () {
			if (list.eq(i).css('display') == 'none')
				list.eq(i).slideDown();
			else
				list.eq(i).slideUp();
		});
	}
});

//? book currency
$(function () {
	let select = $('#book-currency');
	select.change(function () {
		for (let i = 1; i < 5; i++) {
			if ($(this).find('option:selected').attr('data-currency') == i) {
				$('.price-num').hide();
				let name = ".price-" + i;
				$(name).show();
			}
		}
	});
});



//? modal
function modalHide(modal) {
	modal.fadeOut(400);
	$('body').css('overflow-y', 'auto');
}
function modalShow(modal) {
	modal.fadeIn(400);
	$('body').css('overflow-y', 'hidden');
	modal.css('overflow-y', 'auto');

	modal.find('.modal-close').click(function (e) { // Закрывать на крест в углу
		modalHide(modal);
		e.preventDefault();
	});
	$(document).keydown(function (e) { // Закрытие по клавише Esc
		if (e.keyCode === 27) {
			e.stopPropagation();
			modalHide(modal);
		}
	});
	modal.click(function (e) { // Закрытие по клику вне модалки
		if ($(e.target).closest('.modal-wrapper').length == 0) {
			modalHide(modal);
		}
	});
}
$(function () {
	btn = $('.modal-open');
	close = $('.modal-close');
	for (let i = 0; i < btn.length; i++) {
		let modal = $(btn.eq(i).attr("data-target")); // Открывать по клику на кнопку
		btn.eq(i).click(function () {
			modalShow(modal);
			//e.preventDefault();
		});
	}
});


//? galery
$(function () {
	galery = $(".galery");
	galery__img_len = $(".galery__img").length;
	if (galery__img_len > 3) {
		galery.addClass('galery-big');
	}
});

//? document__category
$(function () {
	category_element = $(".document__category li");

	for (let i = 0; i < category_element.length; i++) {
		category_element.eq(i).click(function () {
			if (!category_element.eq(i).hasClass('active')) {
				category_element.removeClass('active');
				category_element.eq(i).addClass('active');
			}
		});
	}
});

//? log-in
$(function () {
	forgot = $("#btn-forgot");
	login = $("#btn-login");
	login2 = $("#btn-login2");
	reg = $('#btn-reg');

	forgot.click(function () {
		$('#tab-1').hide();
		$('#tab-3').show();
		$('#tab-title-1').hide();
		$('#tab-title-3').show();
	});
	reg.click(function () {
		$('#tab-1').hide();
		$('#tab-2').show();
		$('#tab-title-1').hide();
		$('#tab-title-2').show();
	});
	login.click(function () {
		$('#tab-2').hide();
		$('#tab-1').show();
		$('#tab-title-2').hide();
		$('#tab-title-1').show();
	});
	login2.click(function () {
		$('#tab-3').hide();
		$('#tab-1').show();
		$('#tab-title-3').hide();
		$('#tab-title-1').show();
	});
});

//? accordion
/* function accordion() {
	let accordion = $("._accordion");

	for (let i = 0; i < accordion.length; i++) {
		let head = accordion.eq(i).find("._accordion-head");
		let body = accordion.eq(i).find("._accordion-body");
		let arrow = head.find("._accordion-arrow");

		head.off("click");
		head.click(function () {
			if (body.css('display') == 'none') {
				body.slideDown(400);
				arrow.css('transform', 'rotate(180deg)');
			} else {
				body.slideUp(400);
				arrow.css('transform', 'rotate(0)');
			}
		});
	}
} */
function accordion() {
	let accordion = $("._accordion");

	for (let i = 0; i < accordion.length; i++) {
		let head = accordion.eq(i).find("._accordion-head");
		let body = accordion.eq(i).find("._accordion-body");
		let arrow = head.find("._accordion-arrow");

		head.off("click");
		head.click(function () {
			if (body.css('display') == 'none') {
				// header
				$('body').find(".header ._accordion ._accordion-body").slideUp(400);
				$('body').find(".header ._accordion ._accordion-arrow").css('transform', 'rotate(0)');

				body.slideDown(400);
				arrow.css('transform', 'rotate(180deg)');
			} else {
				body.slideUp(400);
				arrow.css('transform', 'rotate(0)');
			}
			// header
			$(document).mouseup(function (e) {
				var div = $('body').find(".header ._accordion");
				if (!div.is(e.target) && div.has(e.target).length === 0) {
					div.find("._accordion-body").slideUp(400);
					div.find("._accordion-arrow").css('transform', 'rotate(0)');
				}
			});
		});
	}
}
$(function () { accordion(); });

//? more
$(function () {
	let btn = $('input[data-more]');
	let more = $('.more');

	for (let i = 0; i < btn.length; i++) {
		btn.eq(i).change(function () {
			for (let j = 0; j < more.length; j++)
				more.eq(j).addClass('dn');
			let id = btn.eq(i).attr("data-more");
			if (id == '#' || id == '')
				return false;
			$(id).removeClass('dn');
		});
	}

	$('.page select').on('change', function (e) {
		let id = $(this).attr('id');
		let more_data = $('#' + id + ' option:selected').attr("data-more");// option[selected=selected]
		if (more_data == '#' || more_data == '' || more_data == undefined)
			return false;
		for (let i = 0; i < more.length; i++)
			more.eq(i).addClass('dn');
		$(more_data).removeClass('dn');
	});
});
//? more check
$(function () {
	let btn = $('input[data-more-check]');
	let more = $('.more');

	for (let i = 0; i < btn.length; i++) {
		btn.eq(i).change(function (e) {
			let id = $(e.target).attr("data-more-check");
			if (id == '#' || id == '')
				return false;

			if ($(e.target).prop('checked')) {
				$(id).removeClass('dn');
			} else {
				$(id).addClass('dn');
			}
		});
	}
});

//? navigation
function get_tab(num) {
	let page = $('.move-page');
	$('.page').removeClass('page-active');
	page.eq(num).addClass('page-active');
	get_navigation(num);
}

function get_navigation(num) {
	let page = $('.move-page');
	let page_naw = $('._page-naw');
	let dot = $('.off');

	// переключение по клику
	for (let i = 0; i < dot.length; i++) {
		dot.eq(i).off('click');
		dot.eq(i).click(function (e) {
			for (let j = 0; j < page.length; j++) {
				if (page.eq(j).is(page_naw.eq(i)))
					get_tab(j);
			}
		});
	}

	if (page.eq(num).hasClass('_page-naw')) {
		$('.navigation').show();
		dot.removeClass('on');

		for (let i = 0; i < page_naw.length; i++) {
			if (page_naw.eq(i).hasClass('page-active'))
				num = i;
		}
		for (let i = 0; i < num + 1; i++)
			dot.eq(i).addClass('on');
	} else {
		$('.navigation').hide();
	}
};

//? tab page
$(function () {
	var platform_commission = $('input[name=platform_commission]').val();
	$('input[name=price_night]').on("input", (function () {
		var str = $(this).val();
		console.log(str);
		$(".profit-commission span").html((str - ((str / 100) * platform_commission)));
		var arr = $("body").find(".tariffs_items")
		$.each(arr, function (index, value) {
			var discount = $(this).find('input[name=tariffs_items_discount]').val();
			discount = parseInt(discount) + parseInt(platform_commission);
			if (discount < 0) {
				$(this).find('input[name=tariffs_items_discount]').val(1);
			} else if (discount > 99) {
				$(this).find('input[name=tariffs_items_discount]').val(99);
			}
			var sum = str - ((str / 100) * discount);
			$(this).find('.new_price_new_percent_tariff span').html(Math.floor(sum));
		});
	}));
	$('input[name=tariffs_items_discount]').on("input", (function () {
		var str = $('input[name=price_night]').val();
		var id = $(this).attr('data-id');
		var father = $("#tariffs_items_id_" + id);
		var discount = $(father).find('input[name=tariffs_items_discount]').val();
		discount = parseInt(discount) + parseInt(platform_commission);
		var sum = str - ((str / 100) * discount);
		$(father).find('.new_price_new_percent_tariff span').html(Math.floor(sum));
	}));
	let page = $('.page');

	$('.tariffs_list').click(function () {
		page.removeClass('page-active');
		var uid_tariff = $(this).attr('data-tariff');
		$('#tariff_page_' + uid_tariff).addClass('page-active');
		$('#tariff_page_' + uid_tariff).find('.btn-main').click(function () {
			page.removeClass('page-active');
			$('#page15').addClass('page-active');
		});
		$('#tariff_page_' + uid_tariff).find('.btn-back').click(function () {
			page.removeClass('page-active');
			$('#page15').addClass('page-active');
		});
	});
});

//? сancelReservation
$(function () {
	let btn = $('.tariffs__tab');
	let input = $('#сancelReservation');

	btn.click(function (e) {
		btn.removeClass('active');
		$(e.target).addClass('active');
		input.val($(e.target).attr('data-value'));
	});
});

//? tariffs
$(function () {
	let input = $('.tariffsCheckInp');
	let val = $('.tariffsCheckVal');
	let btn = $('.tariffsCheckBtn');

	for (let i = 0; i < input.length; i++) {
		input.eq(i).change(function () {
			if (input.eq(i).prop('checked')) {
				val.eq(i).text('Вкл.');
				btn.eq(i).removeClass('dn');
				$('.tariffs__irr-wrapper').removeClass('dn');
			} else {
				val.eq(i).text('Выкл.');
				btn.eq(i).addClass('dn');
				$('.tariffs__irr-wrapper').addClass('dn');
			}
		});
	}
});

$(function () {
	function getRandomInt(min, max) {
		return Math.floor(Math.random() * (max - min + 1)) + min;
	}
	$('#addRoom').click(function () {
		let block = $('.object-info__room-wrapper');
		let element_count = $('.object-info__room-wrapper .object-info__room').length;
		if (element_count < 10) {
			let rand = getRandomInt(10000, 90000);

			var t = '<div class="object-info__room _accordion _acc-hide">\n' +
				'        <div class="_accordion-head object-info__room__head">\n' +
				'          <div class="object-info__room__img">\n' +
				'            <img src="https://betweenoceans.io/assets/img/pillow_icon.svg" alt="">\n' +
				'          </div>\n' +
				'          <div>\n' +
				'            <p class="object-info__room__title object-info-room-name" style="">Спальня</p>\n' +
				'            <input type="hidden" class="object-info-room-input" id="object-info-bed-summ" name="premises[' + rand + ']" value="0">\n' +
				'            <p class="text-4">Cпальных мест: <span>0</span></p>\n' +
				'            <input type="hidden" class="object-info-bed-input object-info-bed-one" value="0" name="beds_indoors[' + rand + ']">\n' +
				'            <input type="hidden" class="object-info-bed-input object-info-bed-two" value="0" name="beds_indoors_2[' + rand + ']">\n' +
				'            <input type="hidden" class="object-info-bed-input object-info-bed-sofa" value="0" name="sofa[' + rand + ']">\n' +
				'          </div>\n' +
				'          <i class="fas fa-chevron-down _accordion-arrow" aria-hidden="true"></i>\n' +
				'        </div>\n' +
				'        <div class="_accordion-body" style="display: none;">\n' +
				'          <div class="object-info__line"></div>\n' +
				'          <div class="object-info__room__body">\n' +
				'            <p>Односпальная кровать</p>\n' +
				'            <div class="_counter _counter-small">\n' +
				'              <input type="hidden" class="" value="0">\n' +
				'              <span class="_counter__control _counter__next">+</span>\n' +
				'              <span class="_counter__value" data-bed-weight="1" data-bed-input=".object-info-bed-one">0</span>\n' +
				'              <span class="_counter__control _counter__prev">−</span>\n' +
				'            </div>\n' +
				'          </div>\n' +
				'          <div class="object-info__room__body">\n' +
				'            <p>Двуспальная кровать</p>\n' +
				'            <div class="_counter _counter-small">\n' +
				'              <input type="hidden" class="" value="0">\n' +
				'              <span class="_counter__control _counter__next">+</span>\n' +
				'              <span class="_counter__value" data-bed-weight="2" data-bed-input=".object-info-bed-two">0</span>\n' +
				'              <span class="_counter__control _counter__prev">−</span>\n' +
				'            </div>\n' +
				'          </div>\n' +
				'          <div class="object-info__room__body">\n' +
				'            <p>Диван</p>\n' +
				'            <div class="_counter _counter-small">\n' +
				'              <input type="hidden" class="" value="0">\n' +
				'              <span class="_counter__control _counter__next">+</span>\n' +
				'              <span class="_counter__value" data-bed-weight="1" data-bed-input=".object-info-bed-sofa">0</span>\n' +
				'              <span class="_counter__control _counter__prev">−</span>\n' +
				'            </div>\n' +
				'          </div>\n' +
				'        </div>\n' +
				'        <div class="object-info__room__hide">−</div>\n' +
				'      </div>';



			block.append(t);
			counter();
			accordion();
			hideRoom();
			num_place();
		} else
			$('#addRoom').hide();
	});


	//? varification
	$(function () {
		let block = $('.nameWrapper');
		let btn = $('.nameBtn');

		function delete_block() {
			$(".name-minus").off("click");
			$(".name-minus").click(function () {
				$(this).parents('.nameBlock').remove();
				btn.show();
			});
		}

		delete_block();

		for (let i = 0; i < btn.length; i++) {
			btn.eq(i).off('click');
			btn.eq(i).click(function () {
				if (block.eq(i).find('.nameBlock').length < 4) {
					let rand = getRandomInt(10000, 90000);
					var html = '<div class="input-block nameBlock">\n' +
						'                    <div class="input-text">\n' +
						'                        <h5 class="mb10">Имя</h5>\n' +
						'                        <input type="text" placeholder="Введите ваше имя" name="representative_data_name[' + rand + ']">\n' +
						'                    </div>\n' +
						'\n' +
						'                    <div class="input-text">\n' +
						'                        <h5 class="mb10">Фамилия</h5>\n' +
						'                        <input type="text" placeholder="Введите вашу фамилию" name="representative_data_surname[' + rand + ']">\n' +
						'                    </div>\n' +
						'\n' +
						'                    <div class="input-text">\n' +
						'                        <h5 class="mb10">Дата рождения</h5>\n' +
						'                        <input type="date" class="form-control"  placeholder="dd–mm–yyyy" name="representative_data_birthday[' + rand + ']">\n' +
						'                    </div>\n' +
						'\n' +
						'                    <div class="name-minus"><span>-</span><p>Удалить</p></div>\n' +
						'                </div>';

					block.append(html);
					delete_block();
					if (block.eq(i).find('.nameBlock').length == 4) {
						btn.eq(i).hide();
					}
				}
				console.log(block.eq(i).find('.nameBlock').length);
			});
		}
	});
	$(document).on('change', '#load_board_image_gall', function () {
		if (this.files.length > 0) {
			uploader_gallery(this);
		}
	});
	function uploader_gallery(input) {

		var data = new FormData();
		let arr = [];
		var last_key = 0;
		$.each(input.files, function (key, value) {
			//files = key;
			//data.append( 'file_'+key, value );
			arr[key] = key;
			//last_key = key;
		});
		sum1 = $('.gallery-board').find(".galery__img").length;
		sum2 = last_key + 1;
		if ((sum1 + sum2) > 10) {
			alert('Максимальное кол-во изображений - 10');
			return;
		}
		data.append('action', 'load_temp_image');
		//data.append('files', 'files');
		//data.append('arr', arr);

		var i = 0;
		var count_load_img = input.files.length;

		/* while (i < count_load_img) {
		}*/
		$('#infoM #info-message').text('');
		uploader_gallery_file(input.files, 0, count_load_img, data)
		return;
		//let form = document.querySelector('#send');
		//let formData = new FormData(form);
	}

	$(document).on('click', '.gallery-elemet .gallery-page__photo__hover', function () {
		var el = $(this).parent('.gallery-elemet');

		var info = el.find('.msg_image').css('content');
		if (!el.hasClass('gallery-gl')) {
			if (info == '"gl"') {
				console.log('Это то, что нужно');
				var data = new FormData();
				data.append('object', $('#form-data-object input[name=id]').val());
				data.append('id', $('#form-data-object input[name=p]').val());
				$(this).closest(".gallery-elemet").addClass('gallery-elemet-load');
				data.append('img', $(this).parent(".gallery-elemet").find('.gallery-name').val());
				data.append('type', $('#page12').attr('data-type'));
				var get = ts('/api/object/imageGl', 'POST', data);
				get.then((result) => {
					if (result.status == true) {
						gl_non_all();
						$(this).parent(".gallery-elemet").addClass('gallery-gl');
					} else {
						notification('error', result.msg);
					}
					$(this).closest(".gallery-elemet").removeClass('gallery-elemet-load');
				})
			} else {
				console.log('Это не то, что нужно ' + info);
			}
		} else {
			console.log('Уже этот класс');
		}
	});
	function gl_non_all() {
		$('.gallery-elemet').removeClass('gallery-gl');
	}
	if ($('.gallery-board').length > 0) {
		check_default_gallery();
	}
});
$(function () {
	$(document).on('click', '.gallery-trash', function (e) {
		var $set = $('.owl-carousel .gallery-trash');
		var n = $set.index(this);

		var data = new FormData();
		data.append('object', $('#form-data-object input[name=id]').val());
		data.append('id', $('#form-data-object input[name=p]').val());
		//$(this).parent(".gallery-page__photo__delete").parent(".gallery-page__photo__hover").parent(".gallery-elemet").addClass('gallery-elemet-load');
		$(this).closest(".gallery-elemet").addClass('gallery-elemet-load');
		data.append('img', $(this).closest(".gallery-elemet").find('.gallery-name').val());
		data.append('type', $('#page12').attr('data-type'));
		var get = ts('/api/object/imageDelete', 'POST', data);
		get.then((result) => {
			if (result.status == true) {
				$('.owl-carousel').trigger('remove.owl.carousel', n).trigger('refresh.owl.carousel');
				check_default_gallery();
			} else {
				notification('error', result.msg);
			}
			$(this).closest(".gallery-elemet").removeClass('gallery-elemet-load');
		})
		e.stopPropagation();
		return;
	});
});
$(function () {
	$(".object_registration").click(function () {
		var data = new FormData();
		var type = $(this).attr('data-type');
		data.append('type', type);
		var get = ts('/api/objectRegistration', 'POST', data);
		get.then((result) => {
			if (result.status == true) {
				document.location.href = '/objects-edit?id=' + result.id;
			} else {
				alert(result.msg);
			}
		})
	});
	$('select[name=country]').on('change', function (e) {
		var country = this.value;
		country_get_city(country, 'city');
	});
	$('select[name=country_who_owns]').on('change', function (e) {
		var country = this.value;
		country_get_city(country, 'city_who_owns');
	});
	function country_get_city(country, city_name) {
		$("select[name=" + city_name + "]").find('option').remove(); //удаление старых данных
		$("select[name=" + city_name + "]").append("<option value='0'>Loading...</option>");
		$("select[name=" + city_name + "]").attr('disabled', true);
		var get = ts('/api/objects/getCity/' + country, 'GET', []);
		get.then((result) => {
			result.forEach(function (item, i, arr) {
				console.log(item['city_name']);
				$("select[name=" + city_name + "]").append("<option value='" + item['city_id'] + "'>" + item['city_name'] + "</option>");
			});
			$("select[name=" + city_name + "]").attr('disabled', false);
			$("select[name=" + city_name + "]").find('option[value=0]').remove();
		})
	}
	$('input[type=radio][name=count_objects]').change(function () {
		var text;
		if (this.value == '1') {
			text = 'Несколько апартаментов, которые<br> можно забронировать целиком';
		}
		else if (this.value == '0') {
			text = 'Одни апартаменты, которые<br> можно забронировать целиком';
		}
		$(".count_objects_text").html(text);
	});

	$('.form-data-object').submit(function (e) {
		e.preventDefault();
	});
})

//? counter
/* function counter() {
	$("._counter").each(function (i, el1) {
		let next = $(el1).find("._counter__next");
		let prev = $(el1).find("._counter__prev");
		let value = $(el1).find("._counter__value");

		next.eq(i).off("click");
		next.click(function (e) {
			if (value.attr('data-max') != undefined) {
				if (parseInt(value.text()) < parseInt(value.attr('data-max')))
					value.text(parseInt(value.text()) + 1);
			} else
				value.eq(i).text(parseInt(value.eq(i).text()) + 1);
			e.preventDefault();
		});

		prev.eq(i).off("click");
		prev.click(function (e) {
			if (value.attr('data-min') != undefined) {
				if (parseInt(value.text()) > parseInt(value.attr('data-min')))
					value.text(parseInt(value.text()) - 1);
			} else
				value.text(parseInt(value.text()) - 1);
			e.preventDefault();
		});


	});
} */
function counter() {
	let counter = $("._counter");
	for (let i = 0; i < counter.length; i++) {
		let next = counter.eq(i).find("._counter__next");
		let prev = counter.eq(i).find("._counter__prev");
		let value = counter.eq(i).find("._counter__value")

		next.off("click");
		next.click(function () {
			if (value.attr('data-max') != undefined) {
				if (parseInt(value.text()) < parseInt(value.attr('data-max'))) {
					value.text(parseInt(value.text()) + 1);
					counter.eq(i).find('input').val(value.text());
				}
			} else {
				value.text(parseInt(value.text()) + 1);
				counter.eq(i).find('input').val(value.text());
			}

		});
		prev.off("click");
		prev.click(function () {
			if (value.attr('data-min') != undefined) {
				if (parseInt(value.text()) > parseInt(value.attr('data-min'))) {
					value.text(parseInt(value.text()) - 1);
					counter.eq(i).find('input').val(value.text());
				}
			} else if (parseInt(value.text()) > 0) {
				value.text(parseInt(value.text()) - 1);
				counter.eq(i).find('input').val(value.text());
			}
		});
	}
}
$(function () { counter(); });

//? Установка спальных мест как сумма (спальных мест * их вес)
//? Изменение количества спальных мест (Добавление к текущему числу мест веса добавленной кровати)
function num_place() {
	$('.object-info__room').each(function (i1, el1) {
		let btn = $(el1).find('._counter__control');
		let values = $(el1).find('._counter ._counter__value');
		btn.each(function (i2, el2) {
			$(el2).click(function () {
				sum = 0;
				for (let i = 0; i < values.length; i++) {
					let targetInput = $($(el1).find(values.eq(i).attr('data-bed-input')));
					let weight = parseInt(values.eq(i).attr('data-bed-weight'));
					let val = parseInt(values.eq(i).text());
					sum += weight * val;
					targetInput.val(val);
				}
				$(el1).find('.object-info__room__head span').text(sum);
			});
		});
	});
}
$(function () {
	num_place();
});



//? bad in room
function editNumBad(element, num) {
	element.parents('.object-info__room').find('._accordion-head span').text(num);
	element.parents('.object-info__room').find('.object-info-bed-input').val(num);
	element.find('.object-info-room-input').val(num);
}
function hideRoom() {
	$('.object-info__room__hide').off('click');
	$('.object-info__room__hide').click(function () {
		let hide = $('.object-info__room__hide');
		let num = hide.index(this);
		if ($('.object-info__room').length > 0) {
			let element = $('.object-info__room').eq(num).remove();
			$('#addRoom').show();
		}
	});
}
$(function () { hideRoom(); });
// add room

//? noty
function notification(type_ = "", text_ = "") {
	if (!type_ && !text_) {
		$.ajax({
			type: "POST", url: "/ajax/admin",
			data: "action=notification",
			dataType: "json",
			cache: false,
			success: function (data) {

				if (data["success"]) {

					new Noty({
						type: 'success',
						layout: 'topRight',
						text: data["success"],
						timeout: '3000'
					}).show();

				} else if (data["error"]) {

					new Noty({
						type: 'error',
						layout: 'topRight',
						text: data["error"],
						timeout: '3000'
					}).show();

				} else if (data["warning"]) {

					new Noty({
						type: 'warning',
						layout: 'topRight',
						text: data["warning"],
						timeout: '3000'
					}).show();
				}
			}
		});
	} else {
		new Noty({
			type: type_,
			layout: 'topRight',
			text: text_,
			timeout: '3000'
		}).show();
	}
}

//? form card
$(function () {
	var number = $('input[name="cardnum"]');
	var month = $('input[name="cardmonth"]');
	var year = $('input[name="cardyear"]');
	var cvc = $('input[name="cardcvc"]');
	for (var i in ['input', 'change', 'blur', 'keyup']) {
		number.on("input", function () {
			var cardCode = $(this).val().replace(/[^\d]/g, '').substring(0, 16);
			cardCode = cardCode != '' ? cardCode.match(/.{1,4}/g).join(' ') : '';
			$(this).val(cardCode);
		});
		month.on("input", function () {
			$(this).val($(this).val().replace(/[^\d]/g, '').substring(0, 2));
		});
		year.on("input", function () {
			$(this).val($(this).val().replace(/[^\d]/g, '').substring(0, 2));
		});
		cvc.on("input", function () {
			$(this).val($(this).val().replace(/[^\d]/g, '').substring(0, 3));
		});
	}
});

//? card gallery
$(function () {
	let next = $('.cGallery__next');
	let prev = $('.cGallery__prev');
	let body = $('.cGallery__wrapper');

	let len_item = $('.cGallery__element').length;
	let cur_item = 0;

	next.click(function () {
		if (cur_item + 1 < len_item) {
			cur_item++;
			body.css('transform', 'translate(' + - 100 * cur_item + '%, 0)');
		}
	});
	prev.click(function () {
		if (cur_item - 1 >= 0) {
			cur_item--;
			body.css('transform', 'translate(' + - 100 * cur_item + '%, 0)');
		}
	});
});

//? object-info-room-name
$(function () {
	function f(me, input, e = null) {
		if (e != null) {
			if (!input.is(e.target) && input.has(e.target).length === 0) {
				input.attr('type', 'hidden');
				if (input.val() != '')
					me.text(input.val());
				me.show();
			}
		} else {
			input.attr('type', 'hidden');
			if (input.val() != '')
				me.text(input.val());
			me.show();
		}
	}
	$(document).on('click', '.object-info-room-name', function (i) {
		var input = $(this).siblings('.object-info-room-input');
		input.attr('type', 'text'); // Сделать инпут видимым
		input.val($(this).text()); // Положить в него текущее название
		$(this).hide(); // Спрятать текущее название
		input.focus();
		input.select();

		var tt = $(this);
		$(input).keydown(function (e) {
			if (e.which === 13) {
				f(tt, input);
			}
		});
		$(document).mouseup(function (e) {
			f(tt, input, e);
		});
		return false;
	});
});

//? humburger
$(function () {
	let humb_btn = $('#humb-btn');
	let humb_menu = $('#humb-menu');

	let user_btn = $('#user-btn');
	let user_menu = $('#user-menu');
	let close = $('.menu-close');

	humb_btn.click(function () {
		humb_menu.css('display', 'block');
		setTimeout(function () {
			humb_menu.css('transform', 'translate(0,0)');
		}, 1);

	});
	user_btn.click(function () {
		if (window.innerWidth < 1100) {
			user_menu.css('display', 'block');
			setTimeout(function () {
				user_menu.css('transform', 'translate(0,0)');
			}, 1);
			$('.header__user-body').hide();
		}
	});
	close.click(function () {
		humb_menu.css('transform', 'translate(100%,0)');
		user_menu.css('transform', 'translate(100%,0)');
	});
});

//? header nav accordion
$(function () {
	let head = $("._acc-nav-head");
	let body = $("._acc-nav-body");

	for (let i = 0; i < head.length; i++) {
		head.eq(i).off("click");
		head.eq(i).click(function () {
			if (body.eq(i).css('display') == 'none') {
				body.slideUp(400);
				body.eq(i).slideDown(400);
			} else {
				body.eq(i).slideUp(400);
			}
		});
	}
});

//? Удаление якоря
function anchorsRemove(object) {
	object.click(function () {
		history.pushState("", document.title, window.location.pathname);
	});
}

//? Изменение гет запроса
function editParams(data, url = '') {
	if (url == '') {
		url = $(location).attr('href');
	}
	let param = url.substr(url.indexOf('?') + 1);
	param = param.split('#')[0];
	let check = false;

	let arr = param.split('&');
	for (let i = 0; i < arr.length; i++)
		arr[i] = arr[i].split('=');

	let data_arr = data.split('=');
	for (let i = 0; i < arr.length; i++) {
		if (arr[i][0] == data_arr[0]) {
			arr[i][1] = data_arr[1];
			check = true;
			break;
		}
	}

	let new_url = url.substr(0, url.indexOf('?') + 1); // url? без параметров

	for (let i = 0; i < arr.length; i++) {
		new_url += arr[i][0] + '=' + arr[i][1];
		if (i != arr.length - 1)
			new_url += '&';
	}
	if (!check)
		new_url += '&' + data;

	return new_url;
}

//? moreNumberM
$(function () {
	let more = $('.moreNumberM-more');
	let gal = $('#moreNumberM');
	let close = $('.modal-close');

	let url = $(location).attr('href');
	//let param = url.substr(url.indexOf('?') + 1);
	const searchString = new URLSearchParams(window.location.search);

	let params = '';
	var params_arr = [];

	searchString.forEach(function (value, i, arr) {
		params = params + '&' + i + '=' + value;
		params_arr[i] = value;
	});

	/*    searchString.forEach((value) => {
			params.push(value);
		});*/
	console.log(params);
	/*    console.log(params);
		const result = params.join(':');

		console.log(result);*/
	var img = [];
	var tmp;

	more.click(function (e) {
		$('#loader').show();
		$('#loader h2').text('Wait');
		$('#loader p').text('Loading information');

		gal.fadeIn(300);
		$('body').css('overflow', 'hidden');
		gal.css('overflow', 'auto');
		if (true) {
			let formData = new FormData();
			let id = $(this).attr('data-id');
			let object = $(this).attr('data-object');

			const send = ts('/api/get-premises/' + id + '/' + object, 'POST', formData);

			send.then((result) => {
				console.log(result);
				if (result.status == true) {
					$(".moreNumberM_Title").text(decodeURI(result['data']['premises_title'])); // Заголовок
					$(".moreNumberM_Subtitle").text(decodeURI(result['data']['premises_description'])); // Описание
					$(".moreNumberM_Size").text(decodeURI(result['data']['premises_size'])); // Площадь

					// Преимущества
					/* let adv_block = $(".moreNumberM_Adv");
					adv_block.text(decodeURI(result['data']['premises_size'])); */

					// Формирование ссылки
					let currency = $('#book-currency option:selected').val();
					let days = ($(e.target).parents('.editPriceNumberBook').find('._counter__value').text());
					$(".moreNumberM_Btn").attr('href', '/rent/tobook1?id=' + result['data']['premises_object'] + '&premises=' + result['data']['premises_id'] + '&count=' + days + params + '&currency=' + currency);
					// Конец формирования ссылки


					let discount = $('.book__sale').attr('data-content');//book__sale
					/*if(result['data']['objects_non_refundable_tariff']){
						discount = result['data']['objects_non_refundable_percent'];
					}*/



					var method_pay = $('#book-currency').find('option:selected').val();
					let price, price1 = 0;
					switch (method_pay) {
						case 'rend':
							price = Math.round(calculate_rest_discount(decodeURI(result['data']['premises_price_day']), discount));
							$(".moreNumberM_Price").text(number_format((price * days), 0, ".", " ")); // Цена
							$(".moreNumberM_Currency").text(' R'); // sign
							break;
						case 'usdt':
							price = Math.round(calculate_rest_discount(decodeURI(result['data']['premises_price_day_ustd']), discount));
							$(".moreNumberM_Price").text(number_format((price * days), 0, ".", " ")); // Цена
							$(".moreNumberM_Currency").text(' U'); // sign
							break;
						case 'mixed':
							price = Math.round(calculate_rest_discount(decodeURI(result['data']['premises_price_day_mixed_rend']), discount));
							price1 = Math.round(calculate_rest_discount(decodeURI(result['data']['premises_price_day_mixed_usdt']), discount));
							$(".moreNumberM_Price").text((number_format((price * days), 0, ".", " ")) + 'R/' + (number_format((price1 * days), 0, ".", " ")) + 'U'); // Цена
							$(".moreNumberM_Currency").text(''); // sign
							break;
						case 'cash':
							price = Math.round(calculate_rest_discount(decodeURI(result['data']['premises_price_day_cash']), discount));
							$(".moreNumberM_Price").text(number_format((price * days), 0, ".", " ")); // Цена
							$(".moreNumberM_Currency").text(' $'); // sign
							break;
						default:
							price = Math.round(calculate_rest_discount(decodeURI(result['data']['premises_price_day']), discount));
							$(".moreNumberM_Price").text('-----'); // Цена
							$(".moreNumberM_Currency").text(' $'); // sign
							notification('error', 'Неизвестный тип цены');
							break;
					}
					// Услуги
					$(".moreNumberM__list__col ul").empty();
					result['data']['services'].forEach(function (item, i, arr) {
						item['list'].forEach(function (item2, j, arr2) {
							if (i % 2 == 0) {
								$(".moreNumberM__list__col ul:eq(0)").append('<li>' + item2['services_title'] + '</li>');
							} else {
								$(".moreNumberM__list__col ul:eq(1)").append('<li>' + item2['services_title'] + '</li>');
							}
						});
					});

					// moreNumberM_Adv
					$(".moreNumberM_Adv").empty();
					result['data']['services'].forEach(function (item, i, arr) {
						item['list'].forEach(function (item2, j, arr2) {
							if (i % 2 == 0) {
								$(".moreNumberM_Adv:eq(0)").append(
									'<p class="text-3 moreNumberM__adv-elem">' +
									'	<span>' + item2['services_title'] + '</span>' +
									'	<span>Вид на достопримечательность</span>' +
									'</p>');
							} else {
								$(".moreNumberM_Adv:eq(1)").append(
									'<p class="text-3 moreNumberM__adv-elem">' +
									'	<span>' + item2['services_title'] + '</span>' +
									'	<span>Вид на достопримечательность</span>' +
									'</p>');
							}
						});
					});


					// Галерея
					img = [];/*
					console.log(result['data']['premises_images']);
					result['data']['premises_images'].forEach(function (item, i, arr) {
						tmp = [];
						tmp['img'] = 'https://repository.betweenoceans.io/files/images/objects/gallery/small/' + item;
						tmp['thumb'] = 'https://repository.betweenoceans.io/files/images/objects/gallery/small/' + item;
						img.push(tmp)
					});*/
					Object.keys(result['data']['premises_images']).forEach(function (key) {
						tmp = [];
						tmp['img'] = 'https://repository.betweenoceans.io/files/images/objects/gallery/small/' + result['data']['premises_images'][key];
						tmp['thumb'] = 'https://repository.betweenoceans.io/files/images/objects/gallery/small/' + result['data']['premises_images'][key];
						img.push(tmp)
					});

					var $fotoramaDiv = $('#fotorama-number').fotorama();
					var fotorama = $fotoramaDiv.data('fotorama');
					fotorama.destroy();

					$('#fotorama-number').fotorama({
						data: img,
						width: '100%',
						maxwidth: '100%',
						fit: 'cover',
						ratio: 520 / 346,
						allowfullscreen: false,
						nav: 'thumbs'
					});

					$('#loader').hide();
				} else {
					notification('error', 'Ошибка');
				}
			});
		} else {
			notification('warning', 'Укажите даты бронирования');
			$('#loader').hide();
		}
		e.preventDefault();
	});
	$(document).mouseup(function (e) {
		if (gal.has(e.target).length != 0) {
			$('body').css('overflow-y', 'hidden');
		}
		if (gal.is(e.target) || close.has(e.target).length != 0) {

			gal.fadeOut(400);
			$('body').css('overflow', 'auto');
			gal.css('overflow', 'hidden');
		}
	});
	// Проверка GET параметров
	$('.moreNumberM_Btn').click(function (e) {
		/*
				var arr = param.split('&');
				for (let i = 0; i < arr.length; i++)
					arr[i] = arr[i].substring(arr[i].search('=') + 1);
		*/

		if (!params_arr.hasOwnProperty("date-start") || !params_arr.hasOwnProperty("date-end") || !params_arr.hasOwnProperty("adult")) {
			//$('.moreNumberM').fadeOut(400);
			$('.moreNumberM').fadeOut(400);
			$('body').css('overflow-y', 'auto');
			$('#moreNumberM .modal-wrapper .modal-close').trigger('click');
			window.location.hash = "#availability";
			notification('error', 'Заполните все поля в разделе "Наличие мест"!');
			e.preventDefault();
		}
	});
	// Удаление якоря
	anchorsRemove($('.availability__btn'));

});

//? send_cart
$(function () {
	let more = $('.send_cart');

	const searchString = new URLSearchParams(window.location.search);

	let params = '';
	var params_arr = [];
	searchString.forEach(function (value, i, arr) {
		params = params + '&' + i + '=' + value;
		params_arr[i] = value;
	});
	console.log(params);

	more.click(function (e) {
		$('#loader').show();
		$('#loader h2').text('Подождите');
		$('#loader p').text('Добавление в корзину');

		if (true) {
			let currency = $('#book-currency option:selected').val();

			let formData = new FormData();
			formData.append('oid', $(this).attr('data-id'));
			formData.append('pid', $(this).attr('data-object'));
			formData.append('start', params_arr.hasOwnProperty("date-start"));
			formData.append('end', params_arr.hasOwnProperty("date-end"));
			formData.append('sign', currency);


			const send = ts('/api/shopping_c_add', 'POST', formData);

			send.then((result) => {
				console.log(result);
				if (result.status == true) {
					// Формирование ссылки
					/*let currency = $('#book-currency option:selected').val();
					let days = ($(e.target).parents('.editPriceNumberBook').find('._counter__value').text());
					$(".moreNumberM_Btn").attr('href', '/rent/tobook1?id=' + result['data']['premises_object'] + '&premises=' + result['data']['premises_id'] + '&count=' + days + params + '&currency=' + currency);*/
					// Конец формирования ссылки

					$('#loader').hide();
					if (!params_arr.hasOwnProperty("date-start") || !params_arr.hasOwnProperty("date-end") || !params_arr.hasOwnProperty("adult")) {
						window.location.hash = "#availability";
						notification('error', 'Заполните все поля в разделе "Наличие мест"!');
						e.preventDefault();
					}
				} else {
					notification('error', 'Ошибка');
				}
			});
		} else {
			notification('warning', 'Укажите даты бронирования');
			$('#loader').hide();
		}
		e.preventDefault();
	});

	// Проверка GET параметров
	$('.moreNumberM_Btn').click(function (e) {
		if (!params_arr.hasOwnProperty("date-start") || !params_arr.hasOwnProperty("date-end") || !params_arr.hasOwnProperty("adult")) {
			$('.moreNumberM').fadeOut(400);
			$('body').css('overflow-y', 'auto');
			$('#moreNumberM .modal-wrapper .modal-close').trigger('click');
			window.location.hash = "#availability";
			notification('error', 'Заполните все поля в разделе "Наличие мест"!');
			e.preventDefault();
		}
	});
	// Удаление якоря
	anchorsRemove($('.availability__btn'));

});

//? tobook-date-edit
$(function () {
	let btn = $('#tobook-date-edit');

	btn.click(function (e) {
		let start = $('#date_start');
		let end = $('#date_end');

		let text_start = $('#text-date-start');
		let text_end = $('#text-date-end');

		if (start.val() != '')
			text_start.text(start.val());
		if (end.val() != '')
			text_end.text(end.val());

		let param = start.attr('name') + '=' + start.val();
		let new_url = editParams(param.replace("_", "-"));
		param = end.attr('name') + '=' + end.val();
		new_url = editParams(param.replace("_", "-"), new_url);

		$('.modal').fadeOut(400);
		window.location = new_url;

		e.preventDefault();
	});
});

//? tobook add guest
$(function () {
	let btn_add = $('.tobook-add-guest');
	let count = 1;

	let html = '<div class="input-block-two">																		' +
		'			<div class="input-text">																		' +
		'				<h5 class="mb10">Имя гостя</h5>																' +
		'				<input type="text" placeholder="Введите имя гостя" name="guest[]">							' +
		'			</div>																							' +
		'			<div class="input-text">																		' +
		'				<div class="mta tobook__remove-btn tobook-remove-guest"><span>+</span></div>				' +
		'			</div>																							' +
		'		</div>																								';

	function set_remove() {
		let btn_remove = $('.tobook-remove-guest');
		btn_remove.off('click');
		btn_remove.click(function (e) {
			$(e.target).parents('.input-block-two').remove();
			count--;
			btn_add.show();
			e.preventDefault();
		});
	}
	btn_add.click(function (e) {
		if (count == 9) {
			$('.tobook-main-guest').before(html);
			set_remove();
			count++;
			btn_add.hide();
		} else if (count < 9) {
			$('.tobook-main-guest').before(html);
			set_remove();
			count++;
		}

		e.preventDefault();
	});
});

//! ymaps functions

//? Перемещение по карте
/* function moveMap(map, position) {
	map.setCenter(position);
} */
//? Добавление одной точки с удалением остальных
/* function addOnePoint(map, position) {
	console.log(position);
	map.geoObjects.removeAll();
	map.geoObjects.add(new ymaps.Placemark(position, {
		balloonContent: '<h4>Информация</h4>\n<p>Какая то инфа... Много, ооочень много инфы.</p>'
	}, {
		iconLayout: 'default#image',
		iconImageHref: 'https://betweenoceans.io/assets/img/geo_tag.svg',
		iconImageOfset: [24, 35],
		iconImageOfset: [-12, -35]
	}));
} */
//? Очиста всех точек в коллекции
/* function removeCollection(collection) {
	collection.removeAll();
} */
//? Добавление точки в коллекцию
/* function addPoints(map, collection, position) {
	collection.add(new ymaps.Placemark(position, {
		balloonContent: '<h4>Информация</h4>\n<p>Какая то инфа... Много, ооочень много инфы.</p>'
	}, {
		iconLayout: 'default#image',
		iconImageHref: 'https://betweenoceans.io/assets/img/geo_tag.svg',
		iconImageOfset: [24, 35],
		iconImageOfset: [-12, -35]
	}));
	map.geoObjects.add(collection);
} */


//! START google maps functions
//? Перемещение по карте
function moveMap(map, latLng) {
	map.panTo(latLng);
}
//? Создать всплывающее окно для маркера
function addMarkerPopup(map, marker, title) {
	var info = new google.maps.InfoWindow({// Создание всплывающего окна
		content: '<h3>' + title + '</h3>'
	});
	marker.addListener("click", function () {// По клику всплывает окно
		info.open(map, marker)
	});
}
//? Установка/удаление коллекции точек на карту
// Чтобы удалить все маркеры из коллекции, нужно в параметр map передать значение null
function setAllMarkers(map, markers) {
	for (var i = 0; i < markers.length; i++)
		markers[i].setMap(map);
	markers = [];
}
//? Добавление точки с удалением остальных
function addOnePoint(map, markers, latLng) {
	setAllMarkers(null, markers);
	var marker = new google.maps.Marker({
		position: latLng,
		map: map
	});
	markers.push(marker);
}
//? Добавление точки в коллекцию без удаления других
function addMultiplePoint(map, markers, latLng) {
	var marker = new google.maps.Marker({
		position: latLng,
		map: map
	});
	markers.push(marker);
}
//! END google maps functions



//! START google maps init
//? map apartaments
$(document).ready(function () {
	initMap();
});
function initMap() {
	if ($('#mapApart').length != 0)
		initMapApart();
	if ($('#map-page').length != 0)
		initMapPage();
	if ($('#map-modal').length != 0) initMapModal();
}



function initMapApart() {
	var latLng = $('input[name=location_coordinates]').val().split(',');
	latLng = { lat: parseFloat(latLng[0]), lng: parseFloat(latLng[1]) }; // Создаём объект из массива
	var markers = []; // Коллекция маркеров

	var mapApart = new google.maps.Map(document.getElementById("mapApart"), {// Инициализация карты
		zoom: 6,
		center: latLng,
		search: true,
		draggable: true
	});
	var marker = new google.maps.Marker({// Добавляем маркер по умолчанию
		position: latLng,
		map: mapApart
	});

	// Установка точки при клике по карте
	google.maps.event.addListener(mapApart, 'click', function (event) {
		marker.setMap(null);
		$('#inputMap').val(event.latLng);
		addOnePoint(mapApart, markers, event.latLng);
	});
	addOnePoint(mapApart, markers, latLng); //Установка точки по умолчанию
}


//? map page
function initMapPage() {
	var latLng = { lat: 55.76, lng: 37.59 }; // Изначальные координаты
	var mapPage = new google.maps.Map(document.getElementById("map-page"), {// Инициализация карты
		zoom: 6,
		center: latLng,
		draggable: true
	});
}

//? map modal
function initMapModal() {
	const cord = document.querySelector('input[name=location_coordinates]').value.split(',');
	const mapModal = leafletMap('map-modal', cord, 13, {marker: true});
	mapModal.resize();

	let btn = $(".map-open-btn");
	let modal = $("#mapM");
	btn.click(function (e) {
		modal.fadeIn(300);
		$('body').css('overflow-y', 'hidden');
		modal.css('overflow-y', 'auto');
		e.preventDefault();
		mapModal.resize();
	});
	$(document).mouseup(function (e) {
		if (modal.has(e.target).length != 0) {
			$('body').css('overflow-y', 'hidden');
		}
		if (modal.is(e.target) || close.has(e.target).length != 0) {
			modal.fadeOut(400);
			$('body').css('overflow', 'auto');
			modal.css('overflow', 'hidden');
		}
	});
}
//! END google maps init

//? Редактирование в кабинете
$(function () {
	let element = $('.cab__element');
	element.each(function (i) {
		let cancel = $(this).find('.cabinet-cancel');
		let edit = $(this).find('.cabinet-edit');
		let save = $(this).find('.cabinet-save');
		edit.click(function (e) {
			if (!element.eq(i).hasClass('cab__element--active'))
				element.eq(i).addClass('cab__element--active');
			e.preventDefault();
		});
		cancel.click(function (e) {
			if (element.eq(i).hasClass('cab__element--active'))
				element.eq(i).removeClass('cab__element--active');
			e.preventDefault();
		});
	});
});

//? Навигация в кабинете
$(function () {
	let btn = $('.cab__hum-btn');
	let menu = $('.cab__side-menu');
	let close = $('.cab__menu-close');

	btn.click(function () {
		menu.addClass('cab__side-menu--active');
		$('body').css('overflow-y', 'hidden');
	});
	close.click(function () {
		menu.removeClass('cab__side-menu--active');
		$('body').css('overflow-y', 'auto');
	});
});

//? loader-mini
$(function () {
	let loader = $('#loader');
	loader.click(function (e) {
		if ($('.loader-close').is(e.target) || $('.loader-close').has(e.target).length != 0)
			$('#loader').addClass('loader-mini');
		else if ($('#loader').hasClass('loader-mini'))
			$('#loader').removeClass('loader-mini');
	});
});
$(function () {
	//? editPriceNumberBook
	$('._counter__control').click(function () {
		let par = $(this).closest('.editPriceNumberBook');
		let span_price = par.find('.price-number');
		let count = par.find('._counter__value').text();
		par.find('.duration-title span').text(count);
		span_price.each(function (index, el) {
			let price = $(el).attr('data-value');
			$(el).text(number_format((price * count), 0, ".", " "));
		});
	});
});

//? Всплывающее окно на днях календаря
$(function () {
	let day = $('.cal-day');
	let number = day.find('.bocklist__elem');
	day.each(function (index, el) {
		$(el).hover(function () {
			console.log('Первое_всплывающее_окно.');

			let block = $(el).find('.cal-day__bocklist');
			offset_bottom = $('body').height() - $(el).offset().top - $(el).height() - block.height();
			offset_right = $('body').width() - $(el).offset().left - block.width();

			if (offset_bottom < 0)
				block.css('top', - block.height());
			else
				block.css('top', '100%');

			if (offset_right < 0)
				block.css('left', 'calc(-340px + 100%)');
			else
				block.css('left', '0');
		});
	});
	number.each(function (index, el) {
		$(el).hover(function () {
			console.log('Второе_всплывающее_окно.');

			let block = $(el).find('.bocklist__number-inf');
			offset_bottom = $('body').height() - block.offset().top - block.height();
			offset_right = $('body').width() - $(el).offset().left - block.width() * 2;

			if (offset_bottom < 0)
				block.css('top', '-100%');
			else
				block.css('top', '0');

			if (offset_right < 0)
				block.css('left', '-340px');
			else
				block.css('left', '340px');
		});
	});
});

//? Меню календаря
$(function () {
	if (window.innerWidth < 992) {
		// Число
		$('.cal-day--fill').click(function (e) {
			modal_data = $('#cal-modal-data');
			if (!modal_data.hasClass('modal-cal--active'))
				modal_data.addClass('modal-cal--active');
			else
				modal_data.removeClass('modal-cal--active');

			modal_data.find('.modal-data__back').click(function () {
				modal_data.removeClass('modal-cal--active');
			});

			e.preventDefault();
		});

		// Подробнее
		$('.cal-number').click(function (e) {
			modal_number = $('#cal-modal-number');
			if (!modal_number.hasClass('modal-cal--active'))
				modal_number.addClass('modal-cal--active');
			else
				modal_number.removeClass('modal-cal--active');

			modal_number.find('.modal-data__back').click(function () {
				modal_number.removeClass('modal-cal--active');
			});

			e.preventDefault();
		});

		// Фильтр
		$('.cal-filter').click(function (e) {
			modal_filt = $('#cal-modal-filt');
			if (!modal_filt.hasClass('modal-cal--active'))
				modal_filt.addClass('modal-cal--active');
			else
				modal_filt.removeClass('modal-cal--active');

			modal_filt.find('.modal-data__back').click(function () {
				modal_filt.removeClass('modal-cal--active');
			});

			e.preventDefault();
		});
	}
});

//? Табы в настройках учётной записи
$(function () {
	let btn = $('*[data-tab]');
	btn.each(function (item, el) {
		$(el).click(function (e) {
			let all_body = $(el).closest('.tabs').find('.tab-body');
			let body = $($(el).attr('data-tab'));

			btn.removeClass('tab-btn-active');
			$(el).addClass('tab-btn-active');

			all_body.addClass('d-none');
			body.removeClass('d-none');

			e.preventDefault();
		});
	});
});

//? Клики по кнопкам в отелях календаря
$(function () {
	$('.cal-btn-click').each(function (item, el) {
		$(el).click(function (e) {

		});
	});
});


//? Контакты по клику в номере отеля календаря
$(function () {
	$('.number-inf__action-blue').click(function (e) {
		let body = $('.number-inf__guest-info');
		if (body.css('display') == 'none')
			body.slideDown();
		else
			body.slideUp();

		e.preventDefault();
	});
});




$('.change-status-object-public').click(function (e) {
	$("#loader h2").html('Loading');
	$("#loader p").html('Checking the data');
	$("#loader").show();


	let formData = new FormData();
	formData.append('oid', $(this).attr('data-id'))
	formData.append('status', $(this).attr('data-status'))
	const send = ts('/api/object/status', 'POST', formData);

	send.then((result) => {
		console.log(result);
		if (result.status == true) {
			$("#loader").hide();
			notification('success', 'Статус успешно изменен!');
			location.reload();
		} else {
			$("#loader").hide();
			notification('error', result.error);
		}
	});
	e.preventDefault();
});
$('.change-status-object-moderation').click(function (e) {
	$("#loader h2").html('Loading');
	$("#loader p").html('Checking the data');
	$("#loader").show();


	let formData = new FormData();
	formData.append('oid', $(this).attr('data-id'))
	formData.append('status', $(this).attr('data-status'))
	const send = ts('/api/object/moderation', 'POST', formData);

	send.then((result) => {
		console.log(result);
		if (result.status == true) {
			$("#loader").hide();
			notification('info', 'Не забудьте сохранить перед отправкой на модерацию');
			notification('success', result.msg);
			location.reload();
		} else {
			$("#loader").hide();
			notification('error', result.error);
		}
	});
	e.preventDefault();
});


$(function () {
	$('.click_info').click(function () {
		let info = $(this).attr('data-info');
		let type = $(this).attr('data-type');
		notification(type, info);
	});

	//? Аякс запрос при открыти
	$("#feedbackM1Form").submit(function (e) {

		$("#loader h2").html('Отправка');
		$("#loader p").html('Проверяем данные');
		$("#loader").show();

		// Открытие модалки
		let modal = $($(this).find('.ajax-modal-open').attr("data-target"));
		modalShow(modal);

		$('#loader').hide();
		// Конец

		e.preventDefault();
	})
	$(".loaderSubmit").submit(function (e) {
		$("#loader h2").html('Отправка');
		$("#loader p").html('Проверяем данные');
		$("#loader").show();
		setTimeout(() => $("#loader").hide(), 1000);
	})

});
