PageSourceSearch

https://beqalagoonresort.com/wp-content/plugins/wp-tripadvisor-rev…/public/js/wprev-public.js?ver=15.0

js beqalagoonresort.com collected 2026-09-26 12:01:13 UTC 6,354 bytes, 192 lines download raw bytes

1(function( $ ) {
2	'use strict';
3
4	$(function(){
5
6		$( ".wprs_rd_more" ).click(function() {
7			$(this ).hide();
8			$(this ).next("span").show(0, function() {
9				$(this ).css('opacity', '1.0');
10			  });
11			$(this ).closest( ".wprev-slider-widget" ).css( "height", "auto" );
12			$(this ).closest( ".wprev-slider" ).css( "height", "auto" );
13		});
14
15		// Mobile one-review-per-slide rewrite (matches Google free behavior).
16		$( ".wprev-slider, .wprev-slider-widget" ).each(function() {
17			var oneonmobile = $(this).attr( "data-onemobil" );
18			if(oneonmobile=="yes" && window.matchMedia("(max-width: 600px)").matches){
19				var $slider = $(this);
20				var $newlis = [];
21				$slider.find('li').each(function() {
22					$(this).find('.w3_wprs-col').each(function() {
23						var $col = $(this).clone();
24						$col.removeClass (function (index, className) {
25							return (className.match (/(^|\s)l\S+/g) || []).join(' ');
26						});
27						$col.addClass('l12');
28						var $li = $('<li></li>').append($col);
29						$newlis.push($li);
30					});
31				});
32				if($newlis.length>0){
33					$slider.find('ul').empty().append($newlis);
34				}
35			}
36		});
37		
38		$( ".wprev-slider" ).each(function( index ) {
39			createaslider(this,'shortcode');
40		});
41		$( ".wprev-slider-widget" ).each(function( index ) {
42			createaslider(this,'widget');
43		});
44
45		function createaslider(thissliderdiv,type){
46			var sliderhideprevnext = $(thissliderdiv).attr( "data-sliderhideprevnext" );
47			var sliderhidedots = $(thissliderdiv).attr( "data-sliderhidedots" );
48			var sliderautoplay = $(thissliderdiv).attr( "data-sliderautoplay" );
49			var slidespeed = $(thissliderdiv).attr( "data-slidespeed" );
50			var slideautodelay = $(thissliderdiv).attr( "data-slideautodelay" );
51			var sliderfixedheight = $(thissliderdiv).attr( "data-sliderfixedheight" );
52			var revsameheight = $(thissliderdiv).attr( "data-revsameheight" );
53
54			// Backward-compatible defaults matching previous hardcoded TripAdvisor JS.
55			var showarrows = true;
56			if(type=='widget'){
57				showarrows = false;
58			}
59			if(sliderhideprevnext=="yes"){
60				showarrows = false;
61			}
62
63			var shownav = true;
64			if(sliderhidedots=="yes"){
65				shownav = false;
66			}
67
68			var sautoplay = false;
69			if(sliderautoplay=="yes"){
70				sautoplay = true;
71			}
72
73			var sspeed = 750;
74			if(slidespeed && !isNaN(parseFloat(slidespeed)) && parseFloat(slidespeed)>0){
75				sspeed = parseFloat(slidespeed) * 1000;
76			}
77
78			var sdelay = 5000;
79			if(type=='widget'){
80				sdelay = 3000;
81			}
82			if(slideautodelay && !isNaN(parseFloat(slideautodelay)) && parseFloat(slideautodelay)>0){
83				sdelay = parseFloat(slideautodelay) * 1000;
84			}
85			if(sdelay < sspeed){
86				sdelay = sspeed;
87			}
88
89			var sanimate = true;
90			if(sliderfixedheight=="yes"){
91				sanimate = false;
92			}
93
94			$( thissliderdiv ).find('li').show();
95			var slider = $( thissliderdiv ).wprs_unslider(
96					{
97					autoplay:sautoplay,
98					infinite:false,
99					delay: sdelay,
100					speed: sspeed,
101					animation: 'horizontal',
102					arrows: showarrows,
103					nav: shownav,
104					animateHeight: sanimate,
105					activeClass: 'wprs_unslider-active',
106					}
107				);
108
109			if(sanimate){
110				setTimeout(function(){
111					var firstheight = $(thissliderdiv).find('.wprs_unslider-active').height();
112					$(thissliderdiv).css( 'height', firstheight );
113				}, 500);
114			}
115
116			if(sautoplay){
117				slider.on('mouseover', function() {slider.data('wprs_unslider').stop();}).on('mouseout', function() {slider.data('wprs_unslider').start();});
118			}
119
120			if(revsameheight=='yes'){
121				var maxh = 0;
122				$(thissliderdiv).find('.indrevdiv').each(function(){
123					var h = $(this).outerHeight();
124					if(h>maxh){ maxh = h; }
125				});
126				if(maxh>0){
127					$(thissliderdiv).find('.indrevdiv').css('min-height', maxh+'px');
128				}
129			}
130		}
131
132		$(".wptripadvisor_t1_outer_div, .wprevpro_t6_outer_div, .wptripadvisor_t1_outer_div_widget, .wprevpro_t6_outer_div_widget").on('mouseenter touchstart', '.wprevtooltip', function(e) {
133			var titleText = $(this).attr('data-wprevtooltip');
134			$(this).data('tiptext', titleText).removeAttr('data-wprevtooltip');
135			$('<p class="wprevpro_tooltip"></p>').text(titleText).appendTo('body').css('top', (e.pageY - 15) + 'px').css('left', (e.pageX + 10) + 'px').fadeIn('slow');
136		});
137		$(".wptripadvisor_t1_outer_div, .wprevpro_t6_outer_div, .wptripadvisor_t1_outer_div_widget, .wprevpro_t6_outer_div_widget").on('mouseleave touchend', '.wprevtooltip', function(e) {
138			$(this).attr('data-wprevtooltip', $(this).data('tiptext'));
139			$('.wprevpro_tooltip').remove();
140		});
141		$(".wptripadvisor_t1_outer_div, .wprevpro_t6_outer_div, .wptripadvisor_t1_outer_div_widget, .wprevpro_t6_outer_div_widget").on('mousemove', '.wprevtooltip', function(e) {
142			$('.wprevpro_tooltip').css('top', (e.pageY - 15) + 'px').css('left', (e.pageX + 10) + 'px');
143		});
144
145		// Lazy-load Lity only when review media thumbnails are on the page.
146		// Use a manual open so we don't also fire Lity's built-in [data-lity] handler (double lightbox).
147		function wprevBindMediaLightbox($root) {
148			var $scope = $root && $root.length ? $root : $(document);
149			$scope.off('click.wprevlity', 'a.wprev_media_img_a').on('click.wprevlity', 'a.wprev_media_img_a', function(e) {
150				e.preventDefault();
151				e.stopImmediatePropagation();
152				var href = $(this).attr('href');
153				if (!href || typeof lity !== 'function') {
154					return;
155				}
156				lity(href);
157			});
158		}
159
160		function wprevEnsureLity(callback) {
161			if (typeof lity === 'function') {
162				callback();
163				return;
164			}
165			var base = (typeof wprevpublicjs_script_vars !== 'undefined' && (wprevpublicjs_script_vars.wprevplugin_url || wprevpublicjs_script_vars.wprevpluginsurl))
166				? (wprevpublicjs_script_vars.wprevplugin_url || wprevpublicjs_script_vars.wprevpluginsurl)
167				: '';
168			if (!base) {
169				return;
170			}
171			if (!document.getElementById('wprev_lity_css')) {
172				var head = document.getElementsByTagName('head')[0];
173				var link = document.createElement('link');
174				link.id = 'wprev_lity_css';
175				link.rel = 'stylesheet';
176				link.type = 'text/css';
177				link.href = base + '/public/css/lity.min.css';
178				link.media = 'all';
179				head.appendChild(link);
180			}
181			$.getScript(base + '/public/js/lity.min.js', callback);
182		}
183
184		if ($('.wprev_media_div a.wprev_media_img_a').length > 0) {
185			wprevEnsureLity(function() {
186				wprevBindMediaLightbox($(document));
187			});
188		}
189		
190	});
191
192})( jQuery );

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.