var mode = 'Sales'; var isMobile = false; if(isMobile) { mode+='Mob'; } var isLetting = (mode.toLowerCase()=='lettings'); function SaveSearch() { var paramArray = $.jStorage.get('SavedSearches' + mode) || []; LimitItems(paramArray, 10); var parameters = new Object(); parameters.resultsmode = ''; parameters.resultsorder = ''; parameters.locations = ''; parameters.locationname = $('#location').val(); parameters.propertycategories = ''; parameters.propertytypename = $('#propertytype > option:selected').text(); parameters.excludedpropertycategories = ''; parameters.minbedrooms = ''; parameters.maxbedrooms = ''; parameters.minprice = ''; parameters.maxprice = ''; parameters.features = ''; parameters.statuses = ''; parameters.newsince = ''; parameters.mode = 'fulldetails'; parameters.distance = ''; parameters.propertycount = $('#propertycount').val(); parameters.date = '27/04/2024 15:04'; paramArray.push(parameters); $.jStorage.set('SavedSearches' + mode, paramArray); } function SaveDrawMapSearch() { var paramArray = $.jStorage.get('SavedSearches' + mode) || []; LimitItems(paramArray, 10); var parameters = new Object(); parameters.resultsmode = ''; parameters.resultsorder = ''; parameters.locations = ''; parameters.locationname = ''; parameters.propertycategories = $('#propertytype > option:selected').val(); parameters.propertytypename = $('#propertytype > option:selected').text(); parameters.excludedpropertycategories = ''; parameters.minbedrooms = $('#minbeds > option:selected').val(); parameters.maxbedrooms = $('#maxbeds > option:selected').val(); parameters.minprice = $('#minpriceto' + (isLetting ? 'rent' : 'buy') + ' > option:selected').val(); parameters.minprice += (isLetting || parameters.minprice=='' ? '' : '000'); parameters.maxprice = $('#maxpriceto' + (isLetting ? 'rent' : 'buy') + ' > option:selected').val(); parameters.maxprice += (isLetting || parameters.maxprice=='' ? '' : '000'); parameters.features = ''; parameters.statuses = ''; parameters.newsince = ''; parameters.mode = 'fulldetails'; parameters.distance = ''; parameters.propertycount = $('#propertycountnum').val(); parameters.date = '27/04/2024 15:04'; paramArray.push(parameters); $.jStorage.set('SavedSearches' + mode, paramArray); } function SavePropertyID(currentItem) { var parameters = new Object(); parameters.propertyid = '17715'; parameters.mode = 'fulldetails'; parameters.date = '27/04/2024 15:04'; var paramArray; if(currentItem == undefined) { // Save ID to recent properties + limit items to 10 paramArray = $.jStorage.get('RecentProperties' + mode) || []; LimitItems(paramArray, 10); if(!CheckID(paramArray, parameters.propertyid)) { paramArray.push(parameters); $.jStorage.set('RecentProperties' + mode, paramArray); } } else { // Save ID to saved properties and inactivate button paramArray = $.jStorage.get('SavedProperties' + mode) || []; if(!CheckID(paramArray, parameters.propertyid)) { paramArray.push(parameters); $.jStorage.set('SavedProperties' + mode, paramArray); } // Make button inactive currentItem.parent().html('Property SavedYou can find this property in the top menu under
My Saved Properties
').removeClass('active').addClass('inactive'); currentItem.remove(); } } function CheckID(arrayIn, idIn) { for(var i=1; i<=arrayIn.length; i++) { if(arrayIn[i-1].propertyid == idIn) { return true; } } return false; } function LoadSavedSearch() { var paramArray = $.jStorage.get('SavedSearches' + mode) || []; paramArray = paramArray.reverse(); var listContainer = $('#recent-searches'); if(paramArray.length > 0) { listContainer.append(''); } else { listContainer.text('You haven\'t got any searches saved.'); } } function LoadSavedProperties(savedPropertyType) { var paramArray; var listContainer; var url = ''; var propertyIds = ''; listContainer = $('#saved-properties'); if(savedPropertyType == 'saved') { paramArray = $.jStorage.get('SavedProperties' + mode) || []; } else { // Load recent properties paramArray = $.jStorage.get('RecentProperties' + mode) || []; } for(var i=1;i<=paramArray.length;i++) { propertyIds += paramArray[i-1].propertyid; propertyIds += ','; } url = (mode == "Lettings" ? '/residential-property/to-let' : '/residential-property/for-sale'); url += '/' + savedPropertyType + '-property'; url += '/-/-/' + propertyIds; if(propertyIds != '') { window.location = url; } else { listContainer.text('You haven\'t got any ' + savedPropertyType + ' properties.'); } } function LimitItems(arrayIn, itemCount) { if(arrayIn.length >= itemCount) { var itemsToDelete = (arrayIn.length-(itemCount-1)); arrayIn.splice(0,itemsToDelete); } } function BuildUrl(parametersIn) { urlOut = (mode == 'Lettings' ? '/residential-property/to-let/property-to-rent' : '/residential-property/for-sale/property-for-sale'); urlOut += '/' + EmptyString(parametersIn.resultsmode); urlOut += '/' + EmptyString(parametersIn.resultsorder); urlOut += '/' + EmptyString(parametersIn.propertyid); urlOut += '/' + EmptyString(parametersIn.locations); urlOut += '/' + EmptyString(parametersIn.propertycategories); urlOut += '/' + EmptyString(parametersIn.minbedrooms); urlOut += '/' + EmptyString(parametersIn.maxbedrooms); urlOut += '/' + EmptyString(parametersIn.minprice); urlOut += '/' + EmptyString(parametersIn.maxprice); urlOut += '/' + EmptyString(parametersIn.features); urlOut += '/' + EmptyString(parametersIn.statuses); urlOut += '/' + EmptyString(parametersIn.newsince); urlOut += '/' + EmptyString(parametersIn.distance); return urlOut; } function BuildText(parametersIn) { var txtOut = ''; var url = ''; url = BuildUrl(parametersIn); txtOut += '
'; txtOut += '' txtOut += (parametersIn.resultsmode=='draw-search' ? 'Map search area' : EmptyString(parametersIn.locationname, 'All areas')); txtOut += ''; txtOut += '
Search included ' + EmptyString(parametersIn.propertytypename, 'all properties', ((parametersIn.propertytypename || '').toLowerCase()=='all' ? ' properties' : '')).toLowerCase() + ''; txtOut += ' with '; if(EmptyString(parametersIn.minbedrooms) != '-' && EmptyString(parametersIn.maxbedrooms) != '-') { txtOut += EmptyString(parametersIn.minbedrooms, '0'); txtOut += '- '; txtOut += EmptyString(parametersIn.maxbedrooms, '6'); txtOut += ' bedrooms'; } else if(EmptyString(parametersIn.minbedrooms) != '-') { txtOut += EmptyString(parametersIn.minbedrooms, '0') + ' or more bedrooms'; } else if(EmptyString(parametersIn.maxbedrooms) != '-') { txtOut += 'up to ' + EmptyString(parametersIn.maxbedrooms, '') + ' bedrooms'; } else { txtOut += 'no bedroom specified'; } txtOut += ''; txtOut += ' ' + (parametersIn.statuses!='' ? 'not ' : '') + 'including ' + (isLetting ? 'let' : 'sold') + '.'; if(parametersIn.resultsmode!='draw-search'){ txtOut += '
'; txtOut += '
' + EmptyString(parametersIn.propertycount, 'No') + ' properties were found'; if(EmptyString(parametersIn.propertycount) != '-') { txtOut += ' and displayed in a'; txtOut += ' ' + EmptyString(parametersIn.resultsmode) + '.'; } } txtOut += '
'; txtOut += '
'; txtOut += '' if(EmptyPrice(parametersIn.minprice) != '-' && EmptyPrice(parametersIn.maxprice) != '-') { txtOut += EmptyPrice(parametersIn.minprice, ''); txtOut += ' - ' + EmptyPrice(parametersIn.maxprice, ''); } else if(EmptyPrice(parametersIn.minprice) != '-') { txtOut += 'From ' + EmptyPrice(parametersIn.minprice, ''); } else if(EmptyPrice(parametersIn.maxprice) != '-') { txtOut += 'To ' + EmptyPrice(parametersIn.maxprice, ''); } else { txtOut += 'All prices'; } txtOut += ''; if(parametersIn.resultsmode!='draw-search'){ txtOut += '
'; txtOut += '
'; } txtOut += '
'; txtOut += '
' + parametersIn.date + ''; txtOut += '
'; return txtOut; } function EmptyString(textIn, replaceString, suffix) { return (textIn == '' || textIn == undefined ? (replaceString == undefined ? '-' : replaceString + ' ' ) : textIn) + (suffix || ''); } function EmptyPrice(priceIn, replaceString, suffix) { return (priceIn == '' || priceIn == undefined ? (replaceString == undefined ? '-' : replaceString + ' ' ) : '£' + priceIn + (suffix || '')); }