XML 110 R88.htm IDEA: XBRL DOCUMENT v2.4.1.9
Quarterly Results of Operations (Unaudited) - Summary of Unaudited Quarterly Results of Operations (Detail) (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
Quarterly Financial Information Disclosure [Abstract]                      
Net sales $ 153,761us-gaap_SalesRevenueGoodsNet $ 125,632us-gaap_SalesRevenueGoodsNet $ 106,680us-gaap_SalesRevenueGoodsNet $ 102,528us-gaap_SalesRevenueGoodsNet $ 90,081us-gaap_SalesRevenueGoodsNet $ 93,023us-gaap_SalesRevenueGoodsNet $ 96,305us-gaap_SalesRevenueGoodsNet $ 93,797us-gaap_SalesRevenueGoodsNet $ 488,601us-gaap_SalesRevenueGoodsNet $ 373,206us-gaap_SalesRevenueGoodsNet $ 370,084us-gaap_SalesRevenueGoodsNet
Income from operations 8,560us-gaap_OperatingIncomeLoss 2,552us-gaap_OperatingIncomeLoss 8,237us-gaap_OperatingIncomeLoss 8,338us-gaap_OperatingIncomeLoss 6,474us-gaap_OperatingIncomeLoss 7,794us-gaap_OperatingIncomeLoss 7,920us-gaap_OperatingIncomeLoss 5,639us-gaap_OperatingIncomeLoss 27,687us-gaap_OperatingIncomeLoss 27,827us-gaap_OperatingIncomeLoss 25,071us-gaap_OperatingIncomeLoss
Net income $ 1,619us-gaap_NetIncomeLoss $ (3,840)us-gaap_NetIncomeLoss $ 5,200us-gaap_NetIncomeLoss $ 5,238us-gaap_NetIncomeLoss $ 4,485us-gaap_NetIncomeLoss $ 5,052us-gaap_NetIncomeLoss $ 4,770us-gaap_NetIncomeLoss $ 2,871us-gaap_NetIncomeLoss $ 8,217us-gaap_NetIncomeLoss $ 17,178us-gaap_NetIncomeLoss $ 24,268us-gaap_NetIncomeLoss
Basic net income per share $ 0.09us-gaap_EarningsPerShareBasic $ (0.21)us-gaap_EarningsPerShareBasic $ 0.29us-gaap_EarningsPerShareBasic $ 0.30us-gaap_EarningsPerShareBasic $ 0.25us-gaap_EarningsPerShareBasic $ 0.29us-gaap_EarningsPerShareBasic $ 0.28us-gaap_EarningsPerShareBasic $ 0.17us-gaap_EarningsPerShareBasic $ 0.46us-gaap_EarningsPerShareBasic $ 1.00us-gaap_EarningsPerShareBasic $ 1.43us-gaap_EarningsPerShareBasic
Diluted net income per share $ 0.08us-gaap_EarningsPerShareDiluted $ (0.21)us-gaap_EarningsPerShareDiluted $ 0.29us-gaap_EarningsPerShareDiluted $ 0.29us-gaap_EarningsPerShareDiluted $ 0.25us-gaap_EarningsPerShareDiluted $ 0.29us-gaap_EarningsPerShareDiluted $ 0.28us-gaap_EarningsPerShareDiluted $ 0.17us-gaap_EarningsPerShareDiluted $ 0.45us-gaap_EarningsPerShareDiluted $ 1.00us-gaap_EarningsPerShareDiluted $ 1.42us-gaap_EarningsPerShareDiluted
Weighted average shares outstanding:                      
Basic number of shares 18,970us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 17,979us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 17,779us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 17,656us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 17,527us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 17,302us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 17,136us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 17,055us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 17,887us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 17,176us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 17,009us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
Effect of dilutive stock options 347us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements   393us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements 306us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements 290us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements 148us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements 36us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements 107us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements 366us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements 84us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements 105us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
Diluted number of shares 19,317us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 17,979us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 18,172us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 17,962us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 17,817us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 17,450us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 17,172us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 17,162us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 18,253us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 17,260us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 17,114us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding