XML 92 R51.htm IDEA: XBRL DOCUMENT v2.4.1.9
Cash, Cash Equivalents and Investments with Hierarchy (Details) (USD $)
In Thousands, unless otherwise specified
Mar. 31, 2015
Mar. 31, 2014
Mar. 31, 2013
Mar. 31, 2012
Amortized Costs $ 177,198us-gaap_AvailableForSaleSecuritiesAmortizedCost $ 178,402us-gaap_AvailableForSaleSecuritiesAmortizedCost    
Gross Unrealized Gains 71us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax 55us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax    
Gross Unrealized Loss (175)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax (96)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax    
Estimated Fair Value 177,094us-gaap_AvailableForSaleSecurities 178,361us-gaap_AvailableForSaleSecurities    
Cash and cash equivalents 53,110us-gaap_CashAndCashEquivalentsAtCarryingValue 59,159us-gaap_CashAndCashEquivalentsAtCarryingValue 50,305us-gaap_CashAndCashEquivalentsAtCarryingValue 22,426us-gaap_CashAndCashEquivalentsAtCarryingValue
Short-term marketable investments 123,984us-gaap_AvailableForSaleSecuritiesCurrent 47,181us-gaap_AvailableForSaleSecuritiesCurrent    
Long-term marketable investments   72,021us-gaap_AvailableForSaleSecuritiesNoncurrent    
Aavailable-for-sale investments due within one year 69,502EGHT_AavailableforsaleInvestmentsDueWithinOneYear      
Aavailable-for-sale investments due after one year 54,482EGHT_AavailableforsaleInvestmentsDueAfterOneYear      
Level 1        
Amortized Costs 55,110us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
61,123us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
   
Gross Unrealized Gains 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
   
Gross Unrealized Loss (107)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
(55)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
   
Estimated Fair Value 55,003us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
61,068us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
   
Cash and cash equivalents 53,110us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
59,159us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
   
Short-term marketable investments 1,893us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
1,909us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
   
Long-term marketable investments   0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
   
Level 2        
Amortized Costs 122,088us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
117,279us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
   
Gross Unrealized Gains 71us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
55us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
   
Gross Unrealized Loss (68)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
(41)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
   
Estimated Fair Value 12,291us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
117,293us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
   
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
   
Short-term marketable investments 122,091us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
45,272us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
   
Long-term marketable investments   72,021us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
   
Cash        
Amortized Costs 24,734us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
26,548us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Gross Unrealized Gains 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Gross Unrealized Loss 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Estimated Fair Value 24,734us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
26,548us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Cash and cash equivalents 24,734us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
26,548us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Short-term marketable investments 0us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
0us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Long-term marketable investments   0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Money Market Funds | Level 1        
Amortized Costs 28,376us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
32,611us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
   
Gross Unrealized Gains 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
   
Gross Unrealized Loss 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
   
Estimated Fair Value 28,376us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
32,611us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
   
Cash and cash equivalents 28,376us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
32,611us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
   
Short-term marketable investments 0us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
0us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
   
Long-term marketable investments   0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
   
Mutual Funds | Level 1        
Amortized Costs 2,000us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
1,964us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
   
Gross Unrealized Gains 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
   
Gross Unrealized Loss (107)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
(55)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
   
Estimated Fair Value 1,893us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
1,909us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
   
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
   
Short-term marketable investments 1,893us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
1,909us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
   
Long-term marketable investments   0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
   
Commercial Paper | Level 2        
Amortized Costs 9,043us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
30,374us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
   
Gross Unrealized Gains 1us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
5us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
   
Gross Unrealized Loss 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
   
Estimated Fair Value 9,044us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
30,379us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
   
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
   
Short-term marketable investments 9,044us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
30,379us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
   
Long-term marketable investments   0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
   
Corporate Debt | Level 2        
Amortized Costs 75,284us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
63,621us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
   
Gross Unrealized Gains 57us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
35us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
   
Gross Unrealized Loss (10)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
(39)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
   
Estimated Fair Value 75,331us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
63,617us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
   
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
   
Short-term marketable investments 75,331us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
14,893us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
   
Long-term marketable investments   48,724us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
   
Municipal Securities | Level 2        
Amortized Costs 5,435us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
5,435us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
   
Gross Unrealized Gains 2us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
5us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
   
Gross Unrealized Loss (1)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(1)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
   
Estimated Fair Value 5,436us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
5,439us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
   
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
   
Short-term marketable investments 5,436us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
0us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
   
Long-term marketable investments   5,439us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
   
Asset-backed Securities | Level 2        
Amortized Costs 21,503us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
17,049us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
   
Gross Unrealized Gains 4us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
6us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
   
Gross Unrealized Loss (5)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
(1)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
   
Estimated Fair Value 21,502us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
17,054us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
   
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
   
Short-term marketable investments 21,502us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
0us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
   
Long-term marketable investments   17,054us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
   
Mortgage backed Securities | Level 2        
Amortized Costs 5,822us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_FixedIncomeSecuritiesMember
     
Gross Unrealized Gains 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_FixedIncomeSecuritiesMember
     
Gross Unrealized Loss (52)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_FixedIncomeSecuritiesMember
     
Estimated Fair Value 5,770us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_FixedIncomeSecuritiesMember
     
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_FixedIncomeSecuritiesMember
     
Short-term marketable investments 5,770us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_FixedIncomeSecuritiesMember
     
Agency Bond | Level 2        
Amortized Costs 4,201us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
     
Gross Unrealized Gains 3us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
     
Gross Unrealized Loss 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
     
Estimated Fair Value 4,204us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
     
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
     
Short-term marketable investments 4,204us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
     
International Government Securities | Level 2        
Amortized Costs 800us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
800us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
   
Gross Unrealized Gains 4us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
4us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
   
Gross Unrealized Loss 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
   
Estimated Fair Value 804us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
804us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
   
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
   
Short-term marketable investments 804us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
0us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
   
Long-term marketable investments   $ 804us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember