XML 73 R7.htm IDEA: XBRL DOCUMENT v2.4.1.9
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (USD $)
In Thousands, except Share data, unless otherwise specified
Total
Common Stock
Paid-in capital
Retained earnings
Accumulated other comprehensive loss
Beginning Balance at Dec. 31, 2011 $ 146,175us-gaap_StockholdersEquity $ 124us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
$ 137,467us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
$ 14,465us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
$ (5,881)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
Beginning Balance (in shares) at Dec. 31, 2011   12,431,000us-gaap_SharesOutstanding
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Comprehensive income:          
Net income 20,947us-gaap_NetIncomeLoss     20,947us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
 
Translation adjustment 3,077us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax       3,077us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
Derivative fair value adjustment (Note F) (272)us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax       (272)us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
Effect of retirement benefit obligations (1,160)us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax       (1,160)us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
Comprehensive (loss) income 22,592us-gaap_ComprehensiveIncomeNetOfTax        
Shares issued to directors (Note G) (in shares)   23,000us-gaap_StockIssuedDuringPeriodSharesOther
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Shares issued to directors (Note G) 267us-gaap_StockIssuedDuringPeriodValueOther   267us-gaap_StockIssuedDuringPeriodValueOther
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Stock compensation expense (Note G) 2,526us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue   2,526us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Issuance of common stock for acquisition of business (in shares)   144,000us-gaap_StockIssuedDuringPeriodSharesAcquisitions
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Issuance of common stock for acquisition of business 1,507us-gaap_StockIssuedDuringPeriodValueAcquisitions 1us-gaap_StockIssuedDuringPeriodValueAcquisitions
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
1,506us-gaap_StockIssuedDuringPeriodValueAcquisitions
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Tax benefit on exercise of stock options 150us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation   150us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Exercise of stock options (in shares) 199,823us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised 156,000us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Exercise of stock options 576us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised 3us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
573us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Dividends (Note G) (1,563)us-gaap_Dividends     (1,563)us-gaap_Dividends
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
 
Ending Balance at Dec. 31, 2012 172,230us-gaap_StockholdersEquity 128us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
142,489us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
33,849us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
(4,236)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
Ending Balance (in shares) at Dec. 31, 2012   12,754,000us-gaap_SharesOutstanding
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Comprehensive income:          
Net income 9,281us-gaap_NetIncomeLoss     9,281us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
 
Translation adjustment (140)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax       (140)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
Derivative fair value adjustment (Note F) 241us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax       241us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
Effect of retirement benefit obligations 415us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax       415us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
Comprehensive (loss) income 9,797us-gaap_ComprehensiveIncomeNetOfTax        
Shares issued to directors (Note G) (in shares)   21,000us-gaap_StockIssuedDuringPeriodSharesOther
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Shares issued to directors (Note G) 277us-gaap_StockIssuedDuringPeriodValueOther   277us-gaap_StockIssuedDuringPeriodValueOther
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Stock compensation expense (Note G) 2,604us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue   2,604us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Reduction of tax benefit from stock options, net (310)us-gaap_AdjustmentsToAdditionalPaidInCapitalIncomeTaxDeficiencyFromShareBasedCompensation   (310)us-gaap_AdjustmentsToAdditionalPaidInCapitalIncomeTaxDeficiencyFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Exercise of stock options (in shares) 247,827us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised 248,000us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Exercise of stock options 1,215us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised 2us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
1,213us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Treasury Stock Repurchase (in shares)   (246,000)us-gaap_StockRepurchasedDuringPeriodShares
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Treasury Stock Repurchase (3,229)us-gaap_StockRepurchasedDuringPeriodValue (2)us-gaap_StockRepurchasedDuringPeriodValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
  (3,227)us-gaap_StockRepurchasedDuringPeriodValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
 
Dividends (Note G) (1,679)us-gaap_Dividends     (1,679)us-gaap_Dividends
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
 
Ending Balance at Dec. 31, 2013 180,905us-gaap_StockholdersEquity 128us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
146,273us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
38,224us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
(3,720)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
Ending Balance (in shares) at Dec. 31, 2013   12,777,000us-gaap_SharesOutstanding
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Comprehensive income:          
Net income 1,544us-gaap_NetIncomeLoss     1,544us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
 
Translation adjustment (4,736)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax       (4,736)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
Derivative fair value adjustment (Note F) 13us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax       13us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
Effect of retirement benefit obligations (1,479)us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax       (1,479)us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
Comprehensive (loss) income (4,658)us-gaap_ComprehensiveIncomeNetOfTax        
Shares issued to directors (Note G) (in shares)   23,000us-gaap_StockIssuedDuringPeriodSharesOther
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Shares issued to directors (Note G) 344us-gaap_StockIssuedDuringPeriodValueOther   344us-gaap_StockIssuedDuringPeriodValueOther
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Shares issued to employee (Note G) (in shares)   5,000us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Shares issued to employee (Note G) 2us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation   2us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Stock compensation expense (Note G) 2,489us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue   2,489us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Issuance of common stock for acquisition of business (in shares)   581,000us-gaap_StockIssuedDuringPeriodSharesAcquisitions
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Issuance of common stock for acquisition of business 8,382us-gaap_StockIssuedDuringPeriodValueAcquisitions 6us-gaap_StockIssuedDuringPeriodValueAcquisitions
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
8,376us-gaap_StockIssuedDuringPeriodValueAcquisitions
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Tax benefit on exercise of stock options 343us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation   343us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Exercise of stock options (in shares) 365,223us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised 326,000us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
     
Exercise of stock options 2,491us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised 3us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
2,488us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
   
Dividends (Note G) (2,065)us-gaap_Dividends     (2,065)us-gaap_Dividends
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
 
Ending Balance at Dec. 31, 2014 $ 188,233us-gaap_StockholdersEquity $ 137us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
$ 160,315us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
$ 37,703us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
$ (9,922)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
Ending Balance (in shares) at Dec. 31, 2014   13,712,000us-gaap_SharesOutstanding
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember