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.