(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-TDGTP6');
Skip to Content
- Daniel M. Walker, President
-
(804) 226-3223
- Bobby Taylor, Scott Harper - Valley Operations
-
(540) 434-7390
- Steve Williams, Vice President Maryland/No. Virginia
-
(301) 290-5274
- Louis Walker, Vice President Piedmont Operations
-
(804) 226-3201
- Alex Howell, Manager, Tidewater Operations
-
(757) 873-2205
- Ron Rost, Vice President Mechanical Services
-
(804) 226-3205
- Tom Carswell, Secretary/Treasurer
-
(804) 226-3217
- Lee Waldeck, Regional Manager, Mechanical Services
-
(540) 962-5161
- Jeff Camp, Project Manager, Mechanical Services, Covington, VA
-
(540) 962-5161
- Joe Hubble, Senior Estimator, Mechanical Services, Covington, VA
-
(540) 962-5161
- Craig Storms, Project Manager, Bladenboro, NC
-
(910) 648-5468
- Jon Coon, Vice President, General Construction Services
-
(804) 226-3249
- Gary Drake, Vice President, Commercial HVAC / Plumbing Services
-
(804) 226-3202
var wto = wto || []; wto.push(['setWTID', 'wacoinc']); wto.push(['webTraxs']);(function() { var wt = document.createElement('script'); wt.src = document.location.protocol + '//www.webtraxs.com/wt.php'; wt.type = 'text/javascript'; wt.async = true; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wt, s); })();
$(document).ready(function() {
$('.popup-youtube, .popup-vimeo, .popup-gmaps').magnificPopup({
type: 'iframe',
mainClass: 'mfp-fade',
removalDelay: 500,
preloader: false,
overflowY: 'hidden',
fixedContentPos: true,
fixedBgPos: true,
callbacks: {
open: function() {
$('.input-group-append.search-close').trigger('çlick');
if ($(window).height() < $(document).height()) {
$('html').addClass('mfg-popup-open');
}
},
close: function() {
$('html').removeClass('mfg-popup-open');
$(this.items).each(function() {
if ($(this.el)) {
$(this.el).addClass('tse-remove-border');
}
});
},
},
iframe: {
patterns: {
youtube: {
index: 'youtube.com/', // String that detects type of video (in this case YouTube). Simply via url.indexOf(index).
id: 'v=', // String that splits URL in a two parts, second part should be %id%
// Or null - full URL will be returned
// Or a function that should return %id%, for example:
// id: function(url) { return 'parsed id'; }
src: '//www.youtube.com/embed/%id%?autoplay=1&rel=0' // URL that will be set as a source for iframe.
}
},
srcAction: 'iframe_src', // Templating object key. First part defines CSS selector, second attribute. "iframe_src" means: find "iframe" and set attribute "src".
}
});
});