1 2<!DOCTYPE HTML> 3<html lang="en" prefix="og: http://ogp.me/ns#"> 4<head id="head"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> 6 <meta charset="utf-8"> 7 <meta name="description" content="Excellent prices on Travel Trailers for sale in Plant City, Florida. Stop in today at H &amp; L RVs to see all our Travel Trailers for sale." /> 8 9 <link rel="canonical" href="https://www.handlrvs.com/product/travel-trailer" /> 10 <meta name="irv:template" content="irvListing" /> 11 <title>Travel Trailers For Sale in Plant City, Florida | H & L RVs</title> 12 13
13<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/tealium-consent.js"></script>
vendor: 1 bytes, line 13
13
14<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/helpers.js"></script>
14 15 16 17 18 19 <!-- Google Tag Manager --> 20
20<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 21 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 22 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 23 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 24 })(window,document,'script','dataLayer','');</script>
24 25 <!-- end Google Tag Manager --> 26 27 <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"/> 28 <link rel="stylesheet" href="https://assets-cdn.interactcp.com/interactrv/fontawesome-kit/css/all.min.css"> 29 <link rel="stylesheet" href="https://assets-cdn.interactcp.com/interactrv/fontawesome-kit/compat.css"> 30 <link rel="stylesheet" type="text/css" href="https://assets.interactcp.com/interactrv/css/common/jquery.typeahead.css"/> 31 32 <link href="https://assets-cdn.interactcp.com/interactrv/css/common/ds-global.css?version=1.146.922.1" type="text/css" rel="stylesheet" /> 33 <link rel="stylesheet" type="text/css" href="/styles/ai-search-cta.css?v=1.146.922.1"/> 34<link rel="stylesheet" type="text/css" href="/styles/srp.css?v=1.146.922.1"/> 35<link rel="stylesheet" type="text/css" href="/styles/global.css?v=1.146.922.1"/> 36 37 38 39 40<link rel="preconnect" href="https://fonts.googleapis.com"> 41<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""> 42<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto" media="all"> 43<link href="//assets-cdn.interactcp.com/interactrv/css/common/ds-global.css" type="text/css" rel="stylesheet" /> 44<link rel="stylesheet" type="text/css" href="//assets.interactcp.com/handlrvs/css/350414_default.css" /> 45<link rel="stylesheet" type="text/css" href="//assets.interactcp.com/handlrvs/css/350414_client.css" /> 46 47 48 49 50 51 52<![endif]-->
53<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
53 54 55<link rel="apple-touch-icon-precomposed" sizes="57x57" href="//www.handlrvs.com/handlrvs/images/favicon/apple-touch-icon-57x57.png" /> 56<link rel="apple-touch-icon-precomposed" sizes="114x114" href="//www.handlrvs.com/handlrvs/images/favicon/apple-touch-icon-114x114.png" /> 57<link rel="apple-touch-icon-precomposed" sizes="72x72" href="//www.handlrvs.com/handlrvs/images/favicon/apple-touch-icon-72x72.png" /> 58<link rel="apple-touch-icon-precomposed" sizes="144x144" href="//www.handlrvs.com/handlrvs/images/favicon/apple-touch-icon-144x144.png" /> 59<link rel="apple-touch-icon-precomposed" sizes="120x120" href="//www.handlrvs.com/handlrvs/images/favicon/apple-touch-icon-120x120.png" /> 60<link rel="apple-touch-icon-precomposed" sizes="152x152" href="//www.handlrvs.com/handlrvs/images/favicon/apple-touch-icon-152x152.png" /> 61<link rel="icon" type="image/png" href="//www.handlrvs.com/handlrvs/images/favicon/favicon-32x32.png" sizes="32x32" /> 62<link rel="icon" type="image/png" href="//www.handlrvs.com/handlrvs/images/favicon/favicon-16x16.png" sizes="16x16" /> 63<meta name="application-name" content="www.handlrvs.com - Plant City FL Dealer"/> 64<meta name="msapplication-TileColor" content="#FFFFFF" /> 65<meta name="msapplication-TileImage" content="//www.handlrvs.com/handlrvs/images/favicon/mstile-144x144.png" /> 66<meta property="og:image" content="https://www.handlrvs.com/handlrvs/images/facebook-banner.jpg" /> 67<link rel="preconnect" href="https://fonts.googleapis.com"> 68<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 69<link href="https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet"> 70 71<meta name="google-site-verification" content="QPs_8-Nl4jVFKB2XrAKpTFIu3gYUtZEN_tkQDxzErqM" /> 72 73<meta name="google-site-verification" content="ftzz_K9gLb9KBt8sjOHs94xg5c6PpgGK20H3Uv1F3ro" /> 74 75<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 75-76
75 76<script async src="https://www.googletagmanager.com/gtag/js?id=
76G-XKGFWD2798
vendor: 12 bytes, line 76
76"></script>
77<script> 78
vendor: 134 bytes, lines 78-82
78window.dataLayer = window.dataLayer || []; 79 function gtag(){dataLayer.push(arguments);} 80 gtag('js', new Date()); 81 82 gtag('config', '
82G-XKGFWD2798
vendor: 4 bytes, line 82
82');
83</script>
83 84
85<script type="text/javascript"> 86 (function(c,l,a,r,i,t,y){ 87 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 88 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 89 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 90 })(window, document, "clarity", "script", "suo1h947m2"); 91</script>
91 92 93 94 95
95<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/jquery.supplemental.js"></script>
vendor: 1 bytes, line 95
95
96<script type="text/javascript" src="https://assets.interactcp.com/handlrvs/js/handlrvs_com/site.js"></script>
96 97 98 99 <!-- For ContactAtOnce chat referrer tracking --> 100
100<script type="text/javascript"> 101 $(function () { 102 if (window.lpTag !== undefined && window.lpTag.vars !== undefined) { 103 lpTag.vars.push([{ 'name': 'referrer', 'value': 'handlrvs.com' }]); 104 } 105 }); 106 </script>
106 107
108<script type="text/javascript"> 109 (function() { 110 // var regEx = /(((\d{1,2})(?:[-\.\s]?))?(?:(?:\((\d{3})\))|(\d{3}))?(?:[-\.\s]?)(\d{3})(?:[-\.\s]?)(\d{4}))/g; 111 var regEx = /(?:(?:(?:(?:\d{1,2})(?:[-\.\s]))?)?(?:(?:\((?:\d{3})\))|(?:\d{3}))(?:[-\.\s])(?:\d{3})(?:[-\.\s])(?:\d{4}))|(tel:\d{10})/g; 112 var regExParts = [ 113 "(?:(?:(?:(?:\\d{1,2})(?:[-\\.\\s]))?)?(?:(?:\\((?:", 114 ")\\))|(?:", 115 "))(?:[-\\.\\s])(?:", 116 ")(?:[-\\.\\s])(?:", 117 "))|(tel:", 118 ")" 119 ]; 120 121 var escapeRegExp = function (str){ 122 return str.replace(/([.*+?^${}()|\[\]\/\\])/g, "\\$1"); 123 }; 124 125 $.fn.getPhoneNumbers = function() { 126 var numbers = []; 127 $(this).find(":not(iframe):not(input):not(select):not(textarea):not(.no-phone-tracking)").contents().filter(function(){ 128 return this.nodeType != 1; 129 }).each(function(){ 130 var matches = $(this).text().match(regEx); 131 if (matches !== null) { 132 for (var i = 0; i < matches.length; i++) { 133 var match = matches[i]; 134 135 if (match.indexOf('tel:') === 0) { 136 match = match.substring(4); 137 } 138 139 if (numbers.indexOf(match) === -1) { 140 numbers.push(match); 141 } 142 } 143 } 144 }); 145 146 return numbers; 147 }; 148 149 var specificTrackingNumbers = []; 150 var phoneTrackingApplied = false; 151 var setByLeadTracking = false; 152 153 // filter can be a phone number (the original phone number to replace) or an object with multiple filters 154 // leadTracking set to true indicates that this tracking number comes from lead tracking rules 155 $.fn.setPhoneTrackingNumber = function (number, filter, leadTracking) { 156 if (setByLeadTracking && !leadTracking) { 157 // if the tracking number was set by lead tracking, only allow lead tracking to add more rules. this is because tracking numbers set from our lead tracking settings 158 // have the highest priority, and that will be set immediately below 159 return; 160 } 161 162 if (number !== undefined && number !== '') { 163 console.log("Phone Tracking: Tracking number set. New Number: " + number + "; Filter: " + filter + "; Lead Tracking: " + leadTracking); 164 specificTrackingNumbers.push({ newNum: number, filter: filter }); 165 if (phoneTrackingApplied === true) { 166 applyPhoneTracking($(document), number, filter); 167 } 168 } 169 }; 170 171 var applyPhoneTracking = function ($el, number, filter) { 172 var find; 173 if (filter === undefined || filter === null || filter === '') { 174 console.log('Phone Tracking: Applying phone tracking: ' + number); 175 find = regEx; 176 } 177 else { 178 var phoneFilter = filter; 179 if (filter.indexOf('{') === 0) { 180 var filterObj = JSON.parse(filter); 181 phoneFilter = filterObj.phone; 182 } 183 184 var phoneDigits = phoneFilter.replace(/\D+/g, ''); 185 if (phoneDigits.length === 10) { 186 console.log('Phone Tracking: Replacing "' + filter + '" with "' + number + '"'); 187 var customRegex = regExParts[0] + phoneDigits.substring(0, 3) 188 + regExParts[1] + phoneDigits.substring(0, 3) 189 + regExParts[2] + phoneDigits.substring(3, 6) 190 + regExParts[3] + phoneDigits.substring(6, 10) 191 + regExParts[4] + phoneDigits 192 + regExParts[5]; 193 find = new RegExp(customRegex, "g"); 194 } 195 else { 196 console.log('Phone Tracking: Replacing "' + filter + '" with "' + number + '"'); 197 find = new RegExp(escapeRegExp(filter), "g"); 198 } 199 } 200 201 var regExNumberReplacer = function (val) { 202 return val.indexOf('tel:') === 0 ? 'tel:' + number.replace(/-/g, '')
202: number; 203 }; 204 205 $el.find(":not(iframe):not(input):not(select):not(textarea):not(.no-phone-tracking)").contents().filter(function(){ 206 return this.nodeType != 1; 207 }).each(function(){ 208 var $this = $(this); 209 var output = $this.text().replace(find, regExNumberReplacer); 210 if (output != $this.text()) { 211 var parent = $this.parent('a'); 212 $this.wrap("<p></p>").parent('p').html(output).contents().unwrap(); 213 if (parent.length) { 214 if (parent.attr("href") !== undefined) { 215 parent.attr("href", parent.attr("href").replace(find, regExNumberReplacer)); 216 } 217 if (parent.attr("title") !== undefined) { 218 parent.attr("title", parent.attr("title").replace(find, regExNumberReplacer)); 219 } 220 }; 221 } 222 }); 223 }; 224 225 $.fn.applyPhoneTracking = function() { 226 var $this = $(this); 227 228 for (var i = 0; i < specificTrackingNumbers.length; i++) { 229 applyPhoneTracking($this, specificTrackingNumbers[i].newNum, specificTrackingNumbers[i].filter); 230 } 231 232 return this; 233 }; 234 235 $(function() { 236 $(document).applyPhoneTracking(); 237 phoneTrackingApplied = true; 238 console.log("Phone Tracking: $(document).applyPhoneTracking() was called"); 239 }); 240 })(); 241</script>
241 242 243</head> 244<body id="page-345958" data-content-id="345958" data-tealium_ga4id="G-9CWH862FWV" data-tealium_profile="ignite-eas" data-dealer-name="H & L RVs" data-dealer-siteid="1198" data-dealer-accountid="671" data-dealer-city="Plant City" data-dealer-state="FL" data-dealer-zip="33567" data-dealer-phone="813-340-4936" data-dealer-account-type="Client" class=" 245save-utm-tags-with-leads 246 247 248 249"> 250 <div id="fb-root"></div> 251 <!-- Google Tag Manager (noscript) --> 252 <noscript> 253 <iframe src="https://www.googletagmanager.com/ns.html?id=" height="0" width="0" style="display:none;visibility:hidden"></iframe> 254 </noscript> 255 <!-- end Google Tag Manager (noscript) --> 256 257 258 259 260<a href="#main" class="sr-only">Skip to main content</a><header id="site-header"> 261<div class="phone mobile-call-us"><a href="tel:8133404936 " title="813-340-4936"> <svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" viewbox="0 0 25 24" fill="none"> <path d="M24.1094 1.17188L19.2344 0.046875C18.7188 -0.09375 18.1562 0.1875 17.9219 0.703125L15.6719 5.95312C15.4844 6.42188 15.625 6.9375 16 7.26562L18.8594 9.60938C17.1719
26113.1719 14.2188 16.1719 10.5625 17.9062L8.21875 15.0469C7.89062 14.6719 7.375 14.5312 6.90625 14.7188L1.65625 16.9688C1.14062 17.2031 0.90625 17.7656 1 18.2812L2.125 23.1562C2.26562 23.6719 2.6875 24 3.25 24C15.25 24 25 14.2969 25 2.25C25 1.73438 24.625 1.3125 24.1094 1.17188Z" fill="#8bc15d"></path> </svg> Click to Call: 813-340-4936 </a></div> 262<div class="logo"><a href="/"> <img src="https://assets-cdn.interactcp.com/handlrvs/images/images_202411041005090234855164.png?modified=1104202422050902" alt="" data-assetid=""> </a> <img src="https://dealer-cdn.com/skin/website/responsive/handlrvs/images/logo_old-1.png?sv=4hrrq2?sv=x684692295"></div> 263<div class="phone-address-container"> 264<div class="phone"><a href="tel:8133404936 " title="813-340-4936"> <svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" viewbox="0 0 25 24" fill="none"> <path d="M24.1094 1.17188L19.2344 0.046875C18.7188 -0.09375 18.1562 0.1875 17.9219 0.703125L15.6719 5.95312C15.4844 6.42188 15.625 6.9375 16 7.26562L18.8594 9.60938C17.1719 13.1719 14.2188 16.1719 10.5625 17.9062L8.21875 15.0469C7.89062 14.6719 7.375 14.5312 6.90625 14.7188L1.65625 16.9688C1.14062 17.2031 0.90625 17.7656 1 18.2812L2.125 23.1562C2.26562 23.6719 2.6875 24 3.25 24C15.25 24 25 14.2969 25 2.25C25 1.73438 24.625 1.3125 24.1094 1.17188Z" fill="#8bc15d"></path> </svg> 813-340-4936 </a></div> 265<div class="visible-print pull-right print-contact-info">813-340-4936<br>www.handlrvs.com</div> 266<a class="dealer-address" target="_blank" rel="noopener" href="https://maps.app.goo.gl/uZdFmHF3B4Cg9GLe8"> <svg xmlns="http://www.w3.org/2000/svg" width="27" height="22" viewbox="0 0 27 22" fill="none"> <path d="M0 4.53125V20.75C0 21.3125 0.515625 21.6875 0.984375 21.4531L7.5 18.5V0.5L0.9375 3.125C0.421875 3.35938 0 3.96875 0 4.53125ZM9 18.5L18 21.5V3.5L9 0.5V18.5ZM25.9688 0.59375L19.5 3.5V21.5L26.0156 18.9219C26.5312 18.6875 27 18.0781 27 17.5156V1.29688C27 0.734375 26.4375 0.359375 25.9688 0.59375Z" fill="none"></path> </svg> 4511 James L Redman Parkway, Plant City, FL 33567 </a> 267<div class="social-icons-fb"> 268<ul class="social-icons"> 269<li><a target="_blank" href="https://www.facebook.com/H-L-RVs-115551263178807/" rel="noopener"><i class="fa-brands fa-facebook" aria-hidden="true"></i><span>facebook</span></a></li> 270</ul> 271</div> 272<div class="header-top-bar"> 273<div class="irv-keyword-search-in-header"> 274<div class="irv-keyword-search-wrapper"> 275<div class="irv-keyword-search"> 276 277 278<form id="form-keywordSearch-b0ce2ed0-3055-4141-92d5-9b7649d78e4d" name="form-keywordSearch"> 279 <div class="typeahead__container"> 280 <div class="typeahead__field"> 281 <div class="typeahead__query"> 282 <input 283 class="keyword-search" 284 name="keywordSearch[query]" 285 placeholder="Search" 286 autocomplete="off" 287 data-autoSubmitThreshold="1" 288 > 289 </div> 290 <div class="typeahead__button"> 291 <button type="button"> 292 <i class="typeahead__search-icon"></i> 293 </button> 294 </div> 295 </div> 296 </div> 297</form> 298
299<script> 300 $(function () { 301 $('#form-keywordSearch-b0ce2ed0-3055-4141-92d5-9b7649d78e4d .keyword-search').on('keydown', function (e) { 302 if (e.key === 'Enter' || e.keyCode === 13) { 303 onKeywordSearchSubmit(e); 304 } 305 }); 306 307 $('#form-keywordSearch-b0ce2ed0-3055-4141-92d5-9b7649d78e4d .typeahead__button').on('click', function (e) { 308 onKeywordSearchSubmit(e); 309 }); 310 311 $.typeahead({ 312 input: '#form-keywordSearch-b0ce2ed0-3055-4141-92d5-9b7649d78e4d .keyword-search', 313 minLength: 0, 314 maxItem: 9, 315 maxItemPerGroup: 8, 316 hint: true, 317 searchOnFocus: false, 318 blurOnTab: false, 319 // item: The matched item (object) 320 // displayKey: The matched item display key (string) 321 // return undefined to skip to next item 322 // return false to attempt the matching function on the next displayKey 323 // return true to add the item to the result list 324 // return item object to modify the item and add it to the result list 325 matcher: function (item, displayKey) { 326 if (item.mode === 'single') { 327 if (window.Typeahead["#form-keywordSearch-b0ce2ed0-3055-4141-92d5-9b7649d78e4d .keyword-search"].items.find(x => x.filter === item.filter)) { 328 return undefined; 329 } 330 } 331 332 return true; 333 }, 334 multiselect: { 335 limit: 10, 336 limitTemplate: 'You can\'t select more than 10 search terms', 337 matchOn: ["name"], 338 cancelOnBackspace: true 339 }, 340 templateValue: "{{name}}", 341 display: ["name"], 342 emptyTemplate: 'No result for {{query}}', 343 group: true, 344 groupOrder: ["keywords", "stocknumber"], 345 source: { 346 keywords: { 347 data: function () { 348 var deferred = $.Deferred(); 349 350 var cacheItem = window.localStorage.getItem('KeywordSearchTypeaheadCache'); 351 if (cacheItem != null) { 352 cacheItem = JSON.parse(cacheItem); 353 if (new Date(cacheItem.expiration) > new Date()) { 354 deferred.resolve(cacheItem.data); 355 return deferred; 356 } 357 } 358 359 $.get("/rebraco/DataNugget/KeywordSearchTypeahead?accountId=671", function (data) { 360 if (Array.isArray(data)) { 361 var expiration = new Date(); 362 expiration.setTime(expiration.getTime() + (4 * 60 * 60 * 1000)); // 4 hours 363 var cacheItem = { data: data, expiration: expiration }; 364 window.localStorage.setItem('KeywordSearchTypeaheadCache', JSON.stringify(cacheItem)); 365 deferred.resolve(data); 366 } else { 367 deferred.reject("Invalid data."); 368 } 369 }); 370 371 return deferred; 372 } 373 }, 374 stocknumber: { 375 data: [] 376 } 377 }, 378 callback: { 379 onSearch: function (node, query) { 380 // add a stock number item at the end if a stock number hasn't already been selected 381 if (!window.Typeahead["#form-keywordSearch-b0ce2ed0-3055-4141-92d5-9b7649d78e4d .keyword-search"].items.find(x => x.group === 'stocknumber')) { 382 // clear previous stock number source item 383 window.Typeahead["#form-keywordSearch-b0ce2ed0-3055-4141-92d5-9b7649d78e4d .keyword-search"].source.stocknumber.length = 0; 384 385 // only if not exact match for something else 386 if (!window.Typeahead["#form-keywordSearch-b0ce2ed0-3055-4141-92d5-9b7649d78e4d .keyword-search"].source.keywords.find(x => x.name.toLowerCase() === query.toLowerCase())) { 387 window.Typeahead["#form-keywordSearch-b0ce2ed0-3055-4141-92d5-9b7649d78e4d .keyword-search"].source.stocknumber.push({ 388 filter: "stocknumber", 389 filterValues: query, 390 group: "stocknumber", 391 name: 'Show all results for ' + query, 392 sortOrder: 1 393 }); 394 } 395 } 396 }, 397 onClickAfter: function (node, a, item, event) { 398 var autoSubmitThreshold = $(node).attr('data-autoSubmitThreshold'); 399 if (autoSubmitThreshold > 0 && window.Typeahead['#form-keywordSearch-b0ce2ed0-3055-4141-92d5-9b7649d78e4d .keyword-search'].items.length >= autoSubmitThreshold) { 400 $(node).closest('form').submit(); 401 } 402 }, 403 onSubmit: function (node, form, items, event) { 404 event.preventDefault(); 405 406 var qs = {}; 407 for (var i = 0; i < items.length; i++) { 408 var fullFilter = items[i].filter; 409 var fullFilterValues = items[i].filterValues; 410 var filters = fullFilter.split('~~'); 411 var filterValueSets = fullFilterValues.split('~~'); 412 for (var j = 0; j < filters.length; j++) {
413 var currFilter = filters[j]; 414 var currFilterValues = filterValueSets[j]; 415 416 if (qs[currFilter] === undefined) { 417 qs[currFilter] = currFilterValues; 418 } 419 else { 420 qs[currFilter] = combineFilterVals(qs[currFilter], currFilterValues); 421 } 422 } 423 } 424 425 // always set s to true so results are shown even if CMS "Search Mode" setting is enabled 426 qs["s"] = "true"; 427 428 var builtQs = $.param(qs); 429 location.href = "/rv-search?" + builtQs; 430 } 431 } 432 }); 433 434 function onKeywordSearchSubmit(e) { 435 e.preventDefault(); 436 e.stopImmediatePropagation(); 437 e.stopPropagation(); 438 439 var query = $('#form-keywordSearch-b0ce2ed0-3055-4141-92d5-9b7649d78e4d .keyword-search').val().trim(); 440 if (query.length) { 441 var exactMatchIndex = window.Typeahead["#form-keywordSearch-b0ce2ed0-3055-4141-92d5-9b7649d78e4d .keyword-search"].result.findIndex(x => x.name.toLowerCase() === query.toLowerCase()); 442 var hintIndex = exactMatchIndex !== -1 ? exactMatchIndex : (window.Typeahead["#form-keywordSearch-b0ce2ed0-3055-4141-92d5-9b7649d78e4d .keyword-search"].hintIndex ?? 0); // default to first item in the list if no hint 443 $('#form-keywordSearch-b0ce2ed0-3055-4141-92d5-9b7649d78e4d li.typeahead__item[data-index=' + hintIndex + ']').click(); 444 } 445 else { 446 $('#form-keywordSearch-b0ce2ed0-3055-4141-92d5-9b7649d78e4d').submit(); 447 } 448 } 449 450 function arrayUnique(array) { 451 var a = array.concat(); 452 for (var i = 0; i < a.length; ++i) { 453 for (var j = i + 1; j < a.length; ++j) { 454 if (a[i] === a[j]) 455 a.splice(j--, 1); 456 } 457 } 458 459 return a; 460 } 461 462 function combineFilterVals(vals1, vals2) { 463 vals1 = vals1.split(','); 464 vals2 = vals2.split(','); 465 return arrayUnique(vals1.concat(vals2)).join(','); 466 } 467 }); 468</script>
468 469</div> 470</div> 471<div class="visible-xs visible-sm visible-md text-or-standard-search"><span>OR</span></div> 472</div> 473</div> 474</div> 475</header><!-- Main Nav --><nav id="main-nav" class="navbar navbar-justified navbar-default" role="navigation"> 476<div class="navbar-header btn-group visible-xs visible-sm"><button type="button" class="btn btn-primary pull-left" data-toggle="collapse" data-target=".navbar-collapse"> <span class="sr-only">Toggle navigation</span> <i class="fa fa-bars"></i> Menu </button> <a href="/contact-us" class="btn btn-primary pull-right"> <span class="sr-only">Contact Us</span><i class="fa fa-phone"></i> Contact </a> <button type="button" class="btn btn-primary pull-right" data-toggle="collapse" data-target=".top-search"> <span class="sr-only">RV Search</span><i class="fa fa-search"></i> Search </button></div> 477<div class="collapse navbar-collapse"> 478 479 480<ul class="nav navbar-nav"> 481<li class="dropdown"><a href="#">All Inventory<i class="fa fa-caret-down" aria-hidden="true"></i> </a> <b data-toggle="dropdown"><i class="fa fa-plus" aria-hidden="true"></i></b> 482<ul class="dropdown-menu"> 483<li><a href="/rv-search">All Inventory</a></li> 484<li><a href="/product/travel-trailer">Travel Trailers</a></li> 485<li><a href="/product/fifth-wheel">Fifth Wheels</a></li> 486<li><a href="/product/toy-hauler">Toy Hauler</a></li> 487<li><a href="/rv-specials">Specials</a></li> 488</ul> 489</li> 490<li class="dropdown"><a data-toggle="dropdown" href="#"> Rentals <i class="fa fa-caret-down" aria-hidden="true"></i> </a> <b data-toggle="dropdown"><i class="fa fa-plus" aria-hidden="true"></i></b> 491<ul class="dropdown-menu"> 492<li><a href="/rv-rentals">Rentals</a></li> 493<li><a href="/rental-application">Rental Application</a></li> 494<li><a href="/rental-requirements">Rental Requirements</a></li> 495<li><a href="/rental-pricing">Rental Pricing</a></li> 496<li><a href="/frequently-asked-questions">Frequently Asked Questions</a></li> 497</ul> 498</li> 499<li><a href="/rv-service">Service & Repair</a></li> 500<li><a href="/rv-financing">Financing</a></li> 501<li><a href="https://www.handlrvs.com/blog/" title="Blog" target="_blank" rel="noopener">Blog</a></li> 502<li><a href="/contact-us">Contact Us</a></li> 503<li><a href="/contact-us" class="cta_btn">Book Now</a></li> 504</ul> 505</div> 506</nav><!-- End Main Nav --> 507<div id="top-search-container" class="subpage-search"> 508<div class="container"> 509<div class="collapse top-search"><span class="h2 heading">RV Search</span> 510 <div role="form" id="topSearchFormMobile" class="SearchPanel form-inline"> 511 512 513 514 515 516<div class="form-group SearchRow YearWrapper"><label for="Year">Year</label> 517 518 519 <select name="Year" id="Year" class="form-control DropDownList Year" autocomplete="off"> 520 521<option value="" selected="selected">Any Year Range</option> 522<option value="2027|2027">2027</option> 523<option value="2026|2026">2026</option> 524<option value="2021|2025">2025 to 2021</option> 525<option value="2016|2020">2020 to 2016</option> 526<option value="0|2015">2015 and older</option> 527 </select> 528 529</div> 530 531 532<div class="form-group SearchRow TypesWrapper"><label for="types">RV Type</label> 533 534 535 <select name="types" id="types" class="form-control DropDownList types" autocomplete="off"> 536 537<option value="" selected="selected" data-sort="1">All Types</option> 538<option value="5" data-sort="2">Fifth Wheel</option> 539<option value="9" data-sort="2">Motor Home Class A</option> 540<option value="10" data-sort="2">Motor Home Class A - Diesel</option> 541<option value="13" data-sort="2">Motor Home Class B</option> 542<option value="116" data-sort="2">Motor Home Class B - Diesel</option> 543<option value="16" data-sort="2">Motor Home Class C</option> 544<option value="17" data-sort="2">Motor Home Class C - Diesel</option> 545<option value="26" data-sort="2">Toy Hauler Fifth Wheel</option> 546<option value="28" data-sort="2">Toy Hauler Travel Trailer</option> 547<option value="29" data-sort="2">Travel Trailer</option> 548 </select> 549 550</div> 551 552 553<div class="form-group SearchRow FloorplansWrapper"><label for="Features-prop-4">Floorplans</label> 554 555 556 <select name="Features-prop-4" id="Features-prop-4" class="form-control DropDownList Features-prop-4" autocomplete="off"> 557 558<option value="" selected="selected">All Features</option> 559<option value="61">Bath and a Half</option> 560<option value="12">Bunk Over Cab</option> 561<option value="17">Bunkhouse</option> 562<option value="27">Front Bath</option> 563<option value="11">Front Bedroom</option> 564<option value="69">Front Cargo Deck</option> 565<option value="62">Front Entertainment</option> 566<option value="4">Front Kitchen</option> 567<option value="1">Front Living</option> 568<option value="60">Kitchen Island</option> 569<option value="63">Loft</option> 570<option value="68">Murphy Bed</option> 571<option value="65">Outdoor Entertainment</option> 572<option value="58">Outdoor Kitchen</option> 573<option value="20">Rear Bath</option> 574<option value="8">Rear Bedroom</option>
575<option value="57">Rear Entertainment</option> 576<option value="6">Rear Kitchen</option> 577<option value="3">Rear Living Area</option> 578<option value="26">Rear Twin</option> 579<option value="55">Side Ramp</option> 580<option value="25">Two Entry/Exit Doors</option> 581<option value="64">Two Full Baths</option> 582<option value="59">U Shaped Dinette</option> 583<option value="28">V-Nose</option> 584<option value="66">Walk-Thru Bath</option> 585<option value="70">Wheelchair Accessible</option> 586 </select> 587 588</div> 589 590 591<div class="form-group SearchRow LengthWrapper"><label for="Length-prop-8">Length</label> 592 593 594 <select name="Length-prop-8" id="Length-prop-8" class="form-control DropDownList Length-prop-8" autocomplete="off"> 595 596<option value="" selected="selected">Any Length</option> 597<option value="0|245">20 ft and under</option> 598<option value="246|305">21 to 25 ft</option> 599<option value="306|365">26 to 30 ft</option> 600<option value="366|425">31 to 35 ft</option> 601<option value="426|485">36 to 40 ft</option> 602<option value="486|999999">41 ft and up</option> 603 </select> 604 605</div> 606 607 608<div class="form-group SearchRow StockNumberWrapper"><label for="SearchStockNumber">Stock # or Model</label><input name="stockNumber" type="text" id="SearchStockNumber" class="form-control SearchStockNumber" placeholder="Stock # or Model" /></div> 609 <button type="submit" name="SearchButton" class="btn btn-primary SearchButton ">Search</button> 610 611 612 <div class="clearBoth"></div> 613 614 </div>
615<script type="text/javascript"> 616 617$(function() { 618 619 $('#topSearchFormMobile').find('.SearchButton').click(function (e) { 620 e.preventDefault(); 621 var tmpSearchValues = $('#topSearchFormMobile').find(':input').serializeArray(); 622 623 // keyword search (Google) 624 if (($('#topSearchFormMobile [name="keyword"]').val() || '') !== '') { 625 var searchWrapper = $('#topSearchFormMobile'); 626 var query = $.map(searchWrapper.find('input').filter(function() { return $(this).val() !== ''; }), function(x) { return $(x).val(); } ).join(" "); 627 query += $.map(searchWrapper.find('option[value!=]:selected'), function(x) { return ' ' + $(x).text(); }); 628 window.location = '/keyword-search?q=' + encodeURIComponent(query); 629 return; 630 } 631 632 // comma delimit search values with the same name 633 var searchValMap = {}; 634 for (var i = 0; i < tmpSearchValues.length; i++) { 635 var tmpSearchName = tmpSearchValues[i].name.toLowerCase(); 636 if (searchValMap[tmpSearchName] !== undefined && searchValMap[tmpSearchName] !== '') { 637 searchValMap[tmpSearchName] += "," + tmpSearchValues[i].value; 638 } 639 else { 640 searchValMap[tmpSearchName] = tmpSearchValues[i].value; 641 } 642 } 643 var searchValues = []; 644 for (var param in searchValMap) { 645 searchValues.push({name: param, value: searchValMap[param]}); 646 } 647 648 var targetPage = '/rv-search'; 649 var qMark = window.location.href.indexOf('?'); 650 var currentPage = qMark > -1 ? window.location.href.substring(0, qMark) : window.location.href; 651 currentPage = '/' + currentPage.replace(/^(?:\/\/|[^\/]+)*\//, ""); 652 var qsValues; 653 if ($('.ajax-unit-list').length) { 654 qsValues = $('.ajax-unit-list').ajaxUnitList('getCurrentOpts'); 655 } else { 656 qsValues = getUrlVars(); 657 if (qsValues !== undefined && qsValues !== null) { 658 qsValues.length = 0; // remove the array elements - this is because getUrlVars adds each parameter name using .push(), and it also adds them as properties of the object. we only want the properties 659 } 660 } 661 if (currentPage === targetPage && qsValues !== undefined && qsValues !== null) { 662 var newQsValues = {}; 663 for (var prop in qsValues) { 664 newQsValues[prop.toLowerCase()] = qsValues[prop]; 665 } 666 qsValues = newQsValues; 667 668 delete qsValues['page']; 669 delete qsValues['s']; 670 671 // remove qs params that are part of the search form - this is particularly important for checkboxes, which would not be included 672 // in the searchValues collection if unchecked 673 for (var param in qsValues) { 674 if ($('#topSearchFormMobile').find(':input').filter(function () { return $(this).attr("name").toLowerCase() === param; }).length) { 675 delete qsValues[param]; 676 } 677 } 678 679 // add/update qs params from search values 680 for (var i = 0; i < searchValues.length; i++) { 681 if (searchValues[i].value !== '') { 682 qsValues[searchValues[i].name] = searchValues[i].value; 683 } 684 } 685 686 var qsArray = []; 687 for (var param in qsValues) { 688 qsArray.push({name: param, value: qsValues[param]}); 689 } 690 var qs = $.param(qsArray); 691 window.location = "/rv-search?s=true" + (qs !== "" ? "&" + qs : ""); 692 } 693 else { 694 var qs = $.param($.grep(searchValues, function(x) { return x.value !== ''; })); 695 window.location = "/rv-search?s=true" + (qs !== "" ? "&" + qs : ""); 696 } 697 return false; 698 }); 699 700 $("#topSearchFormMobile input[type=checkbox]").change(function() { 701 $('#topSearchFormMobile').find('.SearchButton').click(); 702 }); 703 $('.Brand option, .Manufacturer option, [name="Brand"], [name="Manufacturer"]').each(function (i, el) { 704 var $this = $(this); 705 if($this && $this.val()){ 706 $this.val($this.val().toLowerCase().trim()); 707 } 708 }); 709 $("#topSearchFormMobile input, #topSearchFormMobile select").change(function() { 710 if ($(this).val() !== '') { 711 $(this).addClass("value-modified"); 712 } 713 else { 714 $(this).removeClass("value-modified"); 715 } 716 }); 717 var data = getUrlVars(); 718 if (data != null) { 719 var newQsValues = {}; 720 for (var prop in data) { 721 newQsValues[prop.toLowerCase()] = !isNaN(parseInt(prop, 10)) ? data[prop].toLowerCase() : data[prop]; 722 } 723 data = newQsValues; 724 725 if (data["brand"] !== undefined) { 726 data["brand"] = data["brand"].toLowerCase().trim(); 727 } 728 if (data["manufacturer"] !== undefined) { 729 data["manufacturer"] = data["manufacturer"].toLowerCase().trim(); 730 } 731 $.each(data, function(key, val){ 732 if (data[val] === undefined) { 733 return; 734 } 735 736 var mVals = data[val].indexOf(',') !== -1 ? mVals = data[val].split(',') : null; 737 $('#topSearchFormMobile :input').filter(function() { return $(this).attr("name").toLowerCase() === val; }).each(function(index, el){ 738 if ($(el).is(":checkbox") || $(el).is(":radio")) { 739 if (mVals != null) { 740 if ($.inArray($(el).val(), mVals) !== -1) { 741 $(el).attr("checked", "checked"); 742 $(el).addClass("value-modified"); 743 } 744 } 745 else if ($(el).val() === data[val]) { 746 $(el).attr("checked", "checked"); 747 $(el).addClass("value-modified"); 748 } 749 } 750 else { 751 $(el).val(data[val]); 752 if (data[val] != '' && $(el).val() === data[val]) { 753 $(el).addClass("value-modified"); 754 } 755 } 756 }); 757 }); 758 } 759}); 760</script>
760 761 762</div> 763</div> 764</div> 765<div class=" 766container 767 768 769 770"> 771 <div id="mainContainer" class="row"> 772 <section id="main" class=" 773col-md-9 col-md-push-3 774 775 776 777"> 778 <div class="pageContent"> 779 780 <h1>Travel Trailers For Sale in Plant City, Florida</h1> 781<p>Travel trailers are some of the most popular styles of RV on the market because they have a low price point and they come in a wide variety of shapes and sizes to suit just about any type of vacation or any size of family that you might have. Whether you are looking for a small couples camper or a large luxury liner, we have travel trailers that will suit your needs perfectly! If this sounds like the kind of RV that you are in the market for, you can check out our complete inventory of travel trailers for sale in Plant City, Florida in the listing below. Or, if you have any questions, you can contact us today for all of the details. No matter what kind of RV you are in the market for, you can find some amazing options at H & L RVs, your top travel trailer dealer in Plant City, Florida.</p> 782</div> 783 784 785 786 787 <!--tow rating goodness--> 788 <!--end tow rating goodness--> 789 <div class="unit-list ajax-unit-list ds-override"> 790
790<script type="text/javascript"> 791 $(function(){ 792 var sort = 'price-asc'; 793 var urlVars = getUrlVars(); 794 if (urlVars != null) { 795 $('.page-sizes').val(urlVars['pagesize']); 796 if (urlVars['sort'] !== undefined && typeof urlVars['sort'] == 'string') { 797 sort = urlVars['sort']; 798 } 799 } 800 if (sort !== '') { 801 $('#sortOptions').val(sort); 802 } 803 }); 804 </script>
804 805 <div class="listingPagination listingToolbar"> 806 <div class="listing-toolbar-inner"> 807 808 <div class="page-size-wrapper-parent"> 809 <div class="page-size-wrapper"> 810 <div class="visible-item-count">Showing <span class="first-visible-index">1</span> - <span class="last-visible-index">5</span> of <span class="total-units">5</span></div> 811 <div class="page-size-inner-wrapper"> 812 <label for="pageSizeTop" class="pull-left">Show:</label> 813 <select id="pageSizeTop" class="pull-left page-sizes"> 814 <option value="24" selected>24</option> 815 <option value="48" >48</option> 816 <option value="72" >72</option> 817 </select> 818 </div> 819 </div> 820 </div> 821 <div class="hidden-xs sort-options-wrapper"> 822 <label for="sortOptions" class="sr-only">Sort Options</label> 823 <select id="sortOptions"> 824 <option value="">Sort Options</option> 825 <option value="distance-asc" class="distance-sort-option"> 826 827 Distance (Closest) 828 </option> 829 <option value="year-asc">Year (Oldest First)</option> 830 <option value="year-desc">Year (Newest First)</option> 831 <option value="price-asc">Price (Lowest First)</option> 832 <option value="price-desc">Price (Highest First)</option> 833 <option value="length-asc">Length (Shortest First)</option> 834 <option value="length-desc">Length (Longest First)</option> 835 <option value="weight-desc">Weight (Heaviest First)</option> 836 <option value="weight-asc">Weight (Lightest First)</option> 837 <option value="location-asc">Location (A to Z)</option> 838 <option value="location-desc">Location (Z to A)</option> 839 </select> 840 <a 841 href="#" 842 id="changeZipLink" 843 class="change-zip-link hide" 844 > 845 Change Location 846 </a> 847 </div> 848 <div class="visible-xs visible-sm"> 849 <a href="#" class="mobile-filter-link pull-right" onclick="if(event !== null && event.clientX !== undefined) { gtmAnalyticsEventTrack(this, 'Interactions', 'Clicked', 'Open Mobile Filtered Search', '2', 'false'); }">Filter <i class="fa-solid fa-bars-filter"></i></a> 850 </div> 851 <div class="mode-options-wrapper" aria-hidden="true"> 852 <a class="btn btnListMode listModeActive" onclick="if(event !== null && event.clientX !== undefined) { gtmAnalyticsEventTrack(this, 'Interactions', 'Clicked', 'Layout Toggle', '1', 'true'); }"><i class="fa fa-list"></i></a> 853 <a class="btn btnGridMode " onclick="if(event !== null && event.clientX !== undefined) { gtmAnalyticsEventTrack(this, 'Interactions', 'Clicked', 'Layout Toggle', '1', 'true'); }"><i class="fa fa-th"></i></a> 854 </div> 855 856 <a href="/favorites" class="btn btn-toolbar-favorites favorites-count-wrapper" onClick="gtmAnalyticsEventTrack(this, 'Interactions', 'Clicked', 'View Favorites (Listing Toolbar)', '2');"> 857 <i class="fa fa-heart"></i> <span class="favorites-btn-label">Favorites</span> <span class="favorites-count">(<span data-favorites-count></span>)</span> 858 </a> 859 <div class="clearfix visible-xs"></div> 860 861 </div> 862 </div> 863 864 <div class='unitContainer listMode'> 865 866 867 <div class="unitListHeader"> 868 <h2 id='product_29'>Travel Trailer</h2> 869 </div> 870 871 <ol class="unitList"> 872 873 874 875<li class=" unit standard-template-v25 standard-template-v2 usedUnit Travel-Trailer Plant-City active-status featured-unit has-sale-price year-2021" > 876 <div class="unit-title-wrapper list-mode"> 877 <div class="h3 unit-title"> 878 <a href="/product/used-2021-coachmen-rv-spirit-ultra-lite-2659bh-2787679-29">Used 2021 Coachmen RV Spirit Ultra Lite 2659BH</a> 879 </div> 880 <div class="unit-stock-info-wrapper"> 881 <div class="unit-stock-number-wrapper">
882 <span class="stock-number-label">Stock #</span> 883 <span class="stock-number-text">41</span> 884 </div> 885 <div class="unit-location-wrapper"> 886 <span class="unit-location-text"> 887 <svg class="fa-solid fa-location-dot" aria-hidden="true" data-prefix="fas" data-icon="map-marker-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-fa-i2svg=""><path fill="currentColor" d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"></path></svg> 888 Plant City, FL 889 </span> 890 </div> 891 </div> 892 <div class="sales-pitch alert alert-success">Sleeps 6</div> 893 </div> 894 <div class="unit-tags unit-tags-list-mode"> 895 <img 896 class="tag-2774516 tag-bunk-house" 897 src="https://assets-cdn.interactcp.com/interactrv/unit_tag/tag_1914.png?modified=0428202519374618" 898 alt="Bunk House" 899 /> 900 </div> 901 <div class="unit-content-wrapper detailsContainer" data-title="Used 2021 Coachmen RV Spirit Ultra Lite 2659BH" data-unitid="2787679" data-lotid="1832" data-lotdescription="Plant City, FL" data-vinnumber="4YDTCGK26NV502112" data-stocknumber="41" data-msrp="$22,900.00" data-saleprice="$17,500.00" data-totalprice="$17,500.00" data-fees="$0.00" data-transparent-pricing="false" data-img="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_190x140-m0326202519313367/unit_photo_202503260731336690101234.jpg" data-na="https://assets.interactcp.com/interactrv/images/common/imgh_190x140/na.jpg" data-brand="Spirit Ultra Lite" data-mfg="Coachmen RV" data-brand-id="47264" data-type-id="29" data-mfg-id="11" data-vin="4YDTCGK26NV502112" data-discount="$0.00" data-short-discount="$0" data-year="2021" data-unitname="2659BH" data-phone="813-340-4936" data-phonelink="tel:813-340-4936" data-glp-confirmationid="glpConfirmation" data-customeremailtemplate="glp.hbs" data-unitlink="/product/used-2021-coachmen-rv-spirit-ultra-lite-2659bh-2787679-29" data-discountpricelabel="Our Best Price" data-pricelabel="List Price" data-salepricelabel="Our Price" data-finance-percent-down="" data-finance-interest-rate="" data-finance-months="" data-finance-fees="" data-saleOrRegularPrice="$17,500.00" data-type="Travel Trailer" data-product="2021 Spirit Ultra Lite 2659BH"> 902 <div class="unit-media"> 903 <div class="unit-media-wrapper"> 904 <div 905 class="cycle-slideshow" 906 data-cycle-timeout="0" 907 data-cycle-slides="> .unit-media-slide" 908 data-cycle-prev="> .unit-media-cycle-prev" 909 data-cycle-next="> .unit-media-cycle-next" 910 data-cycle-swipe="true" 911 > 912 <a href="#" class="unit-media-cycle-prev"> 913 <span class="hide">Previous</span><i class="fa fa-angle-left"></i> 914 </a> 915 <a href="#" class="unit-media-cycle-next"> 916 <span class="hide">Next</span><i class="fa fa-angle-right"></i> 917 </a> 918 <div class="unit-media-slide"> 919 <img 920 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0326202519313367/unit_photo_202503260731336690101234.jpg" 921 class="dev-unit-media-img" 922 alt="Preview Image #1 - Used 2021 Coachmen RV Spirit Ultra Lite 2659BH Travel Trailer - Stock #41" 923 /> 924 </div> 925 <div class="unit-media-slide"> 926 <img 927 src="https://assets-cdn.interactcp.com/interactrv/unit_tech_drawing/imgh_400x300-m0428202519374618/unit_tech_drawing_20210716034556063676275.jpg" 928 class="dev-unit-media-img" 929 alt="Preview Image #2 - Used 2021 Coachmen RV Spirit Ultra Lite 2659BH Travel Trailer - Stock #41 - Floorplan" 930 /> 931 </div> 932 <div class="unit-media-slide"> 933 <img 934 src="https://assets-cdn.interactcp.c
934om/handlrvs/unit_photo/imgh_400x300-m0326202519313374/unit_photo_202503260731337387582393.jpg" 935 class="dev-unit-media-img" 936 alt="Preview Image #3 - Used 2021 Coachmen RV Spirit Ultra Lite 2659BH Travel Trailer - Stock #41" 937 /> 938 </div> 939 <div class="unit-media-slide"> 940 <span class="dev-unit-media-img-more-details"> 941 <span class="dev-unit-media-img-more-details"> 942 <img 943 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0326202519313367/unit_photo_202503260731336690101234.jpg" 944 class="dev-unit-media-img" 945 /> 946 </span> 947 </span> 948 <ul class="dev-unit-media-img-more-details-list"> 949 <li><i class="fa fa-camera"></i> <span>+25</span></li> 950 <li> 951 <svg class="fa fa-floorplan" viewBox="0 0 285 225" fill="none" xmlns="http://www.w3.org/2000/svg"> 952 <path fill-rule="evenodd" clip-rule="evenodd" d="M175.026 196.762L108.391 196.762L108.391 174.623L127.43 174.623C135.002 174.623 141.06 168.298 141.06 160.392C141.06 152.485 135.002 146.16 127.43 146.16L108.391 146.16L108.391 143.223C108.391 135.316 102.333 128.991 94.7609 128.991C87.1887 128.991 81.3473 135.542 81.3473 143.449L81.3473 196.762L38.0774 196.762C32.0196 196.762 27.26 191.566 27.26 185.467L27.26 93.5241L81.3473 93.5241L81.3473 96.4608C81.3473 104.367 87.4051 110.693 94.9773 110.693C102.55 110.693 108.607 104.367 108.607 96.4608L108.607 62.3494C108.607 54.4428 102.55 48.1175 94.9773 48.1175C87.4051 48.1175 81.3473 54.4428 81.3473 62.3494L81.3473 65.2861L27.0436 65.2861L27.0436 39.759C27.0436 33.4337 32.0197 28.4638 37.8611 28.4638L150.579 28.4638L150.579 51.7319C150.579 59.6385 156.637 65.9638 164.209 65.9638C171.781 65.9638 177.839 59.6385 177.839 51.7319L177.839 28.2379L246.638 28.2379C252.696 28.2379 257.456 33.4337 257.456 39.5331L257.456 91.9428L176.757 91.9428C169.185 91.9428 163.127 98.2681 163.127 106.175C163.127 114.081 169.185 120.407 176.757 120.407L257.672 120.407L257.672 185.241C257.672 191.566 252.696 196.536 246.854 196.536L221.109 196.536L221.109 224.774L246.638 224.774C267.624 225 284.716 207.154 284.716 185.241L284.716 39.759C284.716 17.8464 267.624 -7.47097e-07 246.638 -1.66442e-06L38.0774 -1.07809e-05C17.0916 -1.16982e-05 -3.12977e-05 17.8464 -3.22555e-05 39.759L-3.86147e-05 185.241C-3.95726e-05 207.154 17.0915 225 38.0774 225L175.026 225L175.026 196.762Z" fill="currentColor" /> 953 </svg> 954 </li> 955 <li><a href="/product/used-2021-coachmen-rv-spirit-ultra-lite-2659bh-2787679-29" class="btn btn-sm">View More »</a></li> 956 </ul> 957 </div> 958 <div class="favorite-container checkbox hidden-print"> 959 <label> 960 <input 961 type="checkbox" 962 class="favorite" 963 value="2787679" 964 data-toggle-favorite="2787679" 965 /> 966 <i></i> 967 <span class="sr-only">Favorite</span> 968 </label> 969 </div> 970 <div class="cycle-pager"></div> 971 </div> 972 973 974 </div> 975 </div> 976 <div class="unit-title-wrapper grid-mode"> 977 <div class="h3 unit-title"> 978 <a href="/product/used-2021-coachmen-rv-spirit-ultra-lite-2659bh-2787679-29">Used 2021 Coachmen RV Spirit Ultra Lite 2659BH</a> 979 </div> 980 <div class="unit-stock-info-wrapper"> 981 <div class="unit-stock-number-wrapper"> 982 <span class="stock-number-label">Stock #</span> 983 <span class="stock-number-text">41</span> 984 </div> 985 <div class="unit-location-wrapper"> 986 <span class="unit-location-text"> 987 <svg class="fa-solid fa-location-dot" aria-hidden="true" data-prefix="fas" data-icon="map-marker-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-fa-i2svg="">
987<path fill="currentColor" d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817 80 80 80 80z"></path></svg> 988 Plant City, FL 989 </span> 990 </div> 991 </div> 992 <div class="sales-pitch alert alert-success">Sleeps 6</div> 993 </div> 994 <div class="unit-overview"> 995 <div class="unit-overview-tile-wrapper"> 996 997 998 <div class="unit-overview-tile unit-overview-tile-dimensions"> 999 <i class="fa-light fa-ruler-horizontal qs-icon" title="Length"></i> 1000 <ul> 1001 <li>32ft long</li> 1002 </ul> 1003 </div> 1004 <div class="unit-overview-tile unit-overview-tile-dimensions"> 1005 <i class="fa-light fa-weight-hanging qs-icon" title="Weight"></i> 1006 <ul> 1007 <li>6,218 lbs</li> 1008 </ul> 1009 </div> 1010 <div class="unit-overview-tile unit-overview-tile-sleeps"> 1011 <i class="fa-light fa-bed qs-icon" title="Sleeps"></i> 1012 <ul> 1013 <li>Sleeps 7</li> 1014 </ul> 1015 </div> 1016 <div class="unit-overview-tile unit-overview-tile-dimensions"> 1017 <span class="fa-stack fa-1x qs-icon-stack" title="Slides"> 1018 <i class="fa-light fa-rectangle-tall"></i> 1019 <i class="fa-light fa-arrow-right-to-dotted-line fa-stack-1x" style="left: 2px;"></i> 1020 </span> 1021 <ul> 1022 <li>1 slides</li> 1023 </ul> 1024 </div> 1025 <div class="unit-overview-tile unit-overview-tile-floorplan-styles"> 1026 <i class="fa-light fa-clipboard-list qs-icon" title="Features"></i> 1027 <ul> 1028 <li>Bunkhouse</li> 1029 <li>Outdoor Kitchen</li> 1030 </ul> 1031 <a href="/product/used-2021-coachmen-rv-spirit-ultra-lite-2659bh-2787679-29#section-detail-floorplan-anchor" class="btn-overview-tile-view-floorplan">...View Floorplan</a> 1032 </div> 1033 1034 <div class="compare-container"> 1035 <div class="compare-checkbox-wrapper"> 1036 <input 1037 id="compare-2787679" 1038 class="compare" 1039 type="checkbox" 1040 value="2787679" 1041 /> 1042 </div> 1043 <div class="compare-label-wrapper"> 1044 <label for="compare-2787679" class="compareText">Compare</label> 1045 <button 1046 class="btn compareButton hidden" 1047 type="button" onclick="gtmAnalyticsEventTrack(this, 'Interactions', 'Clicked', 'Compare', '2');" 1048 > 1049 Compare 1050 </button> 1051 </div> 1052 </div> 1053 </div> 1054 </div> 1055 <div class="unit-pricing"> 1056 1057 <div class="unit-price-wrapper"> 1058 <ul> 1059 <li class="sale-price-order"> 1060 <div class="sale-price-wrapper"> 1061 <span class="sale-price-label">Our Price: </span> 1062 <span class="sale-price-text">$17,500</span> 1063 </div> 1064 </li> 1065 <li class="reg-price-order"> 1066 <div class="reg-price-wrapper"> 1067 <span class="reg-price-label">List Price: </span> 1068 <span class="reg-price-text">$22,900</span> 1069 </div> 1070 </li> 1071 <li class="you-save-order"> 1072 <div class="you-save-wrapper"> 1073 <span class="you-save-label">Discount: </span> 1074 <span class="you-save-text">$5,400</span> 1075 </div> 1076 </li> 1077 </ul> 1078 </div> 1079 1080 1081 <a href="/product/used-2021-coachmen-rv-spirit-ultra-lite-2659bh-2787679-29" class="btn btn-view-details"> 1082 View Details » 1083 </a> 1084 <div class="mtpl-listing-info-wrapper hide"></div> 1085 </div> 1086 <div class="unit-list-cta-btns"> 1087 <div class="mtpl-listing-info-wrapper hide"></div> 1088 <a href="/product/used-2021-coachmen-rv-spirit-ultra-lite-2659bh-2787679-29" class="btn btn-view-details">View Details »</a> 1089 <ul> 1090 <li class="unit-list-cta-btn-value-my-trade"> 1091 <a 1092 href="/contact-us-trade-ins?UnitId=2787679" 1093 target="_blank" 1094 class="ignore-unit-click">Value My Trade 1095 </a> 1096 </li> 1097 <li class="unit-list-cta-btn-get-pre-approved"> 1098 <a 1099 href="https://gateway.appone.net/onlinea
1099pp/HandLRVServices" 1100 target="_blank" 1101 class="ignore-unit-click" 1102 > 1103 Get Pre-Approved 1104 </a> 1105 </li> 1106 <li class="unit-list-cta-btn-send-to-friend"> 1107 <a href="/product/used-2021-coachmen-rv-spirit-ultra-lite-2659bh-2787679-29#sendToFriend">Send to Friend</a> 1108 </li> 1109 </ul> 1110 1111 </div> 1112 <div class="mtpl-listing-inventory-wrapper hide"></div> 1113 <div class="unit-tags unit-tags-grid-mode"> 1114 <img class="tag-2774516 tag-bunk-house" src="https://assets-cdn.interactcp.com/interactrv/unit_tag/tag_1914.png?modified=0428202519374618" alt="Bunk House" /> 1115 </div> 1116 </div> 1117</li> 1118 1119 1120<li class=" unit standard-template-v25 standard-template-v2 altUnit usedUnit Travel-Trailer Plant-City active-status special-unit has-sale-price year-2023" > 1121 <div class="unit-title-wrapper list-mode"> 1122 <div class="h3 unit-title"> 1123 <a href="/product/used-2023-palomino-puma-25rkqb-2787676-29">Used 2023 Palomino Puma 25RKQB</a> 1124 </div> 1125 <div class="unit-stock-info-wrapper"> 1126 <div class="unit-stock-number-wrapper"> 1127 <span class="stock-number-label">Stock #</span> 1128 <span class="stock-number-text">44</span> 1129 </div> 1130 <div class="unit-location-wrapper"> 1131 <span class="unit-location-text"> 1132 <svg class="fa-solid fa-location-dot" aria-hidden="true" data-prefix="fas" data-icon="map-marker-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-fa-i2svg=""><path fill="currentColor" d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"></path></svg> 1133 Plant City, FL 1134 </span> 1135 </div> 1136 </div> 1137 <div class="sales-pitch alert alert-success">$500 Cash Back when you buy</div> 1138 </div> 1139 <div class="unit-tags unit-tags-list-mode"> 1140 <img 1141 class="tag-2768227 tag-rental" 1142 src="https://assets-cdn.interactcp.com/interactrv/unit_tag/tag_1913.png?modified=0428202519374618" 1143 alt="Rental" 1144 /> 1145 </div> 1146 <div class="unit-content-wrapper detailsContainer" data-title="Used 2023 Palomino Puma 25RKQB" data-unitid="2787676" data-lotid="1832" data-lotdescription="Plant City, FL" data-vinnumber="5ZT2PUPB6P4018653" data-stocknumber="44" data-msrp="$22,900.00" data-saleprice="$17,500.00" data-totalprice="$17,500.00" data-fees="$0.00" data-transparent-pricing="false" data-img="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_190x140-m0326202519313759/unit_photo_202503260731375950747253.jpg" data-na="https://assets.interactcp.com/interactrv/images/common/imgh_190x140/na.jpg" data-brand="Puma" data-mfg="Palomino" data-brand-id="71712" data-type-id="29" data-mfg-id="55" data-vin="5ZT2PUPB6P4018653" data-discount="$0.00" data-short-discount="$0" data-year="2023" data-unitname="25RKQB" data-phone="813-340-4936" data-phonelink="tel:813-340-4936" data-glp-confirmationid="glpConfirmation" data-customeremailtemplate="glp.hbs" data-unitlink="/product/used-2023-palomino-puma-25rkqb-2787676-29" data-discountpricelabel="Our Best Price" data-pricelabel="List Price" data-salepricelabel="Our Price" data-finance-percent-down="" data-finance-interest-rate="" data-finance-months="" data-finance-fees="" data-saleOrRegularPrice="$17,500.00" data-type="Travel Trailer" data-product="2023 Puma 25RKQB"> 1147 <div class="unit-media"> 1148 <div class="unit-media-wrapper"> 1149 <div 1150 class="cycle-slideshow" 1151 data-cycle-timeout="0" 1152 data-cycle-slides="> .unit-media-slide" 1153 data-cycle-prev="> .unit-media-cycle-prev" 1154 data-cycle-next="> .unit-media-cycle-next" 1155 data-cycle-swipe="true" 1156 > 1157 <a href="#" class="unit-media-cycle-prev">
1158 <span class="hide">Previous</span><i class="fa fa-angle-left"></i> 1159 </a> 1160 <a href="#" class="unit-media-cycle-next"> 1161 <span class="hide">Next</span><i class="fa fa-angle-right"></i> 1162 </a> 1163 <div class="unit-media-slide"> 1164 <img 1165 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0326202519313759/unit_photo_202503260731375950747253.jpg" 1166 class="dev-unit-media-img" 1167 alt="Preview Image #1 - Used 2023 Palomino Puma 25RKQB Travel Trailer - Stock #44" 1168 /> 1169 </div> 1170 <div class="unit-media-slide"> 1171 <img 1172 src="https://assets-cdn.interactcp.com/interactrv/unit_tech_drawing/imgh_400x300-m0428202519374618/unit_tech_drawing_202308020139045421640396.png" 1173 class="dev-unit-media-img" 1174 alt="Preview Image #2 - Used 2023 Palomino Puma 25RKQB Travel Trailer - Stock #44 - Floorplan" 1175 /> 1176 </div> 1177 <div class="unit-media-slide"> 1178 <img 1179 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0326202519313768/unit_photo_202503260731376798377533.jpg" 1180 class="dev-unit-media-img" 1181 alt="Preview Image #3 - Used 2023 Palomino Puma 25RKQB Travel Trailer - Stock #44" 1182 /> 1183 </div> 1184 <div class="unit-media-slide"> 1185 <span class="dev-unit-media-img-more-details"> 1186 <span class="dev-unit-media-img-more-details"> 1187 <img 1188 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0326202519313759/unit_photo_202503260731375950747253.jpg" 1189 class="dev-unit-media-img" 1190 /> 1191 </span> 1192 </span> 1193 <ul class="dev-unit-media-img-more-details-list"> 1194 <li><i class="fa fa-camera"></i> <span>+19</span></li> 1195 <li> 1196 <svg class="fa fa-floorplan" viewBox="0 0 285 225" fill="none" xmlns="http://www.w3.org/2000/svg"> 1197 <path fill-rule="evenodd" clip-rule="evenodd" d="M175.026 196.762L108.391 196.762L108.391 174.623L127.43 174.623C135.002 174.623 141.06 168.298 141.06 160.392C141.06 152.485 135.002 146.16 127.43 146.16L108.391 146.16L108.391 143.223C108.391 135.316 102.333 128.991 94.7609 128.991C87.1887 128.991 81.3473 135.542 81.3473 143.449L81.3473 196.762L38.0774 196.762C32.0196 196.762 27.26 191.566 27.26 185.467L27.26 93.5241L81.3473 93.5241L81.3473 96.4608C81.3473 104.367 87.4051 110.693 94.9773 110.693C102.55 110.693 108.607 104.367 108.607 96.4608L108.607 62.3494C108.607 54.4428 102.55 48.1175 94.9773 48.1175C87.4051 48.1175 81.3473 54.4428 81.3473 62.3494L81.3473 65.2861L27.0436 65.2861L27.0436 39.759C27.0436 33.4337 32.0197 28.4638 37.8611 28.4638L150.579 28.4638L150.579 51.7319C150.579 59.6385 156.637 65.9638 164.209 65.9638C171.781 65.9638 177.839 59.6385 177.839 51.7319L177.839 28.2379L246.638 28.2379C252.696 28.2379 257.456 33.4337 257.456 39.5331L257.456 91.9428L176.757 91.9428C169.185 91.9428 163.127 98.2681 163.127 106.175C163.127 114.081 169.185 120.407 176.757 120.407L257.672 120.407L257.672 185.241C257.672 191.566 252.696 196.536 246.854 196.536L221.109 196.536L221.109 224.774L246.638 224.774C267.624 225 284.716 207.154 284.716 185.241L284.716 39.759C284.716 17.8464 267.624 -7.47097e-07 246.638 -1.66442e-06L38.0774 -1.07809e-05C17.0916 -1.16982e-05 -3.12977e-05 17.8464 -3.22555e-05 39.759L-3.86147e-05 185.241C-3.95726e-05 207.154 17.0915 225 38.0774 225L175.026 225L175.026 196.762Z" fill="currentColor" /> 1198 </svg> 1199 </li> 1200 <li><a href="/product/used-2023-palomino-puma-25rkqb-2787676-29" class="btn btn-sm">View More »</a></li> 1201 </ul> 1202 </div> 1203 <div class="favorite-container checkbox hidden-print"> 1204 <label> 1205 <input 1206 type="checkbox" 1207 class="favorite" 1208 value="2787676" 1209 data-toggle-favorite="2787676" 1210 /> 1211 <i></i> 1212 <span class="sr-only">Favorite</span> 1213 </label> 1214 </div> 1215 <div class="cycle-pager"></div> 1216 </div> 1217 1218 1219 </div> 1220 </div> 1221 <div class="unit-title-wrapper grid-mode"> 1222 <div class="h3 unit-title"> 1223 <a href="/product/used-2023-palomino-puma-25rkqb-2787676-29">Used 2023 Palomino Puma 25RKQB</a> 1224 </div> 1225 <div class="unit-stock-info-wrapper"> 1226 <div class="unit-stock-number-wrapper">
1227 <span class="stock-number-label">Stock #</span> 1228 <span class="stock-number-text">44</span> 1229 </div> 1230 <div class="unit-location-wrapper"> 1231 <span class="unit-location-text"> 1232 <svg class="fa-solid fa-location-dot" aria-hidden="true" data-prefix="fas" data-icon="map-marker-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-fa-i2svg=""><path fill="currentColor" d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817 80 80 80 80z"></path></svg> 1233 Plant City, FL 1234 </span> 1235 </div> 1236 </div> 1237 <div class="sales-pitch alert alert-success">$500 Cash Back when you buy</div> 1238 </div> 1239 <div class="unit-overview"> 1240 <div class="unit-overview-tile-wrapper"> 1241 1242 1243 <div class="unit-overview-tile unit-overview-tile-dimensions"> 1244 <i class="fa-light fa-ruler-horizontal qs-icon" title="Length"></i> 1245 <ul> 1246 <li>30ft long</li> 1247 </ul> 1248 </div> 1249 <div class="unit-overview-tile unit-overview-tile-dimensions"> 1250 <i class="fa-light fa-weight-hanging qs-icon" title="Weight"></i> 1251 <ul> 1252 <li>6,048 lbs</li> 1253 </ul> 1254 </div> 1255 <div class="unit-overview-tile unit-overview-tile-sleeps"> 1256 <i class="fa-light fa-bed qs-icon" title="Sleeps"></i> 1257 <ul> 1258 <li>Sleeps 4</li> 1259 </ul> 1260 </div> 1261 <div class="unit-overview-tile unit-overview-tile-dimensions"> 1262 <span class="fa-stack fa-1x qs-icon-stack" title="Slides"> 1263 <i class="fa-light fa-rectangle-tall"></i> 1264 <i class="fa-light fa-arrow-right-to-dotted-line fa-stack-1x" style="left: 2px;"></i> 1265 </span> 1266 <ul> 1267 <li>1 slides</li> 1268 </ul> 1269 </div> 1270 <div class="unit-overview-tile unit-overview-tile-floorplan-styles"> 1271 <i class="fa-light fa-clipboard-list qs-icon" title="Features"></i> 1272 <ul> 1273 <li>Outdoor Kitchen</li> 1274 <li>Rear Kitchen</li> 1275 </ul> 1276 <a href="/product/used-2023-palomino-puma-25rkqb-2787676-29#section-detail-floorplan-anchor" class="btn-overview-tile-view-floorplan">...View Floorplan</a> 1277 </div> 1278 1279 <div class="compare-container"> 1280 <div class="compare-checkbox-wrapper"> 1281 <input 1282 id="compare-2787676" 1283 class="compare" 1284 type="checkbox" 1285 value="2787676" 1286 /> 1287 </div> 1288 <div class="compare-label-wrapper"> 1289 <label for="compare-2787676" class="compareText">Compare</label> 1290 <button 1291 class="btn compareButton hidden" 1292 type="button" onclick="gtmAnalyticsEventTrack(this, 'Interactions', 'Clicked', 'Compare', '2');" 1293 > 1294 Compare 1295 </button> 1296 </div> 1297 </div> 1298 </div> 1299 </div> 1300 <div class="unit-pricing"> 1301 1302 <div class="unit-price-wrapper"> 1303 <ul> 1304 <li class="sale-price-order"> 1305 <div class="sale-price-wrapper"> 1306 <span class="sale-price-label">Our Price: </span> 1307 <span class="sale-price-text">$17,500</span> 1308 </div> 1309 </li> 1310 <li class="reg-price-order"> 1311 <div class="reg-price-wrapper"> 1312 <span class="reg-price-label">List Price: </span> 1313 <span class="reg-price-text">$22,900</span> 1314 </div> 1315 </li> 1316 <li class="you-save-order"> 1317 <div class="you-save-wrapper"> 1318 <span class="you-save-label">Discount: </span> 1319 <span class="you-save-text">$5,400</span> 1320 </div> 1321 </li> 1322 </ul> 1323 </div> 1324 1325 1326 <a href="/product/used-2023-palomino-puma-25rkqb-2787676-29" class="btn btn-view-details"> 1327 View Details » 1328 </a> 1329 <div class="mtpl-listing-info-wrapper hide"></div> 1330 </div> 1331 <div class="unit-list-cta-btns"> 1332 <div class="mtpl-listing-info-wrapper hide"></div> 1333 <a href="/product/used-2023-palomino-puma-25rkqb-2787676-29" class="btn btn-view-details">View Details »</a> 1334 <ul> 1335 <li class="unit-list-cta-btn-value-my-trade"> 1336 <a 1337 href="/contact-us-trade-ins?UnitId=2787676" 1338 target="_blank" 1339 class="ignore-unit-click">Value My Trade 1340 </a> 1341 </li> 1342 <li class="unit-list-cta-btn-get-pre-approved"> 1343 <a 1344 href="https://gateway.appone.net/onlinea
1344pp/HandLRVServices" 1345 target="_blank" 1346 class="ignore-unit-click" 1347 > 1348 Get Pre-Approved 1349 </a> 1350 </li> 1351 <li class="unit-list-cta-btn-send-to-friend"> 1352 <a href="/product/used-2023-palomino-puma-25rkqb-2787676-29#sendToFriend">Send to Friend</a> 1353 </li> 1354 </ul> 1355 1356 </div> 1357 <div class="mtpl-listing-inventory-wrapper hide"></div> 1358 <div class="unit-tags unit-tags-grid-mode"> 1359 <img class="tag-2768227 tag-rental" src="https://assets-cdn.interactcp.com/interactrv/unit_tag/tag_1913.png?modified=0428202519374618" alt="Rental" /> 1360 </div> 1361 </div> 1362</li> 1363 1364 1365<li class=" unit standard-template-v25 standard-template-v2 usedUnit Travel-Trailer Plant-City active-status has-sale-price year-2022" > 1366 <div class="unit-title-wrapper list-mode"> 1367 <div class="h3 unit-title"> 1368 <a href="/product/used-2022-keystone-rv-sunset-269fk-2855475-29">Used 2022 Keystone RV Sunset 269FK</a> 1369 </div> 1370 <div class="unit-stock-info-wrapper"> 1371 <div class="unit-stock-number-wrapper"> 1372 <span class="stock-number-label">Stock #</span> 1373 <span class="stock-number-text">45</span> 1374 </div> 1375 <div class="unit-location-wrapper"> 1376 <span class="unit-location-text"> 1377 <svg class="fa-solid fa-location-dot" aria-hidden="true" data-prefix="fas" data-icon="map-marker-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-fa-i2svg=""><path fill="currentColor" d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"></path></svg> 1378 Plant City, FL 1379 </span> 1380 </div> 1381 </div> 1382 <div class="sales-pitch alert alert-success">$500 Cash Back when you buy</div> 1383 </div> 1384 <div class="unit-tags unit-tags-list-mode"> 1385 <img 1386 class="tag-2768227 tag-rental" 1387 src="https://assets-cdn.interactcp.com/interactrv/unit_tag/tag_1913.png?modified=0428202519374618" 1388 alt="Rental" 1389 /> 1390 <img 1391 class="tag-1136100 tag-fall-sale" 1392 src="https://assets-cdn.interactcp.com/interactrv/unit_tag/tag_1711.png?modified=0428202519374618" 1393 alt="Fall Sale" 1394 /> 1395 </div> 1396 <div class="unit-content-wrapper detailsContainer" data-title="Used 2022 Keystone RV Sunset 269FK" data-unitid="2855475" data-lotid="1832" data-lotdescription="Plant City, FL" data-vinnumber="4YDTSSM24N5353833" data-stocknumber="45" data-msrp="$22,500.00" data-saleprice="$17,900.00" data-totalprice="$17,900.00" data-fees="$0.00" data-transparent-pricing="false" data-img="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_190x140-m0331202516330267/unit_photo_20250331043302676132260.jpg" data-na="https://assets.interactcp.com/interactrv/images/common/imgh_190x140/na.jpg" data-brand="Sunset" data-mfg="Keystone RV" data-brand-id="105703" data-type-id="29" data-mfg-id="4" data-vin="4YDTSSM24N5353833" data-discount="$0.00" data-short-discount="$0" data-year="2022" data-unitname="269FK" data-phone="813-340-4936" data-phonelink="tel:813-340-4936" data-glp-confirmationid="glpConfirmation" data-customeremailtemplate="glp.hbs" data-unitlink="/product/used-2022-keystone-rv-sunset-269fk-2855475-29" data-discountpricelabel="Our Best Price" data-pricelabel="List Price" data-salepricelabel="Our Price" data-finance-percent-down="" data-finance-interest-rate="" data-finance-months="" data-finance-fees="" data-saleOrRegularPrice="$17,900.00" data-type="Travel Trailer" data-product="2022 Sunset 269FK"> 1397 <div class="unit-media"> 1398 <div class="unit-media-wrapper"> 1399 <div 1400 class="cycle-slideshow" 1401 data-cycle-timeout="0" 1402 data-cycle-slides="> .unit-media-slide" 1403 data-cycle-prev="> .unit-media-cycle-prev" 1404 data-cycle-next="> .unit-media-cycle-next" 1405 data-cycle-swipe="true" 1406 > 1407 <a href="#" class="unit-media-cycle-prev">
1408 <span class="hide">Previous</span><i class="fa fa-angle-left"></i> 1409 </a> 1410 <a href="#" class="unit-media-cycle-next"> 1411 <span class="hide">Next</span><i class="fa fa-angle-right"></i> 1412 </a> 1413 <div class="unit-media-slide"> 1414 <img 1415 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0331202516330267/unit_photo_20250331043302676132260.jpg" 1416 class="dev-unit-media-img" 1417 alt="Preview Image #1 - Used 2022 Keystone RV Sunset 269FK Travel Trailer - Stock #45" 1418 /> 1419 </div> 1420 <div class="unit-media-slide"> 1421 <img 1422 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0331202516330275/unit_photo_202503310433027564746744.jpg" 1423 class="dev-unit-media-img" 1424 alt="Preview Image #2 - Used 2022 Keystone RV Sunset 269FK Travel Trailer - Stock #45" 1425 /> 1426 </div> 1427 <div class="unit-media-slide"> 1428 <img 1429 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0331202516330292/unit_photo_202503310433029280105362.jpg" 1430 class="dev-unit-media-img" 1431 alt="Preview Image #3 - Used 2022 Keystone RV Sunset 269FK Travel Trailer - Stock #45" 1432 /> 1433 </div> 1434 <div class="unit-media-slide"> 1435 <span class="dev-unit-media-img-more-details"> 1436 <span class="dev-unit-media-img-more-details"> 1437 <img 1438 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0331202516330267/unit_photo_20250331043302676132260.jpg" 1439 class="dev-unit-media-img" 1440 /> 1441 </span> 1442 </span> 1443 <ul class="dev-unit-media-img-more-details-list"> 1444 <li><i class="fa fa-camera"></i> <span>+15</span></li> 1445 <li><a href="/product/used-2022-keystone-rv-sunset-269fk-2855475-29" class="btn btn-sm">View More »</a></li> 1446 </ul> 1447 </div> 1448 <div class="favorite-container checkbox hidden-print"> 1449 <label> 1450 <input 1451 type="checkbox" 1452 class="favorite" 1453 value="2855475" 1454 data-toggle-favorite="2855475" 1455 /> 1456 <i></i> 1457 <span class="sr-only">Favorite</span> 1458 </label> 1459 </div> 1460 <div class="cycle-pager"></div> 1461 </div> 1462 1463 1464 </div> 1465 </div> 1466 <div class="unit-title-wrapper grid-mode"> 1467 <div class="h3 unit-title"> 1468 <a href="/product/used-2022-keystone-rv-sunset-269fk-2855475-29">Used 2022 Keystone RV Sunset 269FK</a> 1469 </div> 1470 <div class="unit-stock-info-wrapper"> 1471 <div class="unit-stock-number-wrapper"> 1472 <span class="stock-number-label">Stock #</span> 1473 <span class="stock-number-text">45</span> 1474 </div> 1475 <div class="unit-location-wrapper"> 1476 <span class="unit-location-text"> 1477 <svg class="fa-solid fa-location-dot" aria-hidden="true" data-prefix="fas" data-icon="map-marker-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-fa-i2svg=""><path fill="currentColor" d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817 80 80 80 80z"></path></svg> 1478 Plant City, FL 1479 </span> 1480 </div> 1481 </div> 1482 <div class="sales-pitch alert alert-success">$500 Cash Back when you buy</div> 1483 </div> 1484 <div class="unit-overview"> 1485 <div class="unit-overview-tile-wrapper"> 1486 1487 1488 <div class="unit-overview-tile unit-overview-tile-dimensions"> 1489 <i class="fa-light fa-ruler-horizontal qs-icon" title="Length"></i> 1490 <ul> 1491 <li>31ft long</li> 1492 </ul> 1493 </div> 1494 <div class="unit-overview-tile unit-overview-tile-dimensions"> 1495 <i class="fa-light fa-weight-hanging qs-icon" title="Weight"></i> 1496 <ul> 1497 <li>5,980 lbs</li> 1498 </ul> 1499 </div> 1500 <div class="unit-overview-tile unit-overview-tile-sleeps"> 1501 <i class="fa-light fa-bed qs-icon" title="Sleeps"></i> 1502 <ul> 1503 <li>Sleeps 6</li> 1504 </ul> 1505 </div> 1506 <div class="unit-overview-tile unit-overview-tile-dimensions"> 1507 <span class="fa-stack fa-1x qs-icon-stack" title="Slides"> 1508 <i class="fa-light fa-rectangle-tall"></i> 1509 <i class="fa-light fa-arrow-right-to-dotted-line fa-stack-1x" style="left: 2px;"></i> 1510 </span> 1511 <ul> 1512 <li>2 slides</li> 1513 </ul> 1514 </div> 1515 <div class="unit-overview-tile unit-overview-tile-floorplan-styles"> 1516 <i class="fa-light fa-clipboard-list qs-icon" title="Features"></i> 1517 <ul> 1518 <li>Front Kitchen</li> 1519 <li>Rear Bedroom</li> 1520 </ul> 1521 <a href="/product/used-2022-keystone-rv-sunset-269fk-2855475-29#section-detail-floorplan-anchor" class="btn-overview-tile-view-floorplan">...View Floorplan</a> 1522 </div> 1523 1524 <div class="compare-container"> 1525 <div class="compare-checkbox-wrapper"> 1526 <input 1527 id="compare-2855475" 1528 class="compare" 1529 type="checkbox" 1530 value="2855475" 1531 /> 1532 </div> 1533 <div class="compare-label-wrapper"> 1534 <label for="compare-2855475" class="compareText">Compare</label> 1535 <button 1536 class="btn compareButton hidden" 1537 type="button" onclick="gtmAnalyticsEventTrack(this, 'Interactions', 'Clicked', 'Compare', '2');" 1538 > 1539 Compare 1540 </button> 1541 </div>
1542 </div> 1543 </div> 1544 </div> 1545 <div class="unit-pricing"> 1546 1547 <div class="unit-price-wrapper"> 1548 <ul> 1549 <li class="sale-price-order"> 1550 <div class="sale-price-wrapper"> 1551 <span class="sale-price-label">Our Price: </span> 1552 <span class="sale-price-text">$17,900</span> 1553 </div> 1554 </li> 1555 <li class="reg-price-order"> 1556 <div class="reg-price-wrapper"> 1557 <span class="reg-price-label">List Price: </span> 1558 <span class="reg-price-text">$22,500</span> 1559 </div> 1560 </li> 1561 <li class="you-save-order"> 1562 <div class="you-save-wrapper"> 1563 <span class="you-save-label">Discount: </span> 1564 <span class="you-save-text">$4,600</span> 1565 </div> 1566 </li> 1567 </ul> 1568 </div> 1569 1570 1571 <a href="/product/used-2022-keystone-rv-sunset-269fk-2855475-29" class="btn btn-view-details"> 1572 View Details » 1573 </a> 1574 <div class="mtpl-listing-info-wrapper hide"></div> 1575 </div> 1576 <div class="unit-list-cta-btns"> 1577 <div class="mtpl-listing-info-wrapper hide"></div> 1578 <a href="/product/used-2022-keystone-rv-sunset-269fk-2855475-29" class="btn btn-view-details">View Details »</a> 1579 <ul> 1580 <li class="unit-list-cta-btn-value-my-trade"> 1581 <a 1582 href="/contact-us-trade-ins?UnitId=2855475" 1583 target="_blank" 1584 class="ignore-unit-click">Value My Trade 1585 </a> 1586 </li> 1587 <li class="unit-list-cta-btn-get-pre-approved"> 1588 <a 1589 href="https://gateway.appone.net/onlinea
1589pp/HandLRVServices" 1590 target="_blank" 1591 class="ignore-unit-click" 1592 > 1593 Get Pre-Approved 1594 </a> 1595 </li> 1596 <li class="unit-list-cta-btn-send-to-friend"> 1597 <a href="/product/used-2022-keystone-rv-sunset-269fk-2855475-29#sendToFriend">Send to Friend</a> 1598 </li> 1599 </ul> 1600 1601 </div> 1602 <div class="mtpl-listing-inventory-wrapper hide"></div> 1603 <div class="unit-tags unit-tags-grid-mode"> 1604 <img class="tag-2768227 tag-rental" src="https://assets-cdn.interactcp.com/interactrv/unit_tag/tag_1913.png?modified=0428202519374618" alt="Rental" /> 1605 <img class="tag-1136100 tag-fall-sale" src="https://assets-cdn.interactcp.com/interactrv/unit_tag/tag_1711.png?modified=0428202519374618" alt="Fall Sale" /> 1606 </div> 1607 </div> 1608</li> 1609 1610 1611<li class=" unit standard-template-v25 standard-template-v2 altUnit usedUnit Travel-Trailer Plant-City active-status special-unit has-sale-price year-2022" > 1612 <div class="unit-title-wrapper list-mode"> 1613 <div class="h3 unit-title"> 1614 <a href="/product/used-2022-heartland-twilight-tws-2100-3492190-29">Used 2022 Heartland Twilight TWS 2100</a> 1615 </div> 1616 <div class="unit-stock-info-wrapper"> 1617 <div class="unit-stock-number-wrapper"> 1618 <span class="stock-number-label">Stock #</span> 1619 <span class="stock-number-text">60</span> 1620 </div> 1621 <div class="unit-location-wrapper"> 1622 <span class="unit-location-text"> 1623 <svg class="fa-solid fa-location-dot" aria-hidden="true" data-prefix="fas" data-icon="map-marker-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-fa-i2svg=""><path fill="currentColor" d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"></path></svg> 1624 Plant City, FL 1625 </span> 1626 </div> 1627 </div> 1628 <div class="sales-pitch alert alert-success">Only weighs 5,128 lbs. Great for two people</div> 1629 </div> 1630 <div class="unit-tags unit-tags-list-mode"> 1631 <img 1632 class="tag-2774521 tag-sold" 1633 src="https://assets-cdn.interactcp.com/interactrv/unit_tag/tag_1919.png?modified=0428202519374618" 1634 alt="Sold" 1635 /> 1636 </div> 1637 <div class="unit-content-wrapper detailsContainer" data-title="Used 2022 Heartland Twilight TWS 2100" data-unitid="3492190" data-lotid="1832" data-lotdescription="Plant City, FL" data-vinnumber=" 5RXPB2625N1495453" data-stocknumber="60" data-msrp="$22,500.00" data-saleprice="$18,800.00" data-totalprice="$18,800.00" data-fees="$0.00" data-transparent-pricing="false" data-img="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_190x140-m0210202619361128/unit_photo_202602100736112812729279.jpeg" data-na="https://assets.interactcp.com/interactrv/images/common/imgh_190x140/na.jpg" data-brand="Heartland" data-mfg="Heartland" data-brand-id="139050" data-type-id="29" data-mfg-id="108" data-vin=" 5RXPB2625N1495453" data-discount="$0.00" data-short-discount="$0" data-year="2022" data-unitname="Twilight TWS 2100" data-phone="813-340-4936" data-phonelink="tel:813-340-4936" data-glp-confirmationid="glpConfirmation" data-customeremailtemplate="glp.hbs" data-unitlink="/product/used-2022-heartland-twilight-tws-2100-3492190-29" data-discountpricelabel="Our Best Price" data-pricelabel="List Price" data-salepricelabel="Our Price" data-finance-percent-down="" data-finance-interest-rate="" data-finance-months="" data-finance-fees="" data-saleOrRegularPrice="$18,800.00" data-type="Travel Trailer" data-product="2022 Heartland Twilight TWS 2100"> 1638 <div class="unit-media"> 1639 <div class="unit-media-wrapper"> 1640 <div 1641 class="cycle-slideshow" 1642 data-cycle-timeout="0" 1643 data-cycle-slides="> .unit-media-slide" 1644 data-cycle-prev="> .unit-media-cycle-prev" 1645 data-cycle-next="> .unit-media-cycle-next" 1646 data-cycle-swipe="true" 1647 > 1648 <a href="#" class="unit-media-cycle-prev">
1649 <span class="hide">Previous</span><i class="fa fa-angle-left"></i> 1650 </a> 1651 <a href="#" class="unit-media-cycle-next"> 1652 <span class="hide">Next</span><i class="fa fa-angle-right"></i> 1653 </a> 1654 <div class="unit-media-slide"> 1655 <img 1656 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0210202619361128/unit_photo_202602100736112812729279.jpeg" 1657 class="dev-unit-media-img" 1658 alt="Preview Image #1 - Used 2022 Heartland Twilight TWS 2100 Travel Trailer - Stock #60" 1659 /> 1660 </div> 1661 <div class="unit-media-slide"> 1662 <img 1663 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0210202619361150/unit_photo_202602100736115003424536.jpeg" 1664 class="dev-unit-media-img" 1665 alt="Preview Image #2 - Used 2022 Heartland Twilight TWS 2100 Travel Trailer - Stock #60" 1666 /> 1667 </div> 1668 <div class="unit-media-slide"> 1669 <img 1670 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0210202619361148/unit_photo_202602100736114820571129.jpeg" 1671 class="dev-unit-media-img" 1672 alt="Preview Image #3 - Used 2022 Heartland Twilight TWS 2100 Travel Trailer - Stock #60" 1673 /> 1674 </div> 1675 <div class="unit-media-slide"> 1676 <span class="dev-unit-media-img-more-details"> 1677 <span class="dev-unit-media-img-more-details"> 1678 <img 1679 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0210202619361128/unit_photo_202602100736112812729279.jpeg" 1680 class="dev-unit-media-img" 1681 /> 1682 </span> 1683 </span> 1684 <ul class="dev-unit-media-img-more-details-list"> 1685 <li><i class="fa fa-camera"></i> <span>+14</span></li> 1686 <li><a href="/product/used-2022-heartland-twilight-tws-2100-3492190-29" class="btn btn-sm">View More »</a></li> 1687 </ul> 1688 </div> 1689 <div class="favorite-container checkbox hidden-print"> 1690 <label> 1691 <input 1692 type="checkbox" 1693 class="favorite" 1694 value="3492190" 1695 data-toggle-favorite="3492190" 1696 /> 1697 <i></i> 1698 <span class="sr-only">Favorite</span> 1699 </label> 1700 </div> 1701 <div class="cycle-pager"></div> 1702 </div> 1703 1704 1705 </div> 1706 </div> 1707 <div class="unit-title-wrapper grid-mode"> 1708 <div class="h3 unit-title"> 1709 <a href="/product/used-2022-heartland-twilight-tws-2100-3492190-29">Used 2022 Heartland Twilight TWS 2100</a> 1710 </div> 1711 <div class="unit-stock-info-wrapper"> 1712 <div class="unit-stock-number-wrapper"> 1713 <span class="stock-number-label">Stock #</span> 1714 <span class="stock-number-text">60</span> 1715 </div> 1716 <div class="unit-location-wrapper"> 1717 <span class="unit-location-text"> 1718 <svg class="fa-solid fa-location-dot" aria-hidden="true" data-prefix="fas" data-icon="map-marker-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-fa-i2svg=""><path fill="currentColor" d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817 80 80 80 80z"></path></svg> 1719 Plant City, FL 1720 </span> 1721 </div> 1722 </div> 1723 <div class="sales-pitch alert alert-success">
1723Only weighs 5,128 lbs. Great for two people</div> 1724 </div> 1725 <div class="unit-overview"> 1726 <div class="unit-overview-tile-wrapper"> 1727 1728 1729 <div class="unit-overview-tile unit-overview-tile-dimensions"> 1730 <i class="fa-light fa-ruler-horizontal qs-icon" title="Length"></i> 1731 <ul> 1732 <li>23ft long</li> 1733 </ul> 1734 </div> 1735 <div class="unit-overview-tile unit-overview-tile-dimensions"> 1736 <i class="fa-light fa-weight-hanging qs-icon" title="Weight"></i> 1737 <ul> 1738 <li>5,128 lbs</li> 1739 </ul> 1740 </div> 1741 <div class="unit-overview-tile unit-overview-tile-sleeps"> 1742 <i class="fa-light fa-bed qs-icon" title="Sleeps"></i> 1743 <ul> 1744 <li>Sleeps 2</li> 1745 </ul> 1746 </div> 1747 <div class="unit-overview-tile unit-overview-tile-dimensions"> 1748 <span class="fa-stack fa-1x qs-icon-stack" title="Slides"> 1749 <i class="fa-light fa-rectangle-tall"></i> 1750 <i class="fa-light fa-arrow-right-to-dotted-line fa-stack-1x" style="left: 2px;"></i> 1751 </span> 1752 <ul> 1753 <li>1 slides</li> 1754 </ul> 1755 </div> 1756 <div class="unit-overview-tile unit-overview-tile-floorplan-styles"> 1757 <i class="fa-light fa-clipboard-list qs-icon" title="Features"></i> 1758 <ul> 1759 <li>Front Cargo Deck</li> 1760 <li>Front Bedroom</li> 1761 </ul> 1762 <a href="/product/used-2022-heartland-twilight-tws-2100-3492190-29#section-detail-floorplan-anchor" class="btn-overview-tile-view-floorplan">...View Floorplan</a> 1763 </div> 1764 1765 <div class="compare-container"> 1766 <div class="compare-checkbox-wrapper"> 1767 <input 1768 id="compare-3492190" 1769 class="compare" 1770 type="checkbox" 1771 value="3492190" 1772 /> 1773 </div> 1774 <div class="compare-label-wrapper"> 1775 <label for="compare-3492190" class="compareText">Compare</label> 1776 <button 1777 class="btn compareButton hidden" 1778 type="button" onclick="gtmAnalyticsEventTrack(this, 'Interactions', 'Clicked', 'Compare', '2');" 1779 > 1780 Compare 1781 </button> 1782 </div> 1783 </div> 1784 </div> 1785 </div> 1786 <div class="unit-pricing"> 1787 1788 <div class="unit-price-wrapper"> 1789 <ul> 1790 <li class="sale-price-order"> 1791 <div class="sale-price-wrapper"> 1792 <span class="sale-price-label">Our Price: </span> 1793 <span class="sale-price-text">$18,800</span> 1794 </div> 1795 </li> 1796 <li class="reg-price-order"> 1797 <div class="reg-price-wrapper"> 1798 <span class="reg-price-label">List Price: </span> 1799 <span class="reg-price-text">$22,500</span> 1800 </div> 1801 </li> 1802 <li class="you-save-order"> 1803 <div class="you-save-wrapper"> 1804 <span class="you-save-label">Discount: </span> 1805 <span class="you-save-text">$3,700</span> 1806 </div> 1807 </li> 1808 </ul> 1809 </div> 1810 1811 1812 <a href="/product/used-2022-heartland-twilight-tws-2100-3492190-29" class="btn btn-view-details"> 1813 View Details » 1814 </a> 1815 <div class="mtpl-listing-info-wrapper hide"></div> 1816 </div> 1817 <div class="unit-list-cta-btns"> 1818 <div class="mtpl-listing-info-wrapper hide"></div> 1819 <a href="/product/used-2022-heartland-twilight-tws-2100-3492190-29" class="btn btn-view-details">View Details »</a> 1820 <ul> 1821 <li class="unit-list-cta-btn-value-my-trade"> 1822 <a 1823 href="/contact-us-trade-ins?UnitId=3492190" 1824 target="_blank" 1825 class="ignore-unit-click">Value My Trade 1826 </a> 1827 </li> 1828 <li class="unit-list-cta-btn-get-pre-approved"> 1829 <a 1830 href="https://gateway.appone.net/onlinea
1830pp/HandLRVServices" 1831 target="_blank" 1832 class="ignore-unit-click" 1833 > 1834 Get Pre-Approved 1835 </a> 1836 </li> 1837 <li class="unit-list-cta-btn-send-to-friend"> 1838 <a href="/product/used-2022-heartland-twilight-tws-2100-3492190-29#sendToFriend">Send to Friend</a> 1839 </li> 1840 </ul> 1841 1842 </div> 1843 <div class="mtpl-listing-inventory-wrapper hide"></div> 1844 <div class="unit-tags unit-tags-grid-mode"> 1845 <img class="tag-2774521 tag-sold" src="https://assets-cdn.interactcp.com/interactrv/unit_tag/tag_1919.png?modified=0428202519374618" alt="Sold" /> 1846 </div> 1847 </div> 1848</li> 1849 1850 1851<li class=" unit standard-template-v25 standard-template-v2 usedUnit Travel-Trailer Plant-City active-status special-unit has-sale-price year-2023" > 1852 <div class="unit-title-wrapper list-mode"> 1853 <div class="h3 unit-title"> 1854 <a href="/product/used-2023-forest-river-rv-wildwood-26dbud-2884342-29">Used 2023 Forest River RV Wildwood 26DBUD</a> 1855 </div> 1856 <div class="unit-stock-info-wrapper"> 1857 <div class="unit-stock-number-wrapper"> 1858 <span class="stock-number-label">Stock #</span> 1859 <span class="stock-number-text">52</span> 1860 </div> 1861 <div class="unit-location-wrapper"> 1862 <span class="unit-location-text"> 1863 <svg class="fa-solid fa-location-dot" aria-hidden="true" data-prefix="fas" data-icon="map-marker-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-fa-i2svg=""><path fill="currentColor" d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"></path></svg> 1864 Plant City, FL 1865 </span> 1866 </div> 1867 </div> 1868 <div class="sales-pitch alert alert-success">Sleeps 6 or more</div> 1869 </div> 1870 <div class="unit-tags unit-tags-list-mode"> 1871 <img 1872 class="tag-117184 tag-bunk-beds" 1873 src="https://assets-cdn.interactcp.com/interactrv/unit_tag/tag_1276.png?modified=0428202519374618" 1874 alt="Bunk Beds" 1875 /> 1876 <img 1877 class="tag-2774516 tag-bunk-house" 1878 src="https://assets-cdn.interactcp.com/interactrv/unit_tag/tag_1914.png?modified=0428202519374618" 1879 alt="Bunk House" 1880 /> 1881 </div> 1882 <div class="unit-content-wrapper detailsContainer" data-title="Used 2023 Forest River RV Wildwood 26DBUD" data-unitid="2884342" data-lotid="1832" data-lotdescription="Plant City, FL" data-vinnumber="4X4TWDB24PA277282" data-stocknumber="52" data-msrp="$24,900.00" data-saleprice="$19,900.00" data-totalprice="$19,900.00" data-fees="$0.00" data-transparent-pricing="false" data-img="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_190x140-m0426202516111945/unit_photo_202504260411194529983863.jpg" data-na="https://assets.interactcp.com/interactrv/images/common/imgh_190x140/na.jpg" data-brand="Wildwood" data-mfg="Forest River RV" data-brand-id="69205" data-type-id="29" data-mfg-id="1" data-vin="4X4TWDB24PA277282" data-discount="$0.00" data-short-discount="$0" data-year="2023" data-unitname="26DBUD" data-phone="813-340-4936" data-phonelink="tel:813-340-4936" data-glp-confirmationid="glpConfirmation" data-customeremailtemplate="glp.hbs" data-unitlink="/product/used-2023-forest-river-rv-wildwood-26dbud-2884342-29" data-discountpricelabel="Our Best Price" data-pricelabel="List Price" data-salepricelabel="Our Price" data-finance-percent-down="" data-finance-interest-rate="" data-finance-months="" data-finance-fees="" data-saleOrRegularPrice="$19,900.00" data-type="Travel Trailer" data-product="2023 Wildwood 26DBUD"> 1883 <div class="unit-media"> 1884 <div class="unit-media-wrapper"> 1885 <div 1886 class="cycle-slideshow" 1887 data-cycle-timeout="0" 1888 data-cycle-slides="> .unit-media-slide" 1889 data-cycle-prev="> .unit-media-cycle-prev" 1890 data-cycle-next="> .unit-media-cycle-next" 1891 data-cycle-swipe="true" 1892 > 1893 <a href="#" class="unit-media-cycle-prev">
1894 <span class="hide">Previous</span><i class="fa fa-angle-left"></i> 1895 </a> 1896 <a href="#" class="unit-media-cycle-next"> 1897 <span class="hide">Next</span><i class="fa fa-angle-right"></i> 1898 </a> 1899 <div class="unit-media-slide"> 1900 <img 1901 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0426202516111945/unit_photo_202504260411194529983863.jpg" 1902 class="dev-unit-media-img" 1903 alt="Preview Image #1 - Used 2023 Forest River RV Wildwood 26DBUD Travel Trailer - Stock #52" 1904 /> 1905 </div> 1906 <div class="unit-media-slide"> 1907 <img 1908 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0426202516111938/unit_photo_202504260411193845403576.jpg" 1909 class="dev-unit-media-img" 1910 alt="Preview Image #2 - Used 2023 Forest River RV Wildwood 26DBUD Travel Trailer - Stock #52" 1911 /> 1912 </div> 1913 <div class="unit-media-slide"> 1914 <img 1915 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0426202516111939/unit_photo_202504260411193952148940.jpg" 1916 class="dev-unit-media-img" 1917 alt="Preview Image #3 - Used 2023 Forest River RV Wildwood 26DBUD Travel Trailer - Stock #52" 1918 /> 1919 </div> 1920 <div class="unit-media-slide"> 1921 <span class="dev-unit-media-img-more-details"> 1922 <span class="dev-unit-media-img-more-details"> 1923 <img 1924 src="https://assets-cdn.interactcp.com/handlrvs/unit_photo/imgh_400x300-m0426202516111945/unit_photo_202504260411194529983863.jpg" 1925 class="dev-unit-media-img" 1926 /> 1927 </span> 1928 </span> 1929 <ul class="dev-unit-media-img-more-details-list"> 1930 <li><i class="fa fa-camera"></i> <span>+20</span></li> 1931 <li><a href="/product/used-2023-forest-river-rv-wildwood-26dbud-2884342-29" class="btn btn-sm">View More »</a></li> 1932 </ul> 1933 </div> 1934 <div class="favorite-container checkbox hidden-print"> 1935 <label> 1936 <input 1937 type="checkbox" 1938 class="favorite" 1939 value="2884342" 1940 data-toggle-favorite="2884342" 1941 /> 1942 <i></i> 1943 <span class="sr-only">Favorite</span> 1944 </label> 1945 </div> 1946 <div class="cycle-pager"></div> 1947 </div> 1948 1949 1950 </div> 1951 </div> 1952 <div class="unit-title-wrapper grid-mode"> 1953 <div class="h3 unit-title"> 1954 <a href="/product/used-2023-forest-river-rv-wildwood-26dbud-2884342-29">Used 2023 Forest River RV Wildwood 26DBUD</a> 1955 </div> 1956 <div class="unit-stock-info-wrapper"> 1957 <div class="unit-stock-number-wrapper"> 1958 <span class="stock-number-label">Stock #</span> 1959 <span class="stock-number-text">52</span> 1960 </div> 1961 <div class="unit-location-wrapper"> 1962 <span class="unit-location-text"> 1963 <svg class="fa-solid fa-location-dot" aria-hidden="true" data-prefix="fas" data-icon="map-marker-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" data-fa-i2svg=""><path fill="currentColor" d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817 80 80 80 80z"></path></svg> 1964 Plant City, FL 1965 </span> 1966 </div> 1967 </div> 1968 <div class="sales-pitch alert alert-success">Sleeps 6 or more</div> 1969 </div> 1970 <div class="unit-overview"> 1971 <div class="unit-overview-tile-wrapper"> 1972 1973 1974 <div class="unit-overview-tile unit-overview-tile-dimensions"> 1975 <i class="fa-light fa-ruler-horizontal qs-icon" title="Length"></i> 1976 <ul> 1977 <li>33ft long</li> 1978 </ul> 1979 </div> 1980 <div class="unit-overview-tile unit-overview-tile-dimensions"> 1981 <i class="fa-light fa-weight-hanging qs-icon" title="Weight"></i> 1982 <ul> 1983 <li>6,923 lbs</li> 1984 </ul> 1985 </div> 1986 <div class="unit-overview-tile unit-overview-tile-sleeps"> 1987 <i class="fa-light fa-bed qs-icon" title="Sleeps"></i> 1988 <ul> 1989 <li>Sleeps 10</li> 1990 </ul> 1991 </div> 1992 <div class="unit-overview-tile unit-overview-tile-dimensions"> 1993 <span class="fa-stack fa-1x qs-icon-stack" title="Slides"> 1994 <i class="fa-light fa-rectangle-tall"></i> 1995 <i class="fa-light fa-arrow-right-to-dotted-line fa-stack-1x" style="left: 2px;"></i> 1996 </span> 1997 <ul> 1998 <li>1 slides</li> 1999 </ul> 2000 </div> 2001 <div class="unit-overview-tile unit-overview-tile-floorplan-styles"> 2002 <i class="fa-light fa-clipboard-list qs-icon" title="Features"></i> 2003 <ul> 2004 <li>Bunkhouse</li> 2005 <li>Two Entry/Exit Doors</li> 2006 </ul> 2007 <a href="/product/used-2023-forest-river-rv-wildwood-26dbud-2884342-29#section-detail-floorplan-anchor" class="btn-overview-tile-view-floorplan">...View Floorplan</a> 2008 </div> 2009 2010 <div class="compare-container"> 2011 <div class="compare-checkbox-wrapper"> 2012 <input 2013 id="compare-2884342" 2014 class="compare" 2015 type="checkbox" 2016 value="2884342" 2017 /> 2018 </div> 2019 <div class="compare-label-wrapper"> 2020 <label for="compare-2884342" class="compareText">Compare</label> 2021 <button 2022 class="btn compareButton hidden" 2023 type="button" onclick="gtmAnalyticsEventTrack(this, 'Interactions', 'Clicked', 'Compare', '2');" 2024 > 2025 Compare 2026 </button> 2027 </div>
2028 </div> 2029 </div> 2030 </div> 2031 <div class="unit-pricing"> 2032 2033 <div class="unit-price-wrapper"> 2034 <ul> 2035 <li class="sale-price-order"> 2036 <div class="sale-price-wrapper"> 2037 <span class="sale-price-label">Our Price: </span> 2038 <span class="sale-price-text">$19,900</span> 2039 </div> 2040 </li> 2041 <li class="reg-price-order"> 2042 <div class="reg-price-wrapper"> 2043 <span class="reg-price-label">List Price: </span> 2044 <span class="reg-price-text">$24,900</span> 2045 </div> 2046 </li> 2047 <li class="you-save-order"> 2048 <div class="you-save-wrapper"> 2049 <span class="you-save-label">Discount: </span> 2050 <span class="you-save-text">$5,000</span> 2051 </div> 2052 </li> 2053 </ul> 2054 </div> 2055 2056 2057 <a href="/product/used-2023-forest-river-rv-wildwood-26dbud-2884342-29" class="btn btn-view-details"> 2058 View Details » 2059 </a> 2060 <div class="mtpl-listing-info-wrapper hide"></div> 2061 </div> 2062 <div class="unit-list-cta-btns"> 2063 <div class="mtpl-listing-info-wrapper hide"></div> 2064 <a href="/product/used-2023-forest-river-rv-wildwood-26dbud-2884342-29" class="btn btn-view-details">View Details »</a> 2065 <ul> 2066 <li class="unit-list-cta-btn-value-my-trade"> 2067 <a 2068 href="/contact-us-trade-ins?UnitId=2884342" 2069 target="_blank" 2070 class="ignore-unit-click">Value My Trade 2071 </a> 2072 </li> 2073 <li class="unit-list-cta-btn-get-pre-approved"> 2074 <a 2075 href="https://gateway.appone.net/onlinea
2075pp/HandLRVServices" 2076 target="_blank" 2077 class="ignore-unit-click" 2078 > 2079 Get Pre-Approved 2080 </a> 2081 </li> 2082 <li class="unit-list-cta-btn-send-to-friend"> 2083 <a href="/product/used-2023-forest-river-rv-wildwood-26dbud-2884342-29#sendToFriend">Send to Friend</a> 2084 </li> 2085 </ul> 2086 2087 </div> 2088 <div class="mtpl-listing-inventory-wrapper hide"></div> 2089 <div class="unit-tags unit-tags-grid-mode"> 2090 <img class="tag-117184 tag-bunk-beds" src="https://assets-cdn.interactcp.com/interactrv/unit_tag/tag_1276.png?modified=0428202519374618" alt="Bunk Beds" /> 2091 <img class="tag-2774516 tag-bunk-house" src="https://assets-cdn.interactcp.com/interactrv/unit_tag/tag_1914.png?modified=0428202519374618" alt="Bunk House" /> 2092 </div> 2093 </div> 2094</li> 2095 </ol> 2096 2097 </div> 2098 2099 <div 2100 class="listingPagination bottomPaging hide" 2101 data-hide="true" 2102 > 2103 <div class="row"> 2104 <div class="col-sm-6 list-pagination-wrapper"> 2105 2106 2107<div class="pagination-wrapper"> 2108 <ul class="pagination"> 2109 <li class='disabled'><a href="" class="previous" title="Previous Page" data-page="">«</a></li> 2110 <li class='active'><a href="" title="Page 1" data-page="1">1</a></li> 2111 <li class='active'><a href="https://www.handlrvs.com/product/travel-trailer?page=1" title="Page 1" data-page="1">1</a></li> 2112 <li class='disabled'><a href="" class="next" title="Next Page" data-page="">»</a></li> 2113 </ul> 2114</div> 2115 </div> 2116 <div class="col-sm-6 page-size-wrapper-parent"> 2117 <div class="row page-size-wrapper"> 2118 <div class="col-xs-6 col-sm-offset-1 visible-item-count">Showing <span class="first-visible-index">1</span> - <span class="last-visible-index">5</span> of <span class="total-units">5</span></div> 2119 <div class="col-xs-5 page-size-inner-wrapper"> 2120 <label for="pageSizeBottom" class="pull-left">Show:</label> 2121 <select id="pageSizeBottom" class="pull-left page-sizes"> 2122 <option value="24" selected>24</option> 2123 <option value="48" >48</option> 2124 <option value="72" >72</option> 2125 </select> 2126 </div> 2127 </div> 2128 </div> 2129 </div> 2130 </div> 2131 2132 2133 <div class="hidden"> 2134 <div id="getLowestPrice" class="form-for-colorbox listing-glp-form"> 2135 2136<form method="post" class="form irvForm" data-irvform-token="pcUujwL8XkxfKRkL" data-irvform-validation-token="Sqq4Rwva//RM1k2GGRhwBw==" data-irvform-activity-type="" data-irvform-confirmation-id="" data-irvform-unit-id="" data-irvform-source-domain="" data-irvform-requires-recaptcha="true" data-irvform-ga4id="G-9CWH862FWV" data-irvform-formsnippetid="1182"> 2137 <div class="form-contents"> 2138 2139 2140<fieldset class="glp-form colorbox-form"><legend class="heading"> Get Our Lowest Price <strong>Total Price</strong><a rel="colorbox-close"> <span class="hide">Close</span><i class="fa fa-times close"></i> </a> </legend> 2141<div class="clearfix"></div> 2142<p class="glp-form-text">Our <span class="brand-holder">{brand}</span> prices are so low, <span class="mfg-holder">{mfg}</span> won't allow us to display our wholesale price without you requesting it. Complete this form and we'll contact you with our wholesale price!</p> 2143<br /> 2144<div> 2145<div class="row"> 2146<div class="col-sm-7"> 2147<div class="well"> 2148<div class="form-horizontal"> 2149<div class="form-group"> 2150<div class="col-sm-12"><span class="field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true">Â </span> <i class="fa fa-exclamation-triangle"></i></div> 2151<div class="clearfix"></div> 2152<label for="FirstName" class="col-sm-2 control-label text-left">Name</label> 2153<div class="col-sm-10"><input name="FirstName" id="FirstName" value="" class="form-control" data-val="true" data-val-required="Your name is required" data-val-regex="First and Last Name are required." data-val-regex-pattern="^.+ .+$" type="text" /></div> 2154</div> 2155<div class="form-group"> 2156<div class="col-sm-12"><span class="field-validation-valid" data-valmsg-for="Email" data-valmsg-replace="true">Â </span> <i class="fa fa-exclamation-triangle"></i></div> 2157<div class="clearfix"></div> 2158<label for="Email" class="col-sm-2 control-label text-left">Email</label> 2159<div class="col-sm-10"><input name="Email" id="Email" value="" class="form-control" data-val="true" data-val-required="Your email is required" data-val-regex="Please enter a valid email address" data-val-regex-pattern="^\S+@\S+\.\S+$" type="text" /></div> 2160</div> 2161<div class="form-group"> 2162<div class="col-sm-12"><span class="field-validation-valid" data-valmsg-for="Phone" data-valmsg-replace="true">Â </span> <i class="fa fa-exclamation-triangle"></i></div> 2163<div class="clearfix"></div> 2164<label for="Phone" class="col-sm-2 control-label text-left">Phone</label> 2165<div class="col-sm-6"><input name="Phone" id="Phone" value="" class="form-control" data-val="true" data-val-required="Your phone is required" data-val-regex="Please enter a valid phone number" data-val-regex-pattern="^(1\s?)?(\(\d{3}\)|\d{3}-?)?\s?\d{3}-?\d{4}$" type="text" /></div> 2166<div class="col-sm-4 hidden-xs"><label for="PhoneType" class="hidden">Phone Type</label><select name="PhoneType" id="PhoneType" class="form-control"> 2167<option value="Cell">Cell</option> 2168<option value="Home">Home</option> 2169<option value="Work">Work</option> 2170</select></div> 2171</div> 2172<div class="form-group"> 2173<div class="col-sm-12">
2173<span class="field-validation-valid" data-valmsg-for="Zip" data-valmsg-replace="true">Â </span> <i class="fa fa-exclamation-triangle"></i></div> 2174<div class="clearfix"></div> 2175<label for="Zip" class="col-sm-3 control-label text-left">Zip/Postal</label> 2176<div class="col-sm-9"><input name="Zip" id="Zip" value="" data-val="true" class="form-control" data-val-required="Your zip/postal is required" data-val-regex="Please enter a valid zip/postal code" data-val-regex-pattern="^(\d{5}(-\d{4})?)|([A-Za-z]\d[A-Za-z]\s?\d[A-Za-z]\d)$" type="text" /></div> 2177</div> 2178<div class="form-group"> 2179<div class="col-sm-12"> 2180<div class="checkbox"><label for="EmailOptIn"> <input name="EmailOptIn" id="EmailOptIn" checked="checked" type="checkbox" /> It's ok to contact me about future discounts and events. </label> <span class="help-block">(Easily unsubscribe at any time.)</span></div> 2181</div> 2182</div> 2183</div> 2184<div class="text-center"><input class="btn btn-primary" name="SubmitButton" id="glpSubmit" value="Show Me Your Lowest Price!" type="submit" /></div> 2185</div> 2186</div> 2187<div class="col-sm-5 hidden-xs"> 2188<div class="imageDisplay-holder liftedCorners pull-right unit-{unitid} brand-id-{brand-id}"> 2189<div><img src="https://assets-cdn.interactcp.com/interactrv/images/common/white.gif?placeholder" alt="{title}" class="img-holder" /></div> 2190<div><a class="unit-link-holder" href="#unit-link-placeholder" target="_blank" rel="noopener"> <span class="title-holder">{title}</span> </a></div> 2191<div class="glp-price-summary"> 2192<div class="clearfix"><strong class="pull-left">Stock Number</strong> <span class="stockNumber-holder pull-right">{stockNumber}</span></div> 2193<div class="clearfix"><strong class="priceLabel-holder pull-left">{priceLabel}</strong> <span class="msrp-holder pull-right">{msrp}</span></div> 2194<div class="clearfix"><strong class="salePriceLabel-holder pull-left">{salePriceLabel}</strong> <span class="salePrice-holder pull-right">{saleprice}</span></div> 2195<div class="clearfix"><strong class="feesLabel-holder pull-left">Fees</strong> <span class="fees-holder pull-right">+ {fees}</span></div> 2196<div class="clearfix"><strong class="totalPriceLabel-holder pull-left">Total Price</strong> <span class="totalPrice-holder pull-right">{totalprice}</span></div> 2197</div> 2198</div> 2199</div> 2200</div> 2201</div> 2202</fieldset> 2203<p><input name="UnitId" value="0" type="hidden" /> <input name="FormType" value="Get Lowest Price" type="hidden" /> <input name="AjaxTarget" value="/Forms/Ajax" type="hidden" /> <input name="SuccessMessage" value="Your request for our lowest price was sent successfully." type="hidden" /> <input name="SuccessBtnText" value="Close & Continue Shopping" type="hidden" /> <input name="Comments" id="Comments" value="Get Lowest Price Request" type="hidden" /> <input name="ConfirmationId" id="ConfirmationId" value="" type="hidden" /> <input name="AccountEmailTemplate" id="AccountEmailTemplate" value="interactrv/handlebar_templates/lead_glp.hbs" type="hidden" /> <input name="CustomerEmailTemplate" id="CustomerEmailTemplate" value="" type="hidden" /> <input name="DiscountPriceLabel" id="DiscountPriceLabel" value="" type="hidden" /> <input name="RegularPriceLabel" id="RegularPriceLabel" value="" type="hidden" /> <input name="JournalTemplate" id="JournalTemplate" value="interactrv/handlebar_templates/journal_glp.hbs" type="hidden" /></p> 2204 <div class="superImportantInformation-247"> 2205 <label for="ConfirmEmail-247">Confirm Email</label> 2206 <input type="text" aria-label="if you are human, do not enter this field" autocomplete="off" placeholder="if you are human, do not enter this field" name="ConfirmEmail-247" id="ConfirmEmail-247" /> 2207 </div> 2208 </div> 2209<input name="__RequestVerificationToken" type="hidden" value="CfDJ8Mg3XaYAmgxNvn8WEUmRKT-3a5K3QVqYN4gVUeyY3y9AzWonoCkkKIrTVaEibt_dREkcVqWuD_Be1SnYwhdGn90VJRvx5gEPCW0xGQrhwDGBTr6aRIf5VZ1IUK3soi5A9RW45j3wrn49WkRBFrwJtq0" /></form> 2210 2211 </div> 2212 </div> 2213 <div class="hidden"> 2214 <div id="getLowestPriceForce" class="form-for-colorbox listing-glp-force-form"> 2215 2216<form method="post" class="form irvForm" data-irvform-token="ZVRZiF6HDwgvviA+" data-irvform-validation-token="M0OMDl4uycQoUTnI6hiagQ==" data-irvform-activity-type="" data-irvform-confirmation-id="" data-irvform-unit-id="" data-irvform-source-domain="" data-irvform-requires-recaptcha="true" data-irvform-ga4id="G-9CWH862FWV" data-irvform-formsnippetid="1182"> 2217 <div class="form-contents"> 2218 2219 2220<fieldset class="glp-form colorbox-form"><legend class="heading"> Get Our Lowest Price <strong>Total Price</strong><a rel="colorbox-close"> <span class="hide">Close</span><i class="fa fa-times close"></i> </a> </legend> 2221<div class="clearfix"></div> 2222<p class="glp-form-text">Our <span class="brand-holder">{brand}</span> prices are so low, <span class="mfg-holder">{mfg}</span> won't allow us to display our wholesale price without you requesting it. Complete this form and we'll contact you with our wholesale price!</p> 2223<br /> 2224<div> 2225<div class="row"> 2226<div class="col-sm-7"> 2227<div class="well"> 2228<div class="form-horizontal"> 2229<div class="form-group"> 2230<div class="col-sm-12"><span class="field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true">Â </span> <i class="fa fa-exclamation-triangle"></i></div> 2231<div class="clearfix"></div> 2232<label for="FirstName" class="col-sm-2 control-label text-left">Name</label> 2233<div class="col-sm-10"><input name="FirstName" id="FirstName" value="" class="form-control" data-val="true" data-val-required="Your name is required" data-val-regex="First and Last Name are required." data-val-regex-pattern="^.+ .+$" type="text" /></div> 2234</div> 2235<div class="form-group"> 2236<div class="col-sm-12"><span class="field-validation-valid" data-valmsg-for="Email" data-valmsg-replace="true">Â </span> <i class="fa fa-exclamation-triangle"></i></div> 2237<div class="clearfix"></div> 2238<label for="Email" class="col-sm-2 control-label text-left">Email</label> 2239<div class="col-sm-10"><input name="Email" id="Email" value="" class="form-control" data-val="true" data-val-required="Your email is required" data-val-regex="Please enter a valid email address" data-val-regex-pattern="^\S+@\S+\.\S+$" type="text" /></div> 2240</div> 2241<div class="form-group"> 2242<div class="col-sm-12"><span class="field-validation-valid" data-valmsg-for="Phone" data-valmsg-replace="true">Â </span> <i class="fa fa-exclamation-triangle"></i></div> 2243<div class="clearfix"></div> 2244<label for="Phone" class="col-sm-2 control-label text-left">Phone</label> 2245<div class="col-sm-6"><input name="Phone" id="Phone" value="" class="form-control" data-val="true" data-val-required="Your phone is required" data-val-regex="Please enter a valid phone number" data-val-regex-pattern="^(1\s?)?(\(\d{3}\)|\d{3}-?)?\s?\d{3}-?\d{4}$" type="text" /></div> 2246<div class="col-sm-4 hidden-xs"><label for="PhoneType" class="hidden">Phone Type</label><select name="PhoneType" id="PhoneType" class="form-control"> 2247<option value="Cell">Cell</option> 2248<option value="Home">Home</option> 2249<option value="Work">Work</option> 2250</select></div> 2251</div> 2252<div class="form-group"> 2253<div class="col-sm-12">
2253<span class="field-validation-valid" data-valmsg-for="Zip" data-valmsg-replace="true">Â </span> <i class="fa fa-exclamation-triangle"></i></div> 2254<div class="clearfix"></div> 2255<label for="Zip" class="col-sm-3 control-label text-left">Zip/Postal</label> 2256<div class="col-sm-9"><input name="Zip" id="Zip" value="" data-val="true" class="form-control" data-val-required="Your zip/postal is required" data-val-regex="Please enter a valid zip/postal code" data-val-regex-pattern="^(\d{5}(-\d{4})?)|([A-Za-z]\d[A-Za-z]\s?\d[A-Za-z]\d)$" type="text" /></div> 2257</div> 2258<div class="form-group"> 2259<div class="col-sm-12"> 2260<div class="checkbox"><label for="EmailOptIn"> <input name="EmailOptIn" id="EmailOptIn" checked="checked" type="checkbox" /> It's ok to contact me about future discounts and events. </label> <span class="help-block">(Easily unsubscribe at any time.)</span></div> 2261</div> 2262</div> 2263</div> 2264<div class="text-center"><input class="btn btn-primary" name="SubmitButton" id="glpSubmit" value="Show Me Your Lowest Price!" type="submit" /></div> 2265</div> 2266</div> 2267<div class="col-sm-5 hidden-xs"> 2268<div class="imageDisplay-holder liftedCorners pull-right unit-{unitid} brand-id-{brand-id}"> 2269<div><img src="https://assets-cdn.interactcp.com/interactrv/images/common/white.gif?placeholder" alt="{title}" class="img-holder" /></div> 2270<div><a class="unit-link-holder" href="#unit-link-placeholder" target="_blank" rel="noopener"> <span class="title-holder">{title}</span> </a></div> 2271<div class="glp-price-summary"> 2272<div class="clearfix"><strong class="pull-left">Stock Number</strong> <span class="stockNumber-holder pull-right">{stockNumber}</span></div> 2273<div class="clearfix"><strong class="priceLabel-holder pull-left">{priceLabel}</strong> <span class="msrp-holder pull-right">{msrp}</span></div> 2274<div class="clearfix"><strong class="salePriceLabel-holder pull-left">{salePriceLabel}</strong> <span class="salePrice-holder pull-right">{saleprice}</span></div> 2275<div class="clearfix"><strong class="feesLabel-holder pull-left">Fees</strong> <span class="fees-holder pull-right">+ {fees}</span></div> 2276<div class="clearfix"><strong class="totalPriceLabel-holder pull-left">Total Price</strong> <span class="totalPrice-holder pull-right">{totalprice}</span></div> 2277</div> 2278</div> 2279</div> 2280</div> 2281</div> 2282</fieldset> 2283<p><input name="UnitId" value="0" type="hidden" /> <input name="FormType" value="Get Lowest Price" type="hidden" /> <input name="AjaxTarget" value="/Forms/Ajax" type="hidden" /> <input name="SuccessMessage" value="Your request for our lowest price was sent successfully." type="hidden" /> <input name="SuccessBtnText" value="Close & Continue Shopping" type="hidden" /> <input name="Comments" id="Comments" value="Get Lowest Price Request" type="hidden" /> <input name="ConfirmationId" id="ConfirmationId" value="" type="hidden" /> <input name="AccountEmailTemplate" id="AccountEmailTemplate" value="interactrv/handlebar_templates/lead_glp.hbs" type="hidden" /> <input name="CustomerEmailTemplate" id="CustomerEmailTemplate" value="" type="hidden" /> <input name="DiscountPriceLabel" id="DiscountPriceLabel" value="" type="hidden" /> <input name="RegularPriceLabel" id="RegularPriceLabel" value="" type="hidden" /> <input name="JournalTemplate" id="JournalTemplate" value="interactrv/handlebar_templates/journal_glp.hbs" type="hidden" /></p> 2284 <div class="superImportantInformation-247"> 2285 <label for="ConfirmEmail-247">Confirm Email</label> 2286 <input type="text" aria-label="if you are human, do not enter this field" autocomplete="off" placeholder="if you are human, do not enter this field" name="ConfirmEmail-247" id="ConfirmEmail-247" /> 2287 </div> 2288 </div> 2289<input name="__RequestVerificationToken" type="hidden" value="CfDJ8Mg3XaYAmgxNvn8WEUmRKT-3a5K3QVqYN4gVUeyY3y9AzWonoCkkKIrTVaEibt_dREkcVqWuD_Be1SnYwhdGn90VJRvx5gEPCW0xGQrhwDGBTr6aRIf5VZ1IUK3soi5A9RW45j3wrn49WkRBFrwJtq0" /></form> 2290 2291 </div> 2292 </div> 2293 <div class="hidden"> 2294 <div id="glpPriceConfirmation"> 2295 2296 2297<fieldset class="colorbox-form form-confirm glp-price-confirm"> 2298 <legend class="heading"> 2299 Get Our Lowest Price 2300 <a href="javascript:void(0)" rel="colorbox-close"><span class="hide">Close</span><i class="fa fa-times close"></i></a> 2301 </legend> 2302 <br /> 2303 <div class="h5"> 2304 Thank You, <span class="name-holder"></span>! 2305 </div> 2306 <p class="price-message"> 2307 Our lowest price on this <span class="title-holder">item</span> is <span class="short-price-holder"></span> 2308 </p> 2309 <p class="expires-message"> 2310 This price is only valid for 24 hours from <span class="date-holder"></span> 2311 </p> 2312 <div class="unit-info"> 2313 <div class="photo liftedCorners"> 2314 <img src="" alt="" class="image-holder" /> 2315 </div>
2316 <div class="unit-info-details"> 2317 <p> 2318 <strong><span class="title-holder"></span></strong> 2319 </p> 2320 <p> 2321 Stock Number <span class="stock-holder"></span><br /> 2322 <span class="priceLabel-holder">{priceLabel}</span>: <span class="msrp-holder"></span> 2323 <span class="salePriceLabel-holder"></span>: <span class="salePrice-holder"></span> 2324 </p> 2325 <p> 2326 <strong><span class="discountPriceLabel-holder">{discountPriceLabel}</span>: <span class="price-holder"></span></strong> 2327 </p> 2328 </div> 2329 </div> 2330 <p class="call-us"> 2331 Sound good? Call us at <a href="#" class="phone-holder">8</a> 2332 </p> 2333 <p> 2334 <a href="javascript:void(0)" rel="colorbox-close" class="btn btn-default close-btn">Close and Continue Shopping</a> 2335 </p> 2336</fieldset> 2337 </div> 2338 </div> 2339 <div class="hidden"> 2340 <div id="glpConfirmation"> 2341 2342 2343<fieldset class="colorbox-form form-confirm"> 2344 <legend class="heading"> 2345 <span class="heading-holder">Confirmation</span> 2346 <a href="#" rel="colorbox-close"><span class="hide">Close</span><i class="fa fa-times close"></i></a> 2347 </legend> 2348 <div class="clearfix"></div> 2349 <center> 2350 <div class="h4" style="margin-top: 30px"> 2351 Thank You, <span class="name-holder"></span>! 2352 </div> 2353 <p class="h4 text-success"> 2354 <span class="msg-holder">Your message was sent successfully</span> 2355 </p> 2356 <p> 2357 <span class="sub-msg-holder">A representative has been notified and will be with you shortly.</span> 2358 </p> 2359 <p> 2360 <a class="btn" href="javascript:void(0)" rel="colorbox-close"><span class="hide">Close</span><span class="btn-text-holder">Close</span></a> 2361 </p> 2362 </center> 2363</fieldset> 2364 </div> 2365
2365<script type="text/javascript"> 2366 $("#glpConfirmation .heading-holder").text("Get Our Lowest Price"); 2367 </script>
2367 2368
2368<script type="text/javascript"> 2369 $(function () { 2370 $('#getLowestPrice.listing-glp-form input[type="submit"]').click(function () { 2371 gtmAnalyticsEventTrack(this, 'Forms', 'Submit', 'Get Lowest Price', '5'); 2372 }); 2373 $('#getLowestPrice .form').on('submit-complete', function () { 2374 gtmAnalyticsEventTrack(this, 'Forms', 'SubmitComplete', 'Get Lowest Price', '5'); 2375 }); 2376 }); 2377 </script>
2377 2378 </div> 2379 2380
2380<script type="text/javascript"> 2381 $(function() { 2382 var listCriteria = {"HideLibrary":true,"OnlyLibrary":false,"UnitAgeFilter":0,"InvertTagFilter":false,"InvertTypeFilter":false,"Types":"29,28","InvertLotsFilter":false,"StatusId":"2","InvertManufacturerFilter":false,"InvertBrandFilter":false,"PriceFilters":[],"MonthlyPaymentsFilters":[],"PropVals":{},"InvertedPropIds":[],"ExcludedPropVals":{},"ResultsSortString":"price-asc","PageSize":24,"PageNum":0,"NoResultsPredetermined":false,"IsCompact":false}; 2383 var listConfig = {"PageId":345958,"GlpForm":"1182","GlpForceForm":"1182","GlpNoPriceConfirm":1435,"GlpPriceConfirm":1436,"Slider":false,"SliderPaused":false,"VertSlider":false,"VisibleSlides":3,"IsCompact":false,"Limit":0,"SearchMode":false,"DefaultSortMode":"price-asc","UseFqdnUnitLinks":false,"NumberOfSoldIfNoActive":0,"NoResultsSnippetId":0,"ShowSimilarUnitsIfNoResults":false,"SuggestUnitsIfNoResults":false,"DefaultPageSize":24,"ImageWidth":400,"ImageHeight":0,"NoPriceText":"Call for price!","ShowPaymentsAround":false,"ShowPaymentsAroundInCompactMode":false,"DefaultToGridMode":false,"DisableAjax":false,"PriceTooltip":"","FavoritesMode":false,"ConsolidatedMode":false}; 2384 2385 // for prev/next buttons on detail pages 2386 if ('True' === 'True') { 2387 var unitIds = [2787679,2787676,2855475,3492190,2884342]; 2388 2389 var url = window.location.href; 2390 2391 window.sessionStorage.setItem("list_url", url); 2392 window.sessionStorage.setItem(url + "_units", JSON.stringify(unitIds)); 2393 window.sessionStorage.setItem(url + "_total_units", 5); 2394 window.sessionStorage.setItem(url.split('?')[0] + "_criteria", JSON.stringify(listCriteria)); 2395 window.sessionStorage.setItem(url.split('?')[0] + "_config", JSON.stringify(listConfig)); 2396 } 2397 else { 2398 // indicates that prev/next buttons should not be activiated 2399 window.sessionStorage.setItem("list_url", ''); 2400 } 2401 2402 $('.ajax-unit-list').ajaxUnitList({ 2403 listCriteria: listCriteria, 2404 listConfig: listConfig, 2405 productTypes: {"5":{"ListItemTemplate":"UnitListItemV2.5.cshtml","Description":"Fifth Wheel"},"26":{"ListItemTemplate":"UnitListItemV2.5.cshtml","Description":"Toy Hauler Fifth Wheel"},"28":{"ListItemTemplate":"UnitListItemV2.5.cshtml","Description":"Toy Hauler Travel Trailer"},"29":{"ListItemTemplate":"UnitListItemV2.5.cshtml","Description":"Travel Trailer"},"9":{"ListItemTemplate":"UnitListItemV2.5.cshtml","Description":"Motor Home Class A"},"10":{"ListItemTemplate":"UnitListItemV2.5.cshtml","Description":"Motor Home Class A - Diesel"},"13":{"ListItemTemplate":"UnitListItemV2.5.cshtml","Description":"Motor Home Class B"},"116":{"ListItemTemplate":"UnitListItemV2.5.cshtml","Description":"Motor Home Class B - Diesel"},"16":{"ListItemTemplate":"UnitListItemV2.5.cshtml","Description":"Motor Home Class C"},"17":{"ListItemTemplate":"UnitListItemV2.5.cshtml","Description":"Motor Home Class C - Diesel"}}, 2406 lazyLoadBufferSize: 12, 2407 noUnitsText: '<p>We&#39;re sorry. We were unable to find any results for this page. Please give us a call for an up to date product list or try our <a href="/rv-search">Search</a> and expand your criteria.</p>', 2408 noExactMatchText: '<p class="no-exact-match-text">We couldn't find an exact match for your search, but these are similar:</p>', 2409 noSuggestedUnitsText: '<p class="no-exact-match-text">While we couldn't find results matching your search, here are some units you might like:</p>' 2410 }); 2411 2412 $('.ajax-unit-list').on('click', '.pagination a', function (e) { 2413 e.preventDefault(); 2414 2415 var pageNum = parseInt($(this).attr('data-page'), 10); 2416 if (!isNaN(pageNum)) { 2417 $('.ajax-unit-list').ajaxUnitList('update', {page: pageNum}); 2418 $("html, body").animate({ scrollTop: $('.ajax-unit-list').offset().top }, "fast"); 2419 } 2420 }); 2421 2422 if ($.fn.consolidatedUnitList) { 2423 $('.ajax-unit-list').consolidatedUnitList(); 2424 } 2425 }); 2426 </script>
2426 2427 <div class="hide"> 2428 <div id="change-zip-dialog"> 2429 <div> 2430 <a rel="colorbox-close"> <i class="fa fa-remove close"></i> </a> 2431 </div> 2432 2433 <form id="change-dialog-form"> 2434 <div class="h3">Location</div> 2435 <p>Enter your location to find RVs nearest you</p> 2436 <br /> 2437 <div id="modal-loc-tabs" class="location-type-wrapper"> 2438 <div class="btn-group" role="group" aria-label="Location Type"> 2439 <button type="button" id="zipCodeTab" class="btn btn-default active">Zip Code</button> 2440 <button type="button" id="useMyLocationTab" class="btn btn-default"> 2441 <i class="fa-solid fa-location-crosshairs icon"></i>My Location 2442 </button> 2443 </div> 2444 <label for="zip-textbox" class="sr-only">Zip Code</label> 2445 <input 2446 name="locationZip" 2447 id="zip-textbox" 2448 type="text" 2449 class="form-control location-zip" 2450 placeholder="Enter zip code" 2451 /> 2452 <div class="location-finder-error"> 2453 <small class="msg"></small> 2454 </div> 2455 </div> 2456 <button type="submit" id="locationDialogBtn" class="btn location-dialog-btn"> 2457 Submit 2458 </button> 2459 </form> 2460 </div> 2461 </div> 2462
2462<script type="text/javascript"> 2463 $(function() { 2464 // page size dropdown change event handler 2465 var autoChanging = false; 2466 $('.unit-list .page-sizes').change(function() { 2467 if (!autoChanging) { 2468 gtmAnalyticsEventTrack(this, 'Interactions', 'Clicked', 'Number Showing', '1', 'true'); 2469 if (true) { 2470 $('.ajax-unit-list').ajaxUnitList('update', {pagesize: this.value}); 2471 autoChanging = true; 2472 $('.unit-list .page-sizes').val(this.value); 2473 autoChanging = false; 2474 $("html, body").animate({ scrollTop: $('.ajax-unit-list').offset().top }, "fast"); 2475 } 2476 else { 2477 document.location = '/product/travel-trailer?page=1&pagesize=' + this.value; 2478 } 2479 } 2480 }); 2481 2482 // USE MY LOCATION related code 2483 async function toggleLocationTabs(clickedTab) { 2484 const locationTabs = document.querySelectorAll("#modal-loc-tabs.location-type-wrapper .btn-group .btn"); 2485 const zipInput = document.querySelector("#modal-loc-tabs .location-zip"); 2486 let useMyLocation = false; 2487 2488 toggleLocFinderErrMsg(false); 2489 if (clickedTab.classList.contains('active')) { return; } 2490 2491 locationTabs.forEach((tab) => { 2492 if (tab.classList.contains("active")) { 2493 tab.classList.remove("active"); 2494 } 2495 else { 2496 tab.classList.add("active"); 2497 if (tab.textContent.trim() === "My Location") { 2498 $.cookie('user_location_type', 'loc', { path: '/' }); 2499 zipInput.style.display = "none"; 2500 zipInput.value = ""; 2501 useMyLocation = true; 2502 } 2503 else { 2504 zipInput.style.display = "block"; 2505 $.cookie('user_location_type', 'zip', { path: '/' }); 2506 } 2507 } 2508 }); 2509 2510 if (useMyLocation) { 2511 try { 2512 await initUseGeolocation(); 2513 $('.distance-sort-option').text('Distance (Closest to my location)'); 2514 } catch(error) { 2515 console.log(error); 2516 } 2517 } 2518 } 2519 2520 function setGeolocationCookies(coords) { 2521 if (coords.length === 2) { 2522 $.cookie('user_lat', coords[0], { expires: 90, path: '/' }); 2523 $.cookie('user_lon', coords[1], { expires: 90, path: '/' }); 2524 } 2525 } 2526 2527 async function initUseGeolocation() { 2528 return new Promise((resolve, reject) => { 2529 if (navigator.geolocation) { 2530 function onSuccess(userPosition) { 2531 setGeolocationCookies([userPosition.coords.latitude, userPosition.coords.longitude]); 2532 resolve(); 2533 } 2534 2535 function onError(error) { 2536 let msg; 2537 switch(error.code) { 2538 case 1: msg = 'Geolocation access has been denied.'; break; 2539 default: msg = error.message; 2540 } 2541 toggleLocFinderErrMsg(true, msg); 2542 reject(msg); 2543 } 2544 2545 navigator.geolocation.getCurrentPosition(onSuccess, onError); 2546 } else { 2547 const msg = 'Geolocation is not supported by this browser.' 2548 toggleLocFinderErrMsg(true, msg); 2549 reject(msg); 2550 } 2551 }) 2552 } 2553 2554 function toggleLocFinderErrMsg(show, message = '') { 2555 const errorMsgWrapper = document.querySelector('#modal-loc-tabs .location-finder-error'); 2556 const errorMsg = errorMsgWrapper.querySelector('.msg'); 2557 errorMsg.textContent = message; 2558 show ? errorMsgWrapper.classList.add('show') : errorMsgWrapper.classList.remove('show'); 2559 } 2560 2561 // init location type tab cookie 2562 const locationTypeCookie = $.cookie('user_location_type'); 2563 const zipTab = document.getElementById("zipCodeTab"); 2564 const locationTab = document.getElementById("useMyLocationTab"); 2565 2566 if (zipTab && locationTab) { 2567 if (!locationTypeCookie) {
2568 $.cookie('user_location_type', 'zip', { path: '/' }); 2569 } else { 2570 if (locationTypeCookie === 'zip') { 2571 toggleLocationTabs(zipTab); 2572 } else { 2573 toggleLocationTabs(locationTab); 2574 } 2575 } 2576 } 2577 2578 // click handlers for location type tabs 2579 const locationTabs = document.querySelectorAll("#modal-loc-tabs.location-type-wrapper .btn-group .btn"); 2580 locationTabs.forEach((tab) => { 2581 tab.addEventListener("click", function() { toggleLocationTabs(this) }); 2582 }); 2583 2584 var showChangeZipDialog = function (successCallback, failedCallback) { 2585 const zipInput = document.querySelector('#modal-loc-tabs #zip-textbox'); 2586 const zipCodeTab = document.getElementById('zipCodeTab'); 2587 const useMyLocationTab = document.getElementById('useMyLocationTab'); 2588 var zip = null; 2589 2590 $('#locationDialogBtn').unbind('click'); 2591 $('#change-dialog-form').submit(async function (e) { 2592 e.preventDefault(); 2593 zip = zipInput.value; 2594 const useMyLocation = useMyLocationTab?.classList?.contains('active') ?? false; 2595 const haveCoords = $.cookie('user_lat') && $.cookie('user_lon'); 2596 if (useMyLocation) { 2597 try { 2598 await initUseGeolocation(); 2599 $('.distance-sort-option').text('Distance (Closest to my location)'); 2600 successCallback(); 2601 $.colorbox.close(); 2602 } catch(error) { 2603 console.log(error); 2604 return; 2605 } 2606 } else if (!zip) { 2607 toggleLocFinderErrMsg(true, "Please enter a zip code.") 2608 if (failedCallback) failedCallback(); 2609 } else { 2610 $.get('/rebraco/datanugget/getgeocoords?zip=' + zip, function (data) { 2611 var coords = (data || '').split(','); 2612 if (coords.length == 2) { 2613 $.cookie('user_zip', zip, { expires: 90, path: '/' }); 2614 $.cookie('user_lat', coords[0], { expires: 90, path: '/' }); 2615 $.cookie('user_lon', coords[1], { expires: 90, path: '/' }); 2616 $('.distance-sort-option').text('Distance (Closest to ' + zip + ')'); 2617 2618 if (successCallback) successCallback(); 2619 } 2620 else { 2621 if (failedCallback) failedCallback(); 2622 } 2623 $.colorbox.close(); 2624 }); 2625 } 2626 2627 2628 }); 2629 2630 $.colorbox({ href: '#change-zip-dialog', inline: true, rel: 'nofollow', height: 315, width: 400, onClosed: function () { 2631 zipInput.value = ''; 2632 toggleLocFinderErrMsg(false); 2633 } }); 2634 }; 2635 2636 $('.change-zip-link').on('click', function(e) { 2637 e.preventDefault(); 2638 showChangeZipDialog(function() { 2639 if (true) { 2640 $('.ajax-unit-list').ajaxUnitList('update', {}); 2641 $("html, body").animate({ scrollTop: $('.ajax-unit-list').offset().top }, "fast"); 2642 } 2643 else { 2644 document.location = '/product/travel-trailer?pagesize=24&sort='; 2645 } 2646 }); 2647 }); 2648 2649 // sorting dropdown event handlers 2650 (function(){ 2651 2652 var previous; 2653 2654 $('#sortOptions').on('focus', function() { 2655 previous = this.value; 2656 }).change(function() { 2657 gtmAnalyticsEventTrack(this, 'Interactions', 'Clicked', 'Sort Options', '1', 'true'); 2658 2659 var sortValue = this.value; 2660 2661 function refresh() { 2662 previous = sortValue; 2663 2664 if (true) { 2665 $('.ajax-unit-list').ajaxUnitList('update', {sort: sortValue}); 2666 $("html, body").animate({ scrollTop: $('.ajax-unit-list').offset().top }, "fast"); 2667 } 2668 else { 2669 document.location = '/product/travel-trailer?pagesize=24&sort=' + sortValue; 2670 } 2671 }; 2672 2673 if (sortValue.indexOf('distance-') === 0) { 2674 const shouldShowChangeZip = 'False' == 'False' || 'False' == 'True' && Boolean(!$('#lotsFilter').length); 2675 if (($.cookie('user_zip') || '') !== '' ) { 2676 refresh(); 2677 if (shouldShowChangeZip) $('.change-zip-link').removeClass('hide'); 2678 } 2679 else { 2680 var success = function() { 2681 refresh(); 2682 if (shouldShowChangeZip) $('.change-zip-link').removeClass('hide'); 2683 }; 2684 2685 var failed = function () { 2686 $('#sortOptions option[value="' + previous + '"]').prop('selected', true); 2687 }; 2688 2689 showChangeZipDialog(success, failed); 2690 } 2691 } 2692 else { 2693 refresh(); 2694 $('.change-zip-link').addClass('hide'); 2695 } 2696 }); 2697 })(); 2698 }); 2699 </script>
2699 2700
2700<script type="text/javascript"> 2701 $(function () { 2702 $('.unitContainer').on("click", 'button.compareButton', function (e) { 2703 var units = $("input.compare:checked").map(function () { return $(this).val(); }).get().join(','); 2704 irv.modal({ href: '/snippets/comparison?compare=' + units }); 2705 e.stopPropagation(); 2706 }); 2707 2708 $('.unitContainer').on('click', 'label.compareText, label.tool-favorite, [data-toggle="tooltip"]', function (e) { 2709 e.stopPropagation(); 2710 }); 2711 2712 $('.unitContainer').on("click", "input.compare", function (e) { 2713 e.stopPropagation(); 2714 }); 2715 2716 $('.unitContainer').on("change", "input.compare", function (e) { 2717 var checked = $("input.compare:checked"); 2718 2719 if (this.checked) { 2720 if (checked.length > 4) { 2721 e.preventDefault(); 2722 $(this).prop('checked', false); 2723 // long term, might want to do something else here 2724 alert('Only 2 to 4 items may be compared'); 2725 } 2726 else if (checked.length > 1) { 2727 checked.each(function () { 2728 $(this).closest('.compareContainer, .compare-container').find('label.compareText').addClass("hidden"); 2729 $(this).closest('.compareContainer, .compare-container').find('button.compareButton').removeClass("hidden"); 2730 $(this).closest('.compareContainer, .compare-container').addClass("compare-enabled"); 2731 }); 2732 } 2733 2734 if (checked.length <= 4) { 2735 $(this).closest('.compareContainer, .compare-container').addClass("selected"); 2736 } 2737 } 2738 else { 2739 $(this).closest('.compareContainer, .compare-container').removeClass("selected compare-enabled"); 2740 2741 $(this).closest('.compareContainer, .compare-container').find('label.compareText').removeClass("hidden"); 2742 $(this).closest('.compareContainer, .compare-container').find('button.compareButton').addClass("hidden"); 2743 2744 if (checked.length == 1) { 2745 checked.each(function () { 2746 $(this).closest('.compareContainer, .compare-container').find('label.compareText').removeClass("hidden"); 2747 $(this).closest('.compareContainer, .compare-container').find('button.compareButton').addClass("hidden"); 2748 $(this).closest('.compareContainer, .compare-container').removeClass("compare-enabled"); 2749 }); 2750 } 2751 } 2752 2753 e.stopPropagation(); 2754 }); 2755 2756 $("input.compare:checked").each(function () { 2757 $(this).closest('.compareContainer, .compare-container').find('label.compareText').addClass("hidden"); 2758 $(this).closest('.compareContainer, .compare-container').find('button.compareButton').removeClass("hidden"); 2759 $(this).closest('.compareContainer, .compare-container').addClass("selected compare-enabled"); 2760 }); 2761 2762 // show popover on favorites button when a favorite checkbox is clicked for the first time 2763 $('.unitContainer').on("click", "input.favorite", function (e) { 2764 if ($.cookie('irv_fav_popover_seen') !== 'true') { 2765 $('.btn-toolbar-favorites').popover({ 2766 placement: 'bottom', 2767 content: 'You can find all of the units you\'re interested in here.', 2768 }).popover('show'); 2769 2770 $.cookie('irv_fav_popover_seen', 'true', { expires: 30, path: '/' }); 2771 } 2772 }); 2773 2774 // close and destroy the favorites popup if a click happens anyw
2774here 2775 $('body').on('click', function () { 2776 $('.btn-toolbar-favorites').popover('destroy'); 2777 }); 2778 2779 var equalizeGridRowHeights = function (units) { 2780 var titleHeights = units.map(function (i, x) { return $(x).find('.unit-title.hidden-list-mode').height(); }).get(); 2781 var maxTitleHeight = Math.max.apply(null, titleHeights); 2782 units.each(function () { $(this).find('.unit-title.hidden-list-mode').height(maxTitleHeight); }); 2783 2784 var bodyHeights = units.map(function (i, x) { return $(x).find('.unit-body').height(); }).get(); 2785 var maxBodyHeight = Math.max.apply(null, bodyHeights); 2786 units.each(function () { $(this).find('.unit-body').height(maxBodyHeight); }); 2787 2788 var toolsHeights = units.map(function (i, x) { return $(x).find('.unit-tools.hidden-list-mode').height(); }).get(); 2789 var maxToolsHeight = Math.max.apply(null, toolsHeights); 2790 units.each(function () { $(this).find('.unit-tools.hidden-list-mode').height(maxToolsHeight); }); 2791 }; 2792 2793 var removeGridRowHeights = function (units) { 2794 units.each(function () { $(this).find('.unit-title.hidden-list-mode, .unit-body, .unit-tools.hidden-list-mode').css('height', ''); }); 2795 }; 2796 2797 var equalizeSectionGridRowHeights = function ($section) { 2798 var units = $section.find('.unit'); 2799 if (units.length < 1) 2800 return; 2801 2802 var horzUnitCount = 1; 2803 var previousTopOffset = $(units.first()).offset().top; 2804 for (var i = 1; i < units.length; i++) { 2805 if ($(units[i]).offset().top !== previousTopOffset) 2806 break; 2807 2808 previousTopOffset = $(units[i]).offset().top; 2809 horzUnitCount++; 2810 } 2811 2812 if (horzUnitCount <= 1) { 2813 removeGridRowHeights(units); 2814 return; 2815 } 2816 2817 var rowCount = Math.ceil(units.length / horzUnitCount); 2818 for (var i = 0; i < rowCount; i++) { 2819 var rowUnits = units.slice(i * horzUnitCount, i * horzUnitCount + horzUnitCount); 2820 equalizeGridRowHeights(rowUnits); 2821 } 2822 }; 2823 2824 $('ol.unitList, ol.sa-unit-list').each(function () { 2825 equalizeSectionGridRowHeights($(this)); 2826 }); 2827 2828 var displayModeChanged = function () { 2829 setTimeout(function () { 2830 $('ol.unitList, ol.sa-unit-list').each(function () { 2831 equalizeSectionGridRowHeights($(this)); 2832 }); 2833 }, 200); 2834 }; 2835 2836 $('.unit-list').on('grid-mode-activated', displayModeChanged); 2837 $('.unit-list').on('list-mode-activated', displayModeChanged); 2838 $('.unit-list').on('recalculate-grid-row-heights', function () { 2839 $('.unit-title.hidden-list-mode, .unit-body, .unit-tools.hidden-list-mode').css('height', ''); 2840 displayModeChanged(); 2841 }); 2842 2843 $('.unitContainer .unit').each(function () { 2844 var $this = $(this); 2845 $this.find('[data-toggle="tooltip"]').tooltip(); 2846 }); 2847 2848 $('.ajax-unit-list').on('unit-loaded', function (e, $unit) { 2849 equalizeSectionGridRowHeights($unit.closest('ol.unitList, ol.sa-unit-list')); 2850 $unit.find('[data-toggle="tooltip"]').tooltip(); 2851 $unit.find('.cycle-slideshow').cycle(); 2852 }); 2853 2854 $(window).resize($.debounce(function () { 2855 $('ol.unitList, ol.sa-unit-list').each(function () { 2856 equalizeSectionGridRowHeights($(this)); 2857 }); 2858 }, 500)); 2859 2860 // script for the "Go to Type" link in the gray bar at the top 2861 (function () { 2862 var popupOpen = false;
2863 $('.jump-to-label').click(function (e) { 2864 if (!popupOpen) { 2865 $('.jump-to-link-popup').removeClass("hidden"); 2866 popupOpen = true; 2867 e.stopPropagation(); 2868 } 2869 }); 2870 $("body").on("click", function (e) { 2871 if (popupOpen && !$(e.target).is('.jump-to-link-popup') && !$(e.target).closest('.jump-to-link-popup').length) { 2872 $('.jump-to-link-popup').addClass("hidden"); 2873 popupOpen = false; 2874 } 2875 }); 2876 })(); 2877 2878 // hide mobile filter link if filtered search isn't on the page 2879 if ($('#facetedSearch').length < 1) { 2880 $('.mobile-filter-link').addClass('hide'); 2881 } 2882 2883 // hide/show change location link based on location finder conditions 2884 const lotsFilter = document.getElementById('lotsFilter'); 2885 const changeZipLink = document.getElementById('changeZipLink'); 2886 if (changeZipLink && 'False' == 'True' && !lotsFilter) { 2887 changeZipLink.classList.remove('hide'); 2888 } 2889 }); 2890 </script>
2890 2891 </div> 2892 <!-- GAP marketing variables --> 2893
2893<script> 2894 window.GAPRVType = "Travel Trailer,Toy Hauler Travel Trailer" 2895 </script>
2895 2896 2897 2898 <div class="bottomPageContent"> 2899 2900 </div> 2901 2902<div class="disclaimer"> 2903 2904 2905<p class="disclaimer-main"> 2906 2907 H & L RVs is not responsible for any misprints, typos, or errors found in our website pages. Any price listed excludes sales tax, registration tags, and delivery fees. Manufacturer pictures, specifications, and features may be used in place of actual units on our lot. Please contact us @813-340-4936 for availability as our inventory changes rapidly. All calculated payments are an estimate only and do not constitute a commitment that financing or a specific interest rate or term is available. 2908 </p> 2909 2910 2911</div> 2912 2913<!-- GAP marketing variables -->
2914<script> 2915 window.GAPPageType = "Listing"; 2916</script>
2916 2917 2918 </section> 2919 <aside id="sideBar" class=" 2920col-md-3 col-md-pull-9 2921 2922 2923 2924"> 2925 2926 2927 2928 2929 2930 2931 2932<div role="form" id="faceted-search" class="SearchPanel "> 2933 <div class="fs-modal-toolbar visible-xs visible-sm"> 2934 <div class="pull-left"> 2935 <a href="#" class="fs-clear-filters">Clear Filters</a> 2936 </div> 2937 <div class="pull-right"> 2938 <button class="fs-done btn btn-primary">Done</button> 2939 </div> 2940 <div class="clearfix"></div> 2941 </div> 2942 <label class="sort-by-label visible-xs visible-sm">Sort By</label> 2943 <div class="mobile-sort-options-wrapper"></div> 2944 <label class="mobile-filters-label visible-xs visible-sm">Filters</label> 2945 <div class="clear-filters-toolbar" style="display:none;"> 2946 <label class="clear-filters-label">Your Search</label> 2947 <div class="pull-right"><a href="javascript:void(0)" class="btn-clear-all">Clear All</a></div> 2948 <div class="selected-filters-wrapper"></div> 2949 <div class="clearfix"></div> 2950 </div> 2951 <div class="save-search-toolbar well well-sm hidden"> 2952 <button type="button" class="btn btn-primary save-search-btn">Save Search</button> 2953 </div> 2954 2955 2956 2957 <div class="panel-group" id="facetedSearch"> 2958<div class="panel panel-default" data-min-checkbox-count="2"><div class="panel-heading"><h4 class="panel-title"><button type="button"> Manufacturer <i class="pull-right fa fa-plus"></i> </button></h4></div><div id="manufacturerFilter" class="panel-collapse collapse" style="height: auto;"><div class="panel-body"><div class="form-group SearchRow manufacturerWrapper"><div class="CheckBoxList manufacturer" data-field-name="manufacturer"><div class="checkbox"><label><input type="checkbox" name="manufacturer" value="coachmen rv" /> Coachmen RV <span class="count-wrapper">(<span class="count">1</span>)</span></label></div> 2959<div class="checkbox"><label><input type="checkbox" name="manufacturer" value="forest river rv" /> Forest River RV <span class="count-wrapper">(<span class="count">1</span>)</span></label></div> 2960<div class="checkbox"><label><input type="checkbox" name="manufacturer" value="heartland" /> Heartland <span class="count-wrapper">(<span class="count">1</span>)</span></label></div> 2961<div class="checkbox"><label><input type="checkbox" name="manufacturer" value="keystone rv" /> Keystone RV <span class="count-wrapper">(<span class="count">1</span>)</span></label></div> 2962<div class="checkbox"><label><input type="checkbox" name="manufacturer" value="palomino" /> Palomino <span class="count-wrapper">(<span class="count">1</span>)</span></label></div></div></div></div></div></div><div class="panel panel-default" data-min-checkbox-count="2"><div class="panel-heading"><h4 class="panel-title"><button type="button"> Brands <i class="pull-right fa fa-plus"></i> </button></h4></div><div id="brandFilter" class="panel-collapse collapse" style="height: auto;"><div class="panel-body"><div class="form-group SearchRow brandWrapper"><div class="CheckBoxList brand" data-field-name="brand"><div class="checkbox"><label><input type="checkbox" name="brand" value="heartland" /> Heartland <span class="count-wrapper">(<span class="count">1</span>)</span></label></div> 2963<div class="checkbox"><label><input type="checkbox" name="brand" value="puma" /> Puma <span class="count-wrapper">(<span class="count">1</span>)</span></label></div> 2964<div class="checkbox"><label><input type="checkbox" name="brand" value="spirit ultra lite" /> Spirit Ultra Lite <span class="count-wrapper">(<span class="count">1</span>)</span></label></div> 2965<div class="checkbox"><label><input type="checkbox" name="brand" value="sunset" /> Sunset <span class="count-wrapper">(<span class="count">1</span>)</span></label></div> 2966<div class="checkbox"><label><input type="checkbox" name="brand" value="wildwood" /> Wildwood <span class="count-wrapper">(<span class="count">1</span>)</span></label></div></div></div></div></div></div><div class="panel panel-default" data-min-checkbox-count="1"><div class="panel-heading"><h4 class="panel-title"><button type="button"> Features <i class="pull-right fa fa-plus"></i> </button></h4></div><div id="Features-prop-4Filter" class="panel-collapse collapse" style="height: auto;"><div class="panel-body"><div class="form-group SearchRow Features-prop-4Wrapper"><div class="CheckBoxList Features-prop-4" data-field-name="Features-prop-4"><div class="checkbox"><label><input type="checkbox" name="Features-prop-4" value="17" /> Bunkhouse <span class="count-wrapper">(<span class="count">2</span>)</span></label></div> 2967<div class="checkbox"><label><input type="checkbox" name="Features-prop-4" value="11" /> Front Bedroom <span class="count-wrapper">(<span class="count">4</span>)</span></label></div> 2968<div class="checkbox"><label><input type="checkbox" name="Features-prop-4" value="69" /> Front Cargo Deck <span class="count-wrapper">(<span class="count">1</span>)</span></label></div> 2969<div class="checkbox"><label><input type="checkbox" name="Features-prop-4" value="4" /> Front Kitchen <span class="count-wrapper">(<span class="count">1</span>)</span></label></div> 2970<div class="checkbox"><label><input type="checkbox" name="Features-prop-4" value="58" /> Outdoor Kitchen <span class="count-wrapper">(<span class="count">2</span>)</span></label></div> 2971<div class="checkbox"><label><input type="checkbox" name="Features-prop-4" value="20" /> Rear Bath <span class="count-wrapper">(<span class="count">2</span>)</span></label></div> 2972<div class="checkbox"><label><input type="checkbox" name="Features-prop-4" value="8" /> Rear Bedroom <span class="count-wrapper">(<span class="count">1</span>)</span></label></div> 2973<div class="checkbox"><label><input type="checkbox" name="Features-prop-4" value="6" /> Rear Kitchen <span class="count-wrapper">(<span class="count">1</span>)</span></label></div> 2974<div class="checkbox"><label><input type="checkbox" name="Features-prop-4" value="25" /> Two Entry/Exit Doors <span class="count-wrapper">(<span class="count">2</span>)</span></label></div></div></div></div></div></div><div class="panel panel-default" data-min-checkbox-count="2"><div class="panel-heading"><h4 class="panel-title"><button type="button"> Weight <i class="pull-right fa fa-plus"></i> </button></h4></div><div id="Dry_Weight-prop-17Filter" class="panel-collapse collapse" style="height: auto;"><div class="panel-body"><div class="form-group SearchRow Dry_Weight-prop-17Wrapper"><div class="CheckBoxList Dry_Weight-prop-17" data-field-name="Dry_Weight-prop-17"><div class="checkbox"><label><input type="checkbox" name="Dry_Weight-prop-17" value="3500|5500" /> 3500 to 5500 lbs <span class="count-wrapper">(<span class="count">1</span>)</span></label></div> 2975<div class="checkbox"><label><input type="checkbox" name="Dry_Weight-prop-17" value="5500|8500" /> 5500 to 8500 lbs <span class="count-wrapper">(<span class="count">4</span>)</span></label></div></div></div></div></div></div><div class="panel panel-default" data-min-checkbox-count="2"><div class="panel-heading"><h4 class="panel-title"><button type="button"> Sleeps <i class="pull-right fa fa-plus"></i> </button></h4></div><div id="Sleeps-prop-5Filter" class="panel-collapse collapse" style="height: auto;"><div class="panel-body"><div class="form-group SearchRow Sleeps-prop-5Wrapper"><div class="CheckBoxList Sleeps-prop-5" data-field-name="Sleeps-prop-5"><div class="checkbox"><label><input type="checkbox" name="Sleeps-prop-5" value="2|4" /> 2 to 4 <span class="count-wrapper">(<span class="count">2</span>)</span></label></div> 2976<div class="checkbox"><label><input type="checkbox" name="Sleeps-prop-5" value="4|6" /> 4 to 6 <span class="count-wrapper">(<span class="count">2</span>)</span></label></div> 2977<div class="checkbox"><label><input type="checkbox" name="Sleeps-prop-5" value="6|8" /> 6 to 8 <span class="count-wrapper">(<span class="count">2</span>)</span></label></div> 2978<div class="checkbox"><label><input type="checkbox" name="Sleeps-prop-5" value="9|99" /> 9 and up <span class="count-wrapper">(<span class="count">1</span>)</span></label></div></div></div></div></div></div><div class="panel panel-default" data-min-checkbox-count="2"><div class="panel-heading"><h4 class="panel-title"><button type="button"> Year <i class="pull-right fa fa-plus"></i> </button></h4></div><div id="yearFilter" class="panel-collapse collapse" style="height: auto;"><div class="panel-body"><div class="form-group SearchRow yearWrapper"><div class="CheckBoxList year" data-field-name="year"><div class="checkbox"><label><input type="checkbox" name="year" value="2023" /> 2023 <span class="count-wrapper">(<span class="count">2</span>)</span></label></div> 2979<div class="checkbox"><label><input type="checkbox" name="year" value="2022" /> 2022 <span class="count-wrapper">(<span class="count">2</span>)</span></label></div> 2980<div class="checkbox"><label><input type="checkbox" name="year" value="2021" /> 2021 <span class="count-wrapper">(<span class="count">1</span>)</span></label></div></div></div></div></div></div> </div> 2981 2982 <div class="form-group SearchRow StockNumberWrapper"> 2983 <label for="filteredSearchStockNumber" class="sr-only">Stock # or Model</label> 2984 <input 2985 name="stockNumber" 2986 id="filteredSearchStockNumber" 2987 type="text" 2988 class="form-control SearchStockNumber" 2989 placeholder="Stock # or Model" 2990 /> 2991 </div> 2992 2993 <button type="submit" name="SearchButton" class="btn btn-primary SearchButton"> 2994 Search 2995 </button> 2996 2997 <div class="clearBoth"></div> 2998 2999</div> 3000
3001<script type="text/javascript"> 3002 3003 document.addEventListener("DOMContentLoaded", () => { 3004 /////////// Location Finder //////////// 3005 3006 function changeQueryParam(entries) { 3007 const url = new URL(window.location.href); 3008 entries.forEach((entry) => { 3009 const [key, value] = entry; 3010 value !== null ? url.searchParams.set(key, value) : url.searchParams.delete(key); 3011 }); 3012 window.History.pushState({ noUpdate: true }, document.title, url.toString()); 3013 } 3014 3015 function resetLocationFinder() { 3016 const rangeInput = document.getElementById('distanceRange'); 3017 if (rangeInput) rangeInput.value = 'any'; 3018 changeQueryParam([['zip', null], ['distance', null]]); 3019 } 3020 3021 function setZipCookie(zip) { 3022 if (zip) { 3023 $.cookie('user_zip', zip, { expires: 90, path: '/' }); 3024 } else { 3025 $.cookie('user_zip', null); 3026 } 3027 } 3028 3029 function setGeolocationCookies(coords) { 3030 if (coords.length === 2) { 3031 $.cookie('user_lat', coords[0], { expires: 90, path: '/' }); 3032 $.cookie('user_lon', coords[1], { expires: 90, path: '/' }); 3033 } 3034 } 3035 3036 function toggleLocFinderErrMsg(show, message = '') { 3037 const errorMsgWrapper = document.querySelector('#filter-loc-finder .location-finder-error'); 3038 const errorMsg = errorMsgWrapper?.querySelector('.msg') ?? null; 3039 3040 if (errorMsgWrapper) { 3041 errorMsg.textContent = message; 3042 show ? errorMsgWrapper.classList.add('show') : errorMsgWrapper.classList.remove('show'); 3043 } 3044 } 3045 3046 async function useLocationFinder(userZip = '', range) { 3047 let geoCoords = !$.cookie('user_lat') || !$.cookie('user_lon') ? null : [$.cookie('user_lat'), $.cookie('user_lon')]; 3048 const useMyLocation = document.querySelector(".use-my-location-btn")?.classList.contains('active') ?? false; 3049 async function getGeoCoords(zip) { 3050 const data = await $.get('/rebraco/datanugget/getgeocoords?zip=' + zip); 3051 const coords = (data || '').split(','); 3052 return coords.length === 2 ? coords : null; 3053 } 3054 3055 function getDistanceToLocation(userCoords, locCoords) { 3056 if (!userCoords || !locCoords) return null; 3057 3058 function degToRadians(value) { 3059 return value * Math.PI / 180; 3060 } 3061 3062 const [userLat, userLong] = userCoords; 3063 const [locLat, locLong] = locCoords; 3064 const R = 3956; // mi 3065 const dLat = degToRadians(locLat-userLat); 3066 const dLon = degToRadians(locLong-userLong); 3067 const lat1 = degToRadians(userLat); 3068 const lat2 = degToRadians(locLat); 3069 const a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(lat1) * Math.cos(lat2); 3070 const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 3071 const distance = R * c; 3072 3073 return Math.floor(distance); 3074 } 3075 3076 function selectLocationsInRange(range) { 3077 toggleLocFinderErrMsg(false); 3078 3079 // iterate over location inputs and handle necessary updates 3080 const locationInputs = document.querySelectorAll('#lotsFilter .CheckBoxList input'); 3081 let locFound = false; 3082 let changedInput = null; 3083 3084 locationInputs.forEach((input) => { 3085 const inputWasChecked = input.checked; 3086 if (range === 'any') { 3087 input.checked = false; 3088 if (inputWasChecked) { 3089 locFound = true; 3090 changedInput = input; 3091 } 3092 } else if (!geoCoords) { 3093 input.checked = false; 3094 if (inputWasChecked) { 3095 changedInput = input; 3096 } 3097 } else { 3098 const locDistance = getDistanceToLocation(geoCoords, [input.dataset.lat, input.dataset.long]); 3099 if (locDistance <= Number(range)) { 3100 input.checked = true; 3101 locFound = true; 3102 changedInput = input; 3103 } else { 3104 input.checked = false; 3105 if (inputWasChecked) { 3106 changedInput = input; 3107 } 3108 } 3109 } 3110 }); 3111 3112 // if an input changed, trigger an eval of the inputs to get new results 3113 const sortSelect = document.getElementById("sortOptions"); 3114 if (changedInput) { 3115 getResultsFromInputChange(changedInput); 3116 } else if (sortSelect?.value === "distance-asc") { 3117 $('.ajax-unit-list').ajaxUnitList('update', false); 3118 } 3119
3120 // trigger a location finder error message if no locs found 3121 const msg = 'No locations found for given zipcode/range.' 3122 locFound || range === 'any' ? toggleLocFinderErrMsg(false) : toggleLocFinderErrMsg(true, msg); 3123 } 3124 3125 // validate inputs, set cookies and query params 3126 if (!range) { 3127 toggleLocFinderErrMsg(true, 'Please enter a radius.'); 3128 return; 3129 } 3130 3131 if (useMyLocation) { 3132 try { 3133 await initUseGeolocation(); 3134 changeQueryParam([['zip', null], ['distance', range]]); 3135 $('.distance-sort-option').text('Distance (Closest to my location)'); 3136 } catch(error) { 3137 console.log(error); 3138 return; 3139 } 3140 } else if (userZip) { 3141 changeQueryParam([['zip', userZip], ['distance', range]]); 3142 setZipCookie(userZip); 3143 geoCoords = await getGeoCoords(userZip); 3144 setGeolocationCookies(geoCoords); 3145 $('.distance-sort-option').text(`Distance (Closest to ${userZip})`); 3146 } else { 3147 toggleLocFinderErrMsg(true, 'Please enter a zipcode.'); 3148 return; 3149 } 3150 selectLocationsInRange(range); 3151 } 3152 3153 async function initUseGeolocation() { 3154 return new Promise((resolve, reject) => { 3155 if (navigator.geolocation) { 3156 function onSuccess(userPosition) { 3157 changeQueryParam([['zip', null]]); 3158 //setZipCookie(null); 3159 setGeolocationCookies([userPosition.coords.latitude, userPosition.coords.longitude]); 3160 const sortSelect = document.getElementById("sortOptions"); 3161 if (sortSelect?.value === "distance-asc") { 3162 $('.ajax-unit-list').ajaxUnitList('update', false); 3163 } 3164 resolve(); 3165 } 3166 3167 function onError(error) { 3168 let msg; 3169 switch(error.code) { 3170 case 1: msg = 'Geolocation access has been denied.'; break; 3171 default: msg = error.message; 3172 } 3173 toggleLocFinderErrMsg(true, msg); 3174 reject(msg); 3175 } 3176 3177 navigator.geolocation.getCurrentPosition(onSuccess, onError); 3178 } else { 3179 const msg = 'Geolocation is not supported by this browser.' 3180 toggleLocFinderErrMsg(true, msg); 3181 reject(msg); 3182 } 3183 }) 3184 } 3185 3186 async function toggleLocationTabs(clickedTab) { 3187 const locationTabs = document.querySelectorAll("#filter-loc-tabs.location-type-wrapper .btn-group .btn"); 3188 const zipInput = document.querySelector("#filter-loc-tabs .location-zip"); 3189 let useMyLocation = false; 3190 3191 toggleLocFinderErrMsg(false); 3192 if (clickedTab.classList.contains('active')) return; 3193 3194 locationTabs.forEach((tab) => { 3195 if (tab.classList.contains("active")) { 3196 tab.classList.remove("active"); 3197 } 3198 else { 3199 tab.classList.add("active"); 3200 if (tab.classList.contains("use-my-location-btn")) { 3201 $.cookie('user_location_type', 'loc', { path: '/' }); 3202 zipInput.style.display = "none"; 3203 zipInput.value = ""; 3204 useMyLocation = true; 3205 } 3206 else { 3207 zipInput.style.display = "block"; 3208 $.cookie('user_location_type', 'zip', { path: '/' }); 3209 } 3210 } 3211 }); 3212 3213 if (useMyLocation) { 3214 try { 3215 await initUseGeolocation(); 3216 $('.distance-sort-option').text('Distance (Closest to my location)'); 3217 } catch(error) { 3218 console.log(error); 3219 } 3220 } 3221 } 3222 3223 const distanceSearchBtn = document.getElementById('distanceSearchBtn'); 3224 const lotsFilter = document.getElementById('lotsFilter'); 3225 const locationFinder = document.getElementById('filter-loc-finder'); 3226 if (distanceSearchBtn && lotsFilter) { 3227 locationFinder.classList.remove('hide'); 3228 // init location type tab cookie 3229 const locationTypeCookie = $.cookie('user_location_type'); 3230 const zipTab = document.querySelector(".use-zip-btn"); 3231 const locationTab = document.querySelector(".use-my-location-btn"); 3232 if (!locationTypeCookie) { 3233 $.cookie('user_location_type', 'zip', { path: '/' }); 3234 } else { 3235 if (locationTypeCookie === 'zip') { 3236 toggleLocationTabs(zipTab); 3237 } else { 3238 toggleLocationTabs(locationTab); 3239 } 3240 } 3241 3242 const zipInput = document.getElementById('locationZip'); 3243 const distanceInput = document.getElementById('distanceRange');
3244 const originalZip = document.getElementById('originalLocationZip'); 3245 3246 // set zip input value to zip cookie value 3247 zipInput.value = $.cookie('user_zip') ?? ''; 3248 originalZip.value = $.cookie('user_zip') ?? ''; 3249 3250 // location finder submit handlers 3251 distanceSearchBtn.addEventListener('click', async function() { 3252 await useLocationFinder(zipInput.value ?? '', distanceInput.value); 3253 window.EventBoss.trigger('shop_by_distance_click'); 3254 }); 3255 3256 zipInput.addEventListener('keydown', (e) => { 3257 if (e.key === 'Enter') { 3258 e.preventDefault(); 3259 useLocationFinder(zipInput.value ?? '', distanceInput.value); 3260 } 3261 }); 3262 3263 distanceInput.addEventListener('change', function () { 3264 window.EventBoss.trigger('shop_by_distance_interaction'); 3265 }); 3266 3267 // location type tab event handlers 3268 const locationTabs = document.querySelectorAll("#filter-loc-tabs.location-type-wrapper .btn-group .btn"); 3269 locationTabs.forEach((tab) => { 3270 tab.addEventListener("click", function() { 3271 toggleLocationTabs(this); 3272 }); 3273 }); 3274 } 3275 3276 ///////////// End Location Finder //////////////////////// 3277 3278 var isListingPage = $('.ajax-unit-list').length > 0; 3279 3280 // TODO later: This is temporary, until we have a better way to remove the "Go to Type" dropdown when faceted search is on a page 3281 $('.listing-jump-to-links').remove(); 3282 3283 // multi value columns are the ones where one unit can have more than one value (e.g. features) 3284 var multiValueColumns = {"Features-prop-4": { separator: "|", filterMode: "and"},"Dry_Weight-prop-17": { separator: ",", filterMode: "or"},"Sleeps-prop-5": { separator: ",", filterMode: "or"},"price": { separator: ",", filterMode: "or"},"monthly_payment": { separator: ",", filterMode: "or"}}; 3285 var searchCombos = [{"lots": "1832","condition": "0","types": "29","manufacturer": "keystone rv","brand": "sunset","Features-prop-4": "|4|8|25|","Dry_Weight-prop-17": "5500|8500","Sleeps-prop-5": "4|6,6|8","price": "15000|30000","monthly_payment": "","year": "2022",count: "1"}, 3286{"lots": "1832","condition": "0","types": "29","manufacturer": "heartland","brand": "heartland","Features-prop-4": "|11|69|20|","Dry_Weight-prop-17": "3500|5500","Sleeps-prop-5": "2|4","price": "15000|30000","monthly_payment": "","year": "2022",count: "1"}, 3287{"lots": "1832","condition": "0","types": "29","manufacturer": "palomino","brand": "puma","Features-prop-4": "|11|58|6|","Dry_Weight-prop-17": "5500|8500","Sleeps-prop-5": "2|4,4|6","price": "15000|30000","monthly_payment": "","year": "2023",count: "1"}, 3288{"lots": "1832","condition": "0","types": "29","manufacturer": "coachmen rv","brand": "spirit ultra lite","Features-prop-4": "|17|11|58|","Dry_Weight-prop-17": "5500|8500","Sleeps-prop-5": "6|8","price": "15000|30000","monthly_payment": "","year": "2021",count: "1"}, 3289{"lots": "1832","condition": "0","types": "29","manufacturer": "forest river rv","brand": "wildwood","Features-prop-4": "|17|11|20|25|","Dry_Weight-prop-17": "5500|8500","Sleeps-prop-5": "9|99","price": "15000|30000","monthly_payment": "","year": "2023",count: "1"}, 3290]; 3291 var noResultsMode = false; 3292 3293 // Helper function to refresh the clear filters section at the top of the filtered search. 3294 var updateClearFiltersSection = function(){ 3295 $('.selected-filters-wrapper').empty(); 3296 var searchResultsHtml = ''; 3297 for (var prop in searchCombos[0]) { 3298 if (prop === 'count') continue; 3299 3300 var checkBoxWrapper = $('#faceted-search [data-field-name="' + prop + '"]'); 3301 var currentVals = $.map(($('.ajax-unit-list').ajaxUnitList('getCurrentOpt', prop) || '').split(','), function(x) { return x.toLowerCase(); }); 3302 3303 if (checkBoxWrapper.find('input[type=checkbox]:checked').length && checkBoxWrapper.find('div.checkbox:not(.hide)').length) { 3304 var section = checkBoxWrapper[0]; 3305 3306 searchResultsHtml += '<div class="well '+$(checkBoxWrapper[0]).attr('data-field-name')+'">'; 3307 searchResultsHtml += '<div class="search-results-label"><a href="javascript:void(0)" onClick="$(\'#faceted-search\').trigger(\'clearSection\', [\'.' + $(checkBoxWrapper[0]).attr('data-field-name') + '\'])" class="clear-section" >' + $(checkBoxWrapper[0]).closest('.panel').find('.panel-title button').text() + '<i class="fa fa-times-circle pull-right"></i></a></div>';
3308 searchResultsHtml += '<ul class="icons-ul">'; 3309 $.each(currentVals, function(i, val) { 3310 var currentCheckbox = $(checkBoxWrapper[0]).find(' :checkbox[value="' + val + '"]'); 3311 3312 // don't add to the clear filters section if the current checkbox is hidden in the filters section (even if it is checked) 3313 if (currentCheckbox.parents('div.checkbox').hasClass('hide')) { 3314 return true; 3315 } 3316 3317 var selection = (currentCheckbox.parent('label').html() || '').split(/<span[^>]*>/gi); 3318 selection = selection[0]; 3319 if (selection === '') 3320 return true; 3321 selection = selection.split(/<input[^>]*>/gi); 3322 selection = selection[1]; 3323 3324 3325 var valStripped = val.replace(/\W/g, ''); 3326 searchResultsHtml += '<li class="clear-selection ' + valStripped + '"><a href="javascript:void(0);" onClick="$(\'#faceted-search\').trigger(\'clearSelection\', [\'.' + $(checkBoxWrapper[0]).attr('data-field-name') + '\',\'' + val + '\'])" ><i class="fa fa-times"></i>' + selection + '</a></li>'; 3327 }); 3328 searchResultsHtml += '</ul>'; 3329 searchResultsHtml += '</div>'; 3330 } 3331 } 3332 3333 // add stock number to selected filters if set 3334 var stockNumEl = $('#faceted-search').find('.SearchStockNumber'); 3335 if (stockNumEl.length > 0 && stockNumEl.val() !== null && stockNumEl.val() !== '') { 3336 searchResultsHtml += '<div class="well stockNumber">'; 3337 searchResultsHtml += '<div class="search-results-label"><a href="javascript:void(0)" onClick="$(\'#faceted-search\').trigger(\'clearSection\', [\'.stockNumber\'])" class="clear-section" >Stock Number<i class="fa fa-times-circle pull-right"></i></a></div>'; 3338 searchResultsHtml += '<ul class="icons-ul">'; 3339 searchResultsHtml += '<li class="clear-selection"><a href="javascript:void(0);" onClick="$(\'#faceted-search\').trigger(\'clearSection\', [\'.stockNumber\'])" ><i class="fa fa-times"></i>' + $('<div/>').text(stockNumEl.val()).html() + '</a></li>'; // html encode stock num val 3340 searchResultsHtml += '</ul>'; 3341 searchResultsHtml += '</div>'; 3342 } 3343 3344 $('.selected-filters-wrapper').append(searchResultsHtml); 3345 3346 // show/hide clear filters toolbar at the top 3347 if ($('.selected-filters-wrapper').html() !== '') { 3348 $('.clear-filters-toolbar').fadeIn(200); 3349 } 3350 else { 3351 $('.clear-filters-toolbar').fadeOut(200); 3352 } 3353 }; 3354 3355 // Helper function to be called when the counts shown next to each checkbox and the visibility of checkboxes/sections needs to be updated 3356 var updateCounts = function() { 3357 // Tow Rating addition 3358 // over ride control if a tow rating cookie exists 3359 // applies to FilteredSearch and UnitList.cshtml 3360 if (window.location.pathname == '/tow-guide-search') { 3361 window.Interact.TowRating.checkCookie(); 3362 // console.log('tow rating cookie check fired'); 3363 } 3364 3365 if (!searchCombos || !searchCombos.length) return; 3366 3367 var currentSearchCounts = { 3368 normal: searchCombos 3369 }; 3370 3371 for (var prop in searchCombos[0]) { 3372 if (prop === 'count') continue; 3373 3374 var checkBoxWrapper = $('#faceted-search [data-field-name="' + prop + '"]'); 3375 var normalCounts = currentSearchCounts['normal']; 3376 3377 var currentVals = $.map(($('.ajax-unit-list').ajaxUnitList('getCurrentOpt', prop) || '').split(','), function(x) { return x.toLowerCase(); }); 3378 if (currentVals[0] !== '') { 3379 for (var countGroupName in currentSearchCounts) { 3380 currentSearchCounts[countGroupName] = $.grep(currentSearchCounts[countGroupName], function(x, i) { 3381 if (multiValueColumns[prop] !== undefined) { 3382 var parts = $.map(x[prop].split(multiValueColumns[prop].separator), function (x) { return x.toLowerCase(); }); 3383 if (multiValueColumns[prop].filterMode === 'and') { 3384 for (var i = 0; i < currentVals.length; i++) { 3385 if (currentVals[i] === '') continue; 3386 if (parts.indexOf(currentVals[i]) === -1) { 3387 return false; 3388 } 3389 } 3390 return true; 3391 } 3392 else { 3393 for (var i = 0; i < currentVals.length; i++) { 3394 if (currentVals[i] === '') continue; 3395 if (parts.indexOf(currentVals[i]) !== -1) { 3396 return true; 3397 } 3398 } 3399 return false; 3400 } 3401 } 3402 else { 3403 return currentVals.indexOf(x[prop].toLowerCase()) !== -1; 3404 } 3405 });
3406 } 3407 } 3408 3409 if (checkBoxWrapper.find('input[type=checkbox]:checked').length) { 3410 currentSearchCounts[prop] = normalCounts; 3411 } 3412 } 3413 3414 for (var prop in searchCombos[0]) { 3415 if (prop === 'count') continue; 3416 3417 var checkBoxWrapper = $('#faceted-search [data-field-name="' + prop + '"]'); 3418 var sectionCheckboxes = checkBoxWrapper.find('input[type=checkbox]'); 3419 3420 // get list of all checked checkbox values in the same section - this is for multivalue columns in 'and' mode 3421 var checkedValues = sectionCheckboxes.filter(":checked").map(function(i, x) { return $(x).val(); }); 3422 3423 sectionCheckboxes.each(function() { 3424 var checkboxVal = $(this).val(); 3425 3426 var countRows = $.grep(currentSearchCounts[prop] || currentSearchCounts['normal'], function(x, i) { 3427 if (multiValueColumns[prop] !== undefined) { 3428 var currVals = $.map( 3429 $.grep( 3430 x[prop].split(multiValueColumns[prop].separator), 3431 function(z) { 3432 return z !== ''; 3433 } 3434 ), 3435 function(x) { 3436 return x.toLowerCase(); 3437 } 3438 ); 3439 3440 if (multiValueColumns[prop].filterMode === 'and') { 3441 if (currVals.indexOf(checkboxVal.toLowerCase()) === -1) return false; 3442 for (var i = 0; i < checkedValues.length; i++) { 3443 if (currVals.indexOf(checkedValues[i].toLowerCase()) === -1) return false; 3444 } 3445 return true; 3446 } 3447 else { 3448 return currVals.indexOf(checkboxVal.toLowerCase()) !== -1; 3449 } 3450 } 3451 else { 3452 return x[prop].toLowerCase() === checkboxVal.toLowerCase(); 3453 } 3454 }); 3455 3456 var sum = 0; 3457 $.each(countRows, (function() { 3458 sum += parseInt(this.count, 10); 3459 })); 3460 3461 var groupWrapper = $(this).closest('.CheckBoxList'); 3462 var panel = $(this).closest('.panel'); 3463 if (sum === 0) { 3464 $(this).parents('div.checkbox').addClass('hide'); 3465 3466 // check to see if all checkboxes in the group are hidden, and if so, hide the wrapper panel also 3467 if (groupWrapper.find('div.checkbox:not(.hide)').length < 1) { 3468 panel.addClass('hide'); 3469 } 3470 } 3471 else { 3472 $(this).parent().find('.count').text(sum); 3473 $(this).parents('div.checkbox').removeClass('hide'); 3474 panel.removeClass('hide'); 3475 } 3476 }); 3477 } 3478 3479 // hide filter containers where there is only one visible checkbox 3480 $('#facetedSearch .panel').filter(":not(.hide)").each(function() { 3481 var minCheckboxCount = $(this).data('minCheckboxCount') || 2; 3482 if ($(this).find('div.checkbox:not(.hide) input[type=checkbox]').length < minCheckboxCount) { 3483 $(this).addClass('hide'); 3484 } 3485 }); 3486 // setup clear filters section 3487 updateClearFiltersSection(); 3488 }; 3489 3490 var submitToSearchPage = function(clearCheckboxFilters) { 3491 var tmpSearchInputs = $('#faceted-search').find(':input'); 3492 if (clearCheckboxFilters) { 3493 tmpSearchInputs = tmpSearchInputs.filter(':not(input[type=checkbox])'); 3494 } 3495 3496 var tmpSearchValues = tmpSearchInputs.serializeArray(); 3497 3498 // comma delimit search values with the same name 3499 var searchValMap = {}; 3500 for (var i = 0; i < tmpSearchValues.length; i++) { 3501 var fieldName = tmpSearchValues[i].name.toLowerCase(); 3502 if (searchValMap[fieldName] !== undefined && searchValMap[fieldName] !== '') { 3503 searchValMap[fieldName] += "," + tmpSearchValues[i].value; 3504 } 3505 else { 3506 searchValMap[fieldName] = tmpSearchValues[i].value; 3507 } 3508 } 3509 var searchValues = []; 3510 for (var param in searchValMap) { 3511 searchValues.push({name: param, value: searchValMap[param]}); 3512 } 3513 3514 var targetPage = '/product/travel-trailer'; 3515 var qMark = window.location.href.indexOf('?'); 3516 var currentPage = qMark > -1 ? window.location.href.substring(0, qMark) : window.location.href; 3517 currentPage = '/' + currentPage.replace(/^(?:\/\/|[^\/]+)*\//, ""); 3518 var qsValues = getUrlVars();
3519 if (currentPage === targetPage && qsValues !== undefined && qsValues !== null) { 3520 qsValues.length = 0; // remove the array elements - this is because getUrlVars adds each parameter name using .push(), and it also adds them as properties of the object. we only want the properties 3521 delete qsValues['page']; 3522 delete qsValues['s']; 3523 3524 // remove qs params that are part of the search form - this is particularly important for checkboxes, which would not be included 3525 // in the searchValues collection if unchecked 3526 for (var param in qsValues) { 3527 if ($('#faceted-search :input').filter(function() { return ($(this).attr('name') || '').toLowerCase() === param; }).length) { 3528 delete qsValues[param]; 3529 } 3530 } 3531 3532 // add/update qs params from search values 3533 for (var i = 0; i < searchValues.length; i++) { 3534 if (searchValues[i].value !== '') { 3535 qsValues[searchValues[i].name] = searchValues[i].value; 3536 } 3537 } 3538 3539 var qsArray = []; 3540 for (var param in qsValues) { 3541 qsArray.push({name: param, value: qsValues[param]}); 3542 } 3543 var qs = $.param(qsArray); 3544 window.location = "/product/travel-trailer?s=true" + (qs !== "" ? "&" + qs : ""); 3545 } 3546 else { 3547 var qs = $.param($.grep(searchValues, function(x) { return x.value !== ''; })); 3548 window.location = "/product/travel-trailer?s=true" + (qs !== "" ? "&" + qs : ""); 3549 } 3550 }; 3551 3552 var initializeSearchFields = function(data) { 3553 if (data["brand"] !== undefined) { 3554 data["brand"] = data["brand"].toLowerCase().trim(); 3555 } 3556 if (data["manufacturer"] !== undefined) { 3557 data["manufacturer"] = data["manufacturer"].toLowerCase().trim(); 3558 } 3559 $('#faceted-search :checkbox, #faceted-search :radio').removeAttr("checked"); 3560 3561 if (data["zip"] !== undefined) { 3562 const zipInput = document.getElementById("locationZip"); 3563 if (zipInput) { 3564 zipInput.value = data["zip"]; 3565 } 3566 } 3567 if (data["distance"] !== undefined) { 3568 const distanceInput = document.getElementById("distanceRange"); 3569 if (distanceInput) { 3570 distanceInput.value = data["distance"]; 3571 } 3572 } 3573 3574 for (var key in data) { 3575 if (data[key] === undefined || !isNaN(key)) { 3576 return; 3577 } 3578 3579 var mVals = data[key].indexOf(',') !== -1 ? mVals = data[key].split(',') : null; 3580 $('#faceted-search [name]').filter(function() { 3581 return ($(this).attr('name') || '').toLowerCase() === key.toLowerCase(); 3582 }).each(function(index, el){ 3583 if ($(el).is(":checkbox") || $(el).is(":radio")) { 3584 if (mVals != null) { 3585 if ($.inArray($(el).val(), mVals) !== -1) { 3586 $(el).attr("checked", "checked"); 3587 $(el).addClass("value-modified"); 3588 } 3589 } 3590 else if ($(el).val() === data[key]) { 3591 $(el).attr("checked", "checked"); 3592 $(el).addClass("value-modified"); 3593 } 3594 } 3595 else { 3596 $(el).val(data[key]); 3597 if (data[key] != '' && $(el).val() === data[key]) { 3598 $(el).addClass("value-modified"); 3599 } 3600 } 3601 }); 3602 } 3603 3604 // clear the stock number textbox if the stocknumber query string parameter isn't present. 3605 // this is needed b/c when the browser back button is clicked back to a point where the 3606 // stock number filter isn't set, even though the stocknumber query string parameter is 3607 // cleared, some browsers keep the input field filled 3608 if (data['stocknumber'] === undefined) { 3609 var stockNumEl = $('#faceted-search').find('.SearchStockNumber'); 3610 stockNumEl.val(''); 3611 } 3612 3613 updateCounts(); 3614 }; 3615 3616 var scrollToListTop = function () { 3617 // only scroll to list top if the scroll position is currently below the top of the list 3618 if ($("html, body").scrollTop() > $('.ajax-unit-list').offset().top) { 3619 $("html, body").animate({ scrollTop: $('.pageContent').offset().top + $('.pageContent').height() }, "fast"); 3620 } 3621 }; 3622 3623 function getResultsFromInputChange(input) { 3624 var stockNumEl = $('#faceted-search').find('.SearchStockNumber'); 3625 if (noResultsMode === false && isListingPage) { 3626 const inputGroupName = $(input).attr("name"); 3627 const checkboxesInGroup = $('#faceted-search').find(':input[name="' + inputGroupName + '"]'); 3628 3629 // if the only checked checkboxes in this group are hidden, uncheck them 3630 const allCheckedHidden = 3631 checkboxesInGroup 3632 .filter(":checked") 3633 .filter(function() { return $(this).parents("div.checkbox:not(.hide)").length > 0}) 3634 .length < 1;
3635 if (allCheckedHidden) { 3636 checkboxesInGroup.prop('checked', false); 3637 } 3638 3639 const newValue = checkboxesInGroup 3640 .filter(":checked") 3641 .map(function(i, v) { return $(this).val() }) 3642 .toArray() 3643 .join(","); 3644 const updateData = { s: "true" }; 3645 updateData[inputGroupName] = newValue; 3646 $('.ajax-unit-list').ajaxUnitList('update', updateData); 3647 scrollToListTop(); 3648 updateCounts(); 3649 } 3650 else { 3651 stockNumEl.val(''); 3652 submitToSearchPage(); 3653 } 3654 } 3655 3656 function clearCheckboxInputSection(sectionClass) { 3657 const targetInputs = $('#faceted-search').find(sectionClass).find('input[type=checkbox]:checked'); 3658 targetInputs.each(function() { 3659 this.checked = false; 3660 }); 3661 const updateData = { s: "true" }; 3662 updateData[targetInputs[0].name] = null; 3663 $('.ajax-unit-list').ajaxUnitList('update', updateData); 3664 } 3665 3666 // setup event handlers 3667 $("#faceted-search #facetedSearch input[type=checkbox]").change(function() { 3668 getResultsFromInputChange(this); 3669 resetLocationFinder(); 3670 }); 3671 3672 $('#faceted-search').find('.SearchButton').click(function(e) { 3673 e.preventDefault(); 3674 var stockNumEl = $('#faceted-search').find('.SearchStockNumber'); 3675 if (isListingPage && !stockNumEl.hasClass('value-modified')) { 3676 var stockNum = stockNumEl.val(); 3677 var updateData = { s: "true" }; 3678 updateData['stockNumber'] = stockNum; 3679 $('.ajax-unit-list').ajaxUnitList('update', updateData); 3680 scrollToListTop(); 3681 updateCounts(); 3682 } 3683 else { 3684 gtmAnalyticsEventTrack($(this), 'Interactions', 'StockFilteredSearch', stockNumEl.val(), '1'); 3685 submitToSearchPage(true); 3686 } 3687 return false; 3688 }); 3689 3690 var searchFieldChanged = function() { 3691 $(this).addClass("value-modified"); 3692 }; 3693 3694 $('#faceted-search input, #faceted-search select').change(searchFieldChanged); 3695 $('#faceted-search input[type="text"]').keyup(searchFieldChanged); 3696 $('#faceted-search').on('submitToSearchPage', submitToSearchPage); 3697 $('#faceted-search').on('clearFilters', function() { 3698 if ($('input[name=zip]').val() || $('input[name=stockNumber]').val()) { 3699 window.location = "/product/travel-trailer?s=true"; 3700 } 3701 $('.clear-filters-toolbar').hide(); 3702 $('#faceted-search').find('input[type=text]').val(''); 3703 $('#faceted-search').find('input[type=checkbox]').prop('checked', false); 3704 $('.ajax-unit-list').ajaxUnitList('clearFilters'); 3705 scrollToListTop(); 3706 updateCounts(); 3707 }); 3708 3709 $('#faceted-search').on('clearSection', function(e, section) { 3710 if (section === '.stockNumber') { 3711 var stockNumEl = $('#faceted-search').find('.SearchStockNumber'); 3712 stockNumEl.val(''); 3713 submitToSearchPage(); 3714 } 3715 else { 3716 clearCheckboxInputSection(section); 3717 scrollToListTop(); 3718 updateCounts(); 3719 } 3720 }); 3721 3722 $('#faceted-search').on('clearSelection', function(e, section, selection) { 3723 $('#faceted-search').find(section).find(' :checkbox[value="' + selection + '"]').prop('checked', false).trigger('change'); 3724 scrollToListTop(); 3725 updateCounts(); 3726 }); 3727 3728 $('.ajax-unit-list').on('ajaxUnitList.historychange', function(e, data) { 3729 if (data != null) { 3730 initializeSearchFields(data); 3731 } 3732 }); 3733 3734 $('a.btn-clear-all').click(function(e) { 3735 e.preventDefault(); 3736 $('#faceted-search').trigger('clearFilters'); 3737 }); 3738 3739 // setup on initial load 3740 function init(doExpand) { 3741 if (isListingPage) { 3742 var data = $('.ajax-unit-list').ajaxUnitList('getCurrentOpts'); 3743 if (data != null) { 3744 initializeSearchFields(data); 3745 } 3746 3747 if (doExpand) { 3748 $("#facetedSearch .panel-collapse").each(function () { 3749 var $this = $(this); 3750 if ($this.find(":checked").length) { 3751 $this.addClass("in"); 3752 $this.closest(".panel").find(".panel-heading i").removeClass("fa fa-plus").addClass("fa fa-minus"); 3753 } 3754 }); 3755 } 3756 } 3757 } 3758 init(true); 3759 3760 $("#facetedSearch .panel-heading button").click(function() { 3761 var $this = $(this); 3762 var $target = $this.closest(".panel").find(".panel-collapse"); 3763 if ($target.hasClass("in")) { 3764 $target.collapse("hide"); 3765 $this.find("i").removeClass("fa fa-minus").addClass("fa fa-plus"); 3766 } 3767 else { 3768 $target.collapse("show"); 3769 $this.find("i").removeClass("fa fa-plus").addClass("fa fa-minus"); 3770 } 3771 }); 3772 3773 ///////////////////////// 3774 // Saved Searches 3775 ///////////////////////// 3776 if ($('div.user-profile-wrapper').data('user-authenticated')) { 3777 $('.save-search-toolbar').removeClass('hidden'); 3778 } 3779 3780 const savedSearchPostUrl = '/rebraco/contactsavedsearch/save'; 3781 var savedSearchId = 0; 3782 var savedSearchName = null; 3783
3784 var urlParams = getUrlVars(); 3785 if (urlParams) { 3786 savedSearchId = urlParams["savedSearchId"] || 0; 3787 if (savedSearchId) { 3788 savedSearchName = urlParams["savedSearchName"]; 3789 $('.save-search-btn').text('Update Saved Search'); 3790 } 3791 } 3792 3793 $('.save-search-btn').click(function () { 3794 if (!savedSearchName) { 3795 savedSearchName = prompt("Enter a name for this saved search:"); 3796 } 3797 3798 var postData = { 3799 contactSavedSearchId: savedSearchId, 3800 name: savedSearchName, 3801 url: location.href 3802 }; 3803 3804 $.ajax(savedSearchPostUrl, { 3805 data: JSON.stringify(postData), 3806 type: 'POST', 3807 contentType: 'application/json', 3808 success: function (response) { 3809 if (response.success) { 3810 savedSearchId = response.contactSavedSearchId; 3811 $('.save-search-btn').text('Update Saved Search'); 3812 alert("Saved successfully"); 3813 } 3814 else { 3815 if (!savedSearchId) { 3816 savedSearchName = null; 3817 } 3818 alert("Save failed"); 3819 } 3820 }, 3821 error: function () { 3822 if (!savedSearchId) { 3823 savedSearchName = null; 3824 } 3825 alert("Save failed"); 3826 } 3827 }); 3828 }); 3829 3830 ///////////////////////// 3831 // Mobile Filtered Search 3832 ///////////////////////// 3833 3834 $('.mobile-filter-link').click(function(e){ 3835 e.preventDefault(); 3836 $('body').addClass('modal-open'); 3837 $('#faceted-search').addClass('fs-modal'); 3838 }); 3839 3840 $('.fs-done').click(function(e){ 3841 e.preventDefault(); 3842 $('body').removeClass('modal-open'); 3843 $('#faceted-search').removeClass('fs-modal'); 3844 }); 3845 3846 $('.fs-clear-filters').click(function(e){ 3847 e.preventDefault(); 3848 $('#faceted-search').trigger('clearFilters'); 3849 }); 3850 3851 var waitForFinalEvent = (function () { 3852 var timers = {}; 3853 return function (callback, ms, uniqueId) { 3854 if (!uniqueId) { 3855 uniqueId = "Don't call this twice without a uniqueId"; 3856 } 3857 if (timers[uniqueId]) { 3858 clearTimeout(timers[uniqueId]); 3859 } 3860 timers[uniqueId] = setTimeout(callback, ms); 3861 }; 3862 })(); 3863 3864 var $mobileSortOptions = $('#faceted-search .mobile-sort-options-wrapper'); 3865 var $desktopSortOptions = $('.listingToolbar .sort-options-wrapper'); 3866 var $sortOptions = $('#sortOptions'); 3867 var $changeZipLink = $('#changeZipLink'); 3868 function filteredSearchResponsiveStuff(initialLoad) { 3869 if ($(window).width() <= 991) { 3870 if ($mobileSortOptions.find('#sortOptions').length < 1) { 3871 $mobileSortOptions.append($sortOptions); 3872 $mobileSortOptions.append($changeZipLink); 3873 } 3874 3875 // collapse search panels on mobile, except for those with checked checkboxes 3876 if (initialLoad) { 3877 $("#facetedSearch .panel-collapse").each(function() { 3878 var $this = $(this); 3879 if ($this.find(":checked").length < 1) { 3880 $this.addClass('collapse').removeClass('in'); 3881 $this.closest(".panel").find(".panel-heading i").removeClass("fa fa-minus").addClass("fa fa-plus"); 3882 } 3883 }); 3884 } 3885 } else { 3886 if ($desktopSortOptions.find('#sortOptions').length < 1) { 3887 $desktopSortOptions.append($sortOptions); 3888 $mobileSortOptions.remove($changeZipLink); 3889 } 3890 } 3891 }; 3892 filteredSearchResponsiveStuff(true); 3893 3894 $(window).resize(function () { 3895 waitForFinalEvent(function () { 3896 filteredSearchResponsiveStuff(false); 3897 }, 500, "filteredSearchResize"); 3898 }); 3899 3900 // exports 3901 window.Interact = window.Interact || {}; 3902 window.Interact.FilteredSearch = { 3903 init: init 3904 }; 3905 }); 3906</script>
3906 3907<div class="aside-btn-tow-guides"><a href="/rental-application"><svg class="aside-btn-tow-guides-icon" width="82" height="58" viewbox="0 0 84 60" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M59.951 59.4907C55.3184 59.4907 50.7898 58.117 46.9379 55.5432C43.086 52.9694 40.0838 49.3112 38.3109 45.0312C36.5381 40.7512 36.0742 36.0416 36.978 31.498C37.8818 26.9544 40.1126 22.7808 43.3884 19.505C46.6642 16.2292 50.8378 13.9984 55.3814 13.0946C59.9251 12.1908 64.6347 12.6547 68.9147 14.4275C73.1947 16.2004 76.8529 19.2025 79.4266 23.0545C82.0004 26.9064 83.3741 31.435 83.3741 36.0676C83.3741 42.2798 80.9063 48.2376 76.5137 52.6302C72.121 57.0229 66.1632 59.4907 59.951 59.4907ZM59.951 16.9945C56.1674 16.9912 52.4678 18.1104 49.3204 20.2104C46.1731 22.3104 43.7194 25.2969 42.2699 28.7919C40.8205 32.2869 40.4403 36.1334 41.1777 39.8445C41.915 43.5556 43.7367 46.9646 46.4121 49.64C49.0876 52.3154 52.4965 54.1371 56.2077 54.8744C59.9188 55.6118 63.7652 55.2317 67.2602 53.7822C70.7552 52.3327 73.7417 49.8791 75.8417 46.7317C77.9417 43.5843 79.0609 39.8847 79.0576 36.1011C79.0487 31.0364 77.0329 26.1817 73.4516 22.6005C69.8704 19.0192 65.0157 17.0034 59.951 16.9945Z" fill="#000" stroke="#000"></path> <path d="M57.4247 44.7343L48.2061 35.5156L51.2343 32.5041L57.4247 38.7112L68.651 27.4849L71.6793 30.4964L57.4247 44.7343Z" fill="#000" stroke="#000"></path> <path d="M42.9859 51.0083H4.80628L4.2207 49.8036C3.91955 49.1846 -2.99026 34.6288 4.40474 24.2223L5.04051 23.3188H41.5638V27.5852H7.29916C3.30051 34.3612 6.27858 43.4962 7.55012 46.7419H42.9859V51.0083Z" fill="#000" stroke="#000"></path> <path d="M13.8912 41.0033C15.8501 41.0033 17.4381 39.4153 17.4381 37.4563C17.4381 35.4974 15.8501 33.9094 13.8912 33.9094C11.9323 33.9094 10.3442 35.4974 10.3442 37.4563C10.3442 39.4153 11.9323 41.0033 13.8912 41.0033Z" fill="#000" stroke="#000"></path> <path d="M12.8871 47.2103H5.59247C4.72389 47.2103 4.01978 47.9144 4.01978 48.783V54.689C4.01978 55.5576 4.72389 56.2617 5.59247 56.2617H12.8871C13.7557 56.2617 14.4598 55.5576 14.4598 54.689V48.783C14.4598 47.9144 13.7557 47.2103 12.8871 47.2103Z" fill="#000" stroke="#000"></path> <path d="M36.6448 34.9969H24.5987C23.7486 34.9969 23.0594 35.6861 23.0594 36.5362V39.4641C23.0594 40.3142 23.7486 41.0033 24.5987 41.0033H36.6448C37.4949 41.0033 38.1841 40.3142 38.1841 39.4641V36.5362C38.1841 35.6861 37.4949 34.9969 36.6448 34.9969Z" fill="#000" stroke="#000"></path> <path d="M42.8018 27.5852H13.2385C12.4541 27.5852 11.6774 27.4307 10.9528 27.1305C10.2281 26.8304 9.56968 26.3904 9.01504 25.8358C8.46041 25.2811 8.02045 24.6227 7.72028 23.898C7.42012 23.1734 7.26562 22.3967 7.26562 21.6123V9.56615C7.26562 7.29427 8.16813 5.11543 9.77459 3.50897C11.3811 1.9025 13.5599 1 15.8318 1H46.6331C48.9037 1.00442 51.0799 1.90834 52.6854 3.51385C54.2909 5.11936 55.1949 7.29563 55.1993 9.56615V17.5467L53.7437 18.0319C49.3965 19.5384 45.7339 22.5541 43.4208 26.5311L42.8018 27.5852ZM15.8318 5.26634C14.6914 5.26634 13.5977 5.71936 12.7914 6.52573C11.985 7.3321 11.532 8.42577 11.532 9.56615V21.6123C11.532 22.056 11.7082 22.4816 12.022 22.7953C12.3358 23.1091 12.7613 23.2854 13.205 23.2854H40.3925C42.953 19.3772 46.6237 16.3241 50.9329 14.5185V9.49923C50.9285 8.36021 50.4741 7.26909 49.6687 6.46367C48.8633 5.65826 47.7721 5.20383 46.6331 5.19942L15.8318 5.26634Z" fill="#000" stroke="#000"></path> </svg><span class="aside-btn-tow-guides-title">Tow Guides</span><span class="aside-btn-tow-guides-subtitle">How much can I tow?</span></a></div> 3908 </aside> 3909 </div> 3910</div> 3911 3912 3913<footer id="site-footer"> 3914<div class="footer-body"> 3915<div class="container"> 3916<div class="row"> 3917<div class="col-sm-12 col-md-3 col-xl-2 col-xl-offset-1 footer-quicklinks"> 3918<h4><svg width="15" height="24" viewbox="0 0 15 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M14.1562 15.4219H9.1875L11.8125 21.7969C11.9062 22.0156 11.9062 22.2344 11.8125 22.4531C11.7188 22.6719 11.5625 22.8281 11.3438 22.9219L9.04688 23.9531C8.82812 24.0156 8.60938 24 8.39062 23.9062C8.20312 23.8438 8.0625 23.7031 7.96875 23.4844L5.48438 17.4375L1.40625 21.6094C1.15625 21.8906 0.859375 21.9531 0.515625 21.7969C0.171875 21.6406 0 21.375 0 21V0.84375C0 0.46875 0.171875 0.21875 0.515625 0.09375C0.890625 -0.0625 1.1875 -0.015625 1.40625 0.234375L14.7656 13.9688C15.0156 14.2188 15.0625 14.5312 14.9062 14.9062C14.7812 15.25 14.5312 15.4219 14.1562 15.4219Z" fill="#FFF"></path> </svg> Quick Links</h4> 3919<ul> 3920<li><a href="https://www.handlrvs.com/rv-search">All Inventory</a></li> 3921<li><a href="https://www.handlrvs.com/rv-service">Service & Repair</a></li> 3922<li><a href="/rv-rentals">Rentals</a></li> 3923<li><a href="/rv-financing">Financing</a></li> 3924<li><a href="/contact-us">Contact Us</a></li> 3925<li><a href="https://www.handlrvs.com/blog/" title="Blog" target="_blank" rel="noopener">Blog</a></li> 3926</ul> 3927</div> 3928<div class="col-sm-12 col-md-3 footer-social"> 3929<h4><svg width="25" height="24" viewbox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M15.375 8.67188C16.75 10.0781 17.4375 11.7656 17.4375 13.7344C17.4375 15.7031 16.75 17.375 15.375 18.75L12.1875 21.9375C10.8125 23.3125 9.14062 24 7.17188 24C5.20312 24 3.51562 23.2969 2.10938 21.8906C0.734375 20.5156 0.046875 18.8438 0.046875 16.875C0.046875 14.9062 0.734375 13.2344 2.10938 11.8594L3.89062 10.0781C4.10938 9.85938 4.35938 9.8125 4.64062 9.9375C4.95312 10.0625 5.125 10.2812 5.15625 10.5938C5.1875 11.4375 5.34375 12.2656 5.625 13.0781C5.71875 13.3594 5.65625 13.6094 5.4375 13.8281L4.82812 14.4844C4.17188 15.1406 3.82812 15.9375 3.79688 16.875C3.79688 17.7812 4.125 18.5625 4.78125 19.2188C5.4375 19.9062 6.23438 20.25 7.17188 20.25C8.10938 20.25 8.90625 19.9219 9.5625 19.2656L12.7031 16.125C13.3594 15.4688 13.6875 14.6719 13.6875 13.7344C13.6875 12.7969 13.3594 12 12.7031 11.3438C12.5469 11.187
39295 12.3906 11.0469 12.2344 10.9219C12.0156 10.7969 11.9062 10.6094 11.9062 10.3594C11.875 9.79688 12.0469 9.32812 12.4219 8.95312L13.4531 7.96875C13.7344 7.65625 14.0469 7.625 14.3906 7.875C14.7344 8.125 15.0625 8.39062 15.375 8.67188ZM16.9219 0C18.8906 0 20.5625 0.703125 21.9375 2.10938C23.3438 3.48437 24.0469 5.15625 24.0469 7.125C24.0469 9.09375 23.3594 10.7656 21.9844 12.1406L20.2031 13.9219C19.9844 14.1406 19.7188 14.1875 19.4062 14.0625C19.125 13.9375 18.9688 13.7188 18.9375 13.4062C18.9062 12.5625 18.75 11.7344 18.4688 10.9219C18.375 10.6406 18.4375 10.3906 18.6562 10.1719L19.2656 9.51562C19.9219 8.85938 20.25 8.07812 20.25 7.17188C20.2812 6.23438 19.9688 5.4375 19.3125 4.78125C18.6562 4.09375 17.8594 3.75 16.9219 3.75C15.9844 3.75 15.1875 4.07812 14.5312 4.73438L11.3906 7.875C10.7344 8.53125 10.4062 9.32812 10.4062 10.2656C10.4062 11.2031 10.7344 12 11.3906 12.6562C11.5469 12.8125 11.7031 12.9531 11.8594 13.0781C12.0781 13.2031 12.1875 13.3906 12.1875 13.6406C12.2188 14.2031 12.0469 14.6719 11.6719 15.0469L10.6406 16.0312C10.3594 16.3438 10.0469 16.375 9.70312 16.125C9.35938 15.875 9.03125 15.6094 8.71875 15.3281C7.34375 13.9219 6.65625 12.2344 6.65625 10.2656C6.65625 8.29688 7.34375 6.625 8.71875 5.25L11.9062 2.0625C13.2812 0.6875 14.9531 0 16.9219 0Z" fill="#FFF"></path> </svg> Connect With Us</h4> 3930<p>4511 James L Redman Parkway<br>Plant City, FL 33567</p> 3931<p><a href="https://maps.app.goo.gl/uZdFmHF3B4Cg9GLe8" target="_blank" rel="noopener">Get Directions »</a></p> 3932<p><a href="/contact-us">Contact Us »</a></p> 3933 3934 3935<ul class="social-icons"> 3936<li><a target="_blank" href="https://www.facebook.com/H-L-RVs-115551263178807/" rel="noopener"><i class="fa-brands fa-facebook" aria-hidden="true"></i><span>facebook</span></a></li> 3937</ul> 3938</div> 3939<div class="col-sm-12 col-md-3 footer-hours"> 3940<h4><svg width="24" height="24" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M3.75 3.79688C6.03125 1.51562 8.78125 0.375 12 0.375C15.2188 0.375 17.9531 1.51562 20.2031 3.79688C22.4844 6.04688 23.625 8.78125 23.625 12C23.625 15.2188 22.4844 17.9688 20.2031 20.25C17.9531 22.5 15.2188 23.625 12 23.625C8.78125 23.625 6.03125 22.5 3.75 20.25C1.5 17.9688 0.375 15.2188 0.375 12C0.375 8.78125 1.5 6.04688 3.75 3.79688ZM14.6719 16.7812C14.9844 17 15.25 16.9688 15.4688 16.6875L16.7812 14.8594C17 14.5469 16.9688 14.2812 16.6875 14.0625L13.6875 11.9062V5.4375C13.6875 5.0625 13.5 4.875 13.125 4.875H10.875C10.5 4.875 10.3125 5.0625 10.3125 5.4375V13.3125C10.3125 13.5 10.3906 13.6562 10.5469 13.7812L14.6719 16.7812Z" fill="#FFF"></path> </svg> Our Hours</h4> 3941<div class="operating-hours"> 3942<p><strong>Monday-Friday: </strong>9am-5pm<br /><strong>Saturday: </strong>10am-4pm<br /><strong>Sunday: </strong>By Appt.</p> 3943</div> 3944</div> 3945<div class="col-sm-12 col-md-3 footer-location"> 3946<h4><svg fill="#000000" width="24px" height="24px" viewbox="-1 0 19 19" xmlns="http://www.w3.org/2000/svg" class="cf-icon-svg"><path d="M16.417 9.579A7.917 7.917 0 1 1 8.5 1.662a7.917 7.917 0 0 1 7.917 7.917zM4.63 8.182l2.45-2.449-.966-.966a.794.794 0 0 0-1.12 0l-1.329 1.33a.794.794 0 0 0 0 1.12zm8.23 5.961c.13 0 .206-.1.173-.247l-.573-2.542a1.289 1.289 0 0 0-.292-.532l-4.53-4.53-.634.636 4.529 4.529.252-.252a.793.793 0 0 1 .147.268l.253 1.124-.69.69-1.125-.252a.799.799 0 0 1-.268-.148l.871-.87-4.53-4.53L5.19 8.742l4.53 4.528a1.294 1.294 0 0 0 .533.293l2.542.573a.3.3 0 0 0 .066.008z"></path></svg> Share Your Feedback</h4> 3947<img src="https://assets-cdn.interactcp.com/handlrvs/images/download.png?modified=0820202511223514" data-assetid="56482822" alt="Review Barcode"></div> 3948</div> 3949</div> 3950</div> 3951 3952 3953<div class="footer-bottom"> 3954<div class="container"> 3955 3956 3957<ul> 3958<li>Copyright © 2026 H & L RVs<span>â¢</span></li> 3959<li>Powered by <a href="https://www.interactrv.com" target="_blank" rel="noopener nofollow"><img src="https://assets-cdn.interactcp.com/interactrv/images/logos/irv-logo-color-1.svg" alt="Interact RV" /></a> <span>â¢</span></li> 3960<li><a href="/terms-of-use">Terms of Use</a><span>â¢</span></li> 3961<li><a href="/privacy-policy">Privacy Policy</a></li> 3962</ul> 3963</div> 3964</div> 3965</footer> 3966 3967 3968 3969 3970 3971 3972 3973
3973<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/jquery.unveil.js"></script>
vendor: 1 bytes, line 3973
3973
3974<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/form-tweaker.js"></script>
vendor: 1 bytes, line 3974
3974
3975<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/eventboss-bundle.js"></script>
vendor: 1 bytes, line 3975
3975
3976<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/tealium.js"></script>
vendor: 1 bytes, line 3976
3976
3977<script type="text/javascript" src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
vendor: 1 bytes, line 3977
3977
3978<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/jquery.colorbox.1.4.3-min.js"></script>
vendor: 1 bytes, line 3978
3978
3979<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/jquery.cycle2.min.js"></script>
vendor: 1 bytes, line 3979
3979
3980<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/lazyload.js"></script>
vendor: 1 bytes, line 3980
3980
3981<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/jquery.cookie.js"></script>
vendor: 1 bytes, line 3981
3981
3982<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/jquery.hoverintent.js"></script>
vendor: 1 bytes, line 3982
3982
3983<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/jquery.defaultvalue.min.js"></script>
vendor: 1 bytes, line 3983
3983
3984<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/jquery.validate.min.js"></script>
vendor: 1 bytes, line 3984
3984
3985<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/jquery.validate.unobtrusive.min.js"></script>
vendor: 1 bytes, line 3985
3985
3986<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/date.format.js"></script>
vendor: 1 bytes, line 3986
3986
3987<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/form-persistence.js"></script>
vendor: 1 bytes, line 3987
3987
3988<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/bootstrap-datepicker.js"></script>
vendor: 1 bytes, line 3988
3988
3989<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/bootstrap-modal-lock.js"></script>
vendor: 1 bytes, line 3989
3989
3990<script type="text/javascript" src="https://assets.interactcp.com/interactrv/js/common_netcore/bootstrap-tab.js"></script>
vendor: 1 bytes, line 3990
3990
3991<script type="text/javascript" src="https://assets.interactcp.com/interactrv/js/common_netcore/bootstrap-tabcollapse.js"></script>
vendor: 1 bytes, line 3991
3991
3992<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/irvfavorites.js"></script>
vendor: 1 bytes, line 3992
3992
3993<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/irvform.js"></script>
vendor: 1 bytes, line 3993
3993
3994<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/irvmodal.js"></script>
vendor: 1 bytes, line 3994
3994
3995<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/colorbox-helper.js"></script>
vendor: 1 bytes, line 3995
3995
3996<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/comparison.js"></script>
vendor: 1 bytes, line 3996
3996
3997<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/jquery.history.js"></script>
vendor: 1 bytes, line 3997
3997
3998<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/ajaxunitlist.js"></script>
vendor: 1 bytes, line 3998
3998
3999<script type="text/javascript" src="https://assets-cdn.interactcp.com/interactrv/js/common_netcore/jquery.typeahead.min.js"></script>
3999 4000 4001 4002<!-- IRV Keyword Search in Header -->
4003<script> 4004 $('.keyword-search').attr('placeholder', 'Search Inventory').attr('id', 'keywordSearch'); 4005 $('.keyword-search').before('<label for="keywordSearch" style="display: none; color: #fff;">Search bar</label>'); 4006 $('.typeahead__button button').prepend('<span style="display: none;">Submit</span>'); 4007 function move_keywordsearch() { 4008 if ($(window).width() <= 991) { 4009 $('.irv-keyword-search-in-header').insertBefore($('#topSearchFormMobile')); 4010 } 4011 }; 4012 move_keywordsearch(); 4013 4014 // Locations Dropdown 4015 $('#site-header .dropdown').on('show.bs.dropdown', function () { 4016 $(this) 4017 .find('.dropdown-menu.location-dropdown') 4018 .first() 4019 .stop(true, true) 4020 .slideDown(300, 'swing') 4021 }) 4022 $('#site-header .dropdown').on('hide.bs.dropdown', function () { 4023 $(this) 4024 .find('.dropdown-menu.location-dropdown') 4025 .first() 4026 .stop(true, true) 4027 .slideUp('fast', 'swing') 4028 }) 4029</script>
vendor: 1 bytes, line 4029
4029
4030<script defer="" src="https://connect.podium.com/widget.js#ORG_TOKEN=634f990f-e5d0-497b-a30a-26298d622d4d" id="podium-widget" data-organization-api-token="634f990f-e5d0-497b-a30a-26298d622d4d"></script>
4030 4031 4032<!--Internal Audioeye-->
4033<script type="text/javascript">!function(){var b=function(){window.__AudioEyeSiteHash = "2a73acd908324c67931b2c0cfefd4295"; var a=document.createElement("script");a.src="https://wsmcdn.audioeye.com/aem.js";a.type="text/javascript";a.setAttribute("async","");document.getElementsByTagName("body")[0].appendChild(a)};"complete"!==document.readyState?window.addEventListener?window.addEventListener("load",b):window.attachEvent&&window.attachEvent("onload",b):b()}();</script>
4033 4034 4035 4036
4036<script type="application/ld+json"> 4037{ 4038"@context": "https://schema.org/", 4039"@type": "WebSite", 4040"name": "H & L RVS", 4041"url": "https://www.handlrvs.com/", 4042"potentialAction": { 4043"@type": "SearchAction", 4044"target": "http://www.handlrvs.com/rv-search?s=true{search_term_string}", 4045"query-input": "required name=search_term_string" 4046} 4047} 4048</script>
vendor: 1 bytes, line 4048
4048
4049<script type="application/ld+json"> 4050{ 4051"@context": "https://schema.org", 4052"@type": "AutoDealer", 4053"name": "H & L RVS", 4054"image": 4055"https://assets-cdn.interactcp.com/handlrvs/images/images_202411041005090234855164.p 4056ng", 4057"@id": "", 4058"url": "http://www.handlrvs.com/", 4059"telephone": "(813) 340-4936", 4060"address": { 4061"@type": "PostalAddress", 4062"streetAddress": "4511 James L Redman Pkwy", 4063"addressLocality": "Plant City", 4064"addressRegion": "FL", 4065"postalCode": "33567", 4066"addressCountry": "US" 4067}, 4068"geo": { 4069"@type": "GeoCoordinates", 4070"latitude": 27.9526535, 4071"longitude": -82.1216539 4072}, 4073"openingHoursSpecification": { 4074"@type": "OpeningHoursSpecification", 4075"dayOfWeek": [ 4076"Monday", 4077"Tuesday", 4078"Wednesday", 4079"Thursday", 4080"Friday", 4081"Saturday" 4082], 4083"opens": "08:00", 4084"closes": "17:00" 4085} 4086} 4087</script>
4087 4088 4089<meta property="og:title" content="Quality RV Sales & Rentals In Florida | Handl RVs" /> 4090<meta property="og:description" content="Handl RVs offers quality travel trailers, used RVs, 4091and rentals across Florida, including Lakeland, Plant City, and Tampa Bay-affordable and 4092adventure-ready." /> 4093<meta property="og:url" content="http://www.handlrvs.com/" /> 4094<meta property="og:type" content="website" /> 4095<meta property="og:image" 4096content="https://assets-cdn.interactcp.com/handlrvs/images/images_2024110410050902348 409755164.png" /> 4098 4099<meta name="twitter:card" content="summary_large_image" /> 4100<meta name="twitter:title" content="Quality RV Sales & Rentals in Florida | Handl RVs" /> 4101<meta name="twitter:description" content="Handl RVs offers quality travel trailers, used RVs, 4102and rentals across Florida, including Lakeland, Plant City, and Tampa Bayâaffordable and 4103adventure-ready" /> 4104<meta name="twitter:image" 4105content="https://assets-cdn.interactcp.com/handlrvs/images/images_2024110410050902348 410655164.png" /> 4107<meta name="twitter:url" content="http://www.handlrvs.com/" /> 4108 4109 4110
4110<script type="text/javascript"> 4111 (function(doc, tagName) { 4112 var firstScript = doc.getElementsByTagName(tagName)[0]; 4113 var targetParent = (firstScript && firstScript.parentNode) || doc.head || doc.body; 4114 var addScript = function(url, id) { 4115 if (!targetParent) { return; } 4116 if (id && doc.getElementById(id)) { return; } 4117 if (doc.querySelector('script[src="' + url + '"]')) { return; } 4118 var el = doc.createElement(tagName); 4119 el.src = url; 4120 el.async = true; 4121 if (id) { el.id = id; } 4122 if (firstScript && firstScript.parentNode) { 4123 firstScript.parentNode.insertBefore(el, firstScript); 4124 } else { 4125 targetParent.appendChild(el); 4126 } 4127 }; 4128 4129 if (window.innerWidth <= 959) { 4130 addScript( 4131 'https://assets-cdn.interactcp.com/interactrv/js/common_netcore/jquery.cycle2.swipe.min.js',
4132 'cycle2-swipe' 4133 ); 4134 } 4135 }(document, 'script')); 4136 </script>
4136 4137
4138<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a4510a3169fcc071',t:'MTc5MTA4MzkxMQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
4138</body> 4139</html>
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.