We have hundreds of new and used travel trailer RVs from the industry’s top brands with the most popular floorplans, perfect for every budget and RV lifestyle in the Southeast Georgia and Savannah area. Shop our inventory online and contact us anytime with your questions.
Our no-pressure sales process is designed to make you feel confident you are choosing the right RV for you and your family.
Still doing your research on travel trailers or the RV lifestyle? Visit our resource center to learn about more about RV shopping, maintenance and travel.
Showing 1 - 50 of 58
Change Zip
Filter
Favorites ()
Travel Trailer
-
New 2023 Forest River RV Flagstaff E-Pro E20BHS
Stock #66453
Richmond Hill GA
Time to hit the road with the largest E-Pro bunk trailer! **Bunk Beds** *Exterior Storage**
Previous Next
- +52
- View More »
New 2023 Forest River RV Flagstaff E-Pro E20BHS
Stock #66453
Richmond Hill GA
Time to hit the road with the largest E-Pro bunk trailer! **Bunk Beds** *Exterior Storage**
- Sleeps 5
- 1 Slides
- 22ft long
- 3547 lbs
- Bunkhouse
...View Floorplan
- MSRP: $38,492
- You Save: $10,715
- Sale Price: $27,777
Go Camping For Less! $225 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2023 Forest River RV Flagstaff Micro Lite 25FKS
Stock #85704
Richmond Hill GA
Call Today for Specials. Adventure starts here at Campers Inn RV of Richmond Hill!
Previous Next
- +43
- View More »
New 2023 Forest River RV Flagstaff Micro Lite 25FKS
Stock #85704
Richmond Hill GA
Call Today for Specials. Adventure starts here at Campers Inn RV of Richmond Hill!
- Sleeps 4
- 1 Slides
- 26ft long
- 5528 lbs
- Front Kitchen
- Outdoor Kitchen
...View Floorplan
- MSRP: $50,018
- You Save: $15,023
- Sale Price: $34,995
Go Camping For Less! $284 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2023 Forest River RV Flagstaff Super Lite 27FBIK
Stock #87621
Richmond Hill GA
Live Work Play Pleasure Relaxation find it all here at Campers Inn of Richmond Hill
Previous Next
- +35
- View More »
New 2023 Forest River RV Flagstaff Super Lite 27FBIK
Stock #87621
Richmond Hill GA
Live Work Play Pleasure Relaxation find it all here at Campers Inn of Richmond Hill
- Sleeps 5
- 3 Slides
- 33ft long
- 8324 lbs
- Outdoor Kitchen
- Kitchen Island
...View Floorplan
- MSRP: $69,719
- You Save: $14,721
- Sale Price: $54,998
Go Camping For Less! $446 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
Used 2020 Forest River RV Rockwood 12SRK
Stock #78991A
Richmond Hill GA
250 Longwood Drive | Richmond Hill, GA 31324 912-756-6606
Previous Next
- +32
- View More »
Used 2020 Forest River RV Rockwood 12SRK
Stock #78991A
Richmond Hill GA
250 Longwood Drive | Richmond Hill, GA 31324 912-756-6606
- Sleeps 2
- 12ft long
- 1763 lbs
- Outdoor Kitchen
...View Floorplan
- List: $13,980
- You Save: $1,981
- Sale Price: $11,999
Go Camping For Less! $169 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
Used 2021 TAXA Outdoors Tiger Moth Tiger Moth
Stock #78555A
Richmond Hill GA
Eat Sleep Camp Relax Repeat Begin at Campers Inn RV
Previous Next
- +37
- View More »
Used 2021 TAXA Outdoors Tiger Moth Tiger Moth
Stock #78555A
Richmond Hill GA
Eat Sleep Camp Relax Repeat Begin at Campers Inn RV
- Sleeps 2
- 13ft long
- 1310 lbs
- Outdoor Kitchen
...View Floorplan
- List: $19,980
- You Save: $4,985
- Sale Price: $14,995
Go Camping For Less! $136 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2024 Coachmen RV CATALINA SUMMIT 7 164BHX
Stock #92942
Richmond Hill GA
Just add fresh air and a camp fire. Call, Click or Visit us at Campers Inn RV Today
Previous Next
- +44
- View More »
New 2024 Coachmen RV CATALINA SUMMIT 7 164BHX
Stock #92942
Richmond Hill GA
Just add fresh air and a camp fire. Call, Click or Visit us at Campers Inn RV Today
- Sleeps 5
- 20ft long
- 2969 lbs
- Bunkhouse
...View Floorplan
- MSRP: $25,454
- You Save: $9,459
- Sale Price: $15,995
Go Camping For Less! $130 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
Used 2019 Coachmen RV Freedom Express Ultra Lite 204RD
Stock #67783A
Richmond Hill GA
FIND YOUR AWAY AT CAMPERS INN RV TODAY 250 Longwood Drive Richmond Hill, GA 31324 912-756-6606
Previous Next
- +50
- View More »
Used 2019 Coachmen RV Freedom Express Ultra Lite 204RD
Stock #67783A
Richmond Hill GA
FIND YOUR AWAY AT CAMPERS INN RV TODAY 250 Longwood Drive Richmond Hill, GA 31324 912-756-6606
- Sleeps 4
- 25ft long
- 4094 lbs
- Front Bedroom
...View Floorplan
- List: $18,899
- You Save: $404
- Sale Price: $18,495
Go Camping For Less! $168 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2024 Gulf Stream RV Friendship 22RSD
Stock #90110
Richmond Hill GA
You've Got A Camping Friend at Campers Inn RV
Previous Next
- +47
- View More »
New 2024 Gulf Stream RV Friendship 22RSD
Stock #90110
Richmond Hill GA
You've Got A Camping Friend at Campers Inn RV
- Sleeps 4
- 26ft long
- 4064 lbs
- Front Bedroom
...View Floorplan
- MSRP: $40,563
- You Save: $19,568
- Sale Price: $20,995
Go Camping For Less! $170 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2024 Coachmen RV Catalina Summit Series 8 261BH
Stock #92946
Richmond Hill GA
Previous Next
- +49
- View More »
New 2024 Coachmen RV Catalina Summit Series 8 261BH
Stock #92946
Richmond Hill GA
- Sleeps 8
- 30ft long
- 4822 lbs
- Bunkhouse
- Front Bedroom
...View Floorplan
- MSRP: $31,689
- You Save: $8,694
- Sale Price: $22,995
Go Camping For Less! $186 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2024 Gulf Stream RV Friendship 236RL
Stock #90090
Richmond Hill GA
Great deal, great floorplan, great memories ahead with your family and friends!
Previous Next
- +82
- View More »
New 2024 Gulf Stream RV Friendship 236RL
Stock #90090
Richmond Hill GA
Great deal, great floorplan, great memories ahead with your family and friends!
- Sleeps 5
- 1 Slides
- 28ft long
- 5100 lbs
- Front Bedroom
...View Floorplan
- MSRP: $45,111
- You Save: $20,116
- Sale Price: $24,995
Go Camping For Less! $203 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
Used 2022 Venture RV Sonic 211VRB
Stock #91584Z
Richmond Hill GA
250 Longwood Drive Richmond Hill, GA 31324 912-756-6606
Previous Next
- +45
- View More »
Used 2022 Venture RV Sonic 211VRB
Stock #91584Z
Richmond Hill GA
250 Longwood Drive Richmond Hill, GA 31324 912-756-6606
- Sleeps 4
- 1 Slides
- 25ft long
- 4350 lbs
- U Shaped Dinette
- Murphy Bed
...View Floorplan
- List: $27,998
- You Save: $3,000
- Sale Price: $24,998
Go Camping For Less! $227 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2024 Forest River RV Flagstaff E-Pro E20FBS
Stock #94712
Richmond Hill GA
Get ready for a spacious and comfortable trip in this trailer from Campers Inn RV!
Previous Next
- +45
- View More »
New 2024 Forest River RV Flagstaff E-Pro E20FBS
Stock #94712
Richmond Hill GA
Get ready for a spacious and comfortable trip in this trailer from Campers Inn RV!
- Sleeps 3
- 1 Slides
- 21ft long
- 3545 lbs
- Front Bedroom
- Rear Bath
...View Floorplan
- MSRP: $36,923
- You Save: $7,928
- Sale Price: $28,995
Go Camping For Less! $235 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
- «
- 1
- 2
- »
Showing 1 - 50 of 58
*All calculated monthly payments are an estimate for qualified buyers only and do not constitute a commitment that financing or a specific interest rate or term is available. Financing terms may not be available in all Campers Inn locations. Campers Inn RV Sales 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 inventory in stock on our lot. Please contact us for availability as our inventory changes rapidly.
Manufacturer and/or stock photographs may be used and may not be representative of the particular unit being viewed. Where an image has a stock image indicator, please confirm specific unit details with your dealer representative.
Manufacturer and/or stock photographs may be used and may not be representative of the particular unit being viewed. Where an image has a stock image indicator, please confirm specific unit details with your dealer representative.
';}}// add stock number to selected filters if setvar stockNumEl = $('#faceted-search').find('.SearchStockNumber');if (stockNumEl.length > 0 && stockNumEl.val() !== null && stockNumEl.val() !== '') {searchResultsHtml += '
';searchResultsHtml += '
Stock Number
';searchResultsHtml += '
- ';searchResultsHtml += '
- ' + $('').text(stockNumEl.val()).html() + ' '; // html encode stock num valsearchResultsHtml += '
';searchResultsHtml += '
';}$('.selected-filters-wrapper').append(searchResultsHtml);// show/hide clear filters toolbar at the topif ($('.selected-filters-wrapper').html() !== '') {$('.clear-filters-toolbar').fadeIn(200);}else {$('.clear-filters-toolbar').fadeOut(200);}}; // Helper function to be called when the counts shown next to each checkbox and the visibility of checkboxes/sections needs to be updatedvar updateCounts = function() {// Tow Rating addition// over ride control if a tow rating cookie exists// applies to FilteredSearch and UnitList.cshtmlif (window.location.pathname == '/tow-guide-search') {window.Interact.TowRating.checkCookie();// console.log('tow rating cookie check fired');}if (!searchCombos || !searchCombos.length) return;var currentSearchCounts = {normal: searchCombos};for (var prop in searchCombos[0]) {if (prop === 'count') continue;var checkBoxWrapper = $('#faceted-search [data-field-name="' + prop + '"]');var normalCounts = currentSearchCounts['normal'];var currentVals = $.map(($('.ajax-unit-list').ajaxUnitList('getCurrentOpt', prop) || '').split(','), function(x) { return x.toLowerCase(); });if (currentVals[0] !== '') {for (var countGroupName in currentSearchCounts) {currentSearchCounts[countGroupName] = $.grep(currentSearchCounts[countGroupName], function(x, i) {if (multiValueColumns[prop] !== undefined) { var parts = $.map(x[prop].split(multiValueColumns[prop].separator), function (x) { return x.toLowerCase(); }); if (multiValueColumns[prop].filterMode === 'and') { for (var i = 0; i < currentVals.length; i++) { if (currentVals[i] === '') continue; if (parts.indexOf(currentVals[i]) === -1) { return false; } } return true; } else { for (var i = 0; i < currentVals.length; i++) { if (currentVals[i] === '') continue; if (parts.indexOf(currentVals[i]) !== -1) { return true; } } return false; }}else {return currentVals.indexOf(x[prop].toLowerCase()) !== -1;}});}}if (checkBoxWrapper.find('input[type=checkbox]:checked').length) {currentSearchCounts[prop] = normalCounts;}}for (var prop in searchCombos[0]) {if (prop === 'count') continue;var checkBoxWrapper = $('#faceted-search [data-field-name="' + prop + '"]'); var sectionCheckboxes = checkBoxWrapper.find('input[type=checkbox]');// get list of all checked checkbox values in the same section - this is for multivalue columns in 'and' modevar checkedValues = sectionCheckboxes.filter(":checked").map(function(i, x) { return $(x).val(); });sectionCheckboxes.each(function() { var checkboxVal = $(this).val();var countRows = $.grep(currentSearchCounts[prop] || currentSearchCounts['normal'], function(x, i) {if (multiValueColumns[prop] !== undefined) { var currVals = $.map( $.grep(x[prop].split(multiValueColumns[prop].separator),function(z) { return z !== ''; }), function(x) { return x.toLowerCase(); }); if (multiValueColumns[prop].filterMode === 'and') { if (currVals.indexOf(checkboxVal.toLowerCase()) === -1) return false; for (var i = 0; i < checkedValues.length; i++) { if (currVals.indexOf(checkedValues[i].toLowerCase()) === -1) return false; } return true; } else { return currVals.indexOf(checkboxVal.toLowerCase()) !== -1; }}else {return x[prop].toLowerCase() === checkboxVal.toLowerCase();}});var sum = 0;$.each(countRows, (function() {sum += parseInt(this.count, 10);}));var groupWrapper = $(this).closest('.CheckBoxList');var panel = $(this).closest('.panel');if (sum === 0) {$(this).parents('div.checkbox').addClass('hide');// check to see if all checkboxes in the group are hidden, and if so, hide the wrapper panel alsoif (groupWrapper.find('div.checkbox:not(.hide)').length < 1) {panel.addClass('hide');}}else {$(this).parent().find('.count').text(sum);$(this).parents('div.checkbox').removeClass('hide');panel.removeClass('hide');}});}// hide filter containers where there is only one visible checkbox$('#facetedSearch .panel').filter(":not(.hide)").each(function() {var minCheckboxCount = $(this).data('minCheckboxCount') || 2;if ($(this).find('div.checkbox:not(.hide) input[type=checkbox]').length < minCheckboxCount) { $(this).addClass('hide');}}); // setup clear filters sectionupdateClearFiltersSection();};var submitToSearchPage = function(clearCheckboxFilters) {var tmpSearchInputs = $('#faceted-search').find(':input');if (clearCheckboxFilters) {tmpSearchInputs = tmpSearchInputs.filter(':not(input[type=checkbox])');}var tmpSearchValues = tmpSearchInputs.serializeArray();// comma delimit search values with the same namevar searchValMap = {};for (var i = 0; i < tmpSearchValues.length; i++) {var fieldName = tmpSearchValues[i].name.toLowerCase();if (searchValMap[fieldName] !== undefined && searchValMap[fieldName] !== '') {searchValMap[fieldName] += "," + tmpSearchValues[i].value;}else {searchValMap[fieldName] = tmpSearchValues[i].value;}}var searchValues = [];for (var param in searchValMap) {searchValues.push({name: param, value: searchValMap[param]});}var targetPage = '/rv-search';var qMark = window.location.href.indexOf('?');var currentPage = qMark > -1 ? window.location.href.substring(0, qMark) : window.location.href;currentPage = '/' + currentPage.replace(/^(?:\/\/|[^\/]+)*\//, "");var qsValues = getUrlVars();if (currentPage === targetPage && qsValues !== undefined && qsValues !== null) {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 propertiesdelete qsValues['page'];delete qsValues['s'];// remove qs params that are part of the search form - this is particularly important for checkboxes, which would not be included// in the searchValues collection if uncheckedfor (var param in qsValues) {if ($('#faceted-search :input').filter(function() { return ($(this).attr('name') || '').toLowerCase() === param; }).length) {delete qsValues[param];}}// add/update qs params from search valuesfor (var i = 0; i < searchValues.length; i++) {if (searchValues[i].value !== '') {qsValues[searchValues[i].name] = searchValues[i].value;}}var qsArray = [];for (var param in qsValues) {qsArray.push({name: param, value: qsValues[param]});}var qs = $.param(qsArray);window.location = "/rv-search?s=true" + (qs !== "" ? "&" + qs : "");}else {var qs = $.param($.grep(searchValues, function(x) { return x.value !== ''; }));window.location = "/rv-search?s=true" + (qs !== "" ? "&" + qs : "");}};var initializeSearchFields = function(data) {if (data["brand"] !== undefined) {data["brand"] = data["brand"].toLowerCase().trim();}if (data["manufacturer"] !== undefined) {data["manufacturer"] = data["manufacturer"].toLowerCase().trim();}$('#faceted-search :checkbox, #faceted-search :radio').removeAttr("checked"); if (data["zip"] !== undefined) { const zipInput = document.getElementById("locationZip"); if (zipInput) { zipInput.value = data["zip"]; } } if (data["distance"] !== undefined) { const distanceInput = document.getElementById("distanceRange"); if (distanceInput) { distanceInput.value = data["distance"]; } }for (var key in data) {if (data[key] === undefined || !isNaN(key)) {return;}var mVals = data[key].indexOf(',') !== -1 ? mVals = data[key].split(',') : null;$('#faceted-search [name]').filter(function() {return ($(this).attr('name') || '').toLowerCase() === key.toLowerCase();}).each(function(index, el){if ($(el).is(":checkbox") || $(el).is(":radio")) {if (mVals != null) {if ($.inArray($(el).val(), mVals) !== -1) {$(el).attr("checked", "checked");$(el).addClass("value-modified");}}else if ($(el).val() === data[key]) {$(el).attr("checked", "checked");$(el).addClass("value-modified");}}else {$(el).val(data[key]);if (data[key] != '' && $(el).val() === data[key]) {$(el).addClass("value-modified");}}});}// clear the stock number textbox if the stocknumber query string parameter isn't present.// this is needed b/c when the browser back button is clicked back to a point where the// stock number filter isn't set, even though the stocknumber query string parameter is// cleared, some browsers keep the input field filledif (data['stocknumber'] === undefined) {var stockNumEl = $('#faceted-search').find('.SearchStockNumber');stockNumEl.val('');}updateCounts(); };var scrollToListTop = function () {// only scroll to list top if the scroll position is currently below the top of the listif ($("html, body").scrollTop() > $('.ajax-unit-list').offset().top) {$("html, body").animate({ scrollTop: $('.ajax-unit-list').offset().top }, "fast");}};// setup event handlers$("#faceted-search #facetedSearch input[type=checkbox]").change(function() {var stockNumEl = $('#faceted-search').find('.SearchStockNumber');if (noResultsMode === false && isListingPage) {var name = $(this).attr("name");var checkboxesInGroup = $('#faceted-search').find(':input[name="' + name + '"]');// if the only checked checkboxes in this group are hidden, uncheck themif (checkboxesInGroup.filter(':checked').filter(function() { return $(this).parents('div.checkbox:not(.hide)').length > 0; }).length < 1) {checkboxesInGroup.prop('checked', false);}var newValue = checkboxesInGroup.filter(':checked').map(function(i,v) { return $(this).val(); }).toArray().join(",");var updateData = { s: "true" };updateData[name] = newValue;$('.ajax-unit-list').ajaxUnitList('update', updateData);scrollToListTop();updateCounts();}else {stockNumEl.val('');submitToSearchPage();}});$('#faceted-search').find('.SearchButton').click(function(e) { e.preventDefault();var stockNumEl = $('#faceted-search').find('.SearchStockNumber');if (isListingPage && !stockNumEl.hasClass('value-modified')) {var stockNum = stockNumEl.val();var updateData = { s: "true" };updateData['stockNumber'] = stockNum;$('.ajax-unit-list').ajaxUnitList('update', updateData); scrollToListTop();updateCounts();} else { gtmAnalyticsEventTrack($(this), 'Interactions', 'StockFilteredSearch', stockNumEl.val(), '1');submitToSearchPage(true);}return false;});var searchFieldChanged = function() {$(this).addClass("value-modified");};$('#faceted-search input, #faceted-search select').change(searchFieldChanged);$('#faceted-search input[type="text"]').keyup(searchFieldChanged);$('#faceted-search').on('submitToSearchPage', submitToSearchPage);$('#faceted-search').on('clearFilters', function() {if ($('input[name=zip]').val() || $('input[name=stockNumber]').val()) {window.location = "/rv-search?s=true";}$('.clear-filters-toolbar').hide();$('#faceted-search').find('input[type=text]').val('');$('#faceted-search').find('input[type=checkbox]').prop('checked', false);$('.ajax-unit-list').ajaxUnitList('clearFilters'); scrollToListTop();updateCounts();}); $('#faceted-search').on('clearSection', function(e, section) {if (section === '.stockNumber') {var stockNumEl = $('#faceted-search').find('.SearchStockNumber');stockNumEl.val('');submitToSearchPage();}else {$('#faceted-search').find(section).find('input[type=checkbox]:checked').prop('checked', false).trigger('change');scrollToListTop();updateCounts();}});$('#faceted-search').on('clearSelection', function(e, section, selection) {$('#faceted-search').find(section).find(' :checkbox[value="' + selection + '"]').prop('checked', false).trigger('change'); scrollToListTop();updateCounts();});$('.ajax-unit-list').on('ajaxUnitList.historychange', function(e, data) {if (data != null) {initializeSearchFields(data);}});$('a.btn-clear-all').click(function(e) {e.preventDefault();$('#faceted-search').trigger('clearFilters');});// setup on initial loadfunction init(doExpand) {if (isListingPage) {var data = $('.ajax-unit-list').ajaxUnitList('getCurrentOpts');if (data != null) {initializeSearchFields(data);}if (doExpand) {$("#facetedSearch .panel-collapse").each(function () {var $this = $(this);if ($this.find(":checked").length) {$this.addClass("in");$this.closest(".panel").find(".panel-heading i").removeClass("fa fa-plus").addClass("fa fa-minus");}});}}}init(true);$("#facetedSearch .panel-heading a").click(function() {var $this = $(this);if ($this.closest(".panel").find(".panel-collapse.in").length) {$this.find("i").removeClass("fa fa-minus").addClass("fa fa-plus");}else {$this.find("i").removeClass("fa fa-plus").addClass("fa fa-minus");}});/////////////////////////// Saved Searches/////////////////////////if ($('div.user-profile-wrapper').data('user-authenticated')) {$('.save-search-toolbar').removeClass('hidden');} const savedSearchPostUrl = '/rebraco/contactsavedsearch/save';var savedSearchId = 0;var savedSearchName = null;var urlParams = getUrlVars();if (urlParams) {savedSearchId = urlParams["savedSearchId"] || 0;if (savedSearchId) {savedSearchName = urlParams["savedSearchName"];$('.save-search-btn').text('Update Saved Search');}}$('.save-search-btn').click(function () { if (!savedSearchName) { savedSearchName = prompt("Enter a name for this saved search:"); } var postData = { contactSavedSearchId: savedSearchId, name: savedSearchName, url: location.href }; $.ajax(savedSearchPostUrl, { data: JSON.stringify(postData), type: 'POST', contentType: 'application/json', success: function (response) { if (response.success) {savedSearchId = response.contactSavedSearchId; $('.save-search-btn').text('Update Saved Search'); alert("Saved successfully"); }else {if (!savedSearchId) {savedSearchName = null; } alert("Save failed"); }},error: function () { if (!savedSearchId) { savedSearchName = null; } alert("Save failed"); } });});/////////////////////////// Mobile Filtered Search/////////////////////////$('.mobile-filter-link').click(function(e){e.preventDefault();$('body').addClass('modal-open');$('#faceted-search').addClass('fs-modal');});$('.fs-done').click(function(e){e.preventDefault();$('body').removeClass('modal-open');$('#faceted-search').removeClass('fs-modal');});$('.fs-clear-filters').click(function(e){e.preventDefault();$('#faceted-search').trigger('clearFilters');});var waitForFinalEvent = (function () {var timers = {};return function (callback, ms, uniqueId) {if (!uniqueId) {uniqueId = "Don't call this twice without a uniqueId";}if (timers[uniqueId]) {clearTimeout(timers[uniqueId]);}timers[uniqueId] = setTimeout(callback, ms);};})();var $mobileSortOptions = $('#faceted-search .mobile-sort-options-wrapper');var $desktopSortOptions = $('.listingToolbar .sort-options-wrapper');var $sortOptions = $('#sortOptions');function filteredSearchResponsiveStuff(initialLoad) {if ($(window).width() <= 991) {if ($mobileSortOptions.find('#sortOptions').length < 1) {$mobileSortOptions.append($sortOptions);}// collapse search panels on mobile, except for those with checked checkboxesif (initialLoad) {$("#facetedSearch .panel-collapse").each(function() {var $this = $(this);if ($this.find(":checked").length < 1) {$this.addClass('collapse').removeClass('in');$this.closest(".panel").find(".panel-heading i").removeClass("fa fa-minus").addClass("fa fa-plus");}});}} else {if ($desktopSortOptions.find('#sortOptions').length < 1) {$desktopSortOptions.append($sortOptions);}}};filteredSearchResponsiveStuff(true);$(window).resize(function () {waitForFinalEvent(function () {filteredSearchResponsiveStuff(false);}, 500, "filteredSearchResize"); }); // exports window.Interact = window.Interact || {}; window.Interact.FilteredSearch = { init: init };});