XML 71 R99.htm IDEA: XBRL DOCUMENT v2.4.1.9
Schedule II - Valuation and Qualifying Accounts and Reserves (Details) - Valuation and Qualifying Accounts and Reserves (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 28, 2014
Dec. 29, 2013
Dec. 30, 2012
Allowance for Doubtful Accounts [Member]      
Year Ended:      
Balance, at beginning of year $ 7,646us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
$ 8,818us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
$ 8,920us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Charged to costs and expenses (730)us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
[1] 253us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
[1] 1,338us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
[1]
Charged to other accounts 0us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
0us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
0us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Deductions 1,020us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
[2] 1,425us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
[2] 1,440us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
[2]
Balance, at end of year 7,936us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
7,646us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
8,818us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Business Restructuring Reserves [Member]      
Year Ended:      
Balance, at beginning of year 519us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_BusinessRestructuringReservesMember
4,350us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_BusinessRestructuringReservesMember
4,112us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_BusinessRestructuringReservesMember
Charged to costs and expenses 9,315us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_BusinessRestructuringReservesMember
[1] 0us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_BusinessRestructuringReservesMember
[1] 18,927us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_BusinessRestructuringReservesMember
[1]
Charged to other accounts 2,717us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_BusinessRestructuringReservesMember
[3] 0us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_BusinessRestructuringReservesMember
[3] 9,364us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_BusinessRestructuringReservesMember
[3]
Deductions 5,372us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_BusinessRestructuringReservesMember
[4] 3,831us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_BusinessRestructuringReservesMember
[4] 9,325us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_BusinessRestructuringReservesMember
[4]
Balance, at end of year 7,179us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_BusinessRestructuringReservesMember
519us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_BusinessRestructuringReservesMember
4,350us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_BusinessRestructuringReservesMember
Allowance for Sales Returns [Member]      
Year Ended:      
Balance, at beginning of year 3,571us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
3,099us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
4,276us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
Charged to costs and expenses 63us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
[1] 1,360us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
[1] 1,441us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
[1]
Charged to other accounts 0us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
0us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
0us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
Deductions 1,438us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
[5] 888us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
[5] 2,618us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
[5]
Balance, at end of year 2,196us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
3,571us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
3,099us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
Warranty Reserves [Member]      
Year Ended:      
Balance, at beginning of year 1,364us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
1,232us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
871us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
Charged to costs and expenses 394us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
[1] 446us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
[1] 361us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
[1]
Charged to other accounts 0us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
0us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
0us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
Deductions 0us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
[6] 314us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
[6] 0us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
[6]
Balance, at end of year 1,758us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
1,364us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
1,232us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_WarrantyReservesMember
Inventory Valuation Reserve [Member]      
Year Ended:      
Balance, at beginning of year 13,416us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
12,946us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
10,366us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
Charged to costs and expenses 4,819us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
[1] 3,445us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
[1] 4,252us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
[1]
Charged to other accounts 0us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
0us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
0us-gaap_ValuationAllowancesAndReservesChargedToOtherAccounts
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
Deductions 3,451us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
[6] 2,975us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
[6] 1,672us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
[6]
Balance, at end of year $ 14,784us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
$ 13,416us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
$ 12,946us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
[1] Includes changes in foreign currency exchange rates.
[2] Write off of bad debt, and recovering of previously provided for amounts.
[3] Reduction of asset carrying value.
[4] Cash payments.
[5] Represents credits issued and adjustments to reflect actual exposure.
[6] Represents costs applied against reserve and adjustments to reflect actual exposure.