XML 76 R66.htm IDEA: XBRL DOCUMENT v2.4.1.9
Schedule II - Valuation and Qualifying Accounts (Details) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Jan. 31, 2015
Jan. 31, 2014
Jan. 31, 2013
Allowance for doubtful accounts      
Valuation and Qualifying Accounts Disclosure [Line Items]      
Valuation Allowances and Reserves, Beginning Balance $ 200us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
$ 275us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
$ 350us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Valuation Allowances and Reserves, Charged to (Reduced from) Expenses 115us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
3us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
75us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Valuation Allowances and Reserves, Deductions from Reserves 115us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
78us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
150us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Valuation Allowances and Reserves, Ending Balance 200us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
200us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
275us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Warranty reserve      
Valuation and Qualifying Accounts Disclosure [Line Items]      
Valuation Allowances and Reserves, Beginning Balance 1,000us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
1,000us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
1,400us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
Valuation Allowances and Reserves, Charged to (Reduced from) Expenses 442us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
380us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
140us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
Valuation Allowances and Reserves, Deductions from Reserves 492us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
380us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
540us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
Valuation Allowances and Reserves, Ending Balance 950us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
1,000us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
1,000us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
Product, general, workers’ compensation and automobile liability reserves      
Valuation and Qualifying Accounts Disclosure [Line Items]      
Valuation Allowances and Reserves, Beginning Balance 2,425us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForReceivableFromInsuranceProviderMember
2,985us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForReceivableFromInsuranceProviderMember
2,915us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForReceivableFromInsuranceProviderMember
Valuation Allowances and Reserves, Charged to (Reduced from) Expenses 0us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForReceivableFromInsuranceProviderMember
0us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForReceivableFromInsuranceProviderMember
70us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForReceivableFromInsuranceProviderMember
Valuation Allowances and Reserves, Deductions from Reserves 295us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForReceivableFromInsuranceProviderMember
560us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForReceivableFromInsuranceProviderMember
0us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForReceivableFromInsuranceProviderMember
Valuation Allowances and Reserves, Ending Balance 2,130us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForReceivableFromInsuranceProviderMember
2,425us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForReceivableFromInsuranceProviderMember
2,985us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForReceivableFromInsuranceProviderMember
Deferred tax valuation allowance      
Valuation and Qualifying Accounts Disclosure [Line Items]      
Valuation Allowances and Reserves, Beginning Balance 24,210us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
24,601us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
22,859us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
Valuation Allowances and Reserves, Charged to (Reduced from) Expenses 2,189us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
0us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
1,742us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
Valuation Allowances and Reserves, Deductions from Reserves 0us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
391us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
0us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
Valuation Allowances and Reserves, Ending Balance $ 26,399us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
$ 24,210us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
$ 24,601us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember