var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; }; if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } } { let window = _____WB$wombat$assign$function_____("window"); let self = _____WB$wombat$assign$function_____("self"); let document = _____WB$wombat$assign$function_____("document"); let location = _____WB$wombat$assign$function_____("location"); let top = _____WB$wombat$assign$function_____("top"); let parent = _____WB$wombat$assign$function_____("parent"); let frames = _____WB$wombat$assign$function_____("frames"); let opener = _____WB$wombat$assign$function_____("opener"); /** * @package JReviews * @author ClickFWD LLC (https://www.jreviews.com) * @copyright Copyright (C) 2010-2018 ClickFWD LLC * @license GNU GPL version 3 or later */ (function ($) { jreviewsCompare = { numberOfListingsPerPage: 3, maxNumberOfListings: 15, compareURL: 'index.php?option=com_jreviews&url=categories/compare/id:listing_ids/', lang: { 'compare_heading': jreviews.__t('COMPARE_HEADING'), 'compare_all': jreviews.__t('COMPARE_COMPARE_ALL'), 'remove_all': jreviews.__t('COMPARE_REMOVE_ALL'), 'select_more': jreviews.__t('COMPARE_SELECT_MORE'), 'select_max': jreviews.__t('COMPARE_SELECT_MAX') }, listingTypeID: null, typeTabPanelClass: 'jr-compare-tabs-nav jrCompareTabsNav fwd-flex fwd-flex-row', typeTabClass: 'jrCompareTab fwd-flex-shrink-0 fwd-flex fwd-items-center', itemTabPanelClass: 'jrItemTabsNav ui-helper-clearfix', itemTabButtonsClass: 'jrCompareButtons fwd-flex-row fwd-cursor-default fwd-my-3 fwd-text-right', itemContainerClass: 'jrCompareList jr-compare-list fwd--mx-4 fwd-cursor-default fwd-flex fwd-flex-row fwd-flex-no-wrap md:fwd-flex-wrap', itemClass: 'jr-compare-item fwd-flex-1 fwd-ml-4 fwd-my-3 fwd-card-container fwd-card-sm fwd-card-square fwd-card-horizontal fwd-shadow-md', itemImageClass: 'jr-compare-image fwd-card-image', itemContentClass: 'jr-compare-content fwd-card-content fwd-py-1 fwd-pl-2 fwd-pr-3', itemsCountClass: 'jr-items-count fwd-mr-2 fwd-text-gray-700', init: function() { jreviewsCompare.set({ numberOfListingsPerPage: jreviews.comparison.numberOfListingsPerPage, maxNumberOfListings : jreviews.comparison.maxNumberOfListings, compareURL: jreviews.comparison.compareURL }); jreviewsCompare.initComparePage(); jreviewsCompare.initCompareDashboard(); jreviewsCompare.initListingsSelection(); $(document).on('jreviews-onAfterAjaxUpdate', function(e, url) { jreviewsCompare.refresh(url); // get listings stored for comparison in localStorage var storedListings = jreviewsCompare.getListingsFromStorage(); if (!$.isEmptyObject(storedListings)) { $.each(storedListings, function(key, value){ $.each(storedListings[key], function(key, listing){ $('input.listing'+listing.id).prop('checked', true); }); }); } }); }, refresh: function(url) { // update comparison tab urls var compareTabs = $('.jrCompareTabs'); if (compareTabs.data("ui-tabs")) { compareTabs.find('ul.jr-compare-tabs-nav li a').each(function() { var tab = $(this); var taburl = tab.attr('href'); var tabhash = taburl.substring(taburl.indexOf('#')); tab.attr('href',url+tabhash); }); } }, set: function(options) { if(options !== undefined) { $.extend(jreviewsCompare, options); } }, initComparePage: function() { var jrCompareView = $('.jr-compareview'), jrCompareSlider = $('.jr-compare-slider'), jrCompareSliderItems = jrCompareSlider.find('.jr-compare-slider-items'), jrCompareSliderSecondary = $('.jr-compare-slider-secondary'), jrCompareSliderItemsSecondary = jrCompareSliderSecondary.find('.jr-compare-slider-items2'), jrCompareSliderItem = jrCompareSliderItems.find('.jr-compare-slider-item'), jrScrollbarArea = $('.jrScrollbarArea'), numberOfListings = $('.jr-compare-slider-item').length, itemWidth, itemsWidth; // Set compare slider width jrCompareView.width(jrCompareView.parent().width()); if (numberOfListings >= jreviewsCompare.numberOfListingsPerPage) { itemWidth = jrCompareSlider.width() / jreviewsCompare.numberOfListingsPerPage; } else { itemWidth = jrCompareSlider.width() / numberOfListings; } itemsWidth = itemWidth * numberOfListings; jrCompareSliderItem.width(itemWidth); jrCompareSliderItems.width(itemsWidth); jrCompareSliderItemsSecondary.width(itemsWidth); // scroll both scrollbars at the same time jrCompareSlider.scroll(function(){ jrCompareSliderSecondary.scrollLeft(jrCompareSlider.scrollLeft()); }); jrCompareSliderSecondary.scroll(function(){ jrCompareSlider.scrollLeft(jrCompareSliderSecondary.scrollLeft()); }); if (numberOfListings > jreviewsCompare.numberOfListingsPerPage) { jrScrollbarArea.removeClass('jrHidden'); jrCompareSlider.removeClass('jrSliderDisabled'); jrCompareSliderSecondary.removeClass('jrSliderDisabled'); if (!jrCompareView.hasClass('jrCompareViewMenu')) { $('.removeComparedListing').removeClass('jrHidden'); } jrCompareSlider.find('.jr-compare-slider-item').hover( function(){ var listing = $(this); var listingID = listing.data('listingid'); var listingWidth = listing.width(); listing.on('click', 'img.removeListing', function(){ listing.fadeOut('slow', function() { listing.remove(); var newItemWidth = itemWidth * $('div.jr-compare-slider-item').length; var newNumberOfListings = $('.jr-compare-slider-item').length; jrCompareSliderItems.width(newItemWidth); jrCompareSliderItemsSecondary.width(newItemWidth); if (newNumberOfListings <= jreviewsCompare.numberOfListingsPerPage) { jrScrollbarArea.addClass('jrHidden'); jrCompareSlider.addClass('jrSliderDisabled'); jrCompareSliderSecondary.addClass('jrSliderDisabled'); jrCompareSlider.find('.removeComparedListing').addClass('jrHidden'); } // remove the listing from comparison list $('span#removelisting'+listingID).trigger('click'); }); }); } ); } jreviewsCompare.fixCompareAlignment(); }, fixCompareAlignment: function() { function eqHeight(group) { tallest = 0; group.each(function() { thisHeight = $(this).height(); if(thisHeight > tallest) { tallest = thisHeight; } }); group.height(tallest); } function fixHeight(group) { group.each(function() { var firstclass = $(this).attr('class').split(' ').slice(0,1); eqHeight($('div.'+firstclass)); }); } var compareFields = $('div.jr-compare-slider-item div.jrCompareField'); fixHeight(compareFields); }, initCompareDashboard: function() { $('body').append('' +'
' + '
' + '
'+jreviewsCompare.lang.compare_heading+'
' + '
' + '
' + '
' +'
'); $('.jrCompareTabs').append('
'); $('.jrCompareDashboard') .hover(function(){ $(this).css('cursor', 'pointer'); }) .click(function(e) { if ( $(e.target).closest('.jrCompareDashboard').length && !$(e.target).closest('.jrTabsContainer').length ) { $('.jrCompareTabs .jrTabsContainer').slideToggle('slow', function(){ var headerArrow = $('.jrCompareArrow'); if($(this).is(':visible')) { headerArrow.addClass('down'); } else { headerArrow.removeClass('down'); } }); } }); var jrCompareDashboard = $('.jrCompareDashboard'); // get listings stored for comparison in localStorage var storedListings = jreviewsCompare.getListingsFromStorage(); if (!$.isEmptyObject(storedListings)) { jrCompareDashboard.slideDown('slow'); $.each(storedListings, function(key, value){ var tabCreated = false; var listingTypeID = key.substring(11); // get listings for each listing type $.each(storedListings[key], function(key, listing){ if (!tabCreated) { jreviewsCompare.createTab(listing); tabCreated = true; } jreviewsCompare.insertListingIntoComparison(listing); // update compare listings url jreviewsCompare.updateCompareAllUrl(listing); }); if ($('#tabLT'+listingTypeID+' li.jr-compare-item').length > 4) { $('#tabLT'+listingTypeID+' a.compareNext').css('visibility', 'visible'); } }); } // remove listing from comparison after icon clicked jrCompareDashboard.on('click', '.jr-compare-remove',function() { var item = $(this).attr('id'); var listing = { id: item.substring(13), typeId: $(this).text() }; $('input.listing'+listing.id).prop('checked', false); jreviewsCompare.removeListingFromComparison(listing); }); // remove all listings from comparison jrCompareDashboard.on('click', 'a.removeListings', function(e) { e.preventDefault(); var listingType = $(this).parent().attr('id'); var listingTypeID = listingType.substring(9); var firstListingId = $('#tabLT'+listingTypeID+' li.jr-compare-item:first-child .jr-compare-remove').attr('id').substring(13); var listing = { id: firstListingId, typeId: listingTypeID }; var checkboxes = $('.jrCheckListing[data-listingtypeid="'+listingTypeID+'"]'); checkboxes.prop('checked', false); jreviewsCompare.removeTab(listing); }); // compare all listings jrCompareDashboard.on('click', 'a.compareListings', function(e) { e.preventDefault(); var listingTypeID = $(this).parent().attr('id').substring(9); var compareCount = $('div#tabLT'+listingTypeID+' ul.jr-compare-list li').length; if (compareCount < 2) { if ($('p.comparisonMessage.'+listingTypeID).val() !== ''){ $('div#tabLT'+listingTypeID).append('

'+jreviewsCompare.lang.select_more+'

'); $('p.comparisonMessage').hide().fadeIn('slow', function(){ setTimeout( function(){ $('p.comparisonMessage').fadeOut('slow', function(){ $(this).remove(); }); }, 3000 ); }); } } else { var url = $(this).attr('href'); window.location.href = url; } }); $('ul.jr-compare-tabs-nav').on('click', 'a', function(e){ e.stopPropagation(); var tabsContainer = $('.jrTabsContainer'); if (tabsContainer.is(':hidden')) { tabsContainer.slideDown('slow'); } }); }, createTab: function(listing) { var listingTypeID = listing.typeId; var listingTypeTitle = listing.typeTitle; var compareTabs = $('.jrCompareTabs'); var nav = compareTabs.find('ul.jr-compare-tabs-nav'); var container = compareTabs.find('.jrTabsContainer'); try { compareTabs.tabs('destroy'); } catch(e) {} // Tab Navigation nav.append('' +'
  • ' + '' + '0'+''+listingTypeTitle+'' + '' +'
  • '); // Tab Panel container.append('' +'
    ' + '' +'
    '); compareURL = jreviewsCompare.compareURL.replace('listing_ids',listing.id); var compareAllLink = ''+jreviewsCompare.lang.compare_all+''; var removeAllLink = ''+jreviewsCompare.lang.remove_all+''; container .find('#tabLT'+listingTypeID) .prepend('
    '+ removeAllLink + compareAllLink +'
    '); var base_url = $('base').attr('href'); if ( base_url !== undefined && base_url.length ) { nav.find('li a:not(".jrBaseUpdated")').each(function() { $(this).addClass('jrBaseUpdated').attr('href',document.location.href.match(/(^[^#]*)/)[0]+'#tabLT'+ listingTypeID); }); } compareTabs.tabs({'active': nav.find('ul li').length - 1}); }, removeTab: function(listing) { var jrCompareDashboard = $('.jrCompareDashboard'); var tabs = $('.jrCompareTabs'); if ( tabs.data("ui-tabs") === undefined ) { return; } var activeTab = tabs.tabs('option', 'active'); tabs.find('.jrTabsContainer > div:eq('+activeTab+')').remove(); $('ul.jr-compare-tabs-nav li.ui-tabs-active').remove(); if (tabs.find('.jr-compare-tabs-nav li').length) { tabs.tabs('refresh'); } else { jrCompareDashboard.slideUp('slow', function(){ tabs.tabs('destroy'); }); } jreviewsCompare.removeListingTypeFromStorage(listing); }, insertListingIntoComparison: function(listing) { if (listing.thumbSrc.length) { listing.thumb = '' +'
    ' + '' +'
    '; } else { listing.thumb = ''; } listing.titleUrl = '' + listing.title + ''; var compareItem = '
  • ' + listing.thumb + '
    ' + listing.titleUrl + '
    ' +'' + listing.typeId + '' +'
  • '; $('div#tabLT' + listing.typeId + ' ul').append(compareItem); $('input.listing'+listing.id).prop('checked', true); var numListings = jreviewsCompare.getNumberOfSelectedListings(listing.typeId); numListings++; $('.jrCompareTabs a.jrCompare'+listing.typeId+' span.jr-items-count').text(numListings); }, removeListingFromComparison: function(listing) { var container = $('.jrTabsContainer'); if( container.find('li#listing'+listing.id).siblings().length > 0) { container.find('li#listing'+listing.id).fadeOut('slow', function(){ $(this).remove(); }); jreviewsCompare.updateNumberOfSelectedListings(listing.typeId, -1); // remove single listing from localStorage jreviewsCompare.removeListingFromStorage(listing); // update compare listings url jreviewsCompare.updateCompareAllUrl(listing); } else { jreviewsCompare.removeTab(listing); } }, initListingsSelection: function() { $('body').on('click', '.jrCompareButton', function(e) { e.preventDefault(); if ( e.target,$(e.target ).is('input') ) { return false; } $(this).find('input.jrCheckListing').trigger('click'); }); // select listing for comparison - checkbox $('body').on('click', 'input.jrCheckListing', function(e) { e.stopPropagation(); var listing = { id : $(this).attr('value'), title : $(this).data('listingtitle'), url : $(this).data('listingurl'), thumbSrc : $(this).data('thumburl'), typeId : $(this).data('listingtypeid'), typeTitle : $(this).data('listingtypetitle'), location : $(this).data('location') }; if (listing.thumbSrc.length) { listing.thumb = '
    '; } else { thumb = $("img[data-listingid='"+ listing.id + "']"); if (thumb.length) { thumbSrc = thumb.attr('src'); listing.thumbSrc = thumbSrc; listing.thumb = '
    '; } else { listing.thumb = ''; } } listing.titleUrl = '' + listing.title + ''; listing.data = '
  • ' + listing.thumb + '
    '+listing.titleUrl+'
    ' + '' + listing.typeId + '' + '
  • '; var jrCompareDashboard = $('.jrCompareDashboard'); var compareTabs = $('.jrCompareTabs'); var tabsContainer = $('.jrTabsContainer'); var headerArrow = $('.jrCompareArrow'); var duplicateCheckboxes; if ($(this).is(':checked')) { duplicateCheckboxes = $('input.listing'+listing.id+':not(:checked)'); // check other checkbox instances of the same listing $.each(duplicateCheckboxes, function(){ $(this).prop('checked', true); }); if (compareTabs.find('div#tabLT'+listing.typeId).length > 0) { if (tabsContainer.is(':hidden')) { tabsContainer.slideDown('slow'); headerArrow.addClass('down'); } var numListings = jreviewsCompare.getNumberOfSelectedListings(listing.typeId); if (numListings >= jreviewsCompare.maxNumberOfListings) { if ($('p.comparisonMessageMax.'+listing.id).val() !== ''){ $(this).parent().append('

    '+jreviewsCompare.lang.select_max+'

    '); $('p.comparisonMessageMax').hide().fadeIn('slow', function(){ setTimeout( function(){ $('p.comparisonMessageMax').fadeOut('slow', function(){ $(this).remove(); }); }, 3000 ); }); } return false; } // Set the active tab compareTabs.find('.jr-compare-tabs-nav [aria-controls="tabLT'+listing.typeId+'"] a').trigger('click'); $(listing.data).appendTo('div#tabLT' + listing.typeId + ' ul.jr-compare-list').hide().fadeIn('slow'); } else { if (tabsContainer.is(':hidden')) { tabsContainer.show(); headerArrow.addClass('down'); } jreviewsCompare.createTab(listing); $(listing.data).appendTo('div#tabLT' + listing.typeId + ' ul.jr-compare-list').hide().fadeIn('slow'); if (jrCompareDashboard.is(':hidden')) { jrCompareDashboard.slideDown('slow'); } } jreviewsCompare.updateNumberOfSelectedListings(listing.typeId, 1); // save listing data to local storage jreviewsCompare.saveListingToStorage(listing); // update compare listings url jreviewsCompare.updateCompareAllUrl(listing); } else { duplicateCheckboxes = $('input.listing'+listing.id+':checked'); // check other checkbox instances of the same listing $.each(duplicateCheckboxes, function(){ $(this).prop('checked', false); }); compareTabs.find('.jr-compare-tabs-nav [aria-controls="tabLT'+listing.typeId+'"] a').trigger('click'); jreviewsCompare.removeListingFromComparison(listing); } }); }, getNumberOfSelectedListings: function(listingTypeID) { var numListings = $('.jrCompareTabs a.jrCompare'+listingTypeID+' span.jr-items-count').text(); return parseInt(numListings,10); }, updateNumberOfSelectedListings: function(listingTypeID, update) { var numListings = jreviewsCompare.getNumberOfSelectedListings(listingTypeID); numListings = numListings + update; $('.jrCompareTabs a.jrCompare'+listingTypeID+' span.jr-items-count').text(numListings); }, updateCompareAllUrl: function(listing) { var compareAllLink = $('a.compareListings.listingType'+listing.typeId); var compareAllUrl = compareAllLink.attr('href'); var listings = jreviewsCompare.getListingsFromStorage(listing.typeId); var listingIDs = []; $.each(listings, function(key, listing){ listingIDs.push(listing.id); }); listingIDs = listingIDs.toString(); var newCompareAllUrl = jreviewsCompare.compareURL.replace('listing_ids',listingIDs); compareAllLink.attr('href', newCompareAllUrl); }, saveListingToStorage: function(listing) { // create an object for current listing var currentListingTypeId = listing.typeId; var currentListingId = listing.id; var currentListing = {}; currentListing['listingType'+currentListingTypeId] = {}; currentListing['listingType'+currentListingTypeId]['listing'+currentListingId] = listing; // get all lisitngs stored for comparison var storedListings = jreviewsCompare.getListingsFromStorage(); if (!$.isEmptyObject(storedListings)) { var listings = $.extend({}, storedListings); listings['listingType'+currentListingTypeId] = $.extend({}, listings['listingType'+currentListingTypeId], currentListing['listingType'+currentListingTypeId]); localStorage.setItem("jrCompare", JSON.stringify(listings)); } else { localStorage.setItem("jrCompare", JSON.stringify(currentListing)); } }, // return listings from localStorage getListingsFromStorage: function(listingTypeId) { var storedListings = {}; var jsonData = ''; jsonData = localStorage.getItem("jrCompare"); if (jsonData !== '' && jsonData !== '{}') { storedListings = JSON.parse(jsonData); if (listingTypeId !== undefined) { storedListings = storedListings['listingType'+listingTypeId]; } } return storedListings; }, // remove listing from localStorage removeListingFromStorage: function (listing) { // get all lisitngs stored for comparison var storedListings = jreviewsCompare.getListingsFromStorage(); delete storedListings['listingType'+listing.typeId]['listing'+listing.id]; // save updated object localStorage.setItem("jrCompare", JSON.stringify(storedListings)); }, removeListingTypeFromStorage: function (listing) { // get all lisitngs stored for comparison var storedListings = jreviewsCompare.getListingsFromStorage(); delete storedListings['listingType'+listing.typeId]; // save updated object localStorage.setItem("jrCompare", JSON.stringify(storedListings)); } }; })(jQuery); } /* FILE ARCHIVED ON 12:07:04 Dec 30, 2019 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 06:27:48 Jul 12, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). */ /* playback timings (ms): captures_list: 0.487 exclusion.robots: 0.024 exclusion.robots.policy: 0.014 esindex: 0.01 cdx.remote: 8.474 LoadShardBlock: 161.443 (3) PetaboxLoader3.datanode: 66.77 (4) PetaboxLoader3.resolve: 100.327 (2) load_resource: 99.478 */