PageSourceSearch

https://www.vibrahotels.com/themes/default/js/globals/postload-neobookings.js

js vibrahotels.com collected 2026-10-10 02:20:26 UTC 17,121 bytes, 445 lines download raw bytes

1
2
3
4/* GESTIONAMOS LA LÓGICA DE LOS CALENDARIOS */
5function setDates(start, end) {
6	var selectedStartDate = start.format('DD/MM/YYYY');
7	var selectedEndDate = end.format('DD/MM/YYYY');
8
9	$('#arrival').val(selectedStartDate);
10	$('#departure').val(selectedEndDate);
11	$("input#dateInOutFake").val(selectedStartDate + " - " + selectedEndDate);
12
13	$(".field.dateinout").find(".popupsCancel").trigger("click");
14}
15
16let date1 = new Date();
17let date2 = new Date();
18date2.setDate(date2.getDate() + 1);
19
20let monthNamesTranslate = [
21	globals.calendars["january"],
22	globals.calendars["february"],
23	globals.calendars["march"],
24	globals.calendars["april"],
25	globals.calendars["may"],
26	globals.calendars["june"],
27	globals.calendars["july"],
28	globals.calendars["august"],
29	globals.calendars["september"],
30	globals.calendars["october"],
31	globals.calendars["november"],
32	globals.calendars["december"]
33];
34let daysOfWeekTranslate = [
35	globals.calendars["sunday"],
36	globals.calendars["monday"],
37	globals.calendars["tuesday"],
38	globals.calendars["wednesday"],
39	globals.calendars["thursday"],
40	globals.calendars["friday"],
41	globals.calendars["saturday"]
42];
43if (window.screen.width >= 767) {
44
45	$('input#dateInOutFake').daterangepicker({
46		startDate: date1,
47		endDate: date2,
48		parentEl: ".bookingBar .field .calendar",
49		drops: "up",
50		opens: 'center',
51		autoApply: true,
52		autoUpdateInput: false,
53		minDate: new Date(),
54		locale: {
55			daysOfWeek: daysOfWeekTranslate,
56			monthNames: monthNamesTranslate,
57			firstDay: 1
58		},
59	}, function (start, end) {
60		setDates(start, end);
61
62	});
63} else {
64	$('input#dateInOutFake').daterangepicker({
65		startDate: date1,
66		endDate: date2,
67		parentEl: ".bookingBar .field .calendar",
68		drops: "up",
69		opens: 'center',
70		autoUpdateInput: false,
71		linkedCalendars: false,
72		autoApply: true,
73		minDate: new Date(),
74		locale: {
75			daysOfWeek: daysOfWeekTranslate,
76			monthNames: monthNamesTranslate,
77			firstDay: 1
78		},
79	}, function (start, end) {
80
81		setDates(start, end);
82
83	});
84
85	$(".drp-calendar.right").hide();
86	$("#searchForm .bookingBar .field .popups").removeClass("no-bg");
87
88}
89
90	// INICIALIZACIÓN DEL MENÚ
91	$(document).ready(function () {
92
93		//Nav noScroll Events
94		$("#nav-btn").click(function () {
95			$("body").toggleClass("no-scroll");
96			$("#ascrail2000").toggleClass("d-none");
97		});
98
99		//Header Icon Hover Events
100		$("#header .leftNav a.vibra-radio-btn, #header .rightNav ul.topLinks > li > a, #header .hamburger nav .nav_header a.vibra-radio-btn, #header .hamburger nav .nav_middle a.vibra-radio-btn").hover(function (e) {
101			$(this).children("img").toggle();
102		});
103
104		//Language Menu Events
105		$("#header .languageMenu label a").click(function () {
106			$(this).toggleClass("open");
107			$("#header .languageMenu ul").slideToggle("slow");
108		});
109		$("#header .languageMenu ul li a").click(function () {
110			var text = $(this).html();
111			$("#header .languageMenu label a").html(text);
112			$("#header .languageMenu ul").slideUp("slow");
113		});
114		$("#header .hamburger nav .nav_header .language-menu label a").click(function () {
115			$(this).toggleClass("open");
116			$("#header .hamburger nav .nav_header .language-menu ul").slideToggle("slow");
117		});
118		$("#header .hamburger nav .nav_header .language-menu ul li a").click(function () {
119			var text = $(this).html();
120			$("#header .hamburger nav .nav_header .language-menu label a").html(text);
121			$("#header .hamburger nav .nav_header .language-menu ul").slideUp("slow");
122		});
123		$(document).bind("click", function (event) {
124			if (!$(event.target).closest("#header .languageMenu").length) {
125				$("#header .languageMenu label a").removeClass("open");
126				$("#header .languageMenu ul").slideUp("slow");
127			}
128			if (!$(event.target).closest("#header .hamburger nav .nav_header .language-menu").length) {
129				$("#header .hamburger nav .nav_header .language-menu label a").removeClass("open");
130				$("#header .hamburger nav .nav_header .language-menu ul").slideUp("slow");
131			}
132		});
133
134		//Nav Hover Image Effects Events
135		var check_placeholder;
136		$('#header .hamburger nav .nav_middle .links-element').hover(function () {
137			var img = $(this).attr('data-placeholder');
138			$('#header .hamburger nav .nav-img-box .nav-img').css('background-image', 'url(' + img + ')');
139		}, function () {
140			$('#header .hamburger nav .nav-img-box .nav-img').css('background-image', 'none');
141		});
142
143		//Nav Sub Nav Click Events
144		$('#header .hamburger nav .nav_middle ul.menu li ul.sub-menu').before("<div class='sub-menu
144-btn'></div>").parent().addClass("children");
145		$("#header .hamburger nav .nav_middle ul.menu li").each(function () {
146			$(this).find(".sub-menu-btn").click(function (e) {
147				$("#header .hamburger nav .nav_middle ul.menu li .sub-menu-btn").not($(this)).removeClass("open");
148				$(this).toggleClass("open");
149				$("#header .hamburger nav .nav_middle ul.menu li ul.sub-menu").not($(this).next("ul.sub-menu")).slideUp("slow");
150				$(this).next("ul.sub-menu").slideToggle("slow");
151			});
152		});
153	});
154	// FIN INICIALIZACIÓN DEL MENÚ
155
156
157	/****** EVENTO PARA MOSTRAR/CERRAR MÁSCARA Y POPUPS DE LA MISMA ***********/
158
159	$("#searchForm .bookingNav ul li a.searchFormOpen, #searchForm .bookingBar a.searchFormClose").click(function () {
160		$("#searchForm .bookingBar").toggleClass("d-flex");
161	});
162
163	$("#searchForm .bookingBar .field").each(function () {
164
165		$(this).find(".popupsOpen").click(function (e) {
166			$("#searchForm .bookingBar .field .popups").not($(this).next(".popups")).hide();
167			$(this).next(".popups").addClass("d-flex");
168			$(this).next(".popups").removeClass("d-none");
169		});
170
171		$(this).find(".popupsCancel").click(function (e) {
172			$("#searchForm .bookingBar .field .popups").not($(this).closest(".popups")).hide();
173			$(this).closest(".popups").addClass("d-none");
174			$(this).closest(".popups").removeClass("d-flex");
175		});
176	});
177
178	$("#searchForm .bookingBar .field .popups .menubox .level-1 ul.menu li a.open-next-lvl").click(function () {
179		var searchFormMenu1 = $(this).data("val");
180		$("#searchForm .bookingBar .field .popups .menubox .level-2 ul.menu").hide();
181		$("#searchForm .bookingBar .field .popups .menubox #" + searchFormMenu1).show();
182	});
183	$("#searchForm .bookingBar .field .popups .menubox .level-2 ul.menu li a.open-next-lvl").click(function () {
184		var searchFormMenu2 = $(this).data("val");
185		$("#searchForm .bookingBar .field .popups .menubox .level-3 ul.menu").hide();
186		$("#searchForm .bookingBar .field .popups .menubox #" + searchFormMenu2).show();
187	});
188	$("#searchForm .bookingBar .field .popups .menubox .level-1 ul.menu li a.open-next-lvl").click(function () {
189		$("#searchForm .bookingBar .field .popups .menubox .level-1").hide();
190		$("#searchForm .bookingBar .field .popups .menubox .level-2").show();
191		$("#searchForm .bookingBar .field .popups .menubox .level-3").hide();
192	});
193	$("#searchForm .bookingBar .field .popups .menubox .level-2 ul.menu li a.open-next-lvl").click(function () {
194		$("#searchForm .bookingBar .field .popups .menubox .level-1").hide();
195		$("#searchForm .bookingBar .field .popups .menubox .level-2").hide();
196		$("#searchForm .bookingBar .field .popups .menubox .level-3").show().parent().parent().addClass("menu-no-bg");
197	});
198	$("#searchForm .bookingBar .field .popups .menubox .level-2 a.back").click(function () {
199		$("#searchForm .bookingBar .field .popups .menubox .level-1").show();
200		$("#searchForm .bookingBar .field .popups .menubox .level-2").hide();
201		$("#searchForm .bookingBar .field .popups .menubox .level-3").hide();
202	});
203	$("#searchForm .bookingBar .field .popups .menubox .level-3 a.back").click(function () {
204		$("#searchForm .bookingBar .field .popups .menubox .level-1").hide();
205		$("#searchForm .bookingBar .field .popups .menubox .level-2").show();
206		$("#searchForm .bookingBar .field .popups .menubox .level-3").hide().parent().parent().removeClass("menu-no-bg");
207	});
208
209
210	/****** FIN EVENTO PARA MOSTRAR/CERRAR MÁSCARA Y POPUPS DE LA MISMA ***********/
211
212
213	/****** EVENTO SCROLL DEL BOTÓN DE SLIDER  ******/
214	$(".experiences-anchor").on("click", function(e){
215		e.preventDefault();
216		e.stopPropagation();
217		var position = parseInt($("#discoverSec").offset().top);
218		position = position + 50;
219		$([document.documentElement, document.body]).animate({
220			scrollTop: position
221		}, 1000);
222	});
223	/***** FIN EVENTO SCROLL DEL BOTÓN DE SLIDER  ********/
224
225
226
227
228	/****** FILTROS PARA EL POP-UP DE VENTAJAS Y HOTELES *********/
229	// Filtros por isla
230	$(".advantages-filters .filters-destinies a").on("click", function(){
231		var destinie = $(this).data("destinie");
232
233		// Filtros de segundo nivel
234		$(".filters-lvl2 li a").addClass("d-none");
235		$(".filters-lvl2 li a[data-destinie="+ destinie +"]").removeClass("d-none");
236
237		//Filtros de tercer nivel
238		$(".filters-lvl3 li a").addClass("d-none");
239		$(".filters-lvl3 li a[data-destinie='" + destinie + "']").removeClass("d-none");
240
241		//Añadimos la clase current al filtro activo
242		$(".advantages-filters .filters-zones li").removeClass("current");
243		$(".advantages-filters .filters-experiences li").removeClass("current");
244		$(".advantages-filters .filters-destinies li").removeClass("current");
245		$(this).closest("li").addClass("current");
246
247
248		//Ocultamos bloques en móvil
249		if( $(window).width() <= 767){
250			$(".advantages-filters .level-1").css("display","none");
251			$(".advantages-filters .level-2").css("display","block");
252		}
253
254		//Hacemos la configuración de la variable filterExperience
255		filterExperience = "";
256
257	});
258
259	// Filtros por experiencia
260	var filterExperience = "";
261	$(".advantages-filters .filters-experiences a").on("click", function(){
262		var experience = $(this).data("experience");
263		// Filtros de segundo nivel
264		$(".filters-lvl2 li a").addClass("d-none");
265		$(".filters-lvl2 li a[data-experience-"+ experience +"]").removeClass("d-none");
266
267		// Filtros de tercer nivel
268		$(".filters-lvl3 li a").addClass("d-none");
269		$(".filters-lvl3 li a[data-experience-"+ experience +"]").removeClass("d-none");
270
271		//Añadimos la clase current al filtro activo
272		$(".advantages-filters .filters-zones li").removeClass("current");
273		$(".advantages-filters .filters-experiences li").removeClass("current");
274		$(".advantages-filters .filters-destinies li").removeClass("current");
275		$(this).closest("li").addClass("current");
276
277		//Ocultamos bloques en móvil
278		if( $(window).width() <= 767){
279			$(".advantages-filters .level-1").css("display","none");
280			$(".advantages-filters .level-2").css("display","block");
281		}
282
283		//Hacemos la configuración de la variable filterExperience
284		filterExperience = "data-experience-" + experience;
285
286	});
287
288	// Filtros por zona
289	$(".advantages-filters .filters-zones a").on("click", function(){
290		var zone = $(this).data("zone");
291		var destinie = $(this).data("destinie");
292
293		//Filtros de tercer nivel
294		$(".filters-lvl3 li a").addClass("d-none");
295
296		//Miramos si alguna experiencia de primer nivel esta seleccionad
296a para saber que ítems mostrar
297		if( filterExperience != "" ) {
298			$(".filters-lvl3 li a[data-zone = '" + zone + "'][data-destinie = '" + destinie + "'][" + filterExperience + "]").removeClass("d-none");
299		} else {
300			$(".filters-lvl3 li a[data-zone = '" + zone + "'][data-destinie = '" + destinie + "']").removeClass("d-none");
301		}
302
303		//Ocultamos bloques en móvil
304		if( $(window).width() <= 767){
305			$(".advantages-filters .level-2").css("display","none");
306			$(".advantages-filters .level-3").css("display","block");
307		}
308
309		//Añadimos la clase current al filtro activo
310		$(".advantages-filters .filters-zones li").removeClass("current");
311		$(this).closest("li").addClass("current");
312	});
313	/****** FIN FILTROS PARA EL POP-UP DE VENTAJAS Y HOTELES *********/
314
315
316
317	//Advantages Menu Open/Close Events
318	$("#slider .caption .online-vibra, #searchForm .bookingBar .field.title .online-vibra, .booking-mobile").click(function () {
319		$("#advantagesMenu").toggleClass("open");
320		$("body").toggleClass("no-scroll");
321		$("#ascrail2000").toggleClass("d-none");
322	});
323	$('#advantagesMenu a.close-icon').click(function () {
324		$("#advantagesMenu").toggleClass("open");
325		$("body").toggleClass("no-scroll");
326		$("#ascrail2000").toggleClass("d-none");
327	});
328
329	//Advantages Menu Show/Hide Events
330	$("#advantagesMenu .menubox div.menus .level-1 ul.menu li a[data-val]").click(function () {
331		var advantagesMenu1 = $(this).data("val");
332		$("#advantagesMenu .menubox div.menus .level-2 ul.menu").hide().find("li").removeClass("current");
333		$("#advantagesMenu .menubox div.menus #" + advantagesMenu1).show().find("li").first().addClass("current").find("a").trigger("click");
334	});
335	$("#advantagesMenu .menubox div.menus .level-2 ul.menu li a[data-val]").click(function () {
336		var advantagesMenu2 = $(this).data("val");
337		$("#advantagesMenu .menubox div.menus .level-3 ul.menu").hide();
338		$("#advantagesMenu .menubox div.menus #" + advantagesMenu2).show();
339	});
340	var advantagesMenuActive1 = "#advantagesMenu .menubox div.menus .level-1 ul.menu li a[data-val]";
341	$(advantagesMenuActive1).on("click", function () {
342		$(advantagesMenuActive1).parent().removeClass("current");
343		$(this).parent().addClass("current");
344	});
345	var advantagesMenuActive2 = "#advantagesMenu .menubox div.menus .level-2 ul.menu li a[data-val]";
346	$(advantagesMenuActive2).on("click", function () {
347		$(advantagesMenuActive2).parent().removeClass("current");
348		$(this).parent().addClass("current");
349	});
350	if (window.screen.width < 767) {
351		$("#advantagesMenu .menubox div.menus ul.menu li").removeClass("current");
352		$("#advantagesMenu .menubox div.menus .level-1 ul.menu li a[data-val]").click(function () {
353			$("#advantagesMenu .menubox .search").hide();
354			$("#advantagesMenu .menubox div.menus ul.menu li").removeClass("current");
355			$("#advantagesMenu .menubox div.menus .level-1").hide();
356			$("#advantagesMenu .menubox div.menus .level-2").show();
357			$("#advantagesMenu .menubox div.menus .level-3").hide();
358		});
359		$("#advantagesMenu .menubox div.menus .level-2 ul.menu li a[data-val]").click(function () {
360			$("#advantagesMenu .menubox div.menus ul.menu li").removeClass("current");
361			$("#advantagesMenu .menubox div.menus .level-1").hide();
362			$("#advantagesMenu .menubox div.menus .level-2").hide();
363			$("#advantagesMenu .menubox div.menus .level-3").show();
364		});
365		$("#advantagesMenu .menubox div.menus .level-2 a.back").click(function () {
366			$("#advantagesMenu .menubox .search").show();
367			$("#advantagesMenu .menubox div.menus .level-1").show();
368			$("#advantagesMenu .menubox div.menus .level-2").hide();
369			$("#advantagesMenu .menubox div.menus .level-3").hide();
370		});
371		$("#advantagesMenu .menubox div.menus .level-3 a.back").click(function () {
372			$("#advantagesMenu .menubox div.menus .level-1").hide();
373			$("#advantagesMenu .menubox div.menus .level-2").show();
374			$("#advantagesMenu .menubox div.menus .level-3").hide();
375		});
376	}
377	/****** FIN FILTROS PARA EL POP-UP DE VENTAJAS *********/
378
379
380/************ FORMULARIO DE NEWSLETTER ***************/
381
382	//Clicamos en el boton de newsletter y comprobamos el captcha
383	$(".sendNews").click(function(e) {
384		e.preventDefault();
385		e.stopPropagation();
386
387			var formNews = $("#newsletter-form"),
388				$message_news = $('#responseNews');
389			var checkboxNews = $('#checkNews');
390			var newscheck = true;
391
392		if(!checkboxNews.prop('checked')){
393
394			$message_news.html("<p class='info'><i class='fa fa-exclamation-triangle' aria-hidden='true'></i>" + globals.errors['verifyTerms'] + "</p>");
395			newscheck = false;
396		}
397
398		if(!validateEmail($('#emailNews').val())){
399			$message_news.html("<p class='info'><i class='fa fa-exclamation-triangle' aria-hidden='true'></i>" + globals.errors['errorEmail'] + "</p>");
400			newscheck = false;
401		}
402
403		if($('#nameNews').val().length === 0){
404			$message_news.html("<p class='info'><i class='fa fa-exclamation-triangle' aria-hidden='true'></i>" + globals.errors['emptyName'] + "</p>");
405			newscheck = false;
406		}
407
408		if ( newscheck === true){
409
410			var app_id = '5c1213a885216dde3a0000d1';
411			var app_secret = '9569301912ad3387842e5925166b0892';
412			var user_id = $("#emailNews").length > 0 ? $("#emailNews").val() : null;
413			var sdk = new PUSHTechSDK(app_id, app_secret, user_id);
414
415			sdk.init().then(function (success) {
416
417				sdk.createEmailMetric($('#emailNews').val());
418				sdk.createFirstNameMetric($('#nameNews').val());
419				sdk.createUserIdMetric($('#emailNews').val());
420				sdk.createMarketingConsent(newscheck);
421				sdk.createCountryMetric(country); // Métrica del país del cliente (variable global)
422				sdk.createGDPRAcceptTerms(newscheck)
423				sdk.createSendFormMetric();
424				sdk.sendMetrics();
425				$message_news.html("<p class='success'><i class='fa fa-check-circle' aria-hidden='true'></i>" + globals.errors['newsletterOK'] + "</p>");
426				formNews[0].reset();
427				neoAnalytics.event.generateLead();
428
429			}).catch(function (error){
430
431				$message_news.html("<p class='info'><i class='fa fa-exclamation-triangle' aria-hidden='true'></i>" + globals.errors['newsletterKO'] + "</p>");
432				console.log(error)
433				$("#emailNews").val("");
434				$("#nameNews").val("");
435				formNews[0].reset();
436				neoAnalytics.event.error(6);
437
438			});
439		} else {
440			neoAnalytics.event.error(6);
441		}
442	});
443
444
445	/************ FIN FORMULARIO DE NEWSLETTER ***************/

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.