Annual report pursuant to Section 13 and 15(d)

SCHEDULE II - VALUATION AND QUALIFYING ACCOUNTS (Details)

v2.4.1.9
SCHEDULE II - 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 receivable      
Movement in valuation and qualifying accounts      
Balance at Beginning of Year $ 1,087us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
$ 631us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
$ 647us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Provisions (121)us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
535us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
45us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Amounts Written Off (75)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
(18)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
(86)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Amounts Recovered 4us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
1us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
(1)us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Effect of Currency Translation (46)us-gaap_ValuationAllowancesAndReservesAdjustments
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
(62)us-gaap_ValuationAllowancesAndReservesAdjustments
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
26us-gaap_ValuationAllowancesAndReservesAdjustments
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Balance at End of Year 849us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
1,087us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
631us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForDoubtfulAccountsMember
Allowance for sales returns      
Movement in valuation and qualifying accounts      
Balance at Beginning of Year 135us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
154us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
109us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
Provisions 1,527us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
1,435us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
2,296us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
Amounts Written Off (1,525)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
(1,454)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
(2,249)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
Effect of Currency Translation (8)us-gaap_ValuationAllowancesAndReservesAdjustments
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
  (2)us-gaap_ValuationAllowancesAndReservesAdjustments
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
Balance at End of Year 129us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
135us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
154us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_AllowanceForSalesReturnsMember
Allowance for obsolete inventory      
Movement in valuation and qualifying accounts      
Balance at Beginning of Year 2,407us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
2,254us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
2,083us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
Provisions 1,503us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
1,600us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
985us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
Amounts Written Off (1,666)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
(1,577)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
(809)us-gaap_ValuationAllowancesAndReservesDeductions
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
Amounts Recovered 1us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
41us-gaap_ValuationAllowancesAndReservesRecoveries
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
 
Effect of Currency Translation (57)us-gaap_ValuationAllowancesAndReservesAdjustments
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
89us-gaap_ValuationAllowancesAndReservesAdjustments
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
(5)us-gaap_ValuationAllowancesAndReservesAdjustments
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
Balance at End of Year 2,188us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
2,407us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
2,254us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_InventoryValuationReserveMember
Tax valuation allowance      
Movement in valuation and qualifying accounts      
Balance at Beginning of Year 11,340us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
8,149us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
9,836us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
Provisions 1,597us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
3,191us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
(1,687)us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
Balance at End of Year $ 12,937us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
$ 11,340us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember
$ 8,149us-gaap_ValuationAllowancesAndReservesBalance
/ us-gaap_ValuationAllowancesAndReservesTypeAxis
= us-gaap_ValuationAllowanceOfDeferredTaxAssetsMember