Annual report pursuant to Section 13 and 15(d)

Consolidated Valuation and Qualifying Accounts (Detail)

v2.4.1.9
Consolidated Valuation and Qualifying Accounts (Detail) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Allowance for Doubtful Accounts      
Valuation and Qualifying Accounts Disclosure [Line Items]      
Balance Beginning of Year $ 556us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
$ 611us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
$ 678us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Additions Charged to costs and Expenses 184us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
63us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
296us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Deductions 328us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
118us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
363us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Balance at End of Year 412us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
556us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
611us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Allowance for Product Returns      
Valuation and Qualifying Accounts Disclosure [Line Items]      
Balance Beginning of Year 1,576us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
2,579us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
1,823us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
Additions Charged to costs and Expenses 4,484us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
6,359us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
4,387us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
Deductions 5,243us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
7,362us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
3,631us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
Balance at End of Year $ 817us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
$ 1,576us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
$ 2,579us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember