v2.4.1.9
The Company and Summary of Significant Accounting Policies (Revisions and Reclassifications) (Details) (USD $)
In Thousands, except Per Share data, unless otherwise specified
3 Months Ended 12 Months Ended
Dec. 31, 2014
Sep. 30, 2014
Jun. 30, 2014
Mar. 31, 2014
Dec. 31, 2013
Sep. 30, 2013
Jun. 30, 2013
Mar. 31, 2013
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Dec. 31, 2011
Other income (expense), net                 $ (1,077)us-gaap_OtherNonoperatingIncomeExpense $ (600)us-gaap_OtherNonoperatingIncomeExpense $ (247)us-gaap_OtherNonoperatingIncomeExpense  
Other income (expense), net (568)us-gaap_NonoperatingIncomeExpense (119)us-gaap_NonoperatingIncomeExpense 41us-gaap_NonoperatingIncomeExpense 12us-gaap_NonoperatingIncomeExpense (61)us-gaap_NonoperatingIncomeExpense 12us-gaap_NonoperatingIncomeExpense 51us-gaap_NonoperatingIncomeExpense (270)us-gaap_NonoperatingIncomeExpense (634)us-gaap_NonoperatingIncomeExpense (268)us-gaap_NonoperatingIncomeExpense (425)us-gaap_NonoperatingIncomeExpense  
Net income 25,913us-gaap_NetIncomeLoss 3,105us-gaap_NetIncomeLoss 1,657us-gaap_NetIncomeLoss (431)us-gaap_NetIncomeLoss 35us-gaap_NetIncomeLoss 1,297us-gaap_NetIncomeLoss 822us-gaap_NetIncomeLoss (613)us-gaap_NetIncomeLoss 30,244us-gaap_NetIncomeLoss 1,541us-gaap_NetIncomeLoss 2,221us-gaap_NetIncomeLoss  
Basic (in usd per share) $ 0.77us-gaap_EarningsPerShareBasic $ 0.09us-gaap_EarningsPerShareBasic $ 0.05us-gaap_EarningsPerShareBasic $ (0.01)us-gaap_EarningsPerShareBasic $ 0.00us-gaap_EarningsPerShareBasic $ 0.04us-gaap_EarningsPerShareBasic $ 0.03us-gaap_EarningsPerShareBasic $ (0.02)us-gaap_EarningsPerShareBasic $ 0.92us-gaap_EarningsPerShareBasic $ 0.05us-gaap_EarningsPerShareBasic $ 0.09us-gaap_EarningsPerShareBasic  
Diluted (in usd per share) $ 0.69us-gaap_EarningsPerShareDiluted $ 0.08us-gaap_EarningsPerShareDiluted $ 0.04us-gaap_EarningsPerShareDiluted $ (0.01)us-gaap_EarningsPerShareDiluted $ 0.00us-gaap_EarningsPerShareDiluted $ 0.04us-gaap_EarningsPerShareDiluted $ 0.02us-gaap_EarningsPerShareDiluted $ (0.02)us-gaap_EarningsPerShareDiluted $ 0.81us-gaap_EarningsPerShareDiluted $ 0.04us-gaap_EarningsPerShareDiluted $ 0.08us-gaap_EarningsPerShareDiluted  
Change in foreign currency translation gain (loss), net of zero tax                   0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax 0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax  
Comprehensive income                 30,216us-gaap_ComprehensiveIncomeNetOfTax 1,571us-gaap_ComprehensiveIncomeNetOfTax 2,229us-gaap_ComprehensiveIncomeNetOfTax  
Net cash provided by operating activities                 41,423us-gaap_NetCashProvidedByUsedInOperatingActivities 25,081us-gaap_NetCashProvidedByUsedInOperatingActivities 21,924us-gaap_NetCashProvidedByUsedInOperatingActivities  
Net cash used in investing activities                 (14,333)us-gaap_NetCashProvidedByUsedInInvestingActivities (20,675)us-gaap_NetCashProvidedByUsedInInvestingActivities (94,796)us-gaap_NetCashProvidedByUsedInInvestingActivities  
Effect of exchange rate changes on cash and cash equivalents                 (48)us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents 1us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents 7us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents  
Net increase in cash and cash equivalents                 34,135us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease 7,484us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease 10,337us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease  
Accumulated other comprehensive income 10us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax       38us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax       10us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax 38us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax 8us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax 0us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
Accumulated deficit (43,350)us-gaap_RetainedEarningsAccumulatedDeficit       (73,594)us-gaap_RetainedEarningsAccumulatedDeficit       (43,350)us-gaap_RetainedEarningsAccumulatedDeficit (73,594)us-gaap_RetainedEarningsAccumulatedDeficit (75,135)us-gaap_RetainedEarningsAccumulatedDeficit (77,356)us-gaap_RetainedEarningsAccumulatedDeficit
Total stockholders’ equity 151,827us-gaap_StockholdersEquity       103,117us-gaap_StockholdersEquity       151,827us-gaap_StockholdersEquity 103,117us-gaap_StockholdersEquity 91,555us-gaap_StockholdersEquity (64,424)us-gaap_StockholdersEquity
Scenario, Previously Reported [Member]                        
Other income (expense), net                   (517)us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(188)us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
 
Other income (expense), net                   (185)us-gaap_NonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(366)us-gaap_NonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
 
Net income                   1,624us-gaap_NetIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
2,280us-gaap_NetIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
 
Basic (in usd per share)                   $ 0.05us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.09us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
 
Diluted (in usd per share)                   $ 0.05us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.08us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
 
Change in foreign currency translation gain (loss), net of zero tax                   (83)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(59)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
 
Comprehensive income                   1,571us-gaap_ComprehensiveIncomeNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
2,229us-gaap_ComprehensiveIncomeNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
 
Net cash provided by operating activities                   25,146us-gaap_NetCashProvidedByUsedInOperatingActivities
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
21,952us-gaap_NetCashProvidedByUsedInOperatingActivities
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
 
Net cash used in investing activities                   (20,688)us-gaap_NetCashProvidedByUsedInInvestingActivities
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(94,784)us-gaap_NetCashProvidedByUsedInInvestingActivities
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
 
Effect of exchange rate changes on cash and cash equivalents                   (51)us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(33)us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
 
Net increase in cash and cash equivalents                   7,484us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
10,337us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
 
Accumulated other comprehensive income         (1,088)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
        (1,088)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(1,035)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(984)us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Accumulated deficit         (72,468)us-gaap_RetainedEarningsAccumulatedDeficit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
        (72,468)us-gaap_RetainedEarningsAccumulatedDeficit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(74,092)us-gaap_RetainedEarningsAccumulatedDeficit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(76,372)us-gaap_RetainedEarningsAccumulatedDeficit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Total stockholders’ equity         $ 103,117us-gaap_StockholdersEquity
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
        $ 103,117us-gaap_StockholdersEquity
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 91,555us-gaap_StockholdersEquity
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ (64,424)us-gaap_StockholdersEquity
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember