XML 66 R6.htm IDEA: XBRL DOCUMENT v2.4.1.9
Consolidated Statements of Shareholders' Equity (USD $)
In Thousands, except Share data
Total
Common Stock
Additional Paid-In Capital
Accumulated Other Comprehensive Income (Loss)
Accumulated Deficit
Beginning Balance at Dec. 31, 2011 $ 59,297us-gaap_StockholdersEquity $ 142us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
$ 90,711us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
$ (1,052)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
$ (30,504)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
Beginning Balance (in shares) at Dec. 31, 2011   14,165,000us-gaap_SharesOutstanding
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Common stock issued pursuant to stock plans (in shares)   307,000us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Common stock issued pursuant to stock plans 398us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation 3us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
395us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Common stock repurchased, shares   (273,000)us-gaap_StockRepurchasedDuringPeriodShares
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Common stock repurchased (1,332)us-gaap_StockRepurchasedDuringPeriodValue (3)us-gaap_StockRepurchasedDuringPeriodValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
(1,329)us-gaap_StockRepurchasedDuringPeriodValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Value of vested restricted stock withheld for tax liability (339)us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation   (339)us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Stock-based compensation 1,459us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue   1,459us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Foreign currency translation, net of tax 347us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax     347us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
 
Unrealized holding gain (loss) on investments, net of tax (11)us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax     (11)us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
 
Net income 6,099us-gaap_NetIncomeLoss       6,099us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
Ending Balance at Dec. 31, 2012 65,918us-gaap_StockholdersEquity 142us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
90,897us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
(716)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
(24,405)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
Ending Balance (in shares) at Dec. 31, 2012   14,199,000us-gaap_SharesOutstanding
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Common stock issued pursuant to stock plans (in shares)   421,000us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Common stock issued pursuant to stock plans 1,582us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation 4us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
1,578us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Common stock repurchased, shares   (10,000)us-gaap_StockRepurchasedDuringPeriodShares
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Common stock repurchased (58)us-gaap_StockRepurchasedDuringPeriodValue   (58)us-gaap_StockRepurchasedDuringPeriodValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Common stock issued in connection with acquisition (in shares)   1,608,000us-gaap_StockIssuedDuringPeriodSharesAcquisitions
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Common stock issued in connection with acquisition 14,524us-gaap_StockIssuedDuringPeriodValueAcquisitions 16us-gaap_StockIssuedDuringPeriodValueAcquisitions
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
14,508us-gaap_StockIssuedDuringPeriodValueAcquisitions
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Value of vested restricted stock withheld for tax liability (476)us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation   (476)us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Stock-based compensation 1,614us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue   1,614us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Tax benefit (Reversal of tax benefit) related to stock-based awards (155)us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation   (155)us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Foreign currency translation, net of tax 833us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax     833us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
 
Unrealized holding gain (loss) on investments, net of tax 1us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax     1us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
 
Net income 13,418us-gaap_NetIncomeLoss       13,418us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
Ending Balance at Dec. 31, 2013 97,201us-gaap_StockholdersEquity 162us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
107,908us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
118us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
(10,987)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
Ending Balance (in shares) at Dec. 31, 2013   16,218,000us-gaap_SharesOutstanding
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Common stock issued pursuant to stock plans (in shares)   363,000us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Common stock issued pursuant to stock plans 2,101us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation 4us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
2,097us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Common stock repurchased, shares (183,962)us-gaap_StockRepurchasedDuringPeriodShares (115,000)us-gaap_StockRepurchasedDuringPeriodShares
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Common stock repurchased (1,070)us-gaap_StockRepurchasedDuringPeriodValue (1)us-gaap_StockRepurchasedDuringPeriodValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
(1,069)us-gaap_StockRepurchasedDuringPeriodValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Value of vested restricted stock withheld for tax liability (699)us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation   (699)us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Stock-based compensation 2,482us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue   2,482us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Tax benefit (Reversal of tax benefit) related to stock-based awards 761us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation   761us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Foreign currency translation, net of tax (3,242)us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax     (3,242)us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
 
Unrealized holding gain (loss) on investments, net of tax (3)us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax     (3)us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
 
Net income 9,930us-gaap_NetIncomeLoss       9,930us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
Ending Balance at Dec. 31, 2014 $ 107,461us-gaap_StockholdersEquity $ 165us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
$ 111,480us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
$ (3,127)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
$ (1,057)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
Ending Balance (in shares) at Dec. 31, 2014   16,466,000us-gaap_SharesOutstanding
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember