XML 56 R65.htm IDEA: XBRL DOCUMENT v2.4.1.9
SELECTED QUARTERLY FINANCIAL DATA - Consolidated Statements of Operations (Details) (USD $)
In Thousands, except Share data, unless otherwise specified
3 Months Ended 6 Months Ended 9 Months Ended 12 Months Ended 3 Months Ended
Sep. 30, 2014
Jun. 30, 2014
Mar. 31, 2014
Dec. 31, 2013
Sep. 30, 2013
Jun. 30, 2013
Mar. 31, 2013
Jun. 30, 2014
Jun. 30, 2013
Sep. 30, 2014
Sep. 30, 2013
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Dec. 31, 2014
NET SALES $ 51,886us-gaap_SalesRevenueNet $ 51,911us-gaap_SalesRevenueNet $ 46,769us-gaap_SalesRevenueNet $ 49,339us-gaap_SalesRevenueNet $ 52,331us-gaap_SalesRevenueNet $ 55,554us-gaap_SalesRevenueNet $ 44,836us-gaap_SalesRevenueNet $ 98,680us-gaap_SalesRevenueNet $ 100,390us-gaap_SalesRevenueNet $ 150,566us-gaap_SalesRevenueNet $ 152,720us-gaap_SalesRevenueNet $ 202,561us-gaap_SalesRevenueNet $ 202,060us-gaap_SalesRevenueNet $ 192,737us-gaap_SalesRevenueNet  
COST OF PRODUCTS SOLD 36,803us-gaap_CostOfGoodsSold 36,013us-gaap_CostOfGoodsSold 32,055us-gaap_CostOfGoodsSold 36,495us-gaap_CostOfGoodsSold 36,229us-gaap_CostOfGoodsSold 39,155us-gaap_CostOfGoodsSold 32,047us-gaap_CostOfGoodsSold 68,067us-gaap_CostOfGoodsSold 71,203us-gaap_CostOfGoodsSold 104,871us-gaap_CostOfGoodsSold 107,431us-gaap_CostOfGoodsSold 141,142us-gaap_CostOfGoodsSold 143,926us-gaap_CostOfGoodsSold 135,085us-gaap_CostOfGoodsSold  
Gross profit 15,083us-gaap_GrossProfit 15,898us-gaap_GrossProfit 14,714us-gaap_GrossProfit 12,844us-gaap_GrossProfit 16,102us-gaap_GrossProfit 16,399us-gaap_GrossProfit 12,789us-gaap_GrossProfit 30,613us-gaap_GrossProfit 29,187us-gaap_GrossProfit 45,695us-gaap_GrossProfit 45,289us-gaap_GrossProfit 61,419us-gaap_GrossProfit 58,134us-gaap_GrossProfit 57,652us-gaap_GrossProfit  
COSTS AND EXPENSES:                              
General and administrative expenses 5,463us-gaap_GeneralAndAdministrativeExpense 5,771us-gaap_GeneralAndAdministrativeExpense 5,792us-gaap_GeneralAndAdministrativeExpense 5,980us-gaap_GeneralAndAdministrativeExpense 5,672us-gaap_GeneralAndAdministrativeExpense 5,006us-gaap_GeneralAndAdministrativeExpense 8,014us-gaap_GeneralAndAdministrativeExpense 11,564us-gaap_GeneralAndAdministrativeExpense 13,019us-gaap_GeneralAndAdministrativeExpense 17,027us-gaap_GeneralAndAdministrativeExpense 18,694us-gaap_GeneralAndAdministrativeExpense 23,766us-gaap_GeneralAndAdministrativeExpense 24,672us-gaap_GeneralAndAdministrativeExpense 18,489us-gaap_GeneralAndAdministrativeExpense  
Selling and distribution expenses 4,639us-gaap_SellingExpense 4,733us-gaap_SellingExpense 4,223us-gaap_SellingExpense 4,138us-gaap_SellingExpense 3,658us-gaap_SellingExpense 4,310us-gaap_SellingExpense 4,030us-gaap_SellingExpense 8,956us-gaap_SellingExpense 8,340us-gaap_SellingExpense 13,596us-gaap_SellingExpense 11,997us-gaap_SellingExpense 18,104us-gaap_SellingExpense 16,136us-gaap_SellingExpense 16,954us-gaap_SellingExpense  
Amortization of purchased intangible assets 1,575us-gaap_AmortizationOfIntangibleAssets 1,617us-gaap_AmortizationOfIntangibleAssets 1,616us-gaap_AmortizationOfIntangibleAssets 1,614us-gaap_AmortizationOfIntangibleAssets 1,581us-gaap_AmortizationOfIntangibleAssets 1,568us-gaap_AmortizationOfIntangibleAssets 1,585us-gaap_AmortizationOfIntangibleAssets 3,232us-gaap_AmortizationOfIntangibleAssets 3,153us-gaap_AmortizationOfIntangibleAssets 4,808us-gaap_AmortizationOfIntangibleAssets 4,734us-gaap_AmortizationOfIntangibleAssets 6,103us-gaap_AmortizationOfIntangibleAssets 6,348us-gaap_AmortizationOfIntangibleAssets 6,210us-gaap_AmortizationOfIntangibleAssets  
Restructuring and impairment charges       0us-gaap_RestructuringSettlementAndImpairmentProvisions               6,781us-gaap_RestructuringSettlementAndImpairmentProvisions 0us-gaap_RestructuringSettlementAndImpairmentProvisions 0us-gaap_RestructuringSettlementAndImpairmentProvisions  
Total costs and expenses 11,677us-gaap_OperatingExpenses 12,121us-gaap_OperatingExpenses 11,631us-gaap_OperatingExpenses 11,732us-gaap_OperatingExpenses 10,911us-gaap_OperatingExpenses 10,884us-gaap_OperatingExpenses 13,629us-gaap_OperatingExpenses 23,752us-gaap_OperatingExpenses 24,512us-gaap_OperatingExpenses 35,431us-gaap_OperatingExpenses 35,425us-gaap_OperatingExpenses 54,754us-gaap_OperatingExpenses 47,156us-gaap_OperatingExpenses 41,653us-gaap_OperatingExpenses  
Segment operating income 3,406us-gaap_OperatingIncomeLoss 3,777us-gaap_OperatingIncomeLoss 3,083us-gaap_OperatingIncomeLoss 1,112us-gaap_OperatingIncomeLoss 5,191us-gaap_OperatingIncomeLoss 5,515us-gaap_OperatingIncomeLoss (840)us-gaap_OperatingIncomeLoss 6,861us-gaap_OperatingIncomeLoss 4,675us-gaap_OperatingIncomeLoss 10,264us-gaap_OperatingIncomeLoss 9,864us-gaap_OperatingIncomeLoss 6,665us-gaap_OperatingIncomeLoss 10,978us-gaap_OperatingIncomeLoss 15,999us-gaap_OperatingIncomeLoss  
OTHER INCOME (EXPENSE):                              
Other income (expense), net 472us-gaap_OtherNonoperatingIncomeExpense 332us-gaap_OtherNonoperatingIncomeExpense (435)us-gaap_OtherNonoperatingIncomeExpense (157)us-gaap_OtherNonoperatingIncomeExpense (247)us-gaap_OtherNonoperatingIncomeExpense (420)us-gaap_OtherNonoperatingIncomeExpense 296us-gaap_OtherNonoperatingIncomeExpense (103)us-gaap_OtherNonoperatingIncomeExpense (124)us-gaap_OtherNonoperatingIncomeExpense 369us-gaap_OtherNonoperatingIncomeExpense (371)us-gaap_OtherNonoperatingIncomeExpense (313)us-gaap_OtherNonoperatingIncomeExpense (528)us-gaap_OtherNonoperatingIncomeExpense (32)us-gaap_OtherNonoperatingIncomeExpense  
Interest expense (137)us-gaap_InterestExpense (174)us-gaap_InterestExpense (109)us-gaap_InterestExpense (164)us-gaap_InterestExpense (129)us-gaap_InterestExpense (183)us-gaap_InterestExpense (172)us-gaap_InterestExpense (283)us-gaap_InterestExpense (355)us-gaap_InterestExpense (420)us-gaap_InterestExpense (484)us-gaap_InterestExpense (551)us-gaap_InterestExpense (648)us-gaap_InterestExpense (832)us-gaap_InterestExpense  
Interest income 1us-gaap_InvestmentIncomeInterest 1us-gaap_InvestmentIncomeInterest 5us-gaap_InvestmentIncomeInterest 2us-gaap_InvestmentIncomeInterest 1us-gaap_InvestmentIncomeInterest 1us-gaap_InvestmentIncomeInterest 3us-gaap_InvestmentIncomeInterest 5us-gaap_InvestmentIncomeInterest 4us-gaap_InvestmentIncomeInterest 6us-gaap_InvestmentIncomeInterest 5us-gaap_InvestmentIncomeInterest 38us-gaap_InvestmentIncomeInterest 7us-gaap_InvestmentIncomeInterest 13us-gaap_InvestmentIncomeInterest  
INCOME BEFORE INCOME TAXES, DISCONTINUED OPERATIONS AND NON-CONTROLLING INTEREST 3,742us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest 3,936us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest 2,544us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest 793us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest 4,816us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest 4,913us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest (713)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest 6,480us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest 4,200us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest 10,219us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest 9,014us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest 5,839us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest 9,809us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest 15,148us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest  
INCOME TAX PROVISION 1,420us-gaap_IncomeTaxExpenseBenefit 1,839us-gaap_IncomeTaxExpenseBenefit 741us-gaap_IncomeTaxExpenseBenefit 698us-gaap_IncomeTaxExpenseBenefit 1,838us-gaap_IncomeTaxExpenseBenefit 2,141us-gaap_IncomeTaxExpenseBenefit (941)us-gaap_IncomeTaxExpenseBenefit 2,580us-gaap_IncomeTaxExpenseBenefit 1,201us-gaap_IncomeTaxExpenseBenefit 4,000us-gaap_IncomeTaxExpenseBenefit 3,039us-gaap_IncomeTaxExpenseBenefit 3,913us-gaap_IncomeTaxExpenseBenefit 3,736us-gaap_IncomeTaxExpenseBenefit 5,316us-gaap_IncomeTaxExpenseBenefit  
INCOME FROM CONTINUING OPERATIONS 2,322us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest 2,097us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest 1,803us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest 95us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest 2,978us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest 2,772us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest 228us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest 3,900us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest 2,999us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest 6,219us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest 5,975us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest 1,926us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest 6,073us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest 9,832us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest  
DISCONTINUED OPERATIONS:                              
Income (loss) from operations of discontinued operations, net of tax 20us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax 219us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax (316)us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax 6us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax 255us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax 310us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax (93)us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax (97)us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax 217us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax (77)us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax 473us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax (77)us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax 478us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax 943us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax  
Gain on sale of discontinued operations, net of tax       0us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax               718us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax 0us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax 0us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax  
Income from discontinued operations       6us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax               641us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax 478us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax 943us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax  
Net income including non-controlling interest 2,342us-gaap_ProfitLoss 2,316us-gaap_ProfitLoss 1,487us-gaap_ProfitLoss 101us-gaap_ProfitLoss 3,233us-gaap_ProfitLoss 3,082us-gaap_ProfitLoss 135us-gaap_ProfitLoss 3,803us-gaap_ProfitLoss 3,216us-gaap_ProfitLoss 6,142us-gaap_ProfitLoss 6,448us-gaap_ProfitLoss 2,567us-gaap_ProfitLoss [1] 6,551us-gaap_ProfitLoss [1] 10,775us-gaap_ProfitLoss [1]  
Less: Net income (loss) attributable to non-controlling interest 0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest 0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest 0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest   49us-gaap_NetIncomeLossAttributableToNoncontrollingInterest 15us-gaap_NetIncomeLossAttributableToNoncontrollingInterest 28us-gaap_NetIncomeLossAttributableToNoncontrollingInterest 0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest 43us-gaap_NetIncomeLossAttributableToNoncontrollingInterest 0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest 92us-gaap_NetIncomeLossAttributableToNoncontrollingInterest 0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest 92us-gaap_NetIncomeLossAttributableToNoncontrollingInterest (2)us-gaap_NetIncomeLossAttributableToNoncontrollingInterest  
NET INCOME ATTRIBUTABLE TO DYNAMIC MATERIALS CORPORATION 2,342us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic 2,316us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic 1,487us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic   3,184us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic 3,067us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic 107us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic 3,803us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic 3,173us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic 6,142us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic 6,356us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic 2,567us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic 6,459us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic 10,777us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic  
INCOME (LOSS) PER SHARE - BASIC:                              
Continuing operations (in dollars per share) $ 0.17us-gaap_IncomeLossFromContinuingOperationsPerBasicShare $ 0.15us-gaap_IncomeLossFromContinuingOperationsPerBasicShare $ 0.13us-gaap_IncomeLossFromContinuingOperationsPerBasicShare $ 0.01us-gaap_IncomeLossFromContinuingOperationsPerBasicShare $ 0.21us-gaap_IncomeLossFromContinuingOperationsPerBasicShare $ 0.20us-gaap_IncomeLossFromContinuingOperationsPerBasicShare $ 0.02us-gaap_IncomeLossFromContinuingOperationsPerBasicShare $ 0.28us-gaap_IncomeLossFromContinuingOperationsPerBasicShare $ 0.21us-gaap_IncomeLossFromContinuingOperationsPerBasicShare $ 0.45us-gaap_IncomeLossFromContinuingOperationsPerBasicShare $ 0.43us-gaap_IncomeLossFromContinuingOperationsPerBasicShare $ 0.13us-gaap_IncomeLossFromContinuingOperationsPerBasicShare $ 0.44us-gaap_IncomeLossFromContinuingOperationsPerBasicShare $ 0.73us-gaap_IncomeLossFromContinuingOperationsPerBasicShare  
Discontinued operations (in dollars per share) $ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare $ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare $ (0.02)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare $ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare $ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare $ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare $ (0.01)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare $ (0.01)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare $ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare $ (0.01)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare $ 0.03us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare $ 0.05us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare $ 0.03us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare $ 0.07us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare  
Net income (in dollars per share) $ 0.17us-gaap_EarningsPerShareBasic $ 0.17us-gaap_EarningsPerShareBasic $ 0.11us-gaap_EarningsPerShareBasic $ 0.01us-gaap_EarningsPerShareBasic $ 0.23us-gaap_EarningsPerShareBasic $ 0.22us-gaap_EarningsPerShareBasic $ 0.01us-gaap_EarningsPerShareBasic $ 0.27us-gaap_EarningsPerShareBasic $ 0.23us-gaap_EarningsPerShareBasic $ 0.44us-gaap_EarningsPerShareBasic $ 0.46us-gaap_EarningsPerShareBasic $ 0.18us-gaap_EarningsPerShareBasic $ 0.47us-gaap_EarningsPerShareBasic $ 0.80us-gaap_EarningsPerShareBasic  
INCOME (LOSS) PER SHARE - DILUTED:                              
Continuing operations (in dollars per share) $ 0.17us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare $ 0.15us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare $ 0.13us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare $ 0.01us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare $ 0.21us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare $ 0.20us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare $ 0.02us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare $ 0.28us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare $ 0.21us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare $ 0.45us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare $ 0.43us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare $ 0.13us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare $ 0.44us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare $ 0.73us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare  
Discontinued operations (in dollars per share) $ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare $ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare $ (0.02)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare $ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare $ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare $ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare $ (0.01)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare $ (0.01)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare $ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare $ (0.01)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare $ 0.03us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare $ 0.05us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare $ 0.03us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare $ 0.07us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare  
Net income (in dollars per share) $ 0.17us-gaap_EarningsPerShareDiluted $ 0.17us-gaap_EarningsPerShareDiluted $ 0.11us-gaap_EarningsPerShareDiluted $ 0.01us-gaap_EarningsPerShareDiluted $ 0.23us-gaap_EarningsPerShareDiluted $ 0.22us-gaap_EarningsPerShareDiluted $ 0.01us-gaap_EarningsPerShareDiluted $ 0.27us-gaap_EarningsPerShareDiluted $ 0.23us-gaap_EarningsPerShareDiluted $ 0.44us-gaap_EarningsPerShareDiluted $ 0.46us-gaap_EarningsPerShareDiluted $ 0.18us-gaap_EarningsPerShareDiluted $ 0.47us-gaap_EarningsPerShareDiluted $ 0.80us-gaap_EarningsPerShareDiluted  
WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING:                              
Basic (in shares) 13,688,649us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 13,672,457us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 13,644,239us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 13,543,007us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 13,540,394us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 13,526,623us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 13,509,792us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 13,668,223us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 13,523,028us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 13,676,730us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 13,528,880us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 13,687,485us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 13,533,566us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 13,264,636us-gaap_WeightedAverageNumberOfSharesOutstandingBasic  
Diluted (in shares) 13,690,174us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 13,677,911us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 13,649,953us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 13,549,288us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 13,544,665us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 13,530,588us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 13,513,797us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 13,673,807us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 13,527,011us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 13,681,790us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 13,532,973us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 13,689,707us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 13,537,525us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 13,268,713us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding  
DIVIDENDS DECLARED PER COMMON SHARE (in dollars per share) $ 0.04us-gaap_CommonStockDividendsPerShareDeclared $ 0.04000us-gaap_CommonStockDividendsPerShareDeclared $ 0.04000us-gaap_CommonStockDividendsPerShareDeclared $ 0.04000us-gaap_CommonStockDividendsPerShareDeclared $ 0.04us-gaap_CommonStockDividendsPerShareDeclared $ 0.04000us-gaap_CommonStockDividendsPerShareDeclared $ 0.04000us-gaap_CommonStockDividendsPerShareDeclared $ 0.08000us-gaap_CommonStockDividendsPerShareDeclared $ 0.08000us-gaap_CommonStockDividendsPerShareDeclared $ 0.12us-gaap_CommonStockDividendsPerShareDeclared $ 0.12us-gaap_CommonStockDividendsPerShareDeclared $ 0.16us-gaap_CommonStockDividendsPerShareDeclared $ 0.16us-gaap_CommonStockDividendsPerShareDeclared $ 0.16us-gaap_CommonStockDividendsPerShareDeclared  
As Reported                              
NET SALES 51,886us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
51,911us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
46,769us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
49,339us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
52,331us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
55,554us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
44,836us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
98,680us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
100,390us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
150,566us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
152,720us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  202,060us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
192,737us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
51,995us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
COST OF PRODUCTS SOLD 36,803us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
36,067us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
32,203us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
36,495us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
36,229us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
39,155us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
32,047us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
68,269us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
71,203us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
105,073us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
107,431us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  143,926us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
135,085us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
36,271us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Gross profit 15,083us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
15,844us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
14,566us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
12,844us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
16,102us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
16,399us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
12,789us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
30,411us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
29,187us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
45,493us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
45,289us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  58,134us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
57,652us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
15,724us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
COSTS AND EXPENSES:                              
General and administrative expenses 5,503us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
5,813us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
5,542us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
5,980us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
5,672us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
5,006us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
8,014us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
11,356us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,019us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
16,858us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
18,694us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  24,672us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
18,489us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
6,740us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Selling and distribution expenses 4,639us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,733us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,223us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,138us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3,658us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,310us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,030us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
8,956us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
8,340us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,596us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
11,997us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  16,136us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
16,954us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,509us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Amortization of purchased intangible assets 1,575us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1,617us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1,616us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1,614us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1,581us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1,568us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1,585us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3,232us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3,153us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,808us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,734us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  6,348us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
6,210us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1,295us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Restructuring and impairment charges       0us-gaap_RestructuringSettlementAndImpairmentProvisions
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
                    6,781us-gaap_RestructuringSettlementAndImpairmentProvisions
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Total costs and expenses 11,717us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
12,163us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
11,381us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
11,732us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
10,911us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
10,884us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,629us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
23,544us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
24,512us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
35,262us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
35,425us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  47,156us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
41,653us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
19,325us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Segment operating income 3,366us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3,681us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3,185us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1,112us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
5,191us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
5,515us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(840)us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
6,867us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,675us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
10,231us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
9,864us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  10,978us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
15,999us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(3,601)us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
OTHER INCOME (EXPENSE):                              
Other income (expense), net 472us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
332us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(435)us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(157)us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(247)us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(420)us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
296us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(103)us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(124)us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
369us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(371)us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  (528)us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(32)us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(682)us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Interest expense (137)us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(174)us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(109)us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(164)us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(129)us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(183)us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(172)us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(283)us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(355)us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(420)us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(484)us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  (648)us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(832)us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(132)us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Interest income 1us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
5us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
2us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
5us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
6us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
5us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  7us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
32us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
INCOME BEFORE INCOME TAXES, DISCONTINUED OPERATIONS AND NON-CONTROLLING INTEREST 3,702us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3,840us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
2,646us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
793us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,816us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,913us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(713)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
6,486us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,200us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
10,186us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
9,014us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  9,809us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
15,148us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(4,383)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
INCOME TAX PROVISION 1,224us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1,172us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
692us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
522us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1,460us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1,768us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(1,049)us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1,864us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
719us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3,088us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
2,179us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  2,700us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,397us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(87)us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
INCOME FROM CONTINUING OPERATIONS 2,478us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
2,668us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1,954us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
271us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3,356us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3,145us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
336us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,622us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3,481us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
7,098us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
6,835us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  7,109us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
10,751us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(4,296)us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
DISCONTINUED OPERATIONS:                              
Income (loss) from operations of discontinued operations, net of tax 20us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
219us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(316)us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
6us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
255us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
310us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(93)us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(97)us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
217us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(77)us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
473us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  478us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
943us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
0us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Gain on sale of discontinued operations, net of tax       0us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
                    718us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Income from discontinued operations       6us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
                    718us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Net income including non-controlling interest 2,498us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
2,887us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1,638us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
277us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3,611us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3,455us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
243us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,525us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3,698us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
7,021us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
7,308us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  7,587us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
11,694us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(3,578)us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Less: Net income (loss) attributable to non-controlling interest 0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  49us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
15us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
28us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
43us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
92us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  92us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
(2)us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
 
NET INCOME ATTRIBUTABLE TO DYNAMIC MATERIALS CORPORATION 2,498us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
2,887us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
1,638us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  3,562us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3,440us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
215us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
4,525us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
3,655us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
7,021us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
7,216us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  7,495us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
11,696us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
 
INCOME (LOSS) PER SHARE - BASIC:                              
Continuing operations (in dollars per share) $ 0.18us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.19us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.14us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.02us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.24us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.23us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.03us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.33us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.25us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.51us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.49us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  $ 0.52us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.80us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ (0.32)us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Discontinued operations (in dollars per share) $ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ (0.02)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ (0.01)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ (0.01)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ (0.01)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.03us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  $ 0.03us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.07us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.05us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Net income (in dollars per share) $ 0.18us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.21us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.12us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.02us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.26us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.25us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.02us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.32us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.27us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.50us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.52us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  $ 0.55us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.87us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ (0.27)us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
INCOME (LOSS) PER SHARE - DILUTED:                              
Continuing operations (in dollars per share) $ 0.18us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.19us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.14us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.02us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.24us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.23us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.03us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.33us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.25us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.51us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.49us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  $ 0.51us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.80us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ (0.32)us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Discontinued operations (in dollars per share) $ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ (0.02)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ (0.01)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ (0.01)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.02us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ (0.01)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.03us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  $ 0.03us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.07us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.05us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Net income (in dollars per share) $ 0.18us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.21us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.12us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.02us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.26us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.25us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.02us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.32us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.27us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.50us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.52us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  $ 0.54us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.87us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ (0.27)us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING:                              
Basic (in shares) 13,688,649us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,672,457us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,644,239us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,543,007us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,540,394us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,526,623us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,509,792us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,668,223us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,523,028us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,676,730us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,528,880us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  13,533,566us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,264,636us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,696,399us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Diluted (in shares) 13,690,174us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,677,911us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,649,953us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,549,288us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,544,665us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,530,588us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,513,797us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,673,807us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,527,011us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,681,790us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,532,973us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  13,537,525us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,268,713us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
13,697,821us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
DIVIDENDS DECLARED PER COMMON SHARE (in dollars per share) $ 0.04us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.04us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.04us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.04us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.04us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.04us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.04us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.08us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.08us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.12us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.12us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  $ 0.16us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.16us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
$ 0.04us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Adjustments                              
NET SALES 0us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SalesRevenueNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
COST OF PRODUCTS SOLD 0us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(54)us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(148)us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(202)us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(202)us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_CostOfGoodsSold
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
Gross profit 0us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
54us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
148us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
202us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
202us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
COSTS AND EXPENSES:                              
General and administrative expenses (40)us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(42)us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
250us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
208us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
169us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_GeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
Selling and distribution expenses 0us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_SellingExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
Amortization of purchased intangible assets 0us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_AmortizationOfIntangibleAssets
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
Restructuring and impairment charges       0us-gaap_RestructuringSettlementAndImpairmentProvisions
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
                     
Total costs and expenses (40)us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(42)us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
250us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
208us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
169us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OperatingExpenses
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
Segment operating income 40us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
96us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(102)us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(6)us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
33us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
OTHER INCOME (EXPENSE):                              
Other income (expense), net 0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
Interest expense 0us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InterestExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
Interest income 0us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_InvestmentIncomeInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
INCOME BEFORE INCOME TAXES, DISCONTINUED OPERATIONS AND NON-CONTROLLING INTEREST 40us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
96us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(102)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(6)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
33us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
INCOME TAX PROVISION 196us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
667us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
49us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
176us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
378us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
373us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
108us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
716us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
482us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
912us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
860us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  1,036us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
919us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
INCOME FROM CONTINUING OPERATIONS (156)us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(571)us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(151)us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(176)us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(378)us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(373)us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(108)us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(722)us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(482)us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(879)us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(860)us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  (1,036)us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(919)us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
DISCONTINUED OPERATIONS:                              
Income (loss) from operations of discontinued operations, net of tax 0us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_DiscontinuedOperationIncomeLossFromDiscontinuedOperationDuringPhaseOutPeriodNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
Gain on sale of discontinued operations, net of tax       0us-gaap_DiscontinuedOperationGainLossOnDisposalOfDiscontinuedOperationNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
                     
Income from discontinued operations       0us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
                     
Net income including non-controlling interest (156)us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(571)us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(151)us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(176)us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(378)us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(373)us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(108)us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(722)us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(482)us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(879)us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(860)us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  (1,036)us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
(919)us-gaap_ProfitLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
Less: Net income (loss) attributable to non-controlling interest 0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_NetIncomeLossAttributableToNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
NET INCOME ATTRIBUTABLE TO DYNAMIC MATERIALS CORPORATION $ (156)us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (571)us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (151)us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  $ (378)us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (373)us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (108)us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (722)us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (482)us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (879)us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (860)us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  $ (1,036)us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (919)us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
INCOME (LOSS) PER SHARE - BASIC:                              
Continuing operations (in dollars per share) $ (0.01)us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.04)us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.01)us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.01)us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.03)us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.03)us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.01)us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.05)us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.04)us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.06)us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.06)us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  $ (0.08)us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.07)us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
Discontinued operations (in dollars per share) $ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  $ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
Net income (in dollars per share) $ (0.01)us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.04)us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.01)us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.01)us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.03)us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.03)us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.01)us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.05)us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.04)us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.06)us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.06)us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  $ (0.08)us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.07)us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
INCOME (LOSS) PER SHARE - DILUTED:                              
Continuing operations (in dollars per share) $ (0.01)us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.04)us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.01)us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.01)us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.03)us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.03)us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.01)us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.05)us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.04)us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.06)us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.06)us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  $ (0.07)us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.07)us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
Discontinued operations (in dollars per share) $ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  $ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0.00us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
Net income (in dollars per share) $ (0.01)us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.04)us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.01)us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.01)us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.03)us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.03)us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.01)us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.05)us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.04)us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.06)us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.06)us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  $ (0.07)us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ (0.07)us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
WEIGHTED AVERAGE NUMBER OF SHARES OUTSTANDING:                              
Basic (in shares) 0us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
Diluted (in shares) 0us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  0us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
0us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
DIVIDENDS DECLARED PER COMMON SHARE (in dollars per share) $ 0us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
  $ 0us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
$ 0us-gaap_CommonStockDividendsPerShareDeclared
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioAdjustmentMember
 
[1] Restated