PageSourceSearch

https://prenotazione.motelk.com/sipi-site/resources/site/js/site-function.js?v=260922.1121

js motelk.com collected 2026-09-26 21:02:19 UTC 112,714 bytes, 4,334 lines download raw bytes

1var elFocus = null;
2var solTypeValid = true;
3
4// SCROLL HEADER
5function UpdateTableHeaders() {
6	$(".persist-area").each(
7		function() {
8
9			var w = $(".persist-area").width();
10
11			var s = parseInt($(".dnh_body-addpanel").css('margin-top'));
12
13			var el = $(this),
14				offset = el.offset(),
15				scrollTop = $(window)
16					.scrollTop()
17					+ s,
18				floatingHeader = $(".floatingHeader", this)
19
20			if ((scrollTop > offset.top)
21				&& (scrollTop < offset.top + el.height() + s)) {
22				floatingHeader.css({
23					"visibility": "visible",
24					"width": w
25				});
26			} else {
27				floatingHeader.css({
28					"visibility": "hidden",
29					"width": w
30				});
31			}
32			;
33
34			// header_doHiddenPanel();
35
36		});
37}
38
39function UpdateTableModalHeaders() {
40	$(".persist-area-modal").each(
41		function() {
42
43			// var elArea = $(".persist-area-modal");
44			var elBody = $(".modal-gadget_background");
45
46			// var s = parseInt($(".sipi_body").css('margin-top'));
47			var s = elBody.offset().top;
48
49			var el = $(this),
50				offset = el.position(),
51				scrollTop = elBody.scrollTop(),
52				floatingHeader = $(".floatingModalHeader", this)
53
54			var w = el.width();
55
56			var top = offset.top;
57
58
59			if ((scrollTop > top)
60				&& (scrollTop < top + el.height() + s)) {
61
62				// console.log("top-sel", top);
63				// console.log("scrollTop-sel", scrollTop);
64
65				floatingHeader.css({
66					"visibility": "visible",
67					"width": w
68				});
69
70			} else {
71				floatingHeader.css({
72					"visibility": "hidden",
73					"width": w
74				});
75			}
76			;
77
78		});
79}
80
81function login_clickForgot() {
82	window.location.href = "forgot_login";
83}
84
85function page_loadBase(headerTable, popupImage, labelBack, labelNext,
86	serIdMenu, serIdMenuPers) {
87	// $('#sipi_header-fix').loading('start');
88	$('body').loading('start');
89
90	if (headerTable) {
91		var clonedHeaderRow;
92
93		$(".persist-area").each(
94			function() {
95				clonedHeaderRow = $(".persist-header", this);
96				clonedHeaderRow.before(clonedHeaderRow.clone()).css(
97					"width", clonedHeaderRow.width()).addClass(
98						"floatingHeader");
99
100			});
101
102		$(window).scroll(UpdateTableHeaders).trigger("scroll");
103	}
104
105	page_onLoad();
106
107	loadMagnificPopup(popupImage);
108
109	moment.locale('it');
110
111	$(window).scroll(scrollPanel).trigger("scroll");
112
113	$("#header_label-back").html(labelBack);
114	$("#header_label-next").html(labelNext);
115
116	// $('#sipi_header-fix').loading('stop').show();
117
118	adjustWidth();
119
120	$(window).resize(
121		function() {
122			adjustWidth();
123		})
124
125	$('body').loading('stop');
126
127	login_addAutoValidateFormAuth($('#auth_username'));
128	login_addAutoValidateFormAuth($('#auth_password'));
129
130	$("#sidebar").mCustomScrollbar({
131		theme: "minimal"
132	});
133
134	// $("body").mCustomScrollbar();
135
136}
137
138function loadMagnificPopup(popupImage) {
139	if (popupImage) {
140		$('.image-link').magnificPopup({
141			type: 'image',
142
143			closeOnContentClick: true,
144			closeBtnInside: false,
145			fixedContentPos: true,
146			mainClass: 'mfp-no-margins mfp-with-zoom', // class to remove
147			// default margin from
148			// left and right side
149			image: {
150				verticalFit: true
151			},
152			zoom: {
153				enabled: true,
154				duration: 300
155				// don't foget to change the duration also in CSS
156			}
157		});
158	}
159}
160
161function page_goLoginAdd() {
162	window.location.href = "login_add";
163}
164
165
166function adjustWidth() {
167	// console.log("Parent:", $(".parent"));
168	var parentwidth = $(".parent").width();
169	$(".child").width(parentwidth).show();
170}
171
172// function booking_selectSol(suiId, preEntrata, preUscita, preTypeRoom) {
173// window.location.href = "doMenu?page=BOOKING&suiId=" + suiId
174// + "&preEntrata=" + preEntrata + "&preUscita=" + preUscita
175// + "&preTypeRoom=" + preTypeRoom;
176// }
177
178function booking_changeType(selId, subId) {
179	// console.log("solType2", $("#solType").val());
180
181	$("[id^=bt_]").each(
182		function(index, element) {
183			var id = $(this).data("id");
184			var type = $(this).data("type");
185			if (id != selId) {
186				// console.log("ID", id)
187				$("#box_" + type).slideUp();
188				$("#bt_" + id).addClass("btn-outline-primary").removeClass(
189					"btn-primary");
190			}
191		});
192
193	$("#bt_" + selId).addClass("btn-primary").removeClass("btn-outline-primary");
194
195	var type = selId.startsWith("PR-") ? "PR" : selId;
196
197	$("#box_" + type).slideDown();
198
199	$("#box_type").val(type);
200	$("#box_subId").val(subId);
201
202	if (type == "PR") {
203
204		booking_doSearchDate("PR", subId);
205
206	} else {
207
208		booking_validateBox(type, false);
209
210		var searchType = $("#box_type_search").val();
211
212		// Se mantengo stessa ricerca tengo aperto BOX di ricerca
213		if (searchType == type) {
214			$("#box-SOL_search").slideDown();
215		} else {
216			$("#box-SOL_search").slideUp();
217		}
218	}
219
220	// console.log("solType1", $("#solType").val());
221
222	// ricarico menu a destra solo se non ho soluzioni
223	if ($("#solType").val() == "" || firstLoad) {
224
225		page_setValueInfo(true);
226		firstLoad = false;
227	}
228	scrollPanel();
229}
230
231function booking_search() {
232	var type = $("#box_type").val();
233	var subId = $("#box_subId").val();
234	booking_doSearchDate(type, subId);
235}
236
237function page_goAuth(provider) {
238	window.location.href = "../oauth2/authorization/" + provider;
239}
240
241function booking_startApp(type, subType) {
242	// console.log("booking_startApp", $("#solType").val());
243
244	firstLoad = true;
245	booking_initBox();
246
247	if (subType == "") {
248		$("#bt_" + type).click();
249
250		$("#search_bt_" + type).click();
251
252		// if ($("#solCod").val() != "") {
253		// $("#search_bt_" + type).click();
254		// }
255
256	} else {
257		// Click per promozioni
258		$("#bt_" + type + "-" + subType).click();
259	}
260	// seleziona la prima soluzione tramite il codsolution
261}
262
263
264
265function shop_changeTv() {
266	var ck = $('#preTvCk').is(':checked');
267	$("#serPrezzoTv").val(ck ? $("#webPriceTv").val() : 0);
268	$('#preTv').val($("#serPrezzoTv").val());
269	if (ck) {
270		$("#webPriceTvadd").addClass("gadget_price-select");
271	} else {
272		$("#webPriceTvadd").removeClass("gadget_price-select");
273	}
274
275	page_setValueInfo(false);
276}
277
278
279function page_loadJson(el) {
280	var l = [];
281	$("[id^=gad_]").each(function(index, element) {
282		var id = $(this).data("id");
283		var n = $("#gad_" + id + " option:selected").val();
284		if (n > 0) {
285			l.push({
286				gadId: id,
287				num: n
288			});
289		}
290	});
291
292	el.val(JSON.stringify(l));
293}
294
295//function page_selectGadget() {
296//	var price = 0;
297//	$("[id^=gad_]").each(function(index, element) {
298//		var id = $(this).data("id");
299//		var n = $("#gad_" + id + " option:selected").val();
300//		if (n == 0) {
301//			$("#row_gad-" + id).removeClass("sipi_row_gad-select");
302//		} else {
303//			$("#row_gad-" + id).addClass("sipi_row_gad-select");
304//			var p = (n * parseFloat($(this).data("price")));
305//			price += p;
306//			$("#tot-price_gad-" + id).html(util_getCurrency(p));
307//		}
308//	});
309//	return price;
310//}
311
312function page_selectGadget() {
313	var price = 0;
314	$("[id^=gad_]").each(function(index, element) {
315		var id = $(this).data("id");
316		var n = $("#gad_" + id + " option:selected").val();
317		var singlePrice = parseFloat($(this).data("price")); // Prezzo di una singola unità
318		if (n == 0) {
319			$("#row_gad-" + id).removeClass("sipi_row_gad-select");
320			// Imposta il prezzo a quello di una singola unità
321			$("#tot-price_gad-" + id).html(util_getCurrency(singlePrice)).removeClass("gadget_price-select");
322		} else {
323			$("#row_gad-" + id).addClass("sipi_row_gad-select");
324			var p = (n * singlePrice);
325			price += p;
326			$("#tot-price_gad-" + id).html(util_getCurrency(p)).addClass("gadget_price-select");
327		}
328	});
329	return price;
330}
331
332
333
334
335
336
337
338function shop_addGadget(gadId) {
339	var price = page_selectGadget();
340
341	$("#serNameShop").val(price == 0 ? "" : "E-shop");
342	$("#serPrezzoShop").val(price);
343
344	page_setValueInfo(false);
345}
346
347function pers_restore(price) {
348	$("#serNameMenuPers").val(price == 0 ? "" : "Pers");
349	$("#serPrezzoMenuPers").val(price);
350
351	page_setValueInfo(false);
352}
353
354function pers_addGadget(gadId) {
355	var price = page_selectGadget();
356
357	pers_restore(price);
358
359}
360// FUNCTION
361function info_sendMailSave() {
362	window.location.href = "info?action=email"
363}
364
365function header_doShowPanel() {
366
367	$('#modal_bookinginfo').modal('show');
368
369	// var el = $("#header_status-mb");
370	// if (el.is(":visible")) {
371	// el.slideUp("fast");
372	// $('.overlay-mb').fadeOut();
373	// $("#sipi_marquee").show();
374	// } else {
375	// el.slideDown("fast");
376	// $('.overlay-mb').fadeIn();
377	// page_setValueInfoBox("-mb");
378	// $("#sipi_marquee").hide();
379	// }
380}
381
382
383// function header_doHiddenPanel() {
384// var el = $("#header_status-mb");
385// if (el.is(":visible")) {
386// el.slideUp("fast");
387// $('.overlay-mb').fadeOut();
388// }
389// $("#sipi_marquee").show();
390// }
391
392function login_addAutoValidateFormAdd(el) {
393	el.keydown(function(e) {
394		// Check Enter key press
395		if (e.which == 13) {
396			// Manually trigger submit
397			login_goNextReg();
398			// Block after submit to stay
399			e.preventDefault();
400		} else {
401			util_cleanValidateForm(el);
402		}
403	});
404	return el;
405}
406
407function util_cleanValidateForm(el) {
408	var idLabel = el.data("id-label");
409	if (idLabel)
410		$("#" + idLabel).removeClass("is-invalid");
411	el.removeClass("is-invalid");
412}
413
414// function info_addAutoValidateFormInfo(el) {
415// if (el) {
416// el.keydown(function(e) {
417// // Check Enter key press
418// if (e.which == 13) {
419// // Manually trigger submit
420// info_goNextPay();
421// // Block after submit to stay
422// e.preventDefault();
423// } else {
424// util_cleanValidateForm(el);
425// }
426// });
427// }
428// }
429
430function login_addAutoValidateFormAuth(el) {
431	el.keydown(function(e) {
432		// Check Enter key press
433		$("#auth_alert").hide();
434		if (e.which == 13) {
435			// Manually trigger submit
436			page_checkLogin();
437			// Block after submit to stay
438			e.preventDefault();
439		} else {
440			el.removeClass("is-invalid");
441		}
442	});
443}
444
445// function booking_addAutoValidateFormAuthSelect(el) {
446// el.keydown(function(e) {
447// // Check Enter key press
448// if (e.which == 13) {
449// // Manually trigger submit
450// console.log("test");
451// booking_goNextPage();
452// // Block after submit to stay
453// e.preventDefault();
454// } else {
455// el.removeClass("is-invalid");
456// }
457// });
458// }
459
460function login_checkCleanValidateFormAdd(id) {
461	$("#" + id).removeClass("is-invalid");
462}
463
464// function login_validatePassword(el) {
465// var minMaxLength = /^[\s\S]{6,10}$/, //
466// upper = /[A-Z]/, //
467// lower = /[a-z]/, //
468// number = /[0-9]/, //
469// special = /[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~]/;
470//
471// var isGood = minMaxLength.test(password) && upper.test(password)
472// && lower.test(password) && number.test(password)
473// && special.test(password);
474//
475// util_validateItemsHtml(el, isGood);
476// return isGood;
477// }
478
479function login_checkReg() {
480	var isGood = true;
481	elFocus = null;
482
483	// lForm = window.document.siteFormReg;
484
485	var rs = /^[\s\S]{1,20}$/;
486	var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
487	// var rp = /^[a-zA-Z0-9_.,\-+*!#@?]{6,12}$/;
488
489	var rp1 = /^.{6,12}$/;
490	var rp2 = /[0-9]/;
491	var rp3 = /[a-z]/;
492	var rp4 = /[A-Z]/;
493
494	// var rt = /^(()?\d{3}())?(-|\s)?\d{3}(-|\s)?\d{4}$/;
495	var rt = /^[\s\S]{7,20}$/;
496
497	var el = $("#add_name");
498	isGood = util_validateItems(el, rs) && isGood;
499
500	el = $("#add_surname");
501	isGood = util_validateItems(el, rs) && isGood;
502
503	el = $("#add_email");
504	isGood = util_validateItems(el, re) && isGood;
505
506	el = $("#add_password");
507	var isGoodPwd = util_validateItems(el, rp1) && isGood;
508	isGoodPwd = util_validateItems(el, rp2) && isGood && isGoodPwd;
509	isGoodPwd = util_validateItems(el, rp3) && isGood && isGoodPwd;
510	isGoodPwd = util_validateItems(el, rp4) && isGood && isGoodPwd;
511
512	var el2 = $("#add_password2");
513	// var isGoodPwd = util_validateItems(el2, rp);
514
515	if (isGoodPwd) {
516		isGoodPwd = el.val() == el2.val();
517		util_validateItemsHtml(el2, isGoodPwd);
518	}
519
520	isGood = isGood && isGoodPwd;
521
522	var flag = $('input[name=privacy]:checked').val();
523	if (flag != "true") {
524		$("#check_privacy").addClass("is-invalid");
525		isGood = false;
526	} else {
527		$("#check_privacy").removeClass("is-invalid");
528	}
529
530	el = $("#add_tel");
531	if (checkTel || el.val() != "") {
532		isGood = util_validateItems(el, rt) && isGood;
533	}
534
535	if (elFocus)
536		elFocus.focus();
537
538	return isGood;
539}
540
541function infomodal_clikSaveData() {
542	if (page_doChangeInfo(false, true)) {
543		window.document.siteFormEdit.submit();
544	}
545}
546
547function page_doChangeInfo(checkFlag, isModal) {
548
549	var prefix = isModal ? "info" : "social";
550
551	var isGood = true;
552	elFocus = null;
553
554	var rs = /^[\s\S]{1,20}$/;
555	// var rt = /^(()?\d{3}())?(-|\s)?\d{3}(-|\s)?\d{4}$/;
556	var rt = /^[\s\S]{7,20}$/;
557
558	var el = $("#" + prefix + "_name");
559	isGood = util_validateItems(el, rs) && isGood;
560
561	el = $("#" + prefix + "_surname");
562	isGood = util_validateItems(el, rs) && isGood;
563
564	if (checkFlag) {
565		var flag = $('input[name=privacy]:checked').val();
566		if (flag != "true") {
567			$("#check_privacy").addClass("is-invalid");
568			isGood = false;
569		} else {
570			$("#check_privacy").removeClass("is-invalid");
571		}
572	}
573
574	el = $("#" + prefix + "_tel");
575	if (el.val() != "") {
576		isGood = util_validateItems(el, rt) && isGood;
577	}
578
579	if (elFocus)
580		elFocus.focus();
581
582	return isGood;
583}
584
585function modal_activeTabUserData() {
586	$("#bt_infoChangePassword").hide();
587	$("#bt_infoDelUser").hide();
588	$("#bt_infoSaveUserData").show();
589}
590
591function modal_activeTabChangePassword() {
592	$("#bt_infoSaveUserData").hide();
593	$("#bt_infoDelUser").hide();
594	$("#bt_infoChangePassword").show();
595}
596
597function modal_activeTabDelUser() {
598	$("#bt_infoSaveUserData").hide();
599	$("#bt_infoChangePassword").hide();
600	$("#bt_infoDelUser").show();
601}
602
603function page_doDelUser() {
604	$("#modal_userdelete").modal('show');
605}
606
607function info_checkReg(flag) {
608	var isGood = true;
609	elFocus = null;
610
611	if ((flag == 'VG' || flag == 'BN') && onlyCC) {
612		$('#modal_ONLYCC').modal('show');
613		isGood = false;
614	} else {
615		// var rt = /^(()?\d{3}())?(-|\s)?\d{3}(-|\s)?\d{4}$/;
616		var rt = /^[\s\S]{7,20}$/;
617
618		var flag = $('input[name=vendita]:checked').val();
619		if (flag != "true") {
620			$("#check_vendita").addClass("is-invalid");
621			isGood = false;
622		} else {
623			$("#check_vendita").removeClass("is-invalid");
624		}
625
626		var el = $("#preTelefono");
627		if (!existTel && (el.val() != "" || checkTel)) {
628			isGood = util_validateItems(el, rt) && isGood;
629		}
630
631		if (isGood) {
632			var num = $('input[name=tpCod]:checked').length;
633			if (num == 0) {
634				$('#modal_payalert').modal('show');
635				isGood = false;
636			}
637		}
638
639		if (elFocus)
640			elFocus.focus();
641	}
642	return isGood;
643}
644
645function device_checkReg() {
646	var isGood = true;
647
648	var flag = $('input[name=privacy]:checked').val();
649	if (flag != "true") {
650		$("#check_privacy").addClass("is-invalid");
651		isGood = false;
652	} else {
653		$("#check_privacy").removeClass("is-invalid");
654	}
655
656	var flag = $('input[name=vendita]:checked').val();
657	if (flag != "true") {
658		$("#check_vendita").addClass("is-invalid");
659		isGood = false;
660	} else {
661		$("#check_vendita").removeClass("is-invalid");
662	}
663
664	if (isGood) {
665		var num = $('input[name=tpCod]:checked').length;
666		if (num == 0) {
667			$('#modal_payalert').modal('show');
668			isGood = false;
669		}
670	}
671
672	return isGood;
673}
674
675function page_logout() {
676	window.location.href = "logout";
677}
678
679function page_clean() {
680	window.location.href = "clean";
681}
682
683// function page_cleanValidateFormAuth() {
684// $("#form_row-auth-username").removeClass("has-danger");
685// $("#form_row-auth-pwd").removeClass("has-danger");
686// $("#auth_alert").hide();
687// }
688
689function page_checkLogin() {
690	var isGood = true;
691	elFocus = null;
692
693	var ru = /^[\s\S]{3,40}$/;
694	var rp = /^[\s\S]{6,20}$/;
695
696	var el = $("#auth_username");
697	isGood = util_validateItems(el, ru) && isGood;
698	var username = el.val();
699
700	el = $("#auth_password");
701	isGood = util_validateItems(el, rp) && isGood;
702	var password = el.val();
703
704	if (isGood) {
705		$("#username").val(username);
706		$("#password").val(password);
707
708		ajax_login("auth_eval", {
709			username: username,
710			password: password,
711			email: username,
712			usertype: 'Registered'
713		});
714	}
715	return false;
716}
717
718function page_checkLoginSocial(firstname, lastname, email, id, social) {
719	var isGood = true;
720	if (!email && !id) {
721		isGood = false;
722		$("#auth_alert").html("Credenziali non valide").show();
723	}
724
725	if (isGood) {
726		var username = social + "." + email;
727		$("#username").val(username);
728		$("#password").val(id);
729
730		ajax_login("auth_eval", {
731			username: username,
732			password: id,
733			firstname: firstname,
734			lastname: lastname,
735			usertype: social,
736			email: email
737		});
738	}
739	return false;
740}
741
742function forgot_doConfirm() {
743	var isGood = true;
744	elFocus = null;
745
746	var rp = /^[\s\S]{6,20}$/;
747
748	var el = $("#auth_code");
749	isGood = util_validateItems(el, rp);
750
751	if (isGood) {
752		$('body').loading('start');
753		$("#code").val(el.val());
754		window.document.siteForm.submit();
755	}
756}
757
758function forgot_doLogin() {
759	var isGood = true;
760	elFocus = null;
761
762	var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
763
764	var el = $("#auth_username");
765	isGood = util_validateItems(el, re);
766
767	// console.log("isGood", isGood);
768
769	if (isGood) {
770		$('body').loading('start');
771		$("#username").val(el.val());
772		window.document.siteForm.submit();
773	}
774}
775
776
777function forgot_doEnd() {
778
779	var rp = /^[\s\S]{6,20}$/;
780
781	el = $("#auth_password");
782	isGood = util_validateItems(el, rp);
783
784	var el2 = $("#auth_password2");
785	var isGoodPwd = util_validateItems(el2, rp);
786
787	if (isGoodPwd) {
788		isGoodPwd = el.val() == el2.val();
789		util_validateItemsHtml(el2, isGoodPwd);
790	}
791
792	isGood = isGood && isGoodPwd;
793
794	if (isGood) {
795		$('body').loading('start');
796		window.document.siteForm.submit();
797	}
798}
799
800function ajax_login(page, data) {
801	$('body').loading('start');
802	$.ajax({
803		method: "POST",
804		url: page,
805		data: data,
806		dataType: "json",
807		// async : false,
808		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
809	}).done(function(data) {
810		if (data.success) {
811			window.document.siteForm.action = "auth";
812			window.document.siteForm.submit();
813		} else {
814			$('body').loading('stop');
815			$("#auth_alert").html(data.msg).show();
816		}
817	});
818}
819
820function bed_setSelect(bdsId, bdsTitle) {
821	$("#bedsroom").slideToggle();
822	$("#bdsId").val(bdsId);
823	$("#btn_Beds").html(bdsTitle);
824}
825
826function bed_setSelectMb(bdsId, bdsTitle) {
827	$("#bedsroom-mb").slideToggle();
828	$("#bdsId").val(bdsId);
829	$("#btn_Beds-mb").html(bdsTitle);
830}
831
832function ajax_list_beds(suiId, numPeople, bdsId) {
833	var data = {
834		suiId: parseInt(suiId),
835		numPeople: parseInt(numPeople),
836		bdsId: parseInt(bdsId)
837	}
838	$.ajax({
839		method: "POST",
840		url: "bedsroom",
841		data: data,
842		dataType: "html",
843		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
844	}).done(function(resp) {
845		$("#bedsroom").html(resp).slideToggle();
846	});
847}
848
849function ajax_list_bedsMb(suiId, numPeople, bdsId) {
850	var data = {
851		suiId: parseInt(suiId),
852		numPeople: parseInt(numPeople),
853		bdsId: parseInt(bdsId)
854	}
855	$.ajax({
856		method: "POST",
857		url: "bedsroom",
858		data: data,
859		dataType: "html",
860		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
861	}).done(function(resp) {
862		$("#bedsroom-mb").html(resp).slideToggle();
863	});
864}
865
866function ajax_modal_detail_room(suiId) {
867	var data = {
868		suiId: suiId
869	}
870	$.ajax({
871		method: "POST",
872		url: "detailroom",
873		data: data,
874		dataType: "html",
875		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
876	}).done(function(resp) {
877		$("#modal-ajax").html(resp).modal('show');
878	});
879}
880
881function ajax2_modal_detail_room(suiId) {
882	var data = {
883		suiId: suiId
884	}
885	$.ajax({
886		method: "POST",
887		url: "detailroom",
888		data: data,
889		dataType: "html",
890		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
891	}).done(function(resp) {
892		$("#modal2-ajax").html(resp).modal('show');
893	});
894}
895
896// function booking_clickParamRoom(suiId, type) {
897// // var el = $("#collapseSuiteinfo-" + suiId);
898// // if (el.is(":visible")) {
899// // el.slideUp();
900// // } else {
901// // $("#modal-ajax").data("suiid", suiId);
902// // ajax_modal_param_room(suiId);
903// // }
904//	
905// var el = $("#collapseSolinfo-" + suiId);
906// var cod = $("#modal-ajax").data("cod");
907// var typeShow = $("#modal-ajax").data("type");
908//	
909// if (el.is(":visible")) el.slideUp();
910//	
911// if(cod != solCod || typeShow != type){
912// $("#modal-ajax").data("cod", suiId);
913// $("#modal-ajax").data("type", type);
914// ajax_modal_param_room(suiId, type);
915// }
916// }
917
918function solution_clickBookingArrInfo(index, pzId) {
919	var el = $("#box_arrinfo_" + index + "_" + pzId);
920	el.slideToggle();
921}
922
923function solution_clickBookingPriceInfo(index, perId) {
924	var el = $("#box_priceinfo_" + index + "_" + perId);
925	el.slideToggle();
926}
927
928function solution_clickParamRoom(solCod, suiId, type, index) {
929	var el = $("#collapseSuiteinfo-" + solCod);
930	var cod = $("#modal-ajax").data("cod");
931	var view = "param_" + type;
932
933	if (el.data("view") == view) {
934		// se è visibile chiudo
935		if (el.is(":visible")) {
936			solution_actionBookingInfoClose(index, solCod);
937		}
938	} else {
939		if (el.is(":visible")) {
940			solution_actionRestoreBt(index);
941		}
942		$("#modal-ajax").data("cod", solCod);
943		// passa sempre le date correnti dal box (aggiornate da eventuale cambio calendario)
944		var elBox = $("#box_SOL_" + index);
945		ajax_modal_param_room(suiId, type, index, elBox.data("arr"), elBox.data("par"), elBox.data("peoplesol"));
946		$("#btn_" + type + "_" + index).removeClass("btn-outline-info").addClass("btn-info");
947	}
948}
949
950function solution_actionBookingInfoClose(index, solCod) {
951	var el = $("#collapseSuiteinfo-" + solCod);
952	el.data("view", "").slideUp();
953	solution_actionRestoreBt(index);
954	$("#modal-ajax").data("cod", "");
955}
956
957function solution_actionRestoreBt(index) {
958	$("#btn_confirm_" + index).html("Scegli tariffa e prenota").removeClass("btn-outline-success").addClass("btn-success");
959	$("#btn_price_" + index).removeClass("btn-info").addClass("btn-outline-info");
960	$("#btn_info_" + index).removeClass("btn-info").addClass("btn-outline-info");
961}
962
963function solution_clickArrRoom(index, solCod) {
964
965	var booking = booking_getBookingBySolution(index);
966
967	var el = $("#collapseSuiteinfo-" + solCod);
968	// stessa view aperta chiudo
969	if (el.data('view') == 'arr') {
970		solution_actionBookingInfoClose(index, solCod);
971	} else {
972		if (el.is(":visible")) {
973			solution_actionRestoreBt(index);
974		}
975		$("#modal-ajax").data("cod", solCod);
976		ajax_modal_arr_room(booking, index);
977		$("#btn_confirm_" + index).html("Chiudi").removeClass("btn-success").addClass("btn-outline-success");
978	}
979}
980
981function page_clickUserData() {
982	var el = $("#user-data");
983	if (el.is(":visible")) {
984		el.slideUp('fast', function() {
985			scrollPanel();
986		});
987	} else {
988		el.slideDown('fast', function() {
989			scrollPanel();
990		});
991	}
992}
993
994// function ajax_modal_param_room(suiId) {
995// var data = {
996// id : suiId
997// }
998// $.ajax({
999// method : "POST",
1000// url : "paramroom",
1001// data : data,
1002// dataType : "html",
1003// contentType : "application/x-www-form-urlencoded;charset=UTF-8"
1004// }).done(function(resp) {
1005// var suiId = $("#modal-ajax").data("suiid");
1006// $("#collapseSuiteinfo-" + suiId).html(resp).slideDown();
1007// });
1008// }
1009
1010function ajax_modal_param_room(suiId, type, index, dts, dte, n) {
1011	var data = {
1012		id: suiId,
1013		type: type,
1014		index: index
1015	}
1016	if (dts) data.dts = dts;
1017	if (dte) data.dte = dte;
1018	if (n)   data.n   = n;
1019	$.ajax({
1020		method: "POST",
1021		url: "paramroom",
1022		data: data,
1023		dataType: "html",
1024		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
1025	}).done(function(resp) {
1026		var cod = $("#modal-ajax").data("cod");
1027		$("#collapseSuiteinfo-" + cod).data("view", "param_" + type).html(resp).slideDown();
1028	});
1029}
1030
1031function ajax_modal_arr_room(booking, index) {
1032	booking.index = index;
1033	$.ajax({
1034		method: "POST",
1035		url: "arrsol",
1036		data: booking,
1037		dataType: "html",
1038		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
1039	}).done(function(resp) {
1040		var cod = $("#modal-ajax").data("cod");
1041		$("#collapseSuiteinfo-" + cod).data("view", "arr").html(resp).slideDown();
1042	});
1043}
1044
1045function ajax_reload_suiteinfo(booking, index) {
1046	booking.index = index;
1047	$.ajax({
1048		method: "POST",
1049		url: "solinfo",
1050		data: booking,
1051		dataType: "html",
1052		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
1053	}).done(function(resp) {
1054		$("#suiteinfo-" + booking.solCod).html(resp);
1055	});
1056}
1057
1058var clonedModalHeaderRow;
1059
1060function ajax_modal_pers_gadget(gadId) {
1061	var data = {
1062		gadId: gadId,
1063		page: "PERSMODAL"
1064	}
1065	$.ajax({
1066		method: "POST",
1067		url: "serv_pers_modal",
1068		data: data,
1069		dataType: "html",
1070		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
1071	}).done(function(resp) {
1072		$("#modal-ajax-gadget").html(resp).modal('show');
1073
1074		$('#modal-ajax-gadget').on('hidden.bs.modal', function(e) {
1075			goCancelPers();
1076		})
1077
1078		$("#serPrezzoMenuPersOrig").val($("#serPrezzoMenuPers").val());
1079
1080		$(".persist-area-modal").each(
1081			function() {
1082				clonedModalHeaderRow = $(".persist-modal-header", this);
1083
1084
1085				clonedModalHeaderRow.before(clonedModalHeaderRow.clone()).css(
1086					"width", clonedModalHeaderRow.width()).addClass(
1087						"floatingModalHeader");
1088
1089			});
1090
1091		$(".modal-gadget_background").scroll(UpdateTableModalHeaders).trigger("scroll");
1092
1093		// window.onresize = function() {
1094		// $(".modal-gadget_background").scroll(UpdateTableModalHeaders);
1095		// };
1096
1097	});
1098}
1099
1100// function ajax_modal_calendar(suiId, preEntrata, preUscita) {
1101// var data = {
1102// suiId : suiId,
1103// preEntrata : preEntrata,
1104// preUscita : preUscita
1105// }
1106// $.ajax({
1107// method : "POST",
1108// url : "doBookingCalendar",
1109// data : data,
1110// dataType : "html",
1111// contentType : "application/x-www-form-urlencoded;charset=UTF-8"
1112// }).done(function(resp) {
1113// $("#modal-ajax").html(resp).modal('show');
1114// });
1115// }
1116
1117// function ajax_modal_search(suiCod, preEntrata, preUscita) {
1118// var data = {
1119// suiCod : suiCod,
1120// preEntrata : preEntrata,
1121// preUscita : preUscita
1122// }
1123// $.ajax({
1124// method : "POST",
1125// url : "doModalBookingSearch",
1126// data : data,
1127// dataType : "html",
1128// contentType : "application/x-www-form-urlencoded;charset=UTF-8"
1129// }).done(function(resp) {
1130// $("#modal-ajax").html(resp).modal('show');
1131// });
1132// }
1133
1134function booking_doLastMinute() {
1135	ajax_box_lastminute();
1136}
1137
1138function booking_doSearchDate(type, subId) {
1139	$("#box_type_search").val(type);
1140	$("#modal-ajax").data("cod", "");
1141	if (type == "PR") {
1142		ajax_box_search_pr(subId, $("#prePeoplePR").val(), $("#solCod").val());
1143	} else {
1144		$("#box-SOL_search").hide().html("");
1145		var isGood = booking_validateBox(type, true);
1146		if (isGood) {
1147			if (type == "TM") {
1148				ajax_box_search($("#suiCodTM").val(), util_getTimeToUrl($("#dta_input_TM")),
1149					util_getTimeToUrl($("#dtp_input_TM")), $("#catIdTM").val(), type, $("#prePeopleTM").val(), $("#solCod").val(), $("#preEntrata").val(), $("#preUscita").val());
1150			} else if (type == "ST") {
1151				ajax_box_search("", util_getTimeToUrl($("#dta_input_ST")),
1152					util_getTimeToUrl($("#dtp_input_ST")), "", type, $("#prePeopleST").val(), $("#solCod").val(), $("#preEntrata").val(), $("#preUscita").val());
1153			}
1154		}
1155	}
1156}
1157
1158function ajax_box_search(suiCod, preEntrata, preUscita, catId, solType, numPeople, solCod, solEntrata, solUscita) {
1159	$('body').loading('start');
1160	var data = {
1161		suiCod: suiCod,
1162		preEntrata: preEntrata,
1163		preUscita: preUscita,
1164		catId: catId,
1165		solType: solType,
1166		prePeople: numPeople,
1167		solCod: solCod,
1168		solEntrata: solEntrata,
1169		solUscita: solUscita
1170	}
1171	$.ajax({
1172		method: "POST",
1173		url: "booking_search",
1174		data: data,
1175		dataType: "html",
1176		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
1177	}).done(function(resp) {
1178		// $("#box-TM_search").slideUp();
1179		// $("#box_LM").html("");
1180		$("#box-SOL_search").html(resp).slideDown('fast', function() {
1181			solution_selectItemSol();
1182		});
1183		$('body').loading('stop');
1184	});
1185}
1186
1187function solution_selectItemSol() {
1188	if (ancor == '0') {
1189		if ($("#0").length) {
1190			util_scrollTo($("#0"), "fast");
1191		} else {
1192			util_scrollTo($("#1"), "fast");
1193		}
1194	} else {
1195		util_scrollTo($("#" + ancor), "fast");
1196	}
1197	ancor = 0;
1198	$("#btn_confirm_0").click();
1199}
1200
1201function ajax_box_search_pr(subId, numPeople, solCod) {
1202	$('body').loading('start');
1203	var data = {
1204		id: subId,
1205		prePeople: numPeople,
1206		solCod: solCod
1207	}
1208	$.ajax({
1209		method: "POST",
1210		data: data,
1211		url: "booking_search_pr",
1212		dataType: "html",
1213		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
1214	}).done(function(resp) {
1215		// $("#box-TM_search").slideUp();
1216		// $("#box_LM").html("");
1217		$("#box-SOL_search").html(resp).slideDown('fast', function() {
1218			solution_selectItemSol();
1219		});
1220		$('body').loading('stop');
1221	});
1222}
1223
1224// function ajax_box_detail(suiId) {
1225// var data = {
1226// suiId : suiId
1227// }
1228// console.log("ricerca", data);
1229// $.ajax({
1230// method : "POST",
1231// url : "doBookingDetail",
1232// data : data,
1233// dataType : "html",
1234// contentType : "application/x-www-form-urlencoded;charset=UTF-8"
1235// }).done(function(resp) {
1236// // $("#box-TM_search").slideUp();
1237// // $("#box_LM").html("");
1238// $("#box-TM-RM").html(resp).slideDown();
1239// });
1240// }
1241
1242// function ajax_box_lastminute() {
1243// $.ajax({
1244// method : "POST",
1245// url : "doBookingLastMinute",
1246// dataType : "html",
1247// contentType : "application/x-www-form-urlencoded;charset=UTF-8"
1248// }).done(function(resp) {
1249// $("#box_TM").slideUp();
1250// $("#box_ST").slideUp();
1251// $("#box_SR").html("").slideUp();
1252// $("#box_LM").html(resp).slideDown();
1253// });
1254// }
1255
1256function booking_doOpenModalListRoom() {
1257	ajax_modal_list_room();
1258}
1259
1260function ajax_modal_list_room() {
1261	$.ajax({
1262		method: "POST",
1263		url: "listroom",
1264		dataType: "html",
1265		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
1266	}).done(function(resp) {
1267		$("#modal-ajax").html(resp).modal('show');
1268	});
1269}
1270
1271function ajax_modal_data(key) {
1272	var data = {
1273		key: key
1274	}
1275	$.ajax({
1276		method: "POST",
1277		url: "../web/modal-data",
1278		data: data,
1279		dataType: "html",
1280		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
1281	}).done(function(resp) {
1282		$("#modal-ajax").html(resp).modal('show');
1283	});
1284}
1285
1286// function social_doOpenModalChangePassword(){
1287// $("#modal_changepassword").modal('show');
1288// login_addAutoValidateFormAdd($('#change_password_orig'));
1289// login_addAutoValidateFormAdd($('#change_password'));
1290// login_addAutoValidateFormAdd($('#change_password2'));
1291// }
1292
1293// function page_doChangeInfo(activeChangePassword, isModal){
1294//	
1295// var prefix = isModal ? "info" : "social";
1296// var isGood = true;
1297// elFocus = null;
1298//
1299// util_cleanValidateForm($("#"+prefix+"_password_orig"));
1300// util_cleanValidateForm($("#"+prefix+"_password"));
1301// util_cleanValidateForm($("#"+prefix+"_password2"));
1302//	
1303// var rs = /^[\s\S]{7,20}$/;
1304// var rt = /^(()?\d{3}())?(-|\s)?\d{3}(-|\s)?\d{4}$/;
1305//
1306// var el = $("#"+prefix+"_name");
1307// isGood = util_validateItems(el, rs) && isGood;
1308//
1309// el = $("#"+prefix+"_surname");
1310// isGood = util_validateItems(el, rs) && isGood;
1311//	
1312// el = $("#"+prefix+"_tel");
1313// if (el.val() != "") {
1314// isGood = util_validateItems(el, rt) && isGood;
1315// }
1316//	
1317// var tab = "";
1318// if (elFocus) tab = prefix+"-data-tab";
1319//	
1320// if(activeChangePassword && $("#"+prefix+"_password_orig").val() != "" ||
1321// $("#"+prefix+"_password").val() != "" || $("#"+prefix+"_password2").val() !=
1322// ""){
1323// var rp = /^[\s\S]{6,20}$/;
1324//		
1325// var elOrig = $("#"+prefix+"_password_orig");
1326// isGood = util_validateItems(elOrig, rp) && isGood;
1327//			
1328// el = $("#"+prefix+"_password");
1329// isGood = util_validateItems(el, rp) && isGood;
1330//			
1331// var el2 = $("#"+prefix+"_password2");
1332// var isGoodPwd = util_validateItems(el2, rp);
1333//			
1334// if (isGoodPwd) {
1335// isGoodPwd = el.val() == el2.val();
1336// util_validateItemsHtml(el2, isGoodPwd);
1337// }
1338//			
1339// isGood = isGood && isGoodPwd;
1340//			
1341// if (elFocus && tab == "") tab = prefix+"-pwd-tab";
1342// }
1343//
1344// if(elFocus) {
1345// $("#"+tab).click();
1346// elFocus.focus();
1347// }
1348//	
1349// if (isGood) {
1350// if(isModal){
1351// ajax_login_modal_change($("#"+prefix+"_email").val(), elOrig.val(), el.val(),
1352// el2.val());
1353// } else {
1354// ajax_login_social_change($("#"+prefix+"_email").val(), elOrig.val(),
1355// el.val(), el2.val());
1356// }
1357// }
1358// }
1359
1360// function page_doChangeInfo(isModal){
1361//	
1362// var prefix = isModal ? "info" : "social";
1363// var isGood = true;
1364// elFocus = null;
1365//	
1366// var rs = /^[\s\S]{1,20}$/;
1367// var rt = /^(()?\d{3}())?(-|\s)?\d{3}(-|\s)?\d{4}$/;
1368//
1369// var el = $("#"+prefix+"_name");
1370// isGood = util_validateItems(el, rs) && isGood;
1371//
1372// el = $("#"+prefix+"_surname");
1373// isGood = util_validateItems(el, rs) && isGood;
1374//	
1375// el = $("#"+prefix+"_tel");
1376// if (el.val() != "") {
1377// isGood = util_validateItems(el, rt) && isGood;
1378// }
1379//	
1380// if(!isGood){
1381// if (elFocus) {
1382// $("#"+prefix+"-data-tab").click();
1383// elFocus.focus();
1384// }
1385// } else {
1386//		
1387// }
1388//	
1389// }
1390
1391function page_doChangePassword(isModal) {
1392
1393	var prefix = isModal ? "info" : "social";
1394
1395	var rp = /^[\s\S]{6,20}$/;
1396
1397	var elOrig = $("#" + prefix + "_password_orig");
1398	isGood = util_validateItems(elOrig, rp);
1399
1400	el = $("#" + prefix + "_password");
1401	isGood = util_validateItems(el, rp) && isGood;
1402
1403	var el2 = $("#" + prefix + "_password2");
1404	var isGoodPwd = util_validateItems(el2, rp);
1405
1406	if (isGoodPwd) {
1407		isGoodPwd = el.val() == el2.val();
1408		util_validateItemsHtml(el2, isGoodPwd);
1409	}
1410
1411	isGood = isGood && isGoodPwd;
1412
1413	if (isGood) {
1414		if (isModal) {
1415			ajax_login_modal_change($("#" + prefix + "_email").val(), elOrig.val(), el.val(), el2.val());
1416		} else {
1417			ajax_login_social_change($("#" + prefix + "_email").val(), elOrig.val(), el.val(), el2.val());
1418		}
1419	} else {
1420		if (elFocus) elFocus.focus();
1421	}
1422}
1423
1424function ajax_login_modal_change(email, pwdOrig, pwdNew, pwdNew2) {
1425	$('body').loading('start');
1426	var data = {
1427		auth_email: email,
1428		auth_password_orig: pwdOrig,
1429		auth_password: pwdNew,
1430		auth_password2: pwdNew2
1431	}
1432	$.ajax({
1433		method: "POST",
1434		url: "auth_changepassword",
1435		data: data,
1436		dataType: "json",
1437		// async : false,
1438		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
1439	}).done(function(data) {
1440
1441		if (data.success) {
1442			$("#modalUserdata").modal('hide');
1443			$("#modalUserdata_modal_confirm").modal('show');
1444		} else {
1445			$("#info_password_orig").focus();
1446			$("#info_change_msg").html(data.msg).show();
1447		}
1448		$('body').loading('stop');
1449	});
1450}
1451
1452function ajax_login_social_change(email, pwdOrig, pwdNew, pwdNew2) {
1453	$('body').loading('start');
1454	var data = {
1455		auth_email: email,
1456		auth_password_orig: pwdOrig,
1457		auth_password: pwdNew,
1458		auth_password2: pwdNew2
1459	}
1460	$.ajax({
1461		method: "POST",
1462		url: "auth_changepassword",
1463		data: data,
1464		dataType: "json",
1465		// async : false,
1466		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
1467	}).done(function(data) {
1468
1469		if (data.success) {
1470			$("#social-data-tab").click();
1471			$("#modalUserdata_social_confirm").modal('show');
1472		} else {
1473			$("#social_password_orig").focus();
1474			$("#social_change_msg").html(data.msg).show();
1475		}
1476		$('body').loading('stop');
1477	});
1478}
1479
1480function ajax_modal_incomplete() {
1481	$.ajax({
1482		method: "POST",
1483		url: "modal_incomplete_change",
1484		dataType: "html",
1485		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
1486	}).done(function(resp) {
1487		$("#modal-ajax").html(resp).modal('show');
1488	});
1489}
1490
1491function page_openModalIncomplete() {
1492	ajax_modal_incomplete();
1493}
1494
1495function incomplete_doOpenModalDelete(preId) {
1496	$("#del_preId").val(preId);
1497	$("#modal-ajax").modal('hide');
1498	$("#modal_delete").modal('show');
1499}
1500
1501function end_doOpenModalDelete(preId) {
1502	$("#del_preId").val(preId);
1503	$("#modal_delete").modal('show');
1504}
1505
1506function incomplete_actionDelete() {
1507	$('body').loading('start');
1508	window.location.href = "delete?preId=" + $("#del_preId").val();
1509}
1510
1511//function incomplete_actionDeleteHide() {
1512//    $('body').loading('start');
1513//    window.location.href = "delete?preId="+ $("#del_preId").val()+"&notify=false";
1514//
1515
1516// sostituita funzione precedente provvisoriamente perche crash su cancella senza promemoria via mail----------------
1517
1518function incomplete_actionDeleteHide() {
1519	$('body').loading('start');
1520	var data = {
1521		preId: $("#del_preId").val(),
1522		notify: false
1523	};
1524	$.ajax({
1525		url: "delete",
1526		method: "POST",
1527		data: data,
1528		success: function(response) {
1529			// Se l'operazione ha successo, esegui il refresh della pagina
1530			window.location.href = window.location.href;
1531		},
1532		error: function(xhr, status, error) {
1533			// Gestisci l'errore se la chiamata fallisce esegue ugualmente il refresh della pagina
1534			window.location.href = window.location.href;
1535		}
1536	});
1537}
1538
1539
1540
1541
1542function incomplete_doOpenModalSelect(preId) {
1543	window.location.href = "info_incomplete_pay";
1544}
1545
1546function form_to_json(selector) {
1547	var ary = $(selector).serializeArray();
1548	var obj = {};
1549	for (var a = 0; a < ary.length; a++)
1550		obj[ary[a].name] = ary[a].value;
1551	return obj;
1552}
1553
1554function ajax_login_add(page, data) {
1555	$('body').loading('start');
1556	$.ajax({
1557		method: "POST",
1558		url: page,
1559		data: data,
1560		dataType: "json",
1561		// async : false,
1562		contentType: "application/x-www-form-urlencoded;charset=UTF-8"
1563	}).done(function(data) {
1564
1565		if (data.success) {
1566			window.document.siteFormReg.submit();
1567		} else {
1568			elFocus = $("#add_email");
1569			page_doOpenModalMsg(data.msg, data.title);
1570			$('body').loading('stop');
1571		}
1572	});
1573}
1574
1575function setGadgetImage(gadId) {
1576	var sGadId = util_getValue("gad_sel");
1577	if (gadId != sGadId) {
1578		var el = window.document.getElementById("gadImage_" + gadId);
1579		el.style.visibility = 'visible';
1580		el = window.document.getElementById("gadImage_" + sGadId);
1581		el.style.visibility = 'hidden';
1582		util_setValue("gad_sel", gadId);
1583	}
1584}
1585
1586// function addGadget(gadId) {
1587// var val = gadId + ",";
1588// var str = $("#mod_gadgets").val();
1589// if (!util_contains(str, val)) {
1590// str += val;
1591// }
1592// var n = $("#gad_" + gadId + " option:selected").val();
1593//
1594// if (n > 0) {
1595// $("#row_gad-" + gadId).addClass("sipi_row_gad-select");
1596// } else {
1597// $("#row_gad-" + gadId).removeClass("sipi_row_gad-select");
1598// }
1599// $("#mod_gadgets").val(str);
1600// $("#menordId").val(0);
1601// }
1602
1603// function elabGadget() {
1604// var mod = $("#mod_gadgets").val();
1605// var vet = mod.split(",");
1606// var str = "";
1607// var sp = "";
1608// for (i = 0; i < vet.length; i++) {
1609// if (vet[i] != "") {
1610// num = parseInt(util_getSelect("gad_" + vet[i]));
1611// if (num > 0) {
1612// str += sp + "" + vet[i] + "@" + num;
1613// sp = ",";
1614// }
1615// }
1616// }
1617// $("#site_gadgets").val(str);
1618// }
1619
1620function goBackPage(page) {
1621	if (page == "booking") {
1622		page += "?skipSol=0";
1623		//alert(page);
1624	}
1625	window.location.href = page;
1626}
1627
1628
1629// function goNext() {
1630// window.document.siteForm.submit();
1631// }
1632
1633function util_setValueHtml(elName, value) {
1634	window.document.getElementById(elName).innerHTML = value;
1635}
1636
1637function util_setValue(elName, value) {
1638	window.document.getElementById(elName).value = value;
1639}
1640
1641function util_getValue(elName) {
1642	return window.document.getElementById(elName).value;
1643}
1644
1645function util_getSelect(elName) {
1646	el = window.document.getElementById(elName);
1647	return el[el.selectedIndex].value;
1648}
1649
1650function util_contains(str, value) {
1651	if (str.search(value) == -1)
1652		return false;
1653	return true;
1654}
1655
1656function inWeekReg(arr, par, reg) {
1657	i = arr;
1658	if (arr == par)
1659		return false;
1660	while (true) {
1661		if (i == reg) {
1662			return true;
1663		} else if (i == par) {
1664			return false;
1665		}
1666		i++;
1667		if (i == 7)
1668			i = 0;
1669	}
1670	return false;
1671}
1672
1673function num00(aNum) {
1674	lOut = aNum;
1675	lOutTmp = aNum.substr(0, 1);
1676	if (lOutTmp == 0)
1677		lOut = aNum.substr(1, 1);
1678	return lOut;
1679}
1680
1681// function setGiornoPartenza(i) {
1682// var el = window.document.getElementById("giorno_partenza");
1683// var valore = giorno_partenza[i];
1684// el.innerHTML = valore[1];
1685// }
1686
1687function getNum1Ora(val) {
1688	return "1" + val.substr(0, 2) + "" + val.substr(3, 2);
1689}
1690
1691function getNumOra(val) {
1692	return val.substr(0, 2) + "" + val.substr(3, 2);
1693}
1694
1695// function booking_getSuiSel() {
1696// var typeRoom = $("#preTypeRoom").val();
1697// var l = $("#camera_" + typeRoom + " option:selected").val();
1698// return l && l != "@MK" ? parseInt(l.split("@")[0]) : ""
1699// }
1700
1701// function booking_getSuiCodSel() {
1702// var typeRoom = $("#preTypeRoom").val();
1703// var s = $("#camera_" + typeRoom + " option:selected").val()
1704// return s ? s.split("@")[1] : "";
1705// }
1706
1707// function getMenuSel() {
1708// lForm = window.document.siteForm;
1709// lSel = lForm.listMenu.selectedIndex;
1710// return lForm.listMenu.options[lSel].value;
1711// }
1712
1713function set00(val) {
1714	if (val.length == 1)
1715		return "0" + val;
1716	return val;
1717}
1718
1719// function toColor(color) {
1720// var typeRoom = $("#preTypeRoom").val();
1721// if (typeRoom == "TM") {
1722// lForm = window.document.siteForm;
1723// lForm.oraArrivo.style.backgroundColor = color;
1724// lForm.oraPartenza.style.backgroundColor = color;
1725// }
1726// }
1727
1728// function toColorText(color, text) {
1729// var typeRoom = $("#preTypeRoom").val();
1730// if (typeRoom == "TM") {
1731// lForm = window.document.siteForm;
1732// lForm.oraArrivo.style.backgroundColor = color;
1733// lForm.oraPartenza.style.backgroundColor = color;
1734// lForm.oraArrivo.style.color = text;
1735// lForm.oraPartenza.style.color = text;
1736// }
1737// }
1738
1739// function toColorArr(color) {
1740// var typeRoom = $("#preTypeRoom").val();
1741// if (typeRoom == "TM") {
1742// lForm = window.document.siteForm;
1743// lForm.oraArrivo.style.backgroundColor = color;
1744// }
1745// }
1746
1747// function toColorPar(color) {
1748// var typeRoom = $("#preTypeRoom").val();
1749// if (typeRoom == "TM") {
1750// lForm = window.document.siteForm;
1751// lForm.oraPartenza.style.backgroundColor = color;
1752// }
1753// }
1754
1755// function toColorTextPar(color, text) {
1756// var typeRoom = $("#preTypeRoom").val();
1757// if (typeRoom == "TM") {
1758// lForm = window.document.siteForm;
1759// lForm.oraPartenza.style.backgroundColor = color;
1760// lForm.oraPartenza.style.color = text;
1761// }
1762// }
1763
1764function booking_toggleModCheckOut(index) {
1765	var elSel = $("#box_sol_sel");
1766	var indexSel = elSel.val();
1767
1768	// uguali
1769	if ("" + index == "" + indexSel || ("" + index == "" && indexSel != "")) {
1770		var el = $("#box_SOL_" + indexSel);
1771		slideUpFade(el);
1772
1773		elSel.val("");
1774
1775		return null;
1776	} else {
1777		if ("" + indexSel != "") {
1778			var el = $("#box_SOL_" + index);
1779			slideUpFade(el);
1780
1781			// $("#card_SOL_" + indexSel).removeClass("card-booking-selected");
1782		}
1783		// $("#card_SOL_" + index).addClass("card-booking-selected");
1784		elSel.val(index);
1785		return $("#box_SOL_" + index);
1786	}
1787}
1788
1789function booking_changeCheckOut(index, suiId, solCod) {
1790	var el = booking_toggleModCheckOut(index);
1791
1792	if (el) {
1793		$("#suiId_SOL").val(suiId);
1794
1795		slideDownFade(el.html($("#box_SOL-booking-base").html()));
1796
1797		var mArr = moment(el.data("arr"), "YYYYMMDDHHmm");
1798		var mPar = moment(el.data("par"), "YYYYMMDDHHmm");
1799
1800		el.find(".box_LM-arr").val(mArr.format("HH:mm"));
1801		el.find(".box_LM-par").val(mPar.format("HH:mm"));
1802	}
1803}
1804
1805function slideUpFade(elem) {
1806	var fade = {
1807		opacity: 0,
1808		transition: 'opacity 0.5s'
1809	};
1810	elem.css(fade).slideUp();
1811}
1812
1813function slideDownFade(elem) {
1814	var fade = {
1815		opacity: 1,
1816		transition: 'opacity 0.5s'
1817	};
1818	elem.css(fade).slideDown();
1819}
1820
1821var previousScroll = 0;
1822
1823function scrollPanel() {
1824    var windowHeight = window.innerHeight;
1825    var headerHeight = 105;
1826    var footerHeight = 37;
1827    var padding = 10;
1828    var viewportHeight = windowHeight - headerHeight - footerHeight - padding;
1829    var el = $(".child");
1830    var elPanel = $("#sipi_panel");
1831    var elBody = $("#sipi_row");
1832    
1833    var elHeight = el.innerHeight();
1834    var elPanelHeight = elPanel.innerHeight();
1835    var elBodyHeight = elBody.innerHeight();
1836    var delta = viewportHeight - elPanelHeight;
1837
1838    if (delta >= 0) {
1839        delta = 105;
1840    } else {
1841        delta = 105 + delta;
1842    }
1843
1844    var docViewTop = $(window).scrollTop();
1845    
1846    // Variabili per la gestione del touch
1847var startY = 0;
1848var scrolling = false;
1849
1850// Variabile per la gestione del tocco
1851var startY = 0;
1852var scrolling = false;
1853
1854
1855var touchSpeed = 100; // Puoi regolare questa variabile per cambiare la velocità dello scrolling con il touch
1856
1857// Gestione dello scrolling su dispositivi mobili
1858elPanel.on('touchstart', function(event) {
1859    scrolling = true;
1860    startY = event.originalEvent.touches[0].pageY;
1861    //$("body").css("overflow", "hidden");
1862});
1863
1864elPanel.on('touchmove', function(event) {
1865    if (scrolling) {
1866        var currentY = event.originalEvent.touches[0].pageY;
1867        var distance = (currentY - startY) * touchSpeed;
1868        var currentTop = parseInt(el.css("top"), 10);
1869        var newTop = Math.min(Math.max(currentTop + distance, delta), 105);
1870        el.css("top", newTop + "px");
1871        startY = currentY;
1872    }
1873});
1874
1875elPanel.on('touchend', function(event) {
1876    scrolling = false;
1877});
1878
1879
1880// Gestione dello scrolling con la rotella del mouse
1881$(window).on('wheel', function(event) {
1882    var deltaScroll = event.originalEvent.deltaY;
1883
1884    if (deltaScroll > 0) {
1885        // Scrolling verso il basso
1886        if (docViewTop > 0) {
1887            el.css("top", delta + "px");
1888        }
1889    } else {
1890        // Scrolling verso l'alto
1891        el.css("top", "105px");
1892    }
1893});
1894
1895    
1896
1897    // Imposta l'overflow-y del pannello el in base alla condizione di scorrimento
1898    if (elPanelHeight > elBodyHeight && delta < 0) {
1899        el.css("overflow-y", "auto");
1900    } else {
1901        el.css("overflow-y", "visible");
1902    }
1903
1904    previousScroll = docViewTop;
1905}
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918function booking_selectShowSol(index, pzId) {
1919
1920	$("[id^=box_period_]").each(
1921		function(index, element) {
1922			$(this).removeClass("card-sol-period-select");
1923		});
1924
1925	$("#box_period_" + index + "_" + pzId).addClass("card-sol-period-select");
1926
1927	// BOX soluzione
1928	var elBox = $("#box_SOL_" + index);
1929
1930	$("#preEntrata").val(elBox.data("arr"));
1931	$("#preUscita").val(elBox.data("par"));
1932	$("#preDuration").val(parseInt(elBox.data("duration")) / 30);
1933	$("#packageType").val(elBox.data("packagetype"));
1934
1935	$("#suiCod").val(elBox.data("suicod"));
1936	$("#suiId").val(elBox.data("suiid"));
1937	$("#suiName").val(elBox.data("suiname"));
1938	$("#prePeople").val(elBox.data("peoplesol"));
1939
1940	var oldSolCod = $("#solCod").val();
1941
1942	$("#solCod").val(elBox.data("solcod"));
1943	$("#solType").val(elBox.data("soltype"));
1944
1945	// Pro ID
1946	$("#solTypeId").val(elBox.data("pro-id"));
1947
1948	$("#suiPeopleMax").val(elBox.data("people-max"));
1949	$("#suiPeopleMin").val(elBox.data("people-min"));
1950	$("#suiPeoplePlus").val(elBox.data("people-plus"));
1951
1952	solTypeValid = true;
1953
1954	// LOAD PROMO
1955	$("#proName").val(elBox.data("pro-desc"));
1956	$("#proId").val(elBox.data("pro-id"));
1957
1958	// LOAD MAGG
1959	$("#proNameAdd").val(elBox.data("pro-desc-add"));
1960	$("#proIdAdd").val(elBox.data("pro-id-add"));
1961
1962	// BOX arrangiamento
1963	var elBoxArr = $("#box_period_" + index + "_" + pzId);
1964	var elBoxArrDescWeb = $("#box_period_" + index + "_" + pzId + "_desc");
1965
1966	$("#prePrezzo").val(elBoxArr.data("booking-price"));
1967	$("#prePrezzoApp").val(elBoxArr.data("booking-price-app"));
1968	$("#prePrezzoCp").val(elBoxArr.data("booking-price-cp"));
1969	$("#prePrezzoAppExtraIn").val(elBoxArr.data("booking-price-extrain"));
1970	$("#prePrezzoAppExtraOut").val(elBoxArr.data("booking-price-extraout"));
1971
1972	$("#proPrezzo").val(elBoxArr.data("booking-pro-price"));
1973	$("#proPrezzoAdd").val(elBoxArr.data("booking-pro-price-add"));
1974	$("#prePeoplePrice").val(elBoxArr.data("booking-people-price"));
1975	$("#prePeoplePlus").val(elBoxArr.data("booking-people-plus"));
1976
1977	$("#pzId").val(elBoxArr.data("booking-pz-id"));
1978	$("#perTitle").val(elBoxArr.data("booking-period-title"));
1979	$("#perTitleDescWeb").val(elBoxArrDescWeb.html());
1980
1981	$("#perServiceInclude").val(elBoxArr.data("per-service-include"));
1982
1983	//	console.log("serviceInclude", $("#perServiceInclude").val());
1984
1985	$("#perId").val(elBoxArr.data("booking-period-id"));
1986
1987
1988
1989	//console.log("PerId:", $("#perId").val());
1990
1991	booking_setListBeds(index);
1992
1993	page_setValueInfo(true);
1994
1995	$("[id^=card_SOL_]").each(
1996		function(index, element) {
1997			$(this).removeClass("card-booking-selected");
1998		});
1999
2000	$("#card_SOL_" + index).addClass("card-booking-selected");
2001
2002	// if (calendar) {
2003	// $("#suiId_SOL").val(suiId);
2004	// } else if (change) {
2005	// booking_changeCheckOut(index, $("#suiId").val(), $("#solCod").val());
2006	// //
2007	// $("#btn_confirm_"+index).html("Conferma").addClass("btn-warning").removeClass("btn-success");
2008	// } else {
2009	// booking_toggleModCheckOut("");
2010	//
2011	// $("#btn_confirm_" +
2012	// index).html("Seleziona").addClass("btn-success").removeClass("btn-warning");
2013	// $("#btn_confirm_sx_" +
2014	// index).html("Seleziona").addClass("btn-success").removeClass("btn-warning");
2015	//
2016	// }
2017
2018	if (oldSolCod != solCod) {
2019		booking_openModalChangePeople($("#prePeople").val());
2020	}
2021}
2022
2023function booking_setListBeds(index, prefix) {
2024
2025	var beds = listBeds["box_SOL_" + index];
2026	var el = $("#bdsId");
2027	var selId = el.val();
2028	var bed;
2029
2030	if (selId != "") {
2031		for (var b of beds) {
2032			if (b.id == selId) {
2033				bed = b;
2034				break;
2035			}
2036		}
2037	}
2038
2039	if (!bed) {
2040		bed = beds[0];
2041	}
2042
2043	el.val(bed.id);
2044	$("#bdsNum").val(beds.length);
2045	$("#bdsTitle").val(bed.value);
2046
2047}
2048
2049function goChangeBeds() {
2050	ajax_list_beds($("#suiId").val(), $("#prePeople").val(), $("#bdsId").val());
2051}
2052
2053function goChangeBedsMb() {
2054	ajax_list_bedsMb($("#suiId").val(), $("#prePeople").val(), $("#bdsId").val());
2055}
2056
2057function booking_openModalChangePeople(num) {
2058	// se la suite non gestisce il numero di presone
2059	if (parseInt($("#suiPeopleMax").val()) + parseInt($("#suiPeoplePlus").val()) < parseInt(num) || parseInt($("#suiPeopleMin").val()) > parseInt(num)) {
2060		$('#modal_changepeople').modal('show');
2061		return true;
2062	}
2063	return false;
2064}
2065
2066function booking_selectShowSolSx(index, pzId) {
2067	booking_selectShowSol(index, pzId);
2068	header_doShowPanel();
2069}
2070
2071// function booking_cleanShowSol() {
2072//	
2073// $("#preEntrata").val("");
2074// $("#preUscita").val("");
2075//	
2076// $("#prePrezzo").val(0);
2077// $("#preDuration").val(0);
2078//	
2079// $("#preType").val("");
2080// $("#suiCod").val("");
2081// $("#suiId").val("");
2082// $("#suiName").val("");
2083// $("#codSol").val("");
2084//
2085// $("#solType").val("");
2086//	
2087// $("#proName").val("");
2088// $("#proPrezzo").val(0);
2089// $("#proId").val("");
2090//	
2091// $("#proNameAdd").val("");
2092// $("#proPrezzoAdd").val(0);
2093// $("#proIdAdd").val("");
2094//	
2095// page_setValueAll();
2096// }
2097
2098
2099function info_doOpenModalSave() {
2100	$('#modal_save').modal('show');
2101}
2102
2103function page_doOpenModalUserdata() {
2104	$('#modalUserdata').modal('show');
2105
2106	login_addAutoValidateFormAdd($('#info_name'));
2107	login_addAutoValidateFormAdd($('#info_surname'));
2108	login_addAutoValidateFormAdd($('#info_tel'));
2109
2110	login_addAutoValidateFormAdd($('#info_password_orig'));
2111	login_addAutoValidateFormAdd($('#info_password'));
2112	login_addAutoValidateFormAdd($('#info_password2'));
2113
2114	$('#info-data-tab').click();
2115	modal_activeTabUserData();
2116}
2117
2118function page_doOpenModalMsg(msg, title) {
2119	$("#modal_msg-body").html(msg);
2120	$("#modal_msg-title").html(title);
2121	$('#modal_notice_ajax').modal('show');
2122
2123	$('#modal_notice_ajax').on('hidden.bs.modal', function(e) {
2124		if (elFocus)
2125			elFocus.focus();
2126	})
2127}
2128
2129function page_doOpenModalNotice() {
2130	$('#modal_notice').modal('show');
2131}
2132
2133function privacy_doOpenModalPrivacy() {
2134	ajax_modal_data("pv");
2135	// $('#modal_privacy').modal('show');
2136}
2137
2138function privacy_doOpenModalVendita() {
2139	ajax_modal_data("cv");
2140	// $('#modal_vendita').modal('show');
2141}
2142
2143function page_doOpenModalLogin() {
2144	$("#form_row-auth-username").removeClass("has-danger");
2145	$("#form_row-auth-pwd").removeClass("has-danger");
2146	$("#auth_alert").hide();
2147	$('#modal_login').on('shown.bs.modal', function() {
2148		$("#auth_username").focus();
2149	});
2150	$('#modal_login').modal('show');
2151
2152}
2153
2154// function login_doCheck() {
2155// var msg = $("#privacy").val() != "si" ? "Non è stato dato il consenso al
2156// trattamento dei dati personali !"
2157// : $("#vendita").val() != "si" ? "Non è stato dato il consenso ai temini e
2158// condizioni di vendita !"
2159// : "";
2160// if (msg != "") {
2161// page_doOpenModalMsg(msg);
2162// return false;
2163// }
2164// return true;
2165// }
2166
2167// Utility
2168
2169// function oraToTime(ora) {
2170// return ora.replace(":", "");
2171// }
2172
2173function util_oraToBlock(ora) {
2174	lVal = ora.split(":");
2175	inizio = lVal[0].substr(0, 1);
2176	if (inizio == "0") {
2177		num = lVal[0].substr(1, 1);
2178	} else {
2179		num = lVal[0];
2180	}
2181	lNum = parseInt(num) * 2;
2182	if (lVal[1] == "30")
2183		lNum = lNum + 1;
2184	return lNum;
2185}
2186
2187function util_oraToInt(ora) {
2188	return parseInt(ora.replace(":", ""));
2189}
2190
2191// function getDeltaDate() {
2192// var lForm = window.document.siteForm;
2193// var iArrivo = lForm.giorno_arrivo.selectedIndex;
2194// return iPartenza - iArrivo;
2195// }
2196
2197// function booking_numDeltaTime(deltaDate, oraArrivo, oraPartenza) {
2198// var lForm = window.document.siteForm;
2199// oraA = oraToNum(oraArrivo);
2200// oraP = oraToNum(oraPartenza);
2201// oraP = oraP + 48 * deltaDate;
2202// deltaOra = oraP - oraA;
2203// return parseInt(deltaOra);
2204// }
2205
2206function booking_durationToLabel(deltaOra) {
2207	if (deltaOra > 0) {
2208		var out = "";
2209		if (deltaOra > 48) {
2210			resto = deltaOra % 48;
2211			valoreIntero = (deltaOra - resto) / 48;
2212			if (valoreIntero == 1) {
2213				out = valoreIntero + " gg, ";
2214			} else {
2215				out = valoreIntero + " gg, ";
2216			}
2217			deltaOra = resto;
2218		}
2219		resto = deltaOra % 2;
2220		valoreIntero = (deltaOra - resto) / 2;
2221		if (resto == 1) {
2222			if (valoreIntero == 0) {
2223				out += "mezz' ora";
2224			} else if (valoreIntero == 1) {
2225				out += valoreIntero + " ora e mezza";
2226			} else {
2227				out += valoreIntero + " ore e mezza";
2228			}
2229		} else if (valoreIntero > 0) {
2230			if (valoreIntero == 1) {
2231				out += valoreIntero + " ora";
2232			} else {
2233				out += valoreIntero + " ore";
2234			}
2235		}
2236	} else {
2237		out = "";
2238	}
2239
2240	return out;
2241}
2242
2243// function booking_reloadForm(){
2244// var typeRoom = $("#preTypeRoom").val();
2245// // nel caso Tema ho gia le date impostate da JSP
2246// if(typeRoom == "ST"){
2247// console.log("preEntrata:", $("#preEntrata").val());
2248// //booking_cleanSuiteBoxTM();
2249// $('#form_datetime1').datetimepicker('setDate',
2250// util_getMomentArr().format('YYYY-MM-DD HH:mm'));
2251// $('#form_datetime2').datetimepicker('setDate',
2252// util_getMomentPar().format('YYYY-MM-DD HH:mm'));
2253// }
2254// }
2255
2256function util_getValoreTime(aVal) {
2257	lValInt = parseInt(aVal / 2);
2258	lResto = aVal - (lValInt * 2);
2259	if (lValInt < 10)
2260		lValInt = "0" + lValInt;
2261	if (lResto != 0) {
2262		lOut = lValInt + ":30";
2263	} else {
2264		lOut = lValInt + ":00";
2265	}
2266	return lOut;
2267}
2268
2269function getDateFromStr(dtStr) {
2270	var m = parseInt(dtStr.substr(4, 2), 10);
2271	return new Date(dtStr.substr(0, 4), m - 1, dtStr.substr(6, 2));
2272}
2273
2274// function booking_reloadFormTM() {
2275// // // setGiornoPartenza(iPartenza);
2276// // // $("#giorno_partenza").val($("#giorno_arrivo option:selected").text());
2277// // $("#giorno_partenza").val(giorno_partenza[iPartenza][1]);
2278//	
2279//	
2280// setPrezzi();
2281//	
2282// booking_validitaTM();
2283// }
2284
2285// function booking_changeArrivoST() {
2286// booking_cleanSuiteBoxTM();
2287// booking_validitaST();
2288// }
2289
2290function booking_changeCheckIn() {
2291	// booking_cleanForm();
2292	var type = $("#box_type").val();
2293	$("#dta_input_cal_" + type).focus();
2294	booking_scrollStartForm();
2295}
2296
2297// function booking_changePartenzaST() {
2298// booking_cleanSuiteBoxTM();
2299// booking_validitaST();
2300// }
2301
2302function util_getMomentUrl(el) {
2303	if (el.val() != "")
2304		return moment(el.val(), "YYYYMMDDHHmm");
2305	return null;
2306}
2307
2308function util_getTimeToUrl(el) {
2309	var m = moment(el.val());
2310	return m.format("YYYYMMDDHHmm");
2311}
2312
2313function util_getMomentArr() {
2314	return util_getMomentUrl($("#preEntrata"));
2315}
2316
2317function util_getMomentPar() {
2318	return util_getMomentUrl($("#preUscita"));
2319}
2320
2321function booking_getIndexListaDayTM(dt) {
2322	for (i = 0; i < listDayTM.length; i++) {
2323		if (listDayTM[i][0] == dt)
2324			return i;
2325	}
2326	return 0;
2327}
2328
2329// function booking_changeArrivoTM(delta) {
2330// booking_cleanSuiteBoxST();
2331//
2332// var msg = "";
2333// var mArr = util_getMomentArr();
2334// var mPar = util_getMomentPar();
2335//
2336// mArr = mArr.add(delta * 30, 'minutes');
2337//
2338// if (mArr < mDtStart) {
2339// msg = 'La data di arrivo non puo\' essere antecedente a '
2340// + util_momentumFormatLabel(mDtStart);
2341// mArr = mDtStart;
2342// } else if (mArr > mDtEnd) {
2343// msg = 'La data di arrivo non puo\' essere successiva a '
2344// + util_momentumFormatLabel(mDtEnd);
2345// mArr = mDtStart;
2346// } else if (mArr > mPar) {
2347// mPar = mArr;
2348// }
2349// if (msg != "")
2350// page_doOpenModalMsg(msg);
2351//
2352// booking_setFormTime(mArr, mPar);
2353// booking_setBoxTimeTM();
2354// booking_validitaTM();
2355// }
2356
2357// function booking_setFormTime(mArr, mPar) {
2358// $("#preEntrata").val(mArr.format("YYYYMMDDHHmm"));
2359// $("#preUscita").val(mPar.format("YYYYMMDDHHmm"));
2360// var iArr = booking_getIndexListaDayTM(mArr.format("YYYY-MM-DD"));
2361// $("#preType").val(listDayTM[iArr][2]);
2362// }
2363
2364// function booking_setBoxTimeTM() {
2365//
2366// var mArr = util_getMomentArr();
2367// var mPar = util_getMomentPar();
2368//
2369// var iArr = booking_getIndexListaDayTM(mArr.format("YYYY-MM-DD"));
2370//
2371// console.log("Combo Arrivo", iArr);
2372// // Valori BOX TM
2373// $("#oraArrivoTM").val(mArr.format("HH:mm"));
2374// $("#oraPartenzaTM").val(mPar.format("HH:mm"));
2375// $("#giornoArrivoTM").prop("selectedIndex", iArr);
2376// $("#giornoPartenzaTM").val(util_momentumFormatLabel(mPar));
2377//
2378// // var tArr = mArr.format("HH");
2379// // var tPar = mPar.format("HH");
2380//
2381// var noFullArr = mArr.format("mm") == 30;
2382// var noFullPar = mPar.format("mm") == 30;
2383// var equal = mArr.isSame(mPar);
2384//
2385// // console.log("Equal", equal);
2386// // console.log("Equal", mPar);
2387//
2388// var halfArr = "triangle-down-right";
2389// var halfPar = "triangle-up-left";
2390// var full = "triangle-full";
2391//
2392// var miArr = moment(mArr.format("YYYY-MM-DD"));
2393// var miPar = moment(mPar.format("YYYY-MM-DD"));
2394//
2395// var afterArr = false;
2396// $("[id^=cl-arr-]").each(function() {
2397// // var id = $(this).data("id");
2398// if (mArr.isSame(miArr)) {
2399// $(this).addClass("cl-sel");
2400// afterArr = true;
2401// $(this).addClass(equal ? "" : noFullArr ? halfArr : full);
2402// } else {
2403// $(this).removeClass("cl-sel");
2404// if (afterArr && miArr < mPar) {
2405// $(this).addClass(full);
2406// }
2407// }
2408// miArr = miArr.add(1, 'hours');
2409// });
2410//
2411// var beforePar = true;
2412// $("[id^=cl-par-]").each(function() {
2413// // var id = $(this).data("id");
2414// if (mPar.isSame(miPar)) {
2415// $(this).addClass("cl-sel");
2416// beforePar = false;
2417// $(this).addClass(equal ? "" : noFullPar ? halfPar : full);
2418// } else {
2419// $(this).removeClass("cl-sel");
2420// if (beforePar && miPar > mArr) {
2421// $(this).addClass(full);
2422// }
2423// }
2424// miPar = miPar.add(1, 'hours');
2425// });
2426// }
2427
2428// function booking_showDivTime(elBox, index){
2429// var arrMod = elBox.data("arr");
2430// if(arrMod != elBox.data("arr-orig")){
2431// $("#dt_LM_arr-"+index).addClass("dt_LM-orig");
2432// $("#row_LM_arr-mod-"+index).show().html(arrMod);
2433// }
2434// var parMod = elBox.data("par");
2435// if(parMod != elBox.data("par-orig")){
2436// $("#dt_LM_par-"+index).addClass("dt_LM-orig");
2437// $("#row_LM_par-mod-"+index).show().html(parMod);
2438// }
2439// }
2440
2441function booking_changeTimeParSolCalendar(elBox, dt, index) {
2442	var m = moment(dt);
2443	booking_changeTimeParSolUtil(elBox, m, index);
2444}
2445
2446function booking_changeTimeArrSolCalendar(elBox, dt, index) {
2447	var m = moment(dt);
2448	booking_changeTimeArrSolUtil(elBox, m, index);
2449}
2450
2451function booking_changeTimeParSol(elBox, delta, index) {
2452	var dt = elBox.data("par");
2453	var mDt = moment(dt, "YYYYMMDDHHmm");
2454	var m = mDt.add(30 * delta, "minutes");
2455
2456	booking_changeTimeParSolUtil(elBox, m, index);
2457
2458}
2459
2460function booking_changeTimeParSolUtil(elBox, m, index) {
2461	var dtParLim = elBox.data("par-lim");
2462	var dtArr = elBox.data("arr");
2463
2464	var mDtParLimitSup = moment(dtParLim, "YYYY-MM-DD HH:mm");
2465	var mDtArr = moment(dtArr, "YYYYMMDDHHmm");
2466	var mDtParLimitInf = mDtArr.add(120, "minutes");
2467
2468	// console.log("m", m);
2469
2470	if (m.format("YYYYMMDDHHmm") == elBox.data("par-orig")) {
2471		$("#dt_LM_par-" + index).removeClass("dt_LM-orig");
2472		$("#dt_LM_par-mod-" + index).removeClass("is-invalid").removeClass(
2473			"is-valid").html("");
2474		elBox.find(".form_row-par_LM").removeClass("is-invalid");
2475		elBox.find(".box_LM-par").removeClass("is-invalid");
2476	} else if (m >= mDtParLimitSup) {
2477		m = mDtParLimitSup;
2478		$("#dt_LM_par-" + index).addClass("dt_LM-orig");
2479		$("#dt_LM_par-mod-" + index).removeClass("is-valid").addClass(
2480			"is-invalid").html(
2481				"Modifica consentita solo all'interno dell'arco orario");
2482		elBox.find(".form_row-par_LM").addClass("is-invalid");
2483		elBox.find(".box_LM-par").addClass("is-invalid");
2484	} else if (m < mDtParLimitInf) {
2485		m = mDtParLimitInf;
2486		$("#dt_LM_par-" + index).addClass("dt_LM-orig");
2487		$("#dt_LM_par-mod-" + index).removeClass("is-valid").addClass(
2488			"is-invalid").html("Arco orario inferiore a 2 ore");
2489		elBox.find(".form_row-par_LM").addClass("is-invalid");
2490		elBox.find(".box_LM-par").addClass("is-invalid");
2491	} else {
2492		$("#dt_LM_par-" + index).addClass("dt_LM-orig");
2493		$("#dt_LM_par-mod-" + index).removeClass("is-invalid").addClass(
2494			"is-valid").html(m.format("ddd - DD MMM - HH:mm"));
2495		elBox.find(".form_row-par_LM").removeClass("is-invalid");
2496		elBox.find(".box_LM-par").removeClass("is-invalid");
2497	}
2498	elBox.data("par", m.format("YYYYMMDDHHmm"));
2499
2500	elBox.find(".box_LM-par").val(m.format("HH:mm"));
2501
2502	// var md = moment(m);
2503	// var dif = md.startOf('day').diff(mDtArr.startOf('day'), 'days');
2504	//	
2505	// if(dif > 0){
2506	// $("#line_multi-day-"+index).show();
2507	// $("#line_one-day-"+index).hide();
2508	// } else {
2509	// $("#line_one-day-"+index).show();
2510	// $("#line_multi-day-"+index).hide();
2511	// }
2512	//	
2513	// $("#line_multi-day-diff-"+index).html("(+"+dif+")");
2514	// $("#line_multi-day-dp-"+index).html(m.format("ddd DD MMM"));
2515	// $("#line_multi-day-tp-"+index).html(m.format("HH:mm"));
2516	//	
2517	// $("#line_one-day-tp-"+index).html(m.format("HH:mm"));
2518}
2519
2520function booking_changeTimeArrSolUtil(elBox, m, index) {
2521	var dtArrLim = elBox.data("arr-lim");
2522	var dtPar = elBox.data("par");
2523
2524	var mDtArrLimitInf = moment(dtArrLim, "YYYY-MM-DD HH:mm");
2525	var mDtPar = moment(dtPar, "YYYYMMDDHHmm");
2526
2527	var mDtArrLimitSup = mDtPar.add(-120, "minutes");
2528
2529	if (m.format("YYYYMMDDHHmm") == elBox.data("arr-orig")) {
2530		$("#dt_LM_arr-" + index).removeClass("dt_LM-orig");
2531		$("#dt_LM_arr-mod-" + index).removeClass("is-invalid").removeClass(
2532			"is-valid").html("");
2533		elBox.find(".form_row-arr_LM").removeClass("is-invalid");
2534		elBox.find(".box_LM-arr").removeClass("is-invalid");
2535	} else if (m <= mDtArrLimitInf) {
2536		m = mDtArrLimitSup;
2537		$("#dt_LM_arr-" + index).addClass("dt_LM-orig");
2538		$("#dt_LM_arr-mod-" + index).removeClass("is-valid").addClass(
2539			"is-invalid").html(
2540				"Modifica consentita solo all'interno dell'arco orario");
2541		elBox.find(".form_row-arr_LM").addClass("is-invalid");
2542		elBox.find(".box_LM-arr").addClass("is-invalid");
2543	} else if (m > mDtArrLimitSup) {
2544		m = mDtArrLimitSup;
2545		$("#dt_LM_arr-" + index).addClass("dt_LM-orig");
2546		$("#dt_LM_arr-mod-" + index).removeClass("is-valid").addClass(
2547			"is-invalid").html("Arco orario inferiore a 2 ore");
2548		elBox.find(".form_row-arr_LM").addClass("is-invalid");
2549		elBox.find(".box_LM-arr").addClass("is-invalid");
2550	} else {
2551		$("#dt_LM_arr-" + index).addClass("dt_LM-orig");
2552		$("#dt_LM_arr-mod-" + index).removeClass("is-invalid").addClass(
2553			"is-valid").html(m.format("ddd - DD MMM - HH:mm"));
2554		elBox.find(".form_row-arr_LM").removeClass("is-invalid");
2555		elBox.find(".box_LM-arr").removeClass("is-invalid");
2556	}
2557
2558	elBox.data("arr", m.format("YYYYMMDDHHmm"));
2559
2560	// elBox.find(".box_LM-par").val(m.format("HH:mm"));
2561
2562	// var md = moment(m);
2563	// var dif = md.startOf('day').diff(mDtArr.startOf('day'), 'days');
2564	//	
2565	// if(dif > 0){
2566	// $("#line_multi-day-"+index).show();
2567	// $("#line_one-day-"+index).hide();
2568	// } else {
2569	// $("#line_one-day-"+index).show();
2570	// $("#line_multi-day-"+index).hide();
2571	// }
2572	//	
2573	// $("#line_multi-day-diff-"+index).html("(+"+dif+")");
2574	// $("#line_multi-day-dp-"+index).html(m.format("ddd DD MMM"));
2575	// $("#line_multi-day-tp-"+index).html(m.format("HH:mm"));
2576	//	
2577	// $("#line_one-day-tp-"+index).html(m.format("HH:mm"));
2578}
2579
2580// function booking_changeTimeArrSol(elBox, delta, index) {
2581//
2582// var dt = elBox.data("arr");
2583// var dtArrLim = elBox.data("arr-lim");
2584// var dtPar = elBox.data("par");
2585//
2586// var mDt = moment(dt, "YYYYMMDDHHmm");
2587// var mDtArrLim = moment(dtArrLim, "YYYYMMDDHHmm");
2588// var mDtPar = moment(dtPar, "YYYYMMDDHHmm");
2589//
2590// var m = mDt.add(30 * delta, "minutes");
2591//
2592// if (m < mDtArrLim) {
2593// m = mDtArrLim;
2594// $("#dt_LM_arr-" + index).removeClass("dt_LM-orig");
2595// $("#dt_LM_arr-mod-" + index).removeClass("is-valid").addClass(
2596// "is-invalid").html(
2597// "Modifica consestita solo all'interno dell'arco orario");
2598// elBox.find(".form_row-arr_LM").addClass("is-invalid");
2599// elBox.find(".box_LM-arr").addClass("is-invalid");
2600// elBox.data("arr", m.format("YYYYMMDDHHmm"));
2601// } else if (m > mDtPar) {
2602// m = mDtPar;
2603// $("#dt_LM_arr-" + index).removeClass("dt_LM-orig");
2604// $("#dt_LM_arr-mod-" + index).removeClass("is-valid").addClass(
2605// "is-invalid").html("Arco orario insufficiente");
2606// elBox.find(".form_row-arr_LM").addClass("is-invalid");
2607// elBox.find(".box_LM-arr").addClass("is-invalid");
2608// } else {
2609// $("#dt_LM_arr-" + index).addClass("dt_LM-orig");
2610// $("#dt_LM_arr-mod-" + index).removeClass("is-invalid").addClass(
2611// "is-valid").html(m.format("ddd - DD MMM YYYY - HH:mm"));
2612// elBox.find(".form_row-arr_LM").removeClass("is-invalid");
2613// elBox.find(".box_LM-arr").removeClass("is-invalid");
2614// }
2615// elBox.data("arr", m.format("YYYYMMDDHHmm"));
2616// }
2617
2618function booking_changeArrivoSolCalendar(dt, index) {
2619	// var index = $("#box_sol_sel").val();
2620	var elBox = $("#box_SOL_" + index);
2621
2622	booking_changeTimeArrSolCalendar(elBox, dt, index);
2623
2624	booking_setSolution(index);
2625
2626	// booking_cleanSol(true);
2627	solTypeValid = false;
2628
2629	// booking_cleanShowSol();
2630	// $("#btn_confirm_" +
2631	// index).html("Conferma").addClass("btn-warning").removeClass("btn-success");
2632	// $("#btn_confirm_sx_" +
2633	// index).html("Conferma").addClass("btn-warning").removeClass("btn-success");
2634
2635	page_setValueInfo(false);
2636
2637}
2638
2639function booking_changePartenzaSolCalendar(dt, index) {
2640	// var index = $("#box_sol_sel").val();
2641	var elBox = $("#box_SOL_" + index);
2642
2643	booking_changeTimeParSolCalendar(elBox, dt, index);
2644
2645	// booking_showDivTime(elBox, index);
2646
2647	booking_setSolution(index);
2648
2649	// booking_cleanSol(true);
2650	solTypeValid = false;
2651
2652	// booking_cleanShowSol();
2653	// $("#btn_confirm_" +
2654	// index).html("Conferma").addClass("btn-warning").removeClass("btn-success");
2655	// $("#btn_confirm_sx_" +
2656	// index).html("Conferma").addClass("btn-warning").removeClass("btn-success");
2657
2658	page_setValueInfo(false);
2659
2660}
2661
2662function booking_changePartenzaSol(delta) {
2663	var index = $("#box_sol_sel").val();
2664	var elBox = $("#box_SOL_" + index);
2665
2666	booking_changeTimeParSol(elBox, delta, index);
2667
2668	// booking_showDivTime(elBox, index);
2669
2670	booking_setSolution(index);
2671
2672	// booking_cleanSol(true);
2673	solTypeValid = false;
2674
2675	// booking_cleanShowSol();
2676	// $("#btn_confirm_" +
2677	// index).html("Conferma").addClass("btn-warning").removeClass("btn-success");
2678	// $("#btn_confirm_sx_" +
2679	// index).html("Conferma").addClass("btn-warning").removeClass("btn-success");
2680
2681	page_setValueInfo(false);
2682
2683}
2684
2685function util_momentumFormatLabel(m) {
2686	return m.format("ddd - DD MMM YYYYY");
2687}
2688
2689// function booking_changeDataTM() {
2690// booking_cleanSuiteBoxST();
2691//
2692// // var selCam = $("#camera_TM").prop("selectedIndex");
2693// // var selDate = $("#giornoArrivoTM").prop("selectedIndex");
2694//
2695// var isGood = booking_validitaTM();
2696//
2697// if (isGood)
2698// booking_doOpenModalSearch();
2699//
2700// }
2701
2702// function booking_restoreDataPartenzaTM() {
2703// lForm = window.document.siteForm;
2704// iPartenza = lForm.giorno_arrivo.selectedIndex;
2705// lForm.giorno_partenza.value = booking_getPartenzaLabel();
2706// lForm.oraPartenza.value = lForm.oraArrivo.value;
2707// }
2708
2709function booking_initBox() {
2710
2711	booking_loadStartTime("TM");
2712	booking_loadStartTime("ST");
2713	booking_loadStartPeople("PR");
2714
2715	var suiName = $("#suiNameTM").val();
2716
2717	// In caso di tema inizializzo nome
2718	if (suiName != "") {
2719		$("#camera_TM-label").html(suiName);
2720	}
2721
2722	// page_setValueInfo(true);
2723}
2724
2725function booking_loadStartTime(type) {
2726	var el = $("#preEntrata" + type);
2727	if (el.val() != "") $('#form_datetime1_' + type).datetimepicker("setDate", util_getMomentUrl(el).toDate());
2728
2729	el = $("#preUscita" + type);
2730	if (el.val() != "") $('#form_datetime2_' + type).datetimepicker("setDate", util_getMomentUrl(el).toDate());
2731
2732	booking_loadStartPeople(type);
2733}
2734
2735function booking_loadStartPeople(type) {
2736	var p = $("#prePeople" + type).val();
2737	if (!p) {
2738		p = 2;
2739		$("#prePeople" + type).val(p);
2740	}
2741	$("#people_" + type + "_" + p).addClass("btn-primary");
2742}
2743
2744var confirmType;
2745var confirmNum;
2746
2747function booking_changePerson(type, num) {
2748	confirmType = type;
2749	confirmNum = num;
2750	if ($("#solCod").val() != "" && solTypeValid) {
2751		var modal = booking_openModalChangePeople(num);
2752		if (!modal) {
2753			booking_doChangePerson(type, num);
2754		}
2755	} else {
2756		booking_doChangePerson(type, num);
2757	}
2758}
2759
2760function booking_doChangePersonByModal() {
2761	$('#modal_changepeople').modal('hide');
2762	booking_doChangePerson(confirmType, confirmNum);
2763}
2764
2765function booking_doChangePerson(type, num) {
2766	$("[id^=people_" + type + "_]").each(
2767		function(index, element) {
2768			var iNum = $(this).data("num");
2769			if (iNum == num) {
2770				$(this).addClass("btn-primary");
2771			} else {
2772				$(this).removeClass("btn-primary");
2773			}
2774		});
2775	$("#prePeople" + type).val(num);
2776	$("#prePeople").val(num);
2777
2778	page_setValueInfo(false);
2779
2780	booking_search();
2781
2782}
2783
2784function booking_cleanBoxTime(type) {
2785	// $("#camera_ST").prop("selectedIndex", 0);
2786	$('#dta_input_cal_' + type).val("");
2787	$('#dtp_input_cal_' + type).val("");
2788	$('#dta_input_' + type).val("");
2789	$('#dtp_input_' + type).val("");
2790	$('#form_datetime1_' + type).datetimepicker('update');
2791	$('#form_datetime2_' + type).datetimepicker('update');
2792}
2793
2794// function booking_cleanPanelBooking() {
2795// $("#suiName").val("");
2796// $("#preDuration").val("");
2797// $("#preEntrata").val("");
2798// $("#preUscita").val("");
2799// page_setValueAll();
2800// }
2801
2802function booking_cleanBoxParNotValid(type) {
2803	var elArr = $('#dta_input_' + type);
2804	var elPar = $('#dtp_input_' + type);
2805
2806	var mArr = moment(elArr.val());
2807	var mPar = moment(elPar.val());
2808
2809	if (mPar < mArr) {
2810		$('#dtp_input_cal_' + type).val("");
2811		$('#dtp_input_' + type).val("");
2812		$('#form_datetime2_' + type).datetimepicker('update');
2813	}
2814}
2815
2816function booking_selectSuiteTM(suiId, suiCod, suiName, catId, catName) {
2817
2818	// SET FORMTM SUITE
2819	$("#suiIdTM").val(suiId);
2820	$("#catIdTM").val(catId);
2821	$("#suiCodTM").val(suiCod);
2822	$("#suiNameTM").val(suiName);
2823
2824	$("#prePeople").val($("#prePeopleTM").val());
2825
2826	var el = $("#camera_TM-label");
2827	el.html(suiName);
2828
2829	var lastClass = el.attr('class').split(' ').pop();
2830	if (lastClass.endsWith("-suites-bt")) el.removeClass(lastClass);
2831	el.addClass(catName + "-suites-bt");
2832
2833	var isGood = booking_validateBox("TM", true);
2834
2835	booking_cleanSol(false);
2836
2837	page_setValueInfo(true);
2838
2839	$('#modal-ajax').modal('hide');
2840
2841	if ($("#dta_input_TM").val() == "") {
2842		$("#form_datetime1_TM").datetimepicker('show');
2843	} else if (isGood) {
2844		booking_doSearchDate('TM', '');
2845	}
2846}
2847
2848function booking_showSol() {
2849	$("#sol_box").slideDown('fast', function() {
2850		// location.href = "#1";
2851		util_scrollTo($("#1"), "fast");
2852	});
2853}
2854
2855function booking_showSolExtra() {
2856	$("#sol_box_extra").slideDown('fast', function() {
2857		// location.href = "#1";
2858		util_scrollTo($("#1"), "fast");
2859	});
2860}
2861
2862// function booking_changeSuiteST() {
2863// booking_cleanSuiteBoxTM();
2864// // APRO CALENDAR
2865// if ($("#dta_input_ST").val() == "") {
2866// $("#form_datetime1_ST").datetimepicker('show');
2867// } else if ($("#dtp_input_ST").val() == "") {
2868// $("#form_datetime2_ST").datetimepicker('show');
2869// }
2870// booking_validitaST();
2871// }
2872
2873// function booking_selectSolTM(suiCod, preEntrata, preUscita) {
2874// // SELECT CAMERA
2875// var i = 0;
2876// $("#camera_TM > option").each(function() {
2877// if (this.value.endsWith("@" + suiCod)) {
2878// $("#camera_TM").prop("selectedIndex", i);
2879// return false;
2880// }
2881// i++;
2882// });
2883//
2884// // DATE
2885// var mArr = moment(preEntrata, "YYYYMMDDHHmm");
2886// var mPar = moment(preUscita, "YYYYMMDDHHmm");
2887//
2888// $("#oraArrivo").val(mArr.format("HH:mm"));
2889// $("#oraPartenza").val(mPar.format("HH:mm"));
2890//
2891// i = 0;
2892// var dt = mArr.format("YYYY-MM-DD");
2893// $.each(listDayTM, function(index, value) {
2894// console.log("dt", dt);
2895// console.log("value", value[0]);
2896// if (value[0] == dt) {
2897// return false;
2898// }
2899// i++;
2900// });
2901// console.log(i);
2902// $("#giorno_arrivo").prop("selectedIndex", i);
2903//
2904// i = 0;
2905// var dt = mPar.format("YYYY-MM-DD");
2906// $.each(listDayTM, function(index, value) {
2907// console.log("dt", dt);
2908// console.log("value", value[0]);
2909// if (value[0] == dt) {
2910// return false;
2911// }
2912// i++;
2913// });
2914// console.log(i);
2915// iPartenza = i;
2916// $("#giorno_partenza").val(booking_getPartenzaLabel());
2917//
2918// booking_changeSuiteTM();
2919// $('#modal-ajax').modal('hide');
2920// // booking_changePartenzaTM(0);
2921// }
2922
2923// function booking_changePartenzaTM(delta) {
2924// booking_cleanSuiteBoxST();
2925// lForm = window.document.siteForm;
2926// lOraNumPar = util_oraToBlock(lForm.oraPartenza.value) + delta;
2927// iArrivo = lForm.giorno_arrivo.selectedIndex;
2928// // console.log(iArrivo);
2929// if (iArrivo == iPartenza) {
2930// lOraNumArr = util_oraToBlock(lForm.oraArrivo.value);
2931// if (lOraNumPar < lOraNumArr) {
2932// msg = "Stai impostando la data di partenza antecedente alla data di arrivo";
2933// page_doOpenModalMsg(msg);
2934// return;
2935// }
2936// }
2937// if (lOraNumPar >= 48) {
2938// l = giorno_partenza.length - 1;
2939// if (iPartenza == l) {
2940// msg = 'La data di partenza non puo\' essere successiva a '
2941// + lForm.giorno_arrivo[l].text;
2942//
2943// page_doOpenModalMsg(msg);
2944// return;
2945// } else {
2946// lOraNumPar = lOraNumPar - 48;
2947// iPartenza++;
2948// }
2949// } else if (lOraNumPar < 0) {
2950// lOraNumPar = lOraNumPar + 48;
2951// iPartenza--;
2952// }
2953//
2954// lForm.oraPartenza.value = util_getValoreTime(lOraNumPar);
2955// lForm.giorno_partenza.value = booking_getPartenzaLabel();
2956// booking_validitaTM();
2957// }
2958
2959// function booking_changePartenzaTM(delta) {
2960// booking_cleanSuiteBoxST();
2961//
2962// var msg = "";
2963// var mArr = util_getMomentArr();
2964// var mPar = util_getMomentPar();
2965//
2966// mPar = mPar.add(delta * 30, 'minutes');
2967//
2968// if (mPar < mDtStart) {
2969// msg = 'La data di partenza non puo\' essere antecedente a '
2970// + util_momentumFormatLabel(mDtStart);
2971// mArr = mDtStart;
2972// } else if (mPar > mDtEnd) {
2973// msg = 'La data di partenza non puo\' essere successiva a '
2974// + util_momentumFormatLabel(mDtEnd);
2975// mArr = mDtStart;
2976// } else if (mPar < mArr) {
2977// mArr = mPar;
2978// }
2979// if (msg != "")
2980// page_doOpenModalMsg(msg);
2981//
2982// booking_setFormTime(mArr, mPar);
2983// booking_setBoxTimeTM();
2984// booking_validitaTM();
2985// }
2986
2987function util_valDef(el, def) {
2988	var v = el.val();
2989	return v == "" ? def : v;
2990}
2991
2992// Inputmask.extendAliases({
2993// 'mycurrency' : {
2994// alias : "currency",
2995// prefix : '',
2996// suffix : ' €'
2997// }
2998// });
2999
3000function util_htmlCurrency(el, value) {
3001	el.html(util_getCurrency(value));
3002}
3003
3004function util_getCurrency(value) {
3005	return Inputmask.format(value, {
3006		alias: "currency",
3007		prefix: '€ ',
3008		suffix: ''
3009	});
3010}
3011
3012function menu_doModalDelPers() {
3013	$('#modal_del').modal('show');
3014}
3015
3016function menu_loadJsonMenu() {
3017	var menId = $("#serIdMenu").val();
3018	if (menId != "") {
3019		var m = {
3020			menId: menId
3021		}
3022		$("#jsonMenu").val(JSON.stringify(m));
3023	}
3024}
3025
3026function menu_doDelPers() {
3027	$('body').loading('start');
3028	menu_loadJsonMenu();
3029	$('#action').val("delpers");
3030	window.document.siteForm.action = "serv_menu";
3031	window.document.siteForm.submit();
3032}
3033
3034function menu_doPers(gadId) {
3035	ajax_modal_pers_gadget(gadId);
3036}
3037
3038function page_setValueInfoBox(prefix) {
3039	var solType = $("#solType").val();
3040	var boxType = $("#box_type").val();
3041
3042	if (solType != "") {
3043		$("#info_suiname" + prefix).html(util_valDef($("#suiName"), "Per continuare seleziona la tariffa"));
3044		$("#info_suiname" + prefix).addClass("col text-right font-weight-bold").removeClass("col-12 text-center");
3045		$("#info_sui-selected-data" + prefix).slideDown();
3046		$("#info_suiname-label" + prefix).show();
3047
3048	} else {
3049		$("#info_suiname" + prefix).html(util_valDef($("#suiName" + boxType), "Per iniziare a prenotare, seleziona il tipo soggiorno, le date desiderate, la camera o Suite e il numero di persone, quindi premi il pulsante Ricerca"));
3050		$("#info_sui-selected-data" + prefix).hide();
3051		$("#info_suiname-label" + prefix).hide();
3052		$("#info_suiname-label" + prefix).next(".col").addClass("col-12 text-center").removeClass("col text-right font-weight-bold");
3053	}
3054
3055
3056
3057	$("#info_suitime" + prefix).html(
3058		booking_durationToLabel(parseInt($("#preDuration").val())));
3059
3060	var numPeople = parseInt($("#prePeople").val());
3061	var addPeople = parseInt($("#prePeoplePlus").val());
3062
3063	$("#info_prepeople" + prefix).html("Adulti " + (numPeople - addPeople) + "" + (addPeople > 0 ? " + " + (addPeople) : ""));
3064
3065	$("#info_period" + prefix).html($("#perTitle").val());
3066	$("#info_period_descweb" + prefix).html($("#perTitleDescWeb").val());
3067
3068	$("#info_RoomService-include" + prefix).html($("#perServiceInclude").val());
3069
3070	//	console.log("ServiceInclude", $("#perServiceInclude").val());
3071	var prePeoplePrezzoTot = parseFloat($("#prePeoplePrice").val());
3072
3073
3074	//	$("#info_period" + prefix).html($("#perTitle").val());
3075
3076	if ($("#bdsNum").val() > 1) {
3077		$("#info_Beds" + prefix).hide();
3078		$("#btn_Beds" + prefix).html($("#bdsTitle").val()).show();
3079	} else {
3080		$("#btn_Beds" + prefix).hide();
3081		$("#info_Beds" + prefix).html($("#bdsTitle").val()).show();
3082	}
3083
3084	if (prePeoplePrezzoTot > 0) {
3085		$("#row_peopleName" + prefix).show();
3086		util_htmlCurrency($("#info_peoplePrice"), prePeoplePrezzoTot);
3087		if (addPeople == 1) {
3088			$("#info_peopleName" + prefix).html("Persona aggiuntiva (" + addPeople + ")");
3089		} else {
3090			$("#info_peopleName" + prefix).html("Persone aggiuntive (" + addPeople + ")");
3091		}
3092	} else {
3093		$("#row_peopleName" + prefix).hide();
3094	}
3095
3096	$("#info_pretype" + prefix).html(
3097		$("#packageType").val() + "" == "1" ? "Occasione speciale" : "");
3098
3099	// Totale
3100	var prePrice = parseFloat($("#prePrezzo").val());
3101
3102	// Caparra
3103	var prePriceCp = parseFloat($("#prePrezzoCp").val());
3104
3105	var prePriceApp = parseFloat($("#prePrezzoApp").val());
3106
3107	util_htmlCurrency($("#info_appPrice" + prefix), prePriceApp);
3108
3109	var mp = parseFloat($("#serPrezzoMenu").val());
3110	var pp = parseFloat($("#serPrezzoMenuPers").val());
3111	var sp = parseFloat($("#serPrezzoShop").val());
3112	var pt = parseFloat($("#serPrezzoTv").val());
3113	var pc = parseFloat($("#serPrezzoCom").val());
3114	var ei = parseFloat($("#prePrezzoAppExtraIn").val());
3115	var eo = parseFloat($("#prePrezzoAppExtraOut").val());
3116
3117	// console.log("ei", ei);
3118
3119	//	console.log("Menu:", $("#serNameMenu").val());
3120
3121	var snm = $("#serNameMenu").val();
3122	var snp = $("#serNameMenuPers").val();
3123	var sns = $("#serNameShop").val();
3124	var snt = pt > 0 ? "Tv" : "";
3125	var snc = pc > 0 ? "Operatore virtuale" : "";
3126	var sei = ei > 0 ? "Magg. early Check-In" : "";
3127	var seo = eo > 0 ? "Magg. late Check-Out" : "";
3128
3129	var parziale_serv = mp + sp + pp + pt + pc + prePeoplePrezzoTot;
3130
3131
3132	if (sei != "") {
3133		$("#row_appExtraInName" + prefix).slideDown();
3134		$("#info_appExtraInName" + prefix).html(sei);
3135		util_htmlCurrency($("#info_appExtraInPrice" + prefix), ei);
3136	} else {
3137		$("#row_appExtraInName" + prefix).slideUp();
3138	}
3139
3140	if (seo != "") {
3141		$("#row_appExtraOutName" + prefix).slideDown();
3142		$("#info_appExtraOutName" + prefix).html(seo);
3143		util_htmlCurrency($("#info_appExtraOutPrice" + prefix), eo);
3144	} else {
3145		$("#row_appExtraOutName" + prefix).slideUp();
3146	}
3147
3148	if (snm != "") {
3149		$("#row_RoomService" + prefix).slideDown();
3150		$("#info_RoomService" + prefix).html("Menu " + snm);
3151		util_htmlCurrency($("#info_RoomServicePrice" + prefix), mp);
3152	} else {
3153		$("#row_RoomService" + prefix).slideUp();
3154	}
3155
3156	if (snp != "") {
3157		$("#row_ServicePers" + prefix).slideDown();
3158		$("#info_ServicePers" + prefix).html("Menù Personalizzato");
3159		util_htmlCurrency($("#info_ServicePersPrice" + prefix), pp);
3160	} else {
3161		$("#row_ServicePers" + prefix).slideUp();
3162	}
3163
3164	if (sns != "") {
3165		$("#row_Eshop" + prefix).slideDown();
3166		$("#info_Eshop" + prefix).html("E-shop");
3167		util_htmlCurrency($("#info_EshopPrice" + prefix), sp);
3168	} else {
3169		$("#row_Eshop" + prefix).slideUp();
3170	}
3171
3172	if (snt != "") {
3173		$("#row_PayTv" + prefix).slideDown();
3174		$("#info_PayTv" + prefix).html("Pay-Tv");
3175		util_htmlCurrency($("#info_PayTvPrice" + prefix), pt);
3176	} else {
3177		$("#row_PayTv" + prefix).slideUp();
3178	}
3179
3180	//console.log("snc", snc);
3181	if (snc != "") {
3182		//console.log("com");
3183		$("#row_Com" + prefix).slideDown();
3184		$("#info_Com" + prefix).html("Operatore virtuale");
3185		util_htmlCurrency($("#info_ComPrice" + prefix), pc);
3186	} else {
3187		$("#row_Com" + prefix).slideUp();
3188	}
3189
3190	if (parziale_serv > 0) {
3191		$("#row_ServicePartial" + prefix).slideDown();
3192		$("#row_ServiceLabel" + prefix).slideDown();
3193		$("#card_info-guest-preNote" + prefix).slideDown();
3194		$("#card_info-guest-infogen" + prefix).hide();
3195		$("#info_ServicePartial" + prefix).html("Importo servizi");
3196		util_htmlCurrency($("#info_ServicePartialPrice" + prefix), parziale_serv);
3197	} else {
3198		$("#row_ServicePartial" + prefix).slideUp();
3199		$("#row_ServiceLabel" + prefix).slideUp();
3200		$("#card_info-guest-preNote" + prefix).slideUp();
3201		$("#card_info-guest-infogen" + prefix).slideDown();
3202	}
3203
3204	//	console.log("perServiceInclude", $("#perServiceInclude").val());
3205
3206	if ($("#perServiceInclude").val() != '') {
3207		$("#row_ServiceLabel-include" + prefix).slideDown();
3208		$("#row_RoomService-include" + prefix).slideDown();
3209	} else {
3210		$("#row_ServiceLabel-include" + prefix).slideUp();
3211		$("#row_RoomService-include" + prefix).slideUp();
3212	}
3213
3214
3215	var pro = parseFloat($("#proPrezzo").val());
3216	var proAdd = parseFloat($("#proPrezzoAdd").val());
3217	var parziale_app = pro + proAdd + prePrice;
3218
3219	if (parziale_app > 0) {
3220		$("#row_AppPartial" + prefix).slideDown();
3221		$("#info_AppPartial" + prefix).html("Importo camera");
3222		util_htmlCurrency($("#info_AppPartialPrice" + prefix), parziale_app);
3223	} else {
3224		$("#row_AppPartial" + prefix).slideUp();
3225	}
3226
3227	// util_htmlCurrency($("#info_servicePrice" + prefix), mp + sp + pp + pt);
3228
3229	$("#info_proName" + prefix).html(
3230		util_valDef($("#proName"), "Nessuno sconto"));
3231	util_htmlCurrency($("#info_proPrice" + prefix), pro);
3232
3233	if (pro == 0) {
3234		$("#row_proName" + prefix).hide();
3235	} else {
3236		$("#row_proName" + prefix).show();
3237	}
3238
3239	$("#info_proNameAdd" + prefix).html(
3240		util_valDef($("#proNameAdd"), "Nessuna variazione"));
3241
3242	util_htmlCurrency($("#info_proPriceAdd" + prefix), proAdd);
3243
3244	if (proAdd == 0) {
3245		$("#row_proNameAdd" + prefix).hide();
3246	} else {
3247		$("#row_proNameAdd" + prefix).show();
3248	}
3249
3250	// $("#paymod_caparra" + prefix).inputmask("mycurrency");
3251
3252	var arrStr = "";
3253	var parStr = "";
3254	var elHtmlArr = $("#info_prearrivo" + prefix);
3255	var elHtmlPar = $("#info_prepartenza" + prefix);
3256
3257	if (solType != "") {
3258
3259		arrStr = util_getMomentLabel($("#preEntrata"));
3260		parStr = util_getMomentLabel($("#preUscita"));
3261
3262	} else if (boxType == "PR") {
3263
3264		arrStr = "";
3265		parStr = "";
3266
3267	} else if (boxType != "") {
3268
3269		arrStr = util_getMomentLabel($("#preEntrata" + boxType));
3270		parStr = util_getMomentLabel($("#preUscita" + boxType));
3271
3272	}
3273
3274	elHtmlArr.html(arrStr);
3275	elHtmlPar.html(parStr);
3276
3277	$("#panel_del").hide()
3278	$("#panel_del-mb").hide();
3279	if ($("#info_prearrivo").html() != "" || $("#info_prepartenza").html() != "") {
3280		$("#panel_del").show()
3281		$("#panel_del-mb").show();
3282	}
3283
3284	if (solType != "") {
3285		elHtmlArr.addClass("text-success");
3286		if (solTypeValid) {
3287			elHtmlPar.addClass("text-success");
3288		} else {
3289			elHtmlPar.removeClass("text-success");
3290		}
3291	} else {
3292		elHtmlArr.removeClass("text-success");
3293		elHtmlPar.removeClass("text-success");
3294	}
3295
3296	var tot = prePrice + pro + proAdd + mp + sp + pp + pt + pc + prePeoplePrezzoTot;
3297	var totCp = (prePriceCp > 0) ? prePriceCp + pc : 0;
3298
3299	util_htmlCurrency($("#info_tot" + prefix), tot);
3300
3301	// Se esiste una caparra (totCp), nascondi il campo "data-pp-amount"
3302	if (totCp > 0) {
3303		$('[data-pp-amount]').attr('data-pp-amount', 0);
3304	} else {
3305		// Aggiorna l'attributo "data-pp-amount" solo se non esiste una caparra
3306		var ppAmountElement = $('[data-pp-amount]');
3307		ppAmountElement.attr('data-pp-amount', tot);
3308	}
3309	if (tot > 0) {
3310		$("#info_tot2").css("color", "green").css("font-weight", "bold");
3311		$("#ico-shop-empty").hide();
3312		$("#ico-shop-full").css("color", "orange").show();
3313		$("#text-shop-empty").hide();
3314		$("#text-shop-full").show();
3315	} else {
3316		$("#info_tot2").css("color", "grey").css("font-weight", "normal");
3317		$("#ico-shop-empty").show();
3318		$("#ico-shop-full").hide();
3319		$("#text-shop-empty").show();
3320		$("#text-shop-full").hide();
3321	}
3322
3323
3324
3325	// Aggiorna e gestisci la visualizzazione della caparra
3326	if (prePriceCp > 0) {
3327		var totCp = prePriceCp + pc;
3328		util_htmlCurrency($("#info_cp" + prefix), totCp);
3329		$("#row_cp" + prefix).show();
3330		$("#pp-adv" + prefix).hide();
3331	} else {
3332		util_htmlCurrency($("#info_cp" + prefix), 0);
3333		$("#row_cp" + prefix).hide();
3334		//$("#pp-adv" + prefix).show();
3335	}
3336
3337
3338	$("#info_incomplete").show();
3339
3340	scrollPanel();
3341
3342	// if (prefixInc == "") {
3343	//		
3344	// } else {
3345	// $("#info_incomplete").hide();
3346	// }
3347
3348}
3349
3350function util_getMomentLabel(el) {
3351	var m = util_getMomentUrl(el);
3352	if (m)
3353		return m.format("ddd - DD/MM/YY - HH:mm");
3354	return "";
3355}
3356
3357function menu_doClickRow(menId, type) {
3358	menu_changeMenuHtml(menId, type);
3359}
3360
3361function page_doOpenModalDetailRoom(suiId) {
3362	ajax_modal_detail_room(suiId);
3363}
3364
3365function page_doOpenModal2DetailRoom(suiId) {
3366	ajax2_modal_detail_room(suiId);
3367}
3368
3369function page_doOpenModalDetailRoomSol() {
3370	var suiId = $("#suiId_SOL").val()
3371	if (suiId) ajax_modal_detail_room(suiId);
3372}
3373
3374// function booking_doOpenModalSearch() {
3375// ajax_modal_search($("#suiCod").val(), null, null);
3376// }
3377
3378// function booking_doOpenModalCalendar(suiId, preEntrata, preUscita) {
3379// ajax_modal_calendar(suiId, preEntrata, preUscita);
3380// }
3381
3382// function page_doCloseModalDetailRoom(){
3383// $('#modal-detail-room').modal('hide');
3384// }
3385
3386
3387
3388
3389function page_setValueInfo(updateImage) {
3390	// var prefixInc = $("#prefixInc").val();
3391
3392	page_setValueInfoBox("");
3393	page_setValueInfoBox("-mb");
3394
3395	$("#info_tot2").html($("#info_tot").html());
3396
3397	var solType = $("#solType").val();
3398	var solCod = $("#solCod").val();
3399
3400	if (solType == "" || !solTypeValid) {
3401		$("#panel_go").attr("disabled", "disabled");
3402		$("#panel_end").attr("disabled", "disabled");
3403		$("#panel_go-mb").attr("disabled", "disabled");
3404		$("#panel_end-mb").attr("disabled", "disabled");
3405	} else {
3406		$("#panel_go").removeAttr("disabled");
3407		$("#panel_go-mb").removeAttr("disabled");
3408		if ($("#packageType").val() + "" != "1") {
3409			$("#panel_end").removeAttr("disabled");
3410			$("#panel_end-mb").removeAttr("disabled");
3411		}
3412	}
3413
3414	if (updateImage) {
3415
3416		var boxType = $("#box_type").val();
3417
3418		var name = "";
3419		var isLogo = false;
3420
3421		//console.log("solCod", solCod);
3422
3423		if (solCod != "") {
3424
3425			var suiCod = $("#suiCod").val();
3426			if (cod != "") {
3427				name = suiCod + ".jpg";
3428			} else {
3429				isLogo = true;
3430			}
3431		} else if (boxType == "TM") {
3432
3433			var cod = $("#suiCod" + boxType).val();
3434
3435			if (cod != "" && cod != "0") {
3436				name = cod + ".jpg";
3437			} else {
3438				cod = $("#catId" + boxType).val();
3439				if (cod != "" && cod != "0") {
3440					name = cod + ".jpg";
3441				} else {
3442					isLogo = true;
3443				}
3444			}
3445		} else {
3446			isLogo = true;
3447		}
3448
3449		if (isLogo) {
3450			var url = "../resources/custom/logo-panel.png";
3451			$("#info_image").css("background-image", "url('" + url + "')").css("background-size", "contain");
3452		} else {
3453			var url = urlImageRoom + "/" + name;
3454			$("#info_image").css("background-image", "url('" + url + "')").css("background-size", "cover");
3455		}
3456	}
3457}
3458
3459// UTIL
3460
3461function util_validateItems(el, reg) {
3462	var isGood = reg.test(el.val());
3463	util_validateItemsHtml(el, isGood);
3464	return isGood;
3465}
3466
3467function util_validateItemsHtml(el, isGood) {
3468	var elLabel = $("#" + el.data("id-label"));
3469
3470	if (!isGood) {
3471		if (elLabel) {
3472			elLabel.addClass("is-invalid");
3473			// console.log("add invalid");
3474		}
3475		el.addClass("is-invalid");
3476		if (!elFocus)
3477			elFocus = el;
3478	} else {
3479		if (elLabel)
3480			elLabel.removeClass("is-invalid");
3481		el.removeClass("is-invalid");
3482	}
3483}
3484
3485// function booking_loadPromo(booking) {
3486//
3487// if (promotion.dis.proSconto != 0) {
3488// booking.proDesc = promotion.dis.proDesc;
3489// if (promotion.dis.proType == 1) {
3490// booking.proPrice = parseFloat(promotion.dis.proSconto);
3491// } else {
3492// var b = new Decimal(booking.prezzo * promotion.dis.proSconto / 100);
3493// booking.proPrice = parseFloat(b.toFixed(promotion.dis.proRound, 5));
3494// if (promotion.dis.proMaxSconto < 0 && booking.proPrice <
3495// promotion.dis.proMaxSconto)
3496// booking.proPrice = parseFloat(promotion.dis.proMaxSconto);
3497// }
3498// }
3499//
3500// if (promotion.add.proSconto != 0) {
3501// booking.proDescAdd = promotion.add.proDesc;
3502// if (promotion.add.proType == 1) {
3503// booking.proPriceAdd = parseFloat(promotion.add.proSconto);
3504// } else {
3505// var b = new Decimal(booking.prezzo * promotion.add.proSconto / 100);
3506// booking.proPriceAdd = parseFloat(b.toFixed(promotion.add.proRound, 5));
3507// if (promotion.add.proMaxSconto > 0 && booking.proPriceAdd >
3508// promotion.add.proMaxSconto)
3509// booking.proPriceAdd = parseFloat(promotion.add.proMaxSconto);
3510// }
3511// }
3512//
3513//
3514// }
3515
3516// function booking_loadPrice(booking) {
3517// var prezzo = 0;
3518//
3519// if (booking.stepDiff > 0 && booking.price.perId) {
3520//
3521// var stepPrice = booking.price.passaggioduration * 2;
3522//
3523// var stepCheckInLimit = util_oraToBlock(booking.price.timeCheckOutLimit);
3524// var stepCheckOutMag = util_oraToBlock(booking.price.timeCheckOutMag);
3525// var stepCheckInMag = util_oraToBlock(booking.price.timeCheckInMag);
3526// var changeDay = util_oraToBlock(booking.price.timeCloseDay);
3527//
3528// var deltaDayPernotto = 0;
3529//
3530//
3531// var nextDay = false;
3532// if (booking.deltaDay == 0) {
3533// if (booking.stepEntrata < changeDay && booking.stepUscita > changeDay) {
3534// deltaDayPernotto++;
3535// }
3536// } else {
3537// deltaDayPernotto = booking.deltaDay - 1;
3538// if (booking.stepEntrata < changeDay) deltaDayPernotto++;
3539// if (booking.stepUscita > changeDay) {
3540// deltaDayPernotto++;
3541// } else {
3542// nextDay = true;
3543// }
3544// }
3545//
3546// if (deltaDayPernotto == 0) {
3547// if (booking.stepDiff <= stepPrice) {
3548// prezzo = booking.price.passaggio;
3549// } else {
3550// prezzo = booking.price.passaggio + booking.price.deltapassaggio;
3551// }
3552// } else {
3553// prezzo = booking.price.pernotto * deltaDayPernotto;
3554// if (booking.stepEntrata >= changeDay && booking.stepEntrata < stepCheckInMag
3555// && stepCheckInMag != -1)
3556// prezzo += booking.price.deltatimepre;
3557// // dalle 12 alle 18
3558// if (booking.stepUscita > stepCheckInLimit && booking.stepUscita <=
3559// stepCheckOutMag && stepCheckOutMag != -1)
3560// prezzo += booking.price.deltatime;
3561//
3562// if ((booking.stepUscita > stepCheckOutMag && stepCheckOutMag != -1) ||
3563// nextDay)
3564// prezzo += booking.price.pernotto;
3565// }
3566//
3567// }
3568//
3569// booking.prezzo = prezzo;
3570// }
3571
3572// function booking_loadPrice(booking) {
3573// var prezzo = 0;
3574// if (stepDiff > 0) {
3575// var deltaDayPernotto = 0;
3576// var nextDay = false;
3577// if (deltaDay == 0) {
3578// if (isAfter(stepEntrata, 5) && isBefore(stepUscita, 5)) {
3579// deltaDayPernotto++;
3580// }
3581// } else {
3582// deltaDayPernotto = deltaDay - 1;
3583// if (isAfter(stepEntrata, 5))
3584// deltaDayPernotto++;
3585// if (isBefore(stepUscita, 5)) {
3586// deltaDayPernotto++;
3587// } else {
3588// nextDay = true;
3589// }
3590// }
3591//
3592// if (deltaDayPernotto == 0) {
3593// if (stepDiff <= 20) {
3594// prezzo = prezzoPassaggio;
3595// } else {
3596// prezzo = prezzoPassaggio + prezzoDelta10;
3597// }
3598// } else {
3599// prezzo = (deltaDayPernotto * prezzoPernotto);
3600// if (isBeforeEqual(stepEntrata, 5) && isAfter(stepEntrata, 19))
3601// prezzo += prezzoDeltaTimePre;
3602// // dalle 12 alle 18
3603// if (isBefore(stepUscita, 12) && isAfterEqual(stepUscita, 18))
3604// prezzo += prezzoDeltaTime;
3605//
3606// if (isBefore(stepUscita, 18) || nextDay)
3607// prezzo += prezzoPernotto;
3608// }
3609// }
3610// console.log("Prezzo trovato:", prezzo)
3611// return prezzo;
3612// }
3613
3614//
3615// function booking_reloadDay(){
3616// //Si accetteranno prenotazioni per il giorno 13 aprile tra 23:40 minuti
3617// mDeltaSec = mDeltaSec -1;
3618// if(mDeltaSec <= 0){
3619// mDeltaSec = 24*60*60;
3620// mDeltaOpenDay ++;
3621// labelDate = new Date(<c:out value="${bsr.dtNow.year}"/>, <c:out
3622// value="${bsr.dtNow.month}"/>, <c:out value="${bsr.dtNow.date}"/>);
3623// labelDate.setDate(labelDate.getDate() + mDeltaOpenDay);
3624// booking_validitaTM();
3625// }
3626//	
3627// h = parseInt(mDeltaSec / (60*60));
3628// d = mDeltaSec - (h * 60 * 60);
3629// m = parseInt(d / 60);
3630// s = d - (m * 60)
3631// if(s < 10) s = "0"+s;
3632// if(m < 10) m = "0"+m;
3633// if(h < 10) h = "0"+h;
3634//	
3635// dta = labelDate.getFullYear();
3636// if(dta < 1900) dta = dta + 1900;
3637//	
3638// dtd = labelDate.getDate();
3639// if(dtd < 10) dtd = "0"+dtd;
3640//	
3641// dtm = labelDate.getMonth()+1;
3642// if(dtm < 10) dtm = "0"+dtm;
3643//	
3644// //util_setValueHtml("site_openMsg", "Con la tipologia di prenotazione che hai
3645// selezionato al passo 1 si accetteranno prenotazioni fino al giorno
3646// "+dtd+"/"+dtm+"/"+dta+" tra "+h+":"+m+":"+s);
3647// lastTimeout = setTimeout("booking_reloadDay()", 1000);
3648// }
3649
3650// function booking_loadSol(index) {
3651//
3652// var booking = {
3653// prezzo : 0,
3654// stepDiff : 0,
3655// deltaDay : 0,
3656// stepEntrata : 0,
3657// stepUscita : 0
3658// }
3659//
3660// booking_loadTimeSol(booking, index);
3661//
3662// // non eseguo validazioni perche sono solo in cambio data partenza
3663// setPrezzi();
3664// booking_loadPrezzo(booking, true);
3665//
3666// $("#div_LM_dr_" + index).html(booking_durationToLabel(booking.stepDiff));
3667//	
3668// var proPrice = parseFloat($("#sol_proprice_"+index).val());
3669//
3670// $("#div_SOL_price_" + index).html(util_getCurrency(booking.prezzo +
3671// proPrice));
3672//	
3673// }
3674
3675// function booking_loadPromozione(booking){
3676// booking.prezzopro = parseFloat($("#proPrezzo").val());
3677// }
3678
3679// function info_validate() {
3680// if (checkTel) {
3681// var el = $("#preTelefono")
3682// util_cleanValidateForm(el);
3683//
3684// var strTel = el.val();
3685// var goodTel = strTel.match(/^(()?\d{3}())?(-|\s)?\d{3}(-|\s)?\d{4}$/);
3686//
3687// if (el.val() == "" || !goodTel) {
3688// util_validateItemsHtml(el, false);
3689// el.focus();
3690// return false;
3691// }
3692// }
3693// return true;
3694// }
3695
3696//function booking_loadPrice(booking, index){
3697//	
3698//	booking.index = index;
3699//	
3700//	$.ajax({
3701//		method : "POST",
3702//		url : "../api/detailprice",
3703//		data : booking,
3704//		dataType : "json",
3705//		// async : false,
3706//		contentType : "application/x-www-form-urlencoded;charset=UTF-8"
3707//	}).done(function(data) {
3708//		if (data.success) {
3709//			solution_writeBoxData(data.booking.index, data.booking);
3710//			solution_writeBoxHtml(data.booking.index, data.booking);
3711//			
3712//		} else {
3713//			
3714//		}
3715//	});
3716//	
3717//}
3718
3719function booking_validateBox(type, resetList) {
3720	if (resetList) {
3721		booking_cleanBoxTime(type == "TM" ? "ST" : "TM");
3722		$("#box-SOL_search").hide().html("");
3723	}
3724
3725	var isCam = type == "TM";
3726
3727	var elArrHtml = $("#dta_input_cal_" + type);
3728	var elParHtml = $("#dtp_input_cal_" + type);
3729
3730	var elArr = $("#dta_input_" + type);
3731	var elPar = $("#dtp_input_" + type);
3732	var elCam = $("#suiId" + type);
3733	var elCat = $("#catId" + type);
3734
3735	// CLEAN VALIDATE
3736	if (isCam) {
3737		var elCamHtml = $("#camera_TM-label");
3738		util_cleanValidateForm(elCamHtml);
3739	}
3740
3741	util_cleanValidateForm(elArrHtml);
3742	util_cleanValidateForm(elParHtml);
3743
3744	var isGood = true;
3745
3746	var errorArr = !elArr.val();
3747	var errorPar = !elPar.val();
3748	var errorRoom = (isCam && !elCam.val() && !elCat.val());
3749
3750	if (isCam && (errorArr && errorPar && errorRoom) || (!isCam && (errorArr && errorPar))) {
3751		isGood = false;
3752	} else {
3753		if (errorArr) {
3754			util_validateItemsHtml(elArrHtml, false);
3755			booking_setMsgDanger(type, "Inserire data arrivo valida");
3756			isGood = false;
3757		} else if (errorPar) {
3758			util_validateItemsHtml(elParHtml, false);
3759			booking_setMsgDanger(type, "Inserire data partenza valida");
3760			isGood = false;
3761		} else {
3762			var mArr = moment(elArr.val());
3763			var mPar = moment(elPar.val());
3764			var deltaMin = mPar.diff(mArr, 'minutes');
3765			if (deltaMin < 120) {
3766				util_validateItemsHtml(elParHtml, false);
3767				booking_setMsgDanger(type, "Tempo di prenotazione inferiore a 2 ore.");
3768				isGood = false;
3769			} else {
3770
3771				if (errorRoom) {
3772					util_validateItemsHtml(elCamHtml, false);
3773					isGood = false;
3774				}
3775
3776				if (deltaMin > 600) {
3777					msg = printf(msgSupDayUse, booking_durationToLabel(deltaMin / 30));
3778				} else if ((mArr.hours() < hChangeDay || mArr.hours() > mPar.hours()) && mPar.hours() > hChangeDay) {
3779					msg = printf(msgChangeDay, changeDay);
3780				} else {
3781					msg = printf(msgInfDayUse, booking_durationToLabel(deltaMin / 30));
3782				}
3783
3784				booking_setMsgSuccess(type, msg);
3785			}
3786		}
3787	}
3788
3789	if (!isGood) {
3790		$("#search_bt_" + type).attr("disabled", "disabled");
3791	} else {
3792		$("#search_bt_" + type).removeAttr("disabled");
3793	}
3794	return isGood;
3795}
3796
3797function printf(msg, val) {
3798	return msg.replace("%s", val);
3799}
3800
3801// function booking_cleanPromotion(promotionItem) {
3802// promotionItem.proSconto = 0;
3803// promotionItem.proMaxSconto = 0;
3804// promotionItem.proType = 0;
3805// promotionItem.proRound = 0;
3806// promotionItem.proId = 0;
3807// promotionItem.proDesc = "";
3808// }
3809
3810function booking_setSolution(index) {
3811
3812	var booking = booking_getBookingBySolution(index);
3813
3814	// unica chiamata: aggiorna suiteinfo (durata + prezzo ricalcolato + pulsanti + collapseSuiteinfo)
3815	ajax_reload_suiteinfo(booking, index);
3816
3817}
3818
3819function solution_writeBoxData(index, booking) {
3820	var el = $("#box_SOL_" + index);
3821	el.data("duration", booking.stepDiff * 30);
3822	el.data("pzduration", booking.pzDuration);
3823}
3824
3825function solution_writeBoxHtml(index, booking) {
3826	$("#div_LM_dr_" + index).html(booking_durationToLabel(booking.stepDiff));
3827
3828	if (booking.proPrice != 0) {
3829		$("#row_SOL_pro_dis_" + index).show();
3830		$("#div_SOL_price_dis_" + index).html(util_getCurrency(booking.prezzo + booking.proPrice));
3831		$("#div_SOL_desc_dis_" + index).html(booking.proDesc);
3832	} else {
3833		$("#row_SOL_pro_dis_" + index).hide();
3834	}
3835
3836	if (booking.proPriceAdd != 0) {
3837		$("#row_SOL_pro_add_" + index).show();
3838		$("#div_SOL_price_add_" + index).html(util_getCurrency(booking.proPriceAdd));
3839		$("#div_SOL_desc_add_" + index).html(booking.proDescAdd);
3840	} else {
3841		$("#row_SOL_pro_add_" + index).hide();
3842	}
3843
3844	$("#div_SOL_price_app_" + index).html(util_getCurrency(booking.prezzo));
3845
3846	$("#div_SOL_price_tot_" + index).html(util_getCurrency(booking.prezzo + booking.proPrice + booking.proPriceAdd));
3847}
3848
3849
3850// function booking_setFormST(booking) {
3851//
3852// var selSuite = $("#camera_ST option:selected").index();
3853//
3854// if (selSuite != 0) {
3855// $("#suiName").val($("#camera_ST option:selected").html());
3856// } else {
3857// $("#suiName").val("Nessuna camera selezionata");
3858// }
3859//
3860// var elArr = $("#dta_input_ST");
3861// var elPar = $("#dtp_input_ST");
3862//
3863// var giornoArrStr = "";
3864// if (elArr.val()) {
3865// var mArr = moment(elArr.val());
3866// giornoArrStr = mArr.format("YYYYMMDDHHmm");
3867// }
3868//
3869// // var lForm = window.document.siteForm;
3870// // var iArrivo = lForm.giorno_arrivo.selectedIndex;
3871// var giornoParStr = "";
3872// if (elPar.val()) {
3873// var mPar = moment(elPar.val());
3874// giornoParStr = mPar.format("YYYYMMDDHHmm");
3875// }
3876//
3877// $("#suiCod").val(booking_getSuiCodSel());
3878// $("#suiId").val(booking_getSuiSel());
3879//
3880// $("#preEntrata").val(giornoArrStr);
3881// $("#preUscita").val(giornoParStr);
3882//
3883// if (elArr.val() && elPar.val()) {
3884// booking.stepDiff = mPar.diff(mArr, 'minutes') / 30;
3885// booking.deltaDay = mPar.diff(mArr, 'days');
3886// booking.stepEntrata = util_oraToBlock(mArr.format("HH:mm"));
3887// booking.stepUscita = util_oraToBlock(mPar.format("HH:mm"));
3888// }
3889// }
3890
3891// function booking_validitaST() {
3892//
3893// var booking = {
3894// prezzo : 0,
3895// stepDiff : 0,
3896// deltaDay : 0,
3897// stepDiff : 0,
3898// stepEntrata : 0,
3899// stepUscita : 0
3900// }
3901//
3902// booking_setFormST(booking);
3903//
3904// var isGood = booking_validateFormST();
3905//
3906// if (isGood) {
3907// setPrezzi();
3908// booking_loadPrezzo(booking, true);
3909// if (booking.prezzo > 0) {
3910// var time = booking_durationToLabel(booking.stepDiff);
3911// var msg = "La camera sarà prenotata per <b>" + time
3912// + "</b> al costo di <b>" + util_getCurrency(booking.prezzo)
3913// + "</b>";
3914// booking_setMsgSuccess(msg);
3915// }
3916//
3917// // check(oraNumArr, oraNumPar, weekNumArr, weekNumPar, deltaDataArr,
3918// // deltaDataPar, stepDiff);
3919// }
3920//
3921// booking_loadPromozione(booking.prezzo);
3922//
3923// booking_toVal(booking);
3924//
3925// page_setValueAll();
3926//
3927// }
3928
3929function booking_setMsgDanger(type, val) {
3930	$("#site_preMsg" + type).html(val).removeClass("alert-success")
3931		.addClass("alert-danger");
3932	if (val == "") {
3933		$("#site_preMsgBox" + type).hide();
3934	} else {
3935		$("#site_preMsgBox" + type).show();
3936	}
3937}
3938
3939function booking_changeArrivoBox(type) {
3940	booking_cleanBoxParNotValid(type);
3941	booking_validateBox(type, true);
3942
3943	booking_cleanSol(false);
3944
3945	$("#preEntrata" + type).val(util_getTimeToUrl($("#dta_input_" + type)));
3946	page_setValueInfo(false);
3947}
3948
3949function booking_cleanSol(solTypeArr) {
3950	$("#solType").val("");
3951	solTypeValid = false;
3952}
3953
3954function booking_changePartenzaBox(type) {
3955	booking_validateBox(type, true);
3956	booking_cleanSol(false);
3957	$("#preUscita" + type).val(util_getTimeToUrl($("#dtp_input_" + type)));
3958	page_setValueInfo(false);
3959}
3960
3961function booking_setMsgSuccess(type, val) {
3962	$("#site_preMsg" + type).html(val).removeClass("alert-danger")
3963		.addClass("alert-success");
3964	if (val == "") {
3965		$("#site_preMsgBox" + type).hide();
3966	} else {
3967		$("#site_preMsgBox" + type).show();
3968	}
3969}
3970
3971function booking_scrollStartForm() {
3972	util_scrollTo($("#form_row-suite"), "slow");
3973}
3974
3975
3976function util_scrollTo(el, mode) {
3977	$('html, body').animate({
3978		scrollTop: (el.offset().top - 100)
3979	}, mode);
3980
3981	// var mt = parseInt($(".sipi_body").css('marginTop'));
3982
3983	// var hView = window.innerHeight - 90 - 37;
3984	// var hPanel = el.innerHeight();
3985	//	
3986	// console.log("hView", hView);
3987	// console.log("hPanel", hPanel);
3988	// console.log("top", el.offset().top);
3989	// console.log("el", el);
3990	// console.log("doc height", $(document).height());
3991
3992	// if(hPanel <= hView){
3993	// $("body, html").animate({
3994	// scrollTop: $(document).height()
3995	// }, mode)
3996	// } else {
3997	// $('html, body').animate({
3998	// scrollTop : (el.offset().top)
3999	// }, mode);
4000	// }
4001}
4002
4003function booking_hideAlertArr(index) {
4004	$("#alert_arr_" + index).slideUp();
4005}
4006
4007function booking_hideAlertPar(index) {
4008	$("#alert_par_" + index).slideUp();
4009}
4010
4011function booking_showAlertArr(index) {
4012	$("#alert_arr_" + index).slideDown();
4013}
4014
4015function booking_showAlertPar(index) {
4016	$("#alert_par_" + index).slideDown();
4017}
4018
4019function page_doOpenModalClean() {
4020	$("#modal_clean").modal('show');
4021}
4022
4023function page_doOpenModalLogout() {
4024	$("#modal_logout").modal('show');
4025}
4026
4027// function solution_select(index) {
4028// var el = $("#box_SOL_" + index);
4029//
4030// booking_selectShowSol(index, el.data("suiid"), el.data("suiname"),
4031// el.data("suicod"), el.data("solcod"), el.data("typesol"), false, true,
4032// el.data("peoplesol"));
4033//
4034// return el;
4035// }
4036
4037function solution_openInCalendar(index) {
4038	var el = $("#box_SOL_" + index);
4039	// var el = solution_select(index);
4040	solution_initCalendar(el, index);
4041	$("#cal_bt_in_" + index).datetimepicker('show');
4042}
4043
4044
4045function solution_openOutCalendar(index) {
4046	// var el = solution_select(index);
4047
4048	var el = $("#box_SOL_" + index);
4049
4050	solution_initCalendar(el, index);
4051
4052	$("#cal_bt_out_" + index).datetimepicker('show');
4053}
4054
4055function solution_initCalendar(el, index) {
4056	if ($("#cal_bt_in_" + index).data("datetimepicker") == null) {
4057
4058		var m = moment(el.data("par-lim"), "YYYY-MM-DD HH:mm");
4059		var m = m.add(-120, "minutes");
4060
4061		var msup = moment(el.data("arr-lim-sup"), "YYYY-MM-DD HH:mm");
4062		var l = (m > msup) ? msup.format("YYYY-MM-DD HH:mm") : m.format("YYYY-MM-DD HH:mm");
4063
4064		$("#cal_bt_in_" + index).datetimepicker({
4065			format: "D - dd M yyyy - hh:ii",
4066			autoclose: true,
4067			todayBtn: false,
4068			minuteStep: 30,
4069			language: 'it',
4070			startView: 1,
4071			minView: 0,
4072			maxView: 1,
4073			forceParse: 1,
4074			startDate: el.data("arr-lim"),
4075			endDate: l,
4076			hoursDisabled: el.data("blockin"),
4077			initialDate: el.data("arr-lim"),
4078			linkField: 'cal_input_indata_' + index,
4079			linkFormat: "yyyy-mm-dd hh:ii"
4080		}).on('changeDate', function(ev) {
4081
4082			booking_changeArrivoSolCalendar(ev.date, index);
4083			var m = moment(ev.date);
4084			var m = m.add(120, "minutes");
4085
4086			$("#cal_bt_out_" + index).datetimepicker('setStartDate', m.format("YYYY-MM-DD HH:mm"));
4087		});
4088
4089	}
4090
4091	if ($("#cal_bt_out_" + index).data("datetimepicker") == null) {
4092
4093		var m = moment(el.data("arr-lim"), "YYYY-MM-DD HH:mm");
4094		var m = m.add(120, "minutes");
4095
4096		$("#cal_bt_out_" + index).datetimepicker({
4097			format: "D - dd M yyyy - hh:ii",
4098			autoclose: true,
4099			todayBtn: false,
4100			minuteStep: 30,
4101			language: 'it',
4102			startView: 1,
4103			minView: 0,
4104			maxView: 1,
4105			forceParse: 1,
4106			startDate: m.format("YYYY-MM-DD HH:mm"),
4107			endDate: el.data("par-lim"),
4108			hoursDisabled: el.data("blockout"),
4109			initialDate: el.data("par-lim"),
4110			pickerPosition: 'bottom-left',
4111			linkField: 'cal_input_outdata_' + index,
4112			linkFormat: "yyyy-mm-dd hh:ii"
4113		}).on('changeDate', function(ev) {
4114			booking_changePartenzaSolCalendar(ev.date, index);
4115			var m = moment(ev.date);
4116			var m = m.add(-120, "minutes");
4117
4118			var el = $("#box_SOL_" + index);
4119			var msup = moment(el.data("arr-lim-sup"), "YYYY-MM-DD HH:mm");
4120
4121			var l = (m > msup) ? msup.format("YYYY-MM-DD HH:mm") : m.format("YYYY-MM-DD HH:mm");
4122
4123			$("#cal_bt_in_" + index).datetimepicker('setEndtDate', l);
4124
4125		});
4126
4127	}
4128}
4129
4130// function booking_setMsgPromo(val) {
4131// var roomType = $("#preTypeRoom").val();
4132// $("#site_proMsg" + roomType).html(val);
4133// }
4134
4135// function setMsgSuccessTM(val) {
4136// $("#site_preMsgTM").html(val).removeClass("alert-danger").addClass(
4137// "alert-success");
4138// }
4139
4140// function booking_loadForm(booking) {
4141//
4142//	
4143//
4144// }
4145
4146// BOOKING
4147
4148// function booking_toPanel(booking) {
4149//	
4150// //$("#suiId").val(booking.suiId);
4151// //$("#proName").val(booking.proName);
4152// //$("#proPrezzo").val(booking.proPrezzo);
4153//	
4154// $("#prePrezzo").val(booking.prezzo);
4155// $("#preDuration").val(booking.stepDiff);
4156// // assegno tipologia in salvataggio
4157// //$("#preTypeRoomSol").val($("#preTypeRoom").val());
4158// }
4159
4160// function booking_changeArrivoSol(el, delta) {
4161// var index = $("#box_sol_sel").val();
4162// var elBox = $("#box_SOL_" + index);
4163//
4164// booking_changeTimeArrSol(elBox, delta, index);
4165//
4166// booking_validitaSol(index);
4167// }
4168
4169// MAN
4170// $("#dropDownMenuKategorie option:selected").index()
4171
4172
4173function booking_getBookingBySolution(index) {
4174
4175	var el = $("#box_SOL_" + index);
4176
4177	var booking = {
4178
4179		prezzo: 0,
4180		stepDiff: 0,
4181		deltaDay: 0,
4182
4183		proDesc: '',
4184		proPrice: 0,
4185		proPriceAdd: 0,
4186		proDescAdd: ''
4187
4188	}
4189
4190	var dtArr = el.data("arr");
4191	var dtPar = el.data("par");
4192
4193	var mArr = moment(dtArr, "YYYYMMDDHHmm");
4194	var mPar = moment(dtPar, "YYYYMMDDHHmm");
4195
4196	var preDuration = mPar.diff(mArr, 'minutes');
4197
4198	booking.stepDiff = preDuration / 30;
4199
4200	booking.stepEntrata = util_oraToBlock(mArr.format("HH:mm"));
4201	booking.stepUscita = util_oraToBlock(mPar.format("HH:mm"));
4202
4203	booking.timeArrInt = util_oraToInt(mArr.format("HH:mm"));
4204	booking.timeParInt = util_oraToInt(mPar.format("HH:mm"));
4205
4206	booking.dtArr = dtArr;
4207	booking.dtPar = dtPar;
4208	booking.suiId = el.data("suiid");
4209	booking.dtArrDay = mArr.format("YYYYMMDD");
4210	booking.dtParDay = mPar.format("YYYYMMDD");
4211
4212	booking.deltaDay = mPar.startOf('day').diff(mArr.startOf('day'), 'days');
4213
4214	booking.weekArr = mArr.toDate().getDay();
4215	booking.weekPar = mPar.toDate().getDay();
4216
4217	booking.proId = el.data("pro-id");
4218	booking.proIdAdd = el.data("pro-id-add");
4219
4220	booking.numPeople = el.data("peoplesol");
4221	booking.solType = el.data("soltype");
4222	booking.packageType = el.data("packagetype");
4223
4224	booking.solCod = el.data("solcod");
4225
4226	booking.pzDuration = el.data("pzduration");
4227
4228	return booking;
4229}
4230
4231
4232// function booking_getPromotionBySolution(el) {
4233//
4234// // var el = $("#box_SOL_" + index);
4235//
4236// var proId = el.data("pro-id");
4237//
4238// if (proId) {
4239// return {
4240// proSconto : el.data("pro-sconto"),
4241// proMaxSconto : el.data("pro-max-sconto"),
4242// proType : el.data("pro-type"),
4243// proRound : el.data("pro-round"),
4244// proId : proId,
4245// proDesc : el.data("pro-desc"),
4246// proEsclusive : el.data("pro-esclusive")
4247// }
4248// } else {
4249// return null;
4250// }
4251// }
4252
4253function isAfter(step, hours) {
4254	return step < (hours * 2);
4255}
4256
4257function isAfterEqual(step, hours) {
4258	return step <= (hours * 2);
4259}
4260
4261function isBefore(step, hours) {
4262	return step > (hours * 2);
4263}
4264
4265function isBeforeEqual(step, hours) {
4266	return step >= (hours * 2);
4267}
4268
4269function page_clickRowBooking(ancor) {
4270	window.location.href = "booking?a=" + ancor;
4271}
4272
4273function page_clickRowService() {
4274	window.location.href = "serv_menu";
4275}
4276
4277function page_clickRowShop() {
4278	window.location.href = "serv_shop";
4279}
4280
4281function page_openSidebar() {
4282	// open sidebar
4283	$('#sidebar').addClass('active');
4284	// fade in the overlay
4285	$('.overlay').fadeIn();
4286	// $('.collapse.in').toggleClass('in');
4287	// $('a[aria-expanded=true]').attr('aria-expanded', 'false');
4288};
4289
4290function page_closeSidebar() {
4291	// if dismiss or overlay was clicked
4292	// hide the sidebar
4293	$('#sidebar').removeClass('active');
4294	// fade out the overlay
4295	$('.overlay').fadeOut();
4296}
4297
4298function solution_focusPrice(index, indexTab) {
4299	$("[id^=tab_price_" + index + "_]").each(
4300		function(index, element) {
4301			$(this).hide();
4302		});
4303	$("#tab_price_" + index + "_" + indexTab).show();
4304
4305	$("[id^=bt_pricepeople_" + index + "_]").each(
4306		function(index, element) {
4307			$(this).removeClass("btn-info-active-people")
4308		});
4309	$("#bt_pricepeople_" + index + "_" + indexTab).addClass("btn-info-active-people");
4310
4311}
4312
4313function info_selectType() {
4314	var flag = $('input[name=tpCod]:checked').val();
4315
4316	if (flag != "") {
4317		$("#serPrezzoCom").val(parseFloat($("#webPriceCom" + flag).val()));
4318		page_setValueInfo(true);
4319	}
4320	if (flag == "BN") {
4321		$("#pp-adv").slideUp();
4322	}
4323	if (flag == "CC") {
4324		$('#modal_CC').modal('show');
4325		$("#pp-adv").slideUp().css('display', 'none');
4326	} else if (flag == "PP") {
4327		$('#modal_PP').modal('show');
4328		$("#pp-adv").slideDown().css('display', 'block');
4329	}
4330}
4331
4332function info_openTypePaypal() {
4333	$("#modal_paypal").modal("show");
4334}

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.