In the market for a new or used Class C motorhome? Browse our huge online RV inventory for all sizes of families and budgets. When you visit Campers Inn RV of Louisville, Kentucky, our award-winning team will guide you through a no-pressure process to find your dream RV.Have a question for us now? Contact us here!
To learn more about RVing, check out resource center for tips, tricks and advice on shopping, maintenance and travel.
Showing 1 - 21 of 21
Change Location
Filter
Favorites ()
Motor Home Class C
-
New 2024 Forest River RV Sunseeker LE 3250DSLE Ford
Stock #87674
Louisville KY
Save $26,739 Off MSRP - TWO Slides, Booth Dinette, Backup/Sideview Camera's w/ Rearview Monitor - Begin at Campers Inn RV Louisville 812-282-7718
Previous Next
- +43
- View More »
New 2024 Forest River RV Sunseeker LE 3250DSLE Ford
Stock #87674
Louisville KY
Save $26,739 Off MSRP - TWO Slides, Booth Dinette, Backup/Sideview Camera's w/ Rearview Monitor - Begin at Campers Inn RV Louisville 812-282-7718
- Sleeps 7
- 2 Slides
- 32ft long
- 12580 lbs
- Bunk Over Cab
- Bunkhouse
...View Floorplan
- MSRP: $136,734
- You Save: $26,739
- Sale Price: $109,995
Go Camping For Less! $791 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2023 Entegra Coach Odyssey 30Z
Stock #87365
Louisville KY
2 SLIDES: LIVING ROOM SLIDE-OUT & REAR BEDROOM SLIDE-OUT - 2 ROOF A/C'S
Previous Next
- +49
- View More »
New 2023 Entegra Coach Odyssey 30Z
Stock #87365
Louisville KY
2 SLIDES: LIVING ROOM SLIDE-OUT & REAR BEDROOM SLIDE-OUT - 2 ROOF A/C'S
- Sleeps 8
- 2 Slides
- 32ft long
- Bunk Over Cab
- Outdoor Entertainment
...View Floorplan
- MSRP: $173,541
- You Save: $53,546
- Sale Price: $119,995
Go Camping For Less! $863 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2024 Thor Motor Coach Chateau 22E
Stock #90464
Louisville KY
SAVE $40,186 OFF MSRP! 54" X 80" QUEEN BED, 24" X 36" SHOWER, BUNK OVER CAB, DREAM DINETTE - (Colors & Styles Vary) - Begin at Campers Inn RV Louisville 812-282-7718
Previous Next
- +58
- View More »
New 2024 Thor Motor Coach Chateau 22E
Stock #90464
Louisville KY
SAVE $40,186 OFF MSRP! 54" X 80" QUEEN BED, 24" X 36" SHOWER, BUNK OVER CAB, DREAM DINETTE - (Colors & Styles Vary) - Begin at Campers Inn RV Louisville 812-282-7718
- Sleeps 5
- 24ft long
- Bunk Over Cab
- Outdoor Entertainment
...View Floorplan
- MSRP: $120,179
- You Save: $40,186
- Sale Price: $79,993
Go Camping For Less! $575 /mo.
See AlsoTop 5 Best Class C Motorhomes For Sale Under $60,000 - RVingPlanet Blog7 Best Class C Motorhomes For Sale Under $60000$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2024 Thor Motor Coach Chateau 22E
Stock #90465
Louisville KY
BUNK OVER CAB, 24X36 SHOWER, 54X80 QUEEN BED, DREAM DINETTE - Begin at Campers Inn RV Louisville 812-282-7718
Previous Next
- +54
- View More »
New 2024 Thor Motor Coach Chateau 22E
Stock #90465
Louisville KY
BUNK OVER CAB, 24X36 SHOWER, 54X80 QUEEN BED, DREAM DINETTE - Begin at Campers Inn RV Louisville 812-282-7718
- Sleeps 5
- 24ft long
- Bunk Over Cab
- Outdoor Entertainment
...View Floorplan
- MSRP: $119,379
- You Save: $39,386
- Sale Price: $79,993
Go Camping For Less! $575 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2024 Thor Motor Coach Chateau 22E
Stock #90466
Louisville KY
SAVE $39,986 OFF MSRP! CORNER BED, BUNK OVER CAB, 54"X80" QUEEN BED, DREAM DINETTE - Begin at Campers Inn RV Louisville 812-282-7718
Previous Next
- +58
- View More »
New 2024 Thor Motor Coach Chateau 22E
Stock #90466
Louisville KY
SAVE $39,986 OFF MSRP! CORNER BED, BUNK OVER CAB, 54"X80" QUEEN BED, DREAM DINETTE - Begin at Campers Inn RV Louisville 812-282-7718
- Sleeps 5
- 24ft long
- Bunk Over Cab
- Outdoor Entertainment
...View Floorplan
- MSRP: $119,979
- You Save: $39,986
- Sale Price: $79,993
Go Camping For Less! $575 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2024 Thor Motor Coach Chateau 22E
Stock #90467
Louisville KY
SAVE $39,986 OFF MSRP! CLASS C GAS! BUNK OVER CAB, 54" X 80" QUEEN BED. DREAM DINETTE - Begin at Campers Inn RV Louisville 812-282-7718
Previous Next
- +55
- View More »
New 2024 Thor Motor Coach Chateau 22E
Stock #90467
Louisville KY
SAVE $39,986 OFF MSRP! CLASS C GAS! BUNK OVER CAB, 54" X 80" QUEEN BED. DREAM DINETTE - Begin at Campers Inn RV Louisville 812-282-7718
- Sleeps 5
- 24ft long
- Bunk Over Cab
- Outdoor Entertainment
...View Floorplan
- MSRP: $119,979
- You Save: $39,986
- Sale Price: $79,993
Go Camping For Less! $575 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
Used 2023 Entegra Coach Odyssey 31F
Stock #85266A
Louisville KY
More Pictures Coming Soon! Bunk Beds, Cab-Over Bunk, E-Z Drive, Extra Floor Space - Begin at Campers Inn RV Louisville 812-282-7718
Previous Next
- +32
- View More »
Used 2023 Entegra Coach Odyssey 31F
Stock #85266A
Louisville KY
More Pictures Coming Soon! Bunk Beds, Cab-Over Bunk, E-Z Drive, Extra Floor Space - Begin at Campers Inn RV Louisville 812-282-7718
- Sleeps 10
- 1 Slides
- 32ft long
- Bunk Over Cab
- Bunkhouse
...View Floorplan
- List: $104,995
- You Save: $5,000
- Sale Price: $99,995
Go Camping For Less! $719 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2024 Thor Motor Coach Chateau 28Z
Stock #90555
Louisville KY
SAVE $40,704 OFF MSRP! REAR PRIVATE BEDROOM, 60" X 74" QUEEN BED, BUNK OVER CAB, DREAM DINETTE - Begin at Campers Inn RV Louisville 812-282-7718
Previous Next
- +63
- View More »
New 2024 Thor Motor Coach Chateau 28Z
Stock #90555
Louisville KY
SAVE $40,704 OFF MSRP! REAR PRIVATE BEDROOM, 60" X 74" QUEEN BED, BUNK OVER CAB, DREAM DINETTE - Begin at Campers Inn RV Louisville 812-282-7718
- Sleeps 7
- 1 Slides
- 30ft long
- Bunk Over Cab
- Outdoor Entertainment
...View Floorplan
- MSRP: $150,699
- You Save: $40,704
- Sale Price: $109,995
Go Camping For Less! $791 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2024 Entegra Coach Odyssey 26M
Stock #90829
Louisville KY
SAVE $53,608 Off MSRP! Rear Full Bathroom, Space Saving Sliding Door, U-Shaped Dinette, 19' Electric Awning, Backup & Side-view Cameras - Begin at Campers Inn RV Louisville
Previous Next
- +69
- View More »
New 2024 Entegra Coach Odyssey 26M
Stock #90829
Louisville KY
SAVE $53,608 Off MSRP! Rear Full Bathroom, Space Saving Sliding Door, U-Shaped Dinette, 19' Electric Awning, Backup & Side-view Cameras - Begin at Campers Inn RV Louisville
- Sleeps 6
- 1 Slides
- 29ft long
- Bunk Over Cab
- Outdoor Kitchen
...View Floorplan
- MSRP: $173,603
- You Save: $53,608
- Sale Price: $119,995
Go Camping For Less! $863 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2024 Thor Motor Coach Chateau 31EV
Stock #90556
Louisville KY
SLEEPS EIGHT! REAR PRIVATE BEDROOM, DREAM DINETTE, 27 X 72 BUNK BEDS - Located at CAMPERS INN RV OF LOUISVILLE 812-282-7718
Previous Next
- +67
- View More »
New 2024 Thor Motor Coach Chateau 31EV
Stock #90556
Louisville KY
SLEEPS EIGHT! REAR PRIVATE BEDROOM, DREAM DINETTE, 27 X 72 BUNK BEDS - Located at CAMPERS INN RV OF LOUISVILLE 812-282-7718
- Sleeps 8
- 1 Slides
- 33ft long
- Bunk Over Cab
- Bunkhouse
...View Floorplan
- MSRP: $164,905
- You Save: $34,910
- Sale Price: $129,995
Go Camping For Less! $935 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2024 Entegra Coach Esteem 29V
Stock #88004
Louisville KY
Save $53,405 On this Amazing 2024 Esteem! QUEEN BED SLIDE, SEPARATED BATHROOMS, GAS MOTORHOME, Come on Down to CAMPERS INN RV OF LOUISVILLE 812-282-7718
Previous Next
- +62
- View More »
New 2024 Entegra Coach Esteem 29V
Stock #88004
Louisville KY
Save $53,405 On this Amazing 2024 Esteem! QUEEN BED SLIDE, SEPARATED BATHROOMS, GAS MOTORHOME, Come on Down to CAMPERS INN RV OF LOUISVILLE 812-282-7718
- Sleeps 5
- 2 Slides
- Bunk Over Cab
- Outdoor Entertainment
...View Floorplan
- MSRP: $188,400
- You Save: $53,405
- Sale Price: $134,995
Go Camping For Less! $971 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
-
New 2024 Entegra Coach Condor 22T
Stock #90834
Louisville KY
Wow! $69,116 Off the MSRP, DINETTE LOUNGE, WET BATH, ALL WHEEL DRIVE, GAS MOTORHOME! Begin at Campers Inn RV Louisville 812-282-7718
Previous Next
- +60
- View More »
New 2024 Entegra Coach Condor 22T
Stock #90834
Louisville KY
Wow! $69,116 Off the MSRP, DINETTE LOUNGE, WET BATH, ALL WHEEL DRIVE, GAS MOTORHOME! Begin at Campers Inn RV Louisville 812-282-7718
- Sleeps 2
- 23ft long
- MSRP: $229,111
- You Save: $69,116
- Sale Price: $159,995
Go Camping For Less! $1,151 /mo.
$ Get Internet Price $ View Details »
View Details »
- Value My Trade
- Get Pre-Approved
- Send to Friend
Motor Home Class C - Diesel
Motor Home Super C - Diesel
- «
- 1
- »
Showing 1 - 21 of 21
*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");}};function getResultsFromInputChange(input) {var stockNumEl = $('#faceted-search').find('.SearchStockNumber');if (noResultsMode === false && isListingPage) {const inputGroupName = $(input).attr("name");const checkboxesInGroup = $('#faceted-search').find(':input[name="' + inputGroupName + '"]');// if the only checked checkboxes in this group are hidden, uncheck themconst allCheckedHidden =checkboxesInGroup.filter(":checked").filter(function() { return $(this).parents("div.checkbox:not(.hide)").length > 0}).length < 1;if (allCheckedHidden) {checkboxesInGroup.prop('checked', false);}const newValue = checkboxesInGroup.filter(":checked").map(function(i, v) { return $(this).val() }).toArray().join(",");const updateData = { s: "true" };updateData[inputGroupName] = newValue;$('.ajax-unit-list').ajaxUnitList('update', updateData);scrollToListTop();updateCounts();}else {stockNumEl.val('');submitToSearchPage();}}// setup event handlers$("#faceted-search #facetedSearch input[type=checkbox]").change(function() {getResultsFromInputChange(this);resetLocationFinder();});$('#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 };});