XML 70 R34.htm IDEA: XBRL DOCUMENT v2.4.1.9
Summary of Short-Term Investments (Detail) (USD $)
In Thousands, unless otherwise specified
Jan. 31, 2015
Apr. 30, 2014
Schedule of Available-for-sale Securities [Line Items]    
Cost $ 59,040us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis $ 40,692us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
Gross Unrealized Gains 26us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax 19us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
Gross Unrealized Losses (58)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax (11)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
Fair Value 59,008us-gaap_AvailableForSaleSecurities 40,700us-gaap_AvailableForSaleSecurities
Certificates of Deposit    
Schedule of Available-for-sale Securities [Line Items]    
Cost 5,680us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_InvestmentTypeAxis
= us-gaap_CertificatesOfDepositMember
7,466us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_InvestmentTypeAxis
= us-gaap_CertificatesOfDepositMember
Gross Unrealized Gains 6us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CertificatesOfDepositMember
17us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CertificatesOfDepositMember
Gross Unrealized Losses (3)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CertificatesOfDepositMember
(9)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CertificatesOfDepositMember
Fair Value 5,683us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_CertificatesOfDepositMember
7,474us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_CertificatesOfDepositMember
Municipal Bonds    
Schedule of Available-for-sale Securities [Line Items]    
Cost 4,714us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_InvestmentTypeAxis
= us-gaap_MunicipalBondsMember
 
Gross Unrealized Gains 10us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_MunicipalBondsMember
 
Gross Unrealized Losses (26)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_MunicipalBondsMember
 
Fair Value 4,698us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_MunicipalBondsMember
 
Commercial Paper    
Schedule of Available-for-sale Securities [Line Items]    
Cost 5,839us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
 
Gross Unrealized Gains 1us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
 
Gross Unrealized Losses (2)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
 
Fair Value 5,838us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
 
US Treasury notes    
Schedule of Available-for-sale Securities [Line Items]    
Cost 28,823us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
33,226us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
Gross Unrealized Gains 4us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
2us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
Gross Unrealized Losses (17)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
(2)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
Fair Value 28,810us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
33,226us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
U.S. Treasury Bonds    
Schedule of Available-for-sale Securities [Line Items]    
Cost 5,001us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasuryBondSecuritiesMember
 
Gross Unrealized Losses (3)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasuryBondSecuritiesMember
 
Fair Value 4,998us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasuryBondSecuritiesMember
 
Corporate Notes    
Schedule of Available-for-sale Securities [Line Items]    
Cost 2,709us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateNoteSecuritiesMember
 
Gross Unrealized Gains 4us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateNoteSecuritiesMember
 
Fair Value 2,713us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateNoteSecuritiesMember
 
Corporate Bonds    
Schedule of Available-for-sale Securities [Line Items]    
Cost 6,274us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateBondSecuritiesMember
 
Gross Unrealized Gains 1us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateBondSecuritiesMember
 
Gross Unrealized Losses (7)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateBondSecuritiesMember
 
Fair Value $ 6,268us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateBondSecuritiesMember