XML 46 R3.htm IDEA: XBRL DOCUMENT v2.4.1.9
CONSOLIDATED BALANCE SHEETS (Parenthetical) (USD $)
In Thousands, except Share data, unless otherwise specified
Jan. 31, 2015
Jan. 31, 2014
Current assets:    
Allowance for doubtful accounts $ 2,524us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent $ 2,450us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent
Stockholders' equity:    
Preferred stock, par value (in dollars per share) $ 0.001us-gaap_PreferredStockParOrStatedValuePerShare $ 0.001us-gaap_PreferredStockParOrStatedValuePerShare
Preferred stock, shares authorized (in shares) 5,000,000us-gaap_PreferredStockSharesAuthorized 5,000,000us-gaap_PreferredStockSharesAuthorized
Preferred stock, shares issued (in shares) 0us-gaap_PreferredStockSharesIssued 0us-gaap_PreferredStockSharesIssued
Preferred stock, shares outstanding (in shares) 0us-gaap_PreferredStockSharesOutstanding 0us-gaap_PreferredStockSharesOutstanding
Common stock:    
Treasury stock, at cost (in shares) 1,609,958us-gaap_TreasuryStockShares 1,930,436us-gaap_TreasuryStockShares
Common Class A [Member]    
Common stock:    
Common stock, par value (in dollars per share) $ 0.001us-gaap_CommonStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
$ 0.001us-gaap_CommonStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Common stock, shares authorized (in shares) 71,000,000us-gaap_CommonStockSharesAuthorized
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
71,000,000us-gaap_CommonStockSharesAuthorized
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Common stock, shares issued (in shares) 16,152,405us-gaap_CommonStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
14,150,089us-gaap_CommonStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Common Class B [Member]    
Common stock:    
Common stock, par value (in dollars per share) $ 0.001us-gaap_CommonStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
$ 0.001us-gaap_CommonStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
Common stock, shares authorized (in shares) 4,000,000us-gaap_CommonStockSharesAuthorized
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
4,000,000us-gaap_CommonStockSharesAuthorized
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
Common stock, shares issued (in shares) 3,537,298us-gaap_CommonStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
3,537,029us-gaap_CommonStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember