XML 60 R53.htm IDEA: XBRL DOCUMENT v2.4.1.9
Valuation and Qualifying Accounts (Schedule of Valuation and Qualifying Accounts) (Details) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Allowance for doubtful accounts      
Movement in Valuation Allowances and Reserves [Roll Forward]      
Balance Beginning of Year $ 2,738us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
$ 3,077us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
$ 3,215us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Net Charged to Costs and Expenses 469us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
31us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
253us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Translations, Reclassifications and Acquisitions (153)us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
62us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
113us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Net Write-Offs or Discounts Taken (201)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
(432)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
(504)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Balance End of Year 2,853us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
2,738us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
3,077us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Reserve for sales discounts      
Movement in Valuation Allowances and Reserves [Roll Forward]      
Balance Beginning of Year 16,724us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ReserveForCashDiscountMember
15,005us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ReserveForCashDiscountMember
14,567us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ReserveForCashDiscountMember
Net Charged to Costs and Expenses 79,877us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ReserveForCashDiscountMember
76,184us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ReserveForCashDiscountMember
65,481us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ReserveForCashDiscountMember
Translations, Reclassifications and Acquisitions (98)us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ReserveForCashDiscountMember
0us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ReserveForCashDiscountMember
(16)us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ReserveForCashDiscountMember
Net Write-Offs or Discounts Taken (80,504)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ReserveForCashDiscountMember
(74,465)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ReserveForCashDiscountMember
(65,027)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ReserveForCashDiscountMember
Balance End of Year 15,999us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ReserveForCashDiscountMember
16,724us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ReserveForCashDiscountMember
15,005us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ReserveForCashDiscountMember
Reserve for inventory obsolescence      
Movement in Valuation Allowances and Reserves [Roll Forward]      
Balance Beginning of Year 8,596us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
9,099us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
7,630us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
Net Charged to Costs and Expenses 2,938us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
2,586us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
2,998us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
Translations, Reclassifications and Acquisitions (297)us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
(157)us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
79us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
Net Write-Offs or Discounts Taken (3,636)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
(2,932)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
(1,608)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
Balance End of Year 7,601us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
8,596us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
9,099us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
Reserve for warranty      
Movement in Valuation Allowances and Reserves [Roll Forward]      
Balance Beginning of Year 4,994us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
5,007us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
5,083us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
Net Charged to Costs and Expenses 7,467us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
6,410us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
6,646us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
Translations, Reclassifications and Acquisitions 843us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
80us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
82us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
Net Write-Offs or Discounts Taken (7,391)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
(6,503)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
(6,804)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
Balance End of Year $ 5,913us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
$ 4,994us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
$ 5,007us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember