Back to homepage
Subscriber Login
Please subscribe to keep reading. You can cancel at any time.
Loading&hellp;
{{title}}
{{description}}
{{banner}}
{{format_dollars}} {{start_price}} {{format_cents}} {{promotional_format_dollars}} {{promotional_price}} {{promotional_format_cents}} {{term}}
(renews at {{format_dollars}}{{start_price}}{{format_cents}}/month + tax)
{{action_button}}
{{start_at_rate}} {{format_dollars}} {{start_price}} {{format_cents}} {{term}} {{promotional_format_dollars}}{{promotional_price}}{{promotional_format_cents}} {{term}}
{{tagline}}
{{action_button}}
{{special_title}}
{{html}}
'; } else { var sFallBack = 'Click here to subscribe'; } $('#lee-services-list .loading').hide(); $('#lee-services-list').html('
'+sFallBack+'
'); $('.lee-featured-subscription').html(sFallBack); } function lee_formatPackage(oService){ try { var bOnlyModal = true; var oSettings = lee_getPackageSettings(oService.HomeMembership); var newService = {}; if(parseInt(oService.WebFeatureFG) === 2) return false; if(oService.WebStartPrice != ''){ var custom = JSON.parse(oService.WebStartPrice); $.each(custom, function(k,v){ newService[k] = v; }); } if(bOnlyModal && newService.in_modal && newService.in_modal.toLowerCase() === 'false') return false; if(!bOnlyModal && newService.not_members && newService.not_members.toLowerCase() === 'true') return false; newService.has_featured_class = newService.featured ? 'featured-package' : ''; newService.sort = parseInt((newService.sort) ? newService.sort : oSettings.sort); newService.title = (newService.package_title && newService.package_title != '') ? newService.package_title : oSettings.title; newService.level = oService.HomeMembership; newService.html = oService.WebOfferHTML; newService.disabled = newService.disable_purchase ? 'disabled' : ''; var price = lee_formatPackagePrice(newService.start_price); newService.start_price = price.cost; newService.format_dollars = (price.format_dollars) ? price.format_dollars : ''; newService.format_cents = (price.format_cents) ? price.format_cents : ''; newService.start_at_rate = (newService.fixed_rate === 'true') ? 'for the low price of' : 'starting at'; if( !newService.term ) newService.term = 'per month'; newService.has_promotion_class = ''; if( newService.promotional_price && newService.promotional_price != '' ){ newService.has_promotion_class = 'has-promotion'; var promotion = lee_formatPackagePrice(newService.promotional_price); newService.promotional_price = promotion.cost; newService.promotional_format_dollars = (promotion.format_dollars) ? promotion.format_dollars : ''; newService.promotional_format_cents = (promotion.format_cents) ? promotion.format_cents : ''; } newService.banner_class = ''; if( newService.banner && newService.banner != '' ){ newService.banner_class = 'has-banner'; } newService.description = (newService.description) ? newService.description : ''; newService.special_title_class = newService.special_title ? 'has-special-title' : ''; newService.special_label_class = newService.label ? 'has-label' : ''; newService.action_button = 'Sign Up'; if(newService.disabled === 'disabled'){ newService.start_at_rate = 'Call us at'; newService.start_price = '800-468-3382'; newService.term = 'to get started'; newService.action_button = 'Call Today'; } window.lee_service_impressions.push({ 'id': newService.level, 'name': newService.title, 'price': newService.start_price, 'brand': "richmond.com", 'category': 'subscription', 'list': 'Block', 'position': newService.sort }); return newService; } catch(e){ if(window.console) console.warn(e); return false; } } function lee_sortPackages(property) { var sortOrder = 1; if(property[0] === "-") { sortOrder = -1; property = property.substr(1); } return function (a,b) { var result = (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0; return result * sortOrder; } } function lee_getPackageSettings(sPackage){ switch(sPackage.toLowerCase()){ case 'dob': return {title: 'Digital Basic', sort: 0}; break; case 'dop': return {title: 'Digital Plus', sort: 1}; break; case 'dopl': return {title: 'Digital Platinum', sort: 2}; break; case 'silv': return {title: 'Silver', sort: 3}; break; case 'gold': return {title: 'Gold', sort: 4}; break; case 'plat': return {title: 'Platinum', sort: 5}; break; } } function lee_replacePackageTokens(sPackage, oService, sCol){ var hasPromotion = false; $.each(oService, function(k,v){ if( k === 'html'){ v = v.replace(new RegExp('{{domain}}', 'gi'), 'richmond.com') .replace(new RegExp('{{site_name}}', 'gi'), 'Richmond Times-Dispatch') .replace(new RegExp('{{business_name}}', 'gi'), 'Richmond Times-Dispatch') .replace(new RegExp('{{site_phone}}', 'gi'), '800-468-3382'); } sPackage = sPackage.replace(new RegExp('{{'+k+'}}', 'gi'), v); }); if(sCol) sPackage = sPackage.replace('{{col}}', sCol); return sPackage; } if(window.lee_services_active && window.lee_services_active != 'offline'){ try { var oPackages = [], oFeatured = false, sHtml = '', sTemplate = $('#lee-service-template').html(); $.each(window.leeMembershipPackages, function(i, oService){ var oService = lee_formatPackage(oService); if(oService){ oPackages.push(oService); if(oService.featured === 'true') oFeatured = oService; } }); if(oPackages.length === 0){ throw 'No packages defined'; } oPackages.sort(lee_sortPackages('sort')); if(!oFeatured) oFeatured = oPackages[0]; if(oPackages.length === 1){ window.lee_modal_service = oPackages[0]; sTemplate = $('#lee-service-template-single').html(); $('#lee-services-list').addClass('single'); } else { $('#lee-services-list').addClass('multiple'); } switch(oPackages.length){ case 6: var sCol = '2'; break; case 5: var sCol = '5ths'; break; case 4: var sCol = '3'; break; case 3: var sCol = '4'; break; case 2: var sCol = '6'; break; default: var sCol = '12'; break; } $('#lee-services-modal').addClass('packages_'+oPackages.length); $.each(oPackages, function(i, oService){ sHtml += lee_replacePackageTokens(sTemplate, oService, sCol); }); $('#lee-services-list .packages').html(sHtml).promise().then(function(){ $('#lee-services-list .loading').hide(); $('#lee-services-list .packages').css('opacity', 1); }); if(!__tnt.user.services){ if( $('.lee-featured-subscription').length > 0 && oFeatured ){ $('.lee-featured-subscription').each(function(){ var html = $(this).html(); if( !oFeatured.featured_button_text ){ if(oFeatured.promotional_price){ oFeatured.featured_button_text = oFeatured.promotional_format_dollars+oFeatured.promotional_price+oFeatured.promotional_format_cents+' '+oFeatured.term; } else { oFeatured.featured_button_text = 'Join for '+oFeatured.format_dollars+oFeatured.start_price+oFeatured.format_cents+' '+oFeatured.term; } } html = lee_replacePackageTokens(html, oFeatured); $(this).html(html); if(oFeatured.promotional_price) $(this).addClass('has-promotiom'); if( $(this).hasClass('show-after-loaded') ) $(this).show(); }); } } } catch (e) { if(window.console) console.warn(e); lee_serviceError(); } window.lee_fetched_services = true; } else { lee_serviceError('offline'); } });
Subscribe
Read Today's E-edition
Top five weekend events: Home + Garden Show, Virginia Wine Expo, Nutzy's Block Party
0 Comments
Share this
Top five weekend events: Home + Garden Show, Virginia Wine Expo, Nutzy's Block Party
0 comments
Share this
editor's pick top story
This weekend brings home and garden ideas, Virginia wine, live music and a block party with Richmond's very own Nutzy.
Richmond Home + Garden Show
Virginia Wine Expo
Nutzy’s Block Party
Kansas 50th anniversary tour
Diana Krall
0 Comments
Chelsea Jackson
Content Producer
- Author email
Get email notifications on {{subject}} daily!
{{description}}
Email notifications are only sent once a day, and only if there are new matching items.
Followed notifications
Please log in to use this feature
Log In
Don't have an account? Sign Up Today
'); var s = document.createElement('script'); s.setAttribute('src', 'https://assets.revcontent.com/master/delivery.js'); document.body.appendChild(s); window.removeEventListener('scroll', throttledRevContent); __tnt.log('Load Rev Content'); } } }, 100); window.addEventListener('scroll', throttledRevContent);
Related to this collection
'Waltons' star refreshes role of Atticus Finch in ‘To Kill a Mockingbird’
Richard Thomas graced television screens 50 years ago as John-Boy Walton on "The Waltons"; now, he's headed to Richmond to grace the Altria Theater stage
It's time to get back outside, Richmond. Spring is right around the corner and will soon bring plenty of opportunities to enjoybands, brews a…
New restaurants headed for the Fan, downtown
Find out the opening dates for Smoke & Barrel in the Fan and The Foundation in downtown Richmond. Bad as Philly is also now open in Fan.