1(function($, global, undefined){ 2 /* Handles */ 3 4 $(function(){ 5 // document.addEventListener('contextmenu', event => event.preventDefault()); 6 // console.log('ssssss'); 7 8 $('.vrpshowing').change(function() { 9 10 var that = $(this); 11 12 if(that.val() == '') { 13 return; 14 } 15 16 location.search = VRP.queryString.formatQueryString(that.val()); 17 18 }); 19 20 $('.vrpsorter').change(function() { 21 22 var that = $(this); 23 24 if(that.val() == '') { 25 return; 26 } 27 28 location.search = VRP.queryString.formatQueryString(that.val()); 29 }); 30 31 32 $('.vrpsorter').change(function() { 33 34 var that = $(this); 35 36 if(that.val() == '') { 37 return; 38 } 39 40 location.search = VRP.queryString.formatQueryString(that.val()); 41 }); 42 43 $('.vrp-cd-pagination a').click(function(e){ 44 45 e.preventDefault(); 46 47 var that = $(this), 48 parameters = that.attr('href'); 49 50 if(that.hasClass('current') || that.hasClass('disabled')) { 51 return; 52 } 53 54 location.search = VRP.queryString.formatQueryString(parameters); 55 56 }); 57 58 $('.vrp-thumbnail').hover(function(e){ 59 60 var that = $(this).parent(), 61 index = $('.vrp-item').index(that); 62 63 VRP.ui.overlay(that, index, e); 64 65 }, function(e) { 66 67 var that = $(this).parent(), 68 index = $('.vrp-item').index(that); 69 70 VRP.ui.overlay(that, index, e); 71 72 }); 73 74 $('#vrp-list').click(function(e) { 75 e.preventDefault(); 76 $('.list-grid-layout').attr('class', 'col-xs-12 list-grid-layout vpr-list-style'); 77 }); 78 79 $('#vrp-grid').click(function(e){ 80 e.preventDefault(); 81 $('.list-grid-layout').attr('class', 'col-md-4 col-xs-6 col-sm-12 vpr-list-grid-layout vpr-grid-style'); 82 }); 83 84 $('#listing-sort a').click(function (e) { 85 e.preventDefault(); 86 87 var el = $(this); 88 var sort = el.data('sort'); 89 var order = el.data('order'); 90 91 $('#listing-sort a').removeClass('active'); 92 el.addClass('active'); 93 94 sortListings(sort, order); 95 }); 96 97 function sortListings(sort, order) 98 { 99 var listings = $('.abe-results .listings'); 100 listings.find('.abe-item').sort(function(a, b) { 101 if (order == 'asc') { 102 return a.getAttribute('data-' + sort) - b.getAttribute('data-' + sort); 103 } else { 104 return b.getAttribute('data-' + sort) - a.getAttribute('data-' + sort); 105 } 106 }).appendTo(listings); 107 } 108 109 let filters = []; 110 111 $('#listing-filter select').change(function (e) { 112 e.preventDefault(); 113 114 var el = $(this); 115 var filter = el.data('filter'); 116 var value = el.val(); 117 118 var urlArr = window.location.href.split('?'); 119 120 if( urlArr.length > 1) { 121 122 var queryArr = urlArr[1].split('&'); 123 124 var filterInQuery = queryArr.filter(function(q) { 125 var params = q.split('='); 126 if( params[0] == filter ) 127 return true; 128 }) 129 130 if( filterInQuery.length == 0 ) 131 queryArr.push(`${filter}=${value}`); 132 else { 133 queryArr = queryArr.map(function(q) { 134 var params = q.split('='); 135 if( params[0] != filter ) 136 return q; 137 else 138 return `${filter}=${value}`; 139 }); 140 } 141 var urlFilter = urlArr[0] + '?' + queryArr.join('&'); 142 143 }else 144 var urlFilter = urlArr[0] + '?' + filter + '=' + value; 145 146 window.history.replaceState({}, '', urlFilter ); 147 148 updateFilters(); 149 }); 150 151 function updateFilters() 152 { 153 filters = []; 154 155 var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 156 157 if( hashes[0] != window.location.href ){ 158 159 $.each(hashes, function(i, h) { 160 var q = h.split('='); 161 if(q[1] != '' ) 162 filters[q[0]] = decodeURI(q[1]); 163 }) 164 } 165 166 filterListings(); 167 } 168 169 function filterListings() 170 { 171 var listings = $('.abe-results .listings'); 172 173 listings.find('.abe-item').each(function(i, item) { 174 var el = $(item); 175 var hide = false;
176 177 for (filter in filters) { 178 var value = el.data(filter); 179 180 if (filter == 'price') { 181 var price = filters[filter].split('-'); 182 if (price[0] == '*') { 183 if (value > price[1]) { 184 hide = true; 185 } 186 } else if (price[1] == '*') { 187 if (value < price[0]) { 188 hide = true; 189 } 190 } else { 191 if (value < price[0] || value > price[1]) { 192 hide = true; 193 } 194 } 195 } else { 196 197 if (Array.isArray(value)) { 198 if (!value.includes(filters[filter])) { 199 hide = true; 200 } 201 } else if (value != filters[filter]) { 202 hide = true; 203 } 204 } 205 } 206 207 if (hide) { 208 el.hide(); 209 } else { 210 el.show(); 211 } 212 }); 213 } 214 215 //Update listing 216 updateFilters(); 217 }); 218 219 220}(jQuery, window)); 221 var fav_count=''; 222jQuery(document).ready(function(){ 223 224 225 226 // VrpUnitLinks 227 if (jQuery('.abe-unit-links').length > 0) { 228 if (jQuery('.abe-unit-links').length) { 229 jQuery('.abe-unit-links').select2(); 230 jQuery('.abe-unit-links').change(function(){ 231 var data = jQuery(this).select2('data'); 232 gtag('event', 'click', { 233 'event_category': 'Search - Unit Name', 234 'event_label': data[0].text.trim() 235 }); 236 window.location.href = jQuery(this).val(); 237 }); 238 } 239 } 240 241 // Price Range event trigger 242 if (jQuery('#abeFromRange').length > 0) { 243 jQuery('#abeFromRange').on('change', function(e){ 244 jQuery('#abe-results-search').submit(); 245 }); 246 247 jQuery('#abeToRange').on('change', function(e){ 248 jQuery('#abe-results-search').submit(); 249 }); 250 } 251 252if(jQuery( 'input[name="search[arrival]"]' ).length>0) { 253 var dates = jQuery('input[name="search[arrival]"]' ).datepicker({ 254 beforeShow: customRange, 255 minDate: 2, 256 onSelect: function (selectedDate) { 257 258 var option = this.id == "arrival" ? "minDate" : "30", 259 instance = jQuery(this).data("datepicker"), 260 date = jQuery.datepicker.parseDate( 261 instance.settings.dateFormat || 262 jQuery.datepicker._defaults.dateFormat, 263 selectedDate, instance.settings); 264 dates.not(this).datepicker("option", option, date); 265 }, 266 onClose: function () { 267 var departField = jQuery('input[name="search[departure]"]'); 268 var nextDayDate = jQuery('input[name="search[arrival]"]').datepicker('getDate'); 269 if (nextDayDate !== null) { 270 nextDayDate.setDate(nextDayDate.getDate() + 7); 271 departField.datepicker('setDate', nextDayDate); 272 setTimeout(function () { 273 departField.datepicker("show"); 274 }, 10); 275 } 276 } 277 278 279 }); 280 281 282 jQuery('input[name="search[departure]"]').datepicker({ 283 beforeShow: customRange, 284 onSelect: function () { 285 var arrivalDate=jQuery('input[name="search[arrival]"]').datepicker("getDate"); 286 var departureDate=jQuery('input[name="search[departure]"]').datepicker("getDate"); 287 var oneDay = 1000*60*60*24; 288 var difference = Math.ceil((arrivalDate.getTime() - departureDate.getTime()) / oneDay); 289 difference=-difference; 290 291 jQuery("#nights").val(difference); 292 jQuery("#tn").val(difference); 293 } 294 }); 295 296 jQuery('[name="search[bedrooms]"]').on('change', function() { 297 jQuery('input[name="search[sort]"]').val('Bedrooms'); 298 jQuery('input[name="search[order]"]').val('ASC'); 299 300 // let specific = jQuery(this).find('option:selected').attr("data-specific"); 301 // let objShowMax = jQuery('input[name="search[showmax]"]'); 302 // if (specific == "true") { 303 // objShowMax.remove(); 304 // } else { 305 // jQuery('input[name="search[sort]"]').append(objShowMax); 306 // } 307 }); 308} 309 function customRange(a) { 310 var b = new Date(); 311 var c = new Date(b.getFullYear(), b.getMonth(), b.getDate()); 312 if (a.id == 'depart') { 313 if (jQuery('input[name="search[arrival]"]').datepicker('getDate') != null) { 314 c = jQuery('input[name="search[arrival]"]').datepicker('getDate'); 315 } 316 } 317 return { 318 minDate: c 319 } 320 } 321 322 jQuery('.hasDatepicker').attr("autocomplete", "off").attr("readonly", "readonly"); 323 324 jQuery("#bookmsg").hide(); 325 326 if (jQuery("#unitsincomplex").length > 0){ 327 if (jQuery("#hassession").length > 0){ 328 jQuery.get(url_paths.site_url + "/?vrpjax=1&act=searchjax",jQuery("#jaxform").serialize(),function(data){ 329 jQuery("#unitsincomplex").hide().html(data).fadeIn(); 330 }); 331 }else{ 332 jQuery.get(url_paths.site_url + "/?vrpjax=1&act=searchjax",jQuery("#jaxform2").serialize(),function(data){ 333 jQuery("#unitsincomplex").hide().html(data).fadeIn(); 334 }); 335 } 336 jQuery("#jaxform").submit(function(){ 337 jQuery.get(url_paths.site_url + "/?vrpjax=1&act=searchjax",jQuery("#jaxform").serialize(),function(data){ 338 jQuery("#unitsincomplex").hide().html(data).slideDown(1000); 339 }); 340 return false;
341 }); 342 343 jQuery("#showallofthem").click(function(){ 344 jQuery.get(url_paths.site_url + "/?vrpjax=1&act=searchjax",jQuery("#jaxform2").serialize(),function(data){ 345 jQuery("#unitsincomplex").hide().html(data).slideDown(1000); 346 }); 347 return false; 348 }); 349 } 350 351 352 /** Step3.php **/ 353 jQuery("#country").on('change', function(){ 354 355 var country =jQuery(this).find(":selected").val(); 356 console.log(country); 357 358 if (country == 'CA' || country == 'US' || country == 'other'){ 359 if (country == 'CA'){ 360 jQuery("#abe-state-wrapper select").val(''); 361 jQuery("#abe-province-wrapper").show(); 362 jQuery("#abe-othercountry-wrapper,#abe-region-wrapper,#abe-state-wrapper").hide(); 363 jQuery("#abe-province-wrapper").effect("highlight", {}, 2000); 364 } 365 366 if (country == 'US'){ 367 jQuery("#abe-province-wrapper select,#abe-region-wrapper select").val(''); 368 jQuery("#abe-state-wrapper").show(); 369 jQuery("#abe-othercountry-wrapper,#abe-region-wrapper,#abe-province-wrapper").hide(); 370 jQuery("#abe-state-wrapper").effect("highlight", {}, 2000); 371 } 372 373 if (country == 'other'){ 374 jQuery("#abe-province-wrapper select,#abe-state-wrapper select").val(''); 375 jQuery("#abe-province-wrapper,#abe-state-wrapper").hide(); 376 jQuery("#abe-othercountry-wrapper,#abe-region-wrapper").show(); 377 jQuery("#abe-othercountry-wrapper,#abe-region-wrapper").effect("highlight", {}, 2000); 378 } 379 }else{ 380 jQuery("#abe-province-wrapper select,#abe-state-wrapper select, #abe-othercountry-wrapper select").val(''); 381 jQuery("#abe-province-wrapper,#abe-state-wrapper,#abe-othercountry-wrapper").hide(); 382 jQuery("#abe-region-wrapper").show(); 383 jQuery("#abe-region-wrapper").effect("highlight", {}, 2000); 384 } 385 386 }); 387 388 jQuery("#vrpbookform").submit(function(){ 389 jQuery("#bookingbuttonvrp").hide(); 390 jQuery("#vrploadinggif").show(); 391 jQuery("span.vrpmsg").remove(); 392 jQuery(".badfields").removeClass("badfields"); 393 jQuery("#comments").val(jQuery("#comments").val()); 394 jQuery.post(url_paths.site_url + "/?vrpjax=1&act=processbooking",jQuery(this).serialize(),function(data){ 395 396 console.log(data); 397 398 var obj=jQuery.parseJSON(data); 399 if (obj.Bad.length != 0){ 400 jQuery("#bookingbuttonvrp").show(); 401 jQuery("#vrploadinggif").hide(); 402 jQuery.each(obj.Bad,function(k,v){ 403 jQuery("#" + k + "tr td:last").append('<span class="vrpmsg alert alert-error">' + v + '</span>'); 404 var oldcolor=jQuery("#" + k + "tr").css("color"); 405 jQuery("#" + k + "tr").addClass("badfields"); 406 jQuery("#" + k).change(function(){ 407 jQuery("#" + k + "tr").removeClass("badfields"); 408 jQuery("#" + k + "tr td span.vrpmsg").remove(); 409 }); 410 }); 411 jQuery("html, body").animate({ 412 scrollTop: 0 413 }, "slow",function(){}); 414 alert("Please correct the errors with your reservation and try again."); 415 416 }else{ 417 if (obj.Error.length != 0){ 418 jQuery("#bookingbuttonvrp").show(); 419 jQuery("#vrploadinggif").hide(); 420 alert(obj.Error); 421 }else{ 422 window.location=jQuery("#vrpbookform").attr("action"); 423 } 424 } 425 426 }); 427 428 return false; 429 }); 430 431 jQuery("#showContract").on('click', function(event) { 432 event.preventDefault(); 433 jQuery('#theContract').show(); 434 }); 435 436 jQuery('#closeContract').on('click', function(event) { 437 event.preventDefault(); 438 jQuery('#theContract').hide(); 439 }); 440 441 442 /** OTHER **/ 443 jQuery(".dpinquiry").datepicker(); 444 445 jQuery(".vrp-pagination li a,.dobutton").button(); 446 447}); 448 449const checkOffset = jQuery.datepicker._checkOffset; 450jQuery.extend(jQuery.datepicker, { 451 _checkOffset: function (inst, offset, isFixed) { 452 if (!isFixed) { 453 return checkOffset.apply(this, arguments); 454 } let isRTL = this._get(inst, "isRTL"); 455 let obj = inst.input[0]; // copied from Datepicker._findPos (node_modules/jquery-ui/datepicker.js) 456 while (obj && (obj.type === "hidden" || obj.nodeType !== 1 || jQuery.expr.filters.hidden(obj))) { 457 obj = obj[isRTL ? "previousSibling" : "nextSibling"]; 458 } let rect = obj.getBoundingClientRect(); // copied from Datepicker._checkOffset 459 var viewHeight = document.documentElement.clientHeight + (isFixed ? 0 : jQuery(document).scrollTop()), 460 dpHeight = inst.dpDiv.outerHeight(); return { 461 // added validation for when the date picker is displayed at the bottom 462 top: viewHeight < rect.top + rect.height + dpHeight ? rect.top - dpHeight : rect.top + rect.height, 463 left: rect.left 464 }; 465 } 466}); 467
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.