XML 15 R48.htm IDEA: XBRL DOCUMENT v2.4.1.9
Fair Value Measurements - Financial Assets and Liabilities Measured at Fair Value Based on Three-Tier Fair Value Hierarchy (Detail) (USD $)
Apr. 03, 2015
Dec. 31, 2014
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Liabilities, Fair Value Disclosure, Nonrecurring $ 0us-gaap_LiabilitiesFairValueDisclosureNonrecurring  
Assets, Fair Value Disclosure, Nonrecurring 0us-gaap_AssetsFairValueDisclosureNonrecurring  
Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 58,228,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
57,915,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total liabilities measured and recorded at fair value 18,000us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
7,000us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 1 [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 35,877,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
25,727,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total liabilities measured and recorded at fair value 0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 2 [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 22,351,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
32,188,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total liabilities measured and recorded at fair value 18,000us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
7,000us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 3 [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total liabilities measured and recorded at fair value 0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Cash equivalents [Member] | Money market funds [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 32,795,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_CashEquivalentsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
23,121,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_CashEquivalentsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
Cash equivalents [Member] | Level 1 [Member] | Money market funds [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 32,795,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_CashEquivalentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
23,121,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_CashEquivalentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
Cash equivalents [Member] | Level 2 [Member] | Money market funds [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_CashEquivalentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_CashEquivalentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
Cash equivalents [Member] | Level 3 [Member] | Money market funds [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_CashEquivalentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_CashEquivalentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
Short-term investments [Member] | State, municipal and local government agencies bonds [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 11,238,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MunicipalBondsMember
13,961,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MunicipalBondsMember
Short-term investments [Member] | Corporate bonds [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 10,965,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateBondSecuritiesMember
17,886,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateBondSecuritiesMember
Short-term investments [Member] | Level 1 [Member] | State, municipal and local government agencies bonds [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MunicipalBondsMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MunicipalBondsMember
Short-term investments [Member] | Level 1 [Member] | Corporate bonds [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateBondSecuritiesMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateBondSecuritiesMember
Short-term investments [Member] | Level 2 [Member] | State, municipal and local government agencies bonds [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 11,238,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MunicipalBondsMember
13,961,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MunicipalBondsMember
Short-term investments [Member] | Level 2 [Member] | Corporate bonds [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 10,965,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateBondSecuritiesMember
17,886,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateBondSecuritiesMember
Short-term investments [Member] | Level 3 [Member] | State, municipal and local government agencies bonds [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MunicipalBondsMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_MunicipalBondsMember
Short-term investments [Member] | Level 3 [Member] | Corporate bonds [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateBondSecuritiesMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateBondSecuritiesMember
Prepaids and other current assets [Member] | Foreign exchange forward contracts [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 148,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember
341,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember
Prepaids and other current assets [Member] | Level 1 [Member] | Foreign exchange forward contracts [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember
Prepaids and other current assets [Member] | Level 2 [Member] | Foreign exchange forward contracts [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 148,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember
341,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember
Prepaids and other current assets [Member] | Level 3 [Member] | Foreign exchange forward contracts [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember
0us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember
Cost-method Investments [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 3,082,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_CostmethodInvestmentsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,606,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_CostmethodInvestmentsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Cost-method Investments [Member] | Level 1 [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total assets measured and recorded at fair value 3,082,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_CostmethodInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
2,606,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_CostmethodInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Accrued Liabilities [Member] | Foreign exchange forward contracts [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total liabilities measured and recorded at fair value 18,000us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember
7,000us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember
Accrued Liabilities [Member] | Level 1 [Member] | Foreign exchange forward contracts [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total liabilities measured and recorded at fair value 0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember
0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember
Accrued Liabilities [Member] | Level 2 [Member] | Foreign exchange forward contracts [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total liabilities measured and recorded at fair value 18,000us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember
7,000us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember
Accrued Liabilities [Member] | Level 3 [Member] | Foreign exchange forward contracts [Member] | Fair Value, Measurements, Recurring [Member]    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Total liabilities measured and recorded at fair value $ 0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember
$ 0us-gaap_LiabilitiesFairValueDisclosure
/ us-gaap_EligibleItemOrGroupForFairValueOptionAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignExchangeForwardMember