XML 30 R44.htm IDEA: XBRL DOCUMENT v2.4.1.9
EQUITY PLANS (Details) (USD $)
12 Months Ended 1 Months Ended 82 Months Ended 1 Months Ended 12 Months Ended 103 Months Ended 82 Months Ended 103 Months Ended
Jan. 02, 2015
Dec. 27, 2013
Dec. 28, 2012
plan
Jun. 30, 2006
Jan. 02, 2015
Mar. 31, 2008
Dec. 31, 2010
Dec. 30, 2011
Jan. 02, 2015
Jan. 02, 2015
Jan. 02, 2015
Jun. 30, 2008
Equity plans                        
Number of share-based compensation plans     2wldn_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfPlans                  
Compensation expense recognized for stock options issued (in dollars) $ 258,000us-gaap_AllocatedShareBasedCompensationExpense $ 150,000us-gaap_AllocatedShareBasedCompensationExpense $ 227,000us-gaap_AllocatedShareBasedCompensationExpense                  
Fully-vested options                        
Stock price at the end of the year (in dollars per share) $ 14.50us-gaap_SharePrice       14.50us-gaap_SharePrice       14.50us-gaap_SharePrice 14.50us-gaap_SharePrice 14.50us-gaap_SharePrice  
Unrecognized compensation expense                        
Weighted-average period over which unrecognized expense is expected to be recognized 6 years 15 days                      
2006 Plan                        
Equity plans                        
Termination period of the plan       10 years                
Granted (in shares)         0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_PlanNameAxis
= wldn_StockIncentivePlan2006Member
             
Number of shares of common stock reserved for issuance       300,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
/ us-gaap_PlanNameAxis
= wldn_StockIncentivePlan2006Member
               
Number of shares of common stock reserved for issuance 168,500us-gaap_CommonStockCapitalSharesReservedForFutureIssuance
/ us-gaap_PlanNameAxis
= wldn_StockIncentivePlan2006Member
      168,500us-gaap_CommonStockCapitalSharesReservedForFutureIssuance
/ us-gaap_PlanNameAxis
= wldn_StockIncentivePlan2006Member
      168,500us-gaap_CommonStockCapitalSharesReservedForFutureIssuance
/ us-gaap_PlanNameAxis
= wldn_StockIncentivePlan2006Member
168,500us-gaap_CommonStockCapitalSharesReservedForFutureIssuance
/ us-gaap_PlanNameAxis
= wldn_StockIncentivePlan2006Member
168,500us-gaap_CommonStockCapitalSharesReservedForFutureIssuance
/ us-gaap_PlanNameAxis
= wldn_StockIncentivePlan2006Member
 
Options                        
Granted (in shares)         0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_PlanNameAxis
= wldn_StockIncentivePlan2006Member
             
Nonvested Options                        
Granted (in shares)         0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_PlanNameAxis
= wldn_StockIncentivePlan2006Member
             
2008 Plan                        
Equity plans                        
Termination period of the plan           10 years            
Number of shares of common stock reserved for issuance 426,602us-gaap_CommonStockCapitalSharesReservedForFutureIssuance
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
      426,602us-gaap_CommonStockCapitalSharesReservedForFutureIssuance
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
450,000us-gaap_CommonStockCapitalSharesReservedForFutureIssuance
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
    426,602us-gaap_CommonStockCapitalSharesReservedForFutureIssuance
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
426,602us-gaap_CommonStockCapitalSharesReservedForFutureIssuance
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
426,602us-gaap_CommonStockCapitalSharesReservedForFutureIssuance
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
 
Shares available for grant under 2008 Plan from 2006 Plan                       70,333wldn_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrantFromPreviousPlan
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
Number of additional shares authorized 500,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
          350,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
         
2006 Employee Stock Purchase Plan                        
Equity plans                        
Number of shares of common stock reserved for issuance       300,000us-gaap_CommonStockCapitalSharesReservedForFutureIssuance
/ us-gaap_PlanNameAxis
= us-gaap_EmployeeStockMember
               
Employee Stock Purchase Plan                        
Shares issuable in any one calendar year 100,000wldn_CommonStockCapitalSharesIssuableInAnyOneCalendarYearMaximum
/ us-gaap_PlanNameAxis
= us-gaap_EmployeeStockMember
                     
Purchase price per share as a percentage of fair market value 95.00%us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent
/ us-gaap_PlanNameAxis
= us-gaap_EmployeeStockMember
                     
Number of shares available for issuance 81,113wldn_CommonStockCapitalSharesAvailableForFutureIssuance
/ us-gaap_PlanNameAxis
= us-gaap_EmployeeStockMember
      81,113wldn_CommonStockCapitalSharesAvailableForFutureIssuance
/ us-gaap_PlanNameAxis
= us-gaap_EmployeeStockMember
      81,113wldn_CommonStockCapitalSharesAvailableForFutureIssuance
/ us-gaap_PlanNameAxis
= us-gaap_EmployeeStockMember
81,113wldn_CommonStockCapitalSharesAvailableForFutureIssuance
/ us-gaap_PlanNameAxis
= us-gaap_EmployeeStockMember
81,113wldn_CommonStockCapitalSharesAvailableForFutureIssuance
/ us-gaap_PlanNameAxis
= us-gaap_EmployeeStockMember
 
Stock options                        
Equity plans                        
Granted (in shares) 235,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
100,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
202,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Assumptions                        
Expected volatility (as a percent)   40.00%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
39.00%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Expected volatility, minimum (as a percent) 38.35%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                     
Expected volatility, maximum (as a percent) 40.00%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                     
Expected dividends (as a percent) 0.00%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
0.00%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
0.00%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Expected term 6 years                      
Risk-free rate, minimum (as a percent) 1.63%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
1.31%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
0.65%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Risk-free rate, maximum (as a percent) 1.73%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
1.36%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
1.09%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Fully-vested options                        
Intrinsic value of the fully-vested options (in dollars) 5,960,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
      5,960,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
      5,960,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
5,960,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
5,960,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Options                        
Outstanding at the beginning of the period (in shares) 978,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
992,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
912,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Granted (in shares) 235,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
100,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
202,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Exercised (in shares) (198,000)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
(9,000)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
(5,000)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Forfeited or expired (in shares) (89,000)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
(105,000)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
(117,000)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Outstanding at the end of the period (in shares) 926,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
978,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
992,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
  926,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
    912,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
926,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
926,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
926,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Vested at the end of the period (in shares) 595,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
796,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
700,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
  595,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
      595,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
595,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
595,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Exercisable at the end of the period (in shares) 595,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
796,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
700,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
  595,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
      595,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
595,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
595,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Weighted-Average Exercise Price                        
Outstanding at the beginning of the period (in dollars per share) $ 3.95us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 3.86us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 3.94us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Granted (in dollars per share) $ 10.23us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 3.62us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 3.30us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Exercised (in dollars per share) $ 2.24us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 1.65us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 1.81us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Forfeited or expired $ 2.57us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                     
Outstanding at the end of the period (in dollars per share) $ 5.84us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 3.95us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 3.86us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
  5.84us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
    $ 3.94us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
5.84us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
5.84us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
5.84us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Vested at the end of the period (in dollars per share) $ 4.47us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 4.04us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 4.09us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
  4.47us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
      4.47us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
4.47us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
4.47us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Exercisable at the end of the period (in dollars per share) $ 4.47us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 4.04us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 4.09us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
  4.47us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
      4.47us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
4.47us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
4.47us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Weighted-Average Remaining Contractual Term                        
Outstanding at the beginning of the period 6 years 5 months 9 days 3 years 4 months 6 days 6 years 11 months 12 days         7 years 5 months 19 days        
Granted 9 years 8 months 5 days 2 years 5 months 9 days 9 years 4 months 2 days                  
Exercised 4 years 8 months 27 days 5 years 8 months 1 day 6 years 8 months 23 days                  
Outstanding at the end of the period 6 years 5 months 9 days 3 years 4 months 6 days 6 years 11 months 12 days         7 years 5 months 19 days        
Vested at the end of the period 4 years 11 months 1 day 7 years 10 months 24 days 6 years 2 months 9 days                  
Exercisable at the end of the period 4 years 11 months 1 day 7 years 10 months 24 days 6 years 2 months 9 days                  
Nonvested Options                        
Nonvested outstanding at the beginning of the period (in shares) 207,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
293,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
341,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Granted (in shares) 235,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
100,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
202,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Vested (in shares) (108,000)us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
(143,000)us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
(212,000)us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Forfeited (in shares) (3,000)us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
(43,000)us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
(38,000)us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Nonvested outstanding at the end of the period (in shares) 331,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
207,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
293,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
  331,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
    341,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
331,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
331,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
331,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Nonvested Options, Weighted Average Grant-Date Fair Value                        
Nonvested at the beginning of the period (in dollars per share) $ 3.55us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 1.28us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 1.13us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Granted (in dollars per share) $ 4.15us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 3.62us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 1.27us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Vested (in dollars per share) $ 3.41us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 3.17us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 1.07us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Forfeited (in dollars per share) $ 3.85us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 3.33us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 1.10us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Nonvested at the end of the period (in dollars per share) $ 3.37us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 3.55us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
$ 1.28us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
  3.37us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
    $ 1.13us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
3.37us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
3.37us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
3.37us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Awards granted that were immediately vested (in shares) 0wldn_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodGrossVestedImmediately
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
0wldn_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodGrossVestedImmediately
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
0wldn_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodGrossVestedImmediately
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
                 
Unrecognized compensation expense                        
Unrecognized compensation expense related to non-vested stock options (in dollars) 422,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
      422,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
      422,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
422,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
422,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
 
Stock options | Minimum                        
Assumptions                        
Expected term   5 years 9 months 5 years 9 months                  
Stock options | Maximum                        
Assumptions                        
Expected term   6 years 6 years                  
Stock options | 2008 Plan                        
Equity plans                        
Maximum number of shares a participant may be granted in options to purchase during fiscal year 100,000wldn_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodIndividualMaximum
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
                     
Incentive stock options | 2006 Plan                        
Equity plans                        
Options granted, net of forfeitures, expirations and exercises (in shares)                 162,500wldn_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsNetOfForfeituresExpirationsAndExercises
/ us-gaap_AwardTypeAxis
= wldn_IncentiveStockOptionsMember
/ us-gaap_PlanNameAxis
= wldn_StockIncentivePlan2006Member
     
Incentive stock options | 2008 Plan                        
Equity plans                        
Options granted, net of forfeitures, expirations and exercises (in shares)                   646,234wldn_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsNetOfForfeituresExpirationsAndExercises
/ us-gaap_AwardTypeAxis
= wldn_IncentiveStockOptionsMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
   
Incentive stock options | 2008 Plan | Maximum                        
Equity plans                        
Expiration period from date of grant 10 years                      
Non-statutory/Nonqualified stock options | 2006 Plan                        
Equity plans                        
Options granted, net of forfeitures, expirations and exercises (in shares)                     6,000wldn_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsNetOfForfeituresExpirationsAndExercises
/ us-gaap_AwardTypeAxis
= wldn_NonStatutoryStockOptionsMember
/ us-gaap_PlanNameAxis
= wldn_StockIncentivePlan2006Member
 
Non-statutory/Nonqualified stock options | 2006 Plan | Maximum                        
Equity plans                        
Expiration period from date of grant           10 years            
Non-statutory/Nonqualified stock options | 2008 Plan                        
Equity plans                        
Options granted, net of forfeitures, expirations and exercises (in shares)                   111,000wldn_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsNetOfForfeituresExpirationsAndExercises
/ us-gaap_AwardTypeAxis
= wldn_NonStatutoryStockOptionsMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
   
Non-statutory/Nonqualified stock options | 2008 Plan | Maximum                        
Equity plans                        
Expiration period from date of grant 10 years                      
Restricted stock                        
Unrecognized compensation expense                        
Unrecognized compensation expense related to non-vested restricted stock grants (in dollars) 142,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
      142,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
      142,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
142,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
142,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
 
Restricted stock | 2008 Plan                        
Equity plans                        
Shares granted                   50,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
   
Assumptions                        
Vesting period 2 years                      
Restricted Stock Activity                        
Intrinsic value of the fully-vested awards (in dollars) $ 144,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
                     
Restricted Stock                        
Outstanding at the beginning of period (in shares) 25,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
                     
Granted (in shares) 25,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
                     
Vested (in shares) (12,500)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
                     
Outstanding at the end of period (in shares) 37,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
      37,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
      37,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
37,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
37,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
 
Weighted-Average Grant Date Fair Value                        
Outstanding at the beginning of period (in dollars per share) $ 2.96us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
                     
Granted (in dollars per share) $ 7.13us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
                     
Vested (in dollars per share) $ 2.96us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
                     
Outstanding at the end of period (in dollars per share) $ 5.74us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
      5.74us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
      5.74us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
5.74us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member
5.74us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
/ us-gaap_PlanNameAxis
= wldn_PerformanceIncentivePlan2008Member