XML 82 R41.htm IDEA: XBRL DOCUMENT v2.4.1.9
Restatement of Consolidated Financial Statements - Schedule of Impact of Restatement Adjustments on Previously Reported Consolidated Statement of Operations (Detail) (USD $)
3 Months Ended 6 Months Ended
Jun. 30, 2014
Jun. 30, 2013
Jun. 30, 2014
Jun. 30, 2013
Net sales $ 172,070,000us-gaap_Revenues $ 193,533,000us-gaap_Revenues $ 336,234,000us-gaap_Revenues $ 387,855,000us-gaap_Revenues
Cost of sales 136,613,000us-gaap_CostOfRevenue 148,292,000us-gaap_CostOfRevenue 260,500,000us-gaap_CostOfRevenue 284,379,000us-gaap_CostOfRevenue
Gross profit 35,457,000us-gaap_GrossProfit 45,241,000us-gaap_GrossProfit 75,734,000us-gaap_GrossProfit 103,476,000us-gaap_GrossProfit
Selling, general and administrative expenses 30,746,000us-gaap_SellingGeneralAndAdministrativeExpense 20,951,000us-gaap_SellingGeneralAndAdministrativeExpense 55,773,000us-gaap_SellingGeneralAndAdministrativeExpense 41,759,000us-gaap_SellingGeneralAndAdministrativeExpense
Research and development expenses 24,059,000us-gaap_ResearchAndDevelopmentExpense 21,625,000us-gaap_ResearchAndDevelopmentExpense 47,196,000us-gaap_ResearchAndDevelopmentExpense 42,640,000us-gaap_ResearchAndDevelopmentExpense
Restructuring and impairment charges       2,446,000us-gaap_RestructuringSettlementAndImpairmentProvisions
Operating income (19,348,000)us-gaap_OperatingIncomeLoss 2,665,000us-gaap_OperatingIncomeLoss (27,235,000)us-gaap_OperatingIncomeLoss 16,631,000us-gaap_OperatingIncomeLoss
Other income (expenses)        
Interest expense, net (4,007,000)us-gaap_InterestIncomeExpenseNonoperatingNet (5,879,000)us-gaap_InterestIncomeExpenseNonoperatingNet (8,077,000)us-gaap_InterestIncomeExpenseNonoperatingNet (11,728,000)us-gaap_InterestIncomeExpenseNonoperatingNet
Foreign currency gain (loss), net 38,424,000us-gaap_ForeignCurrencyTransactionGainLossBeforeTax (22,145,000)us-gaap_ForeignCurrencyTransactionGainLossBeforeTax 29,018,000us-gaap_ForeignCurrencyTransactionGainLossBeforeTax (45,603,000)us-gaap_ForeignCurrencyTransactionGainLossBeforeTax
Others 597,000us-gaap_OtherNonoperatingIncomeExpense 327,000us-gaap_OtherNonoperatingIncomeExpense 1,158,000us-gaap_OtherNonoperatingIncomeExpense 680,000us-gaap_OtherNonoperatingIncomeExpense
Net other income (expense) 35,014,000us-gaap_NonoperatingIncomeExpense (27,697,000)us-gaap_NonoperatingIncomeExpense 22,099,000us-gaap_NonoperatingIncomeExpense (56,651,000)us-gaap_NonoperatingIncomeExpense
Income (loss) before income taxes 15,666,000us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest (25,032,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest (5,136,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest (40,020,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
Income tax expenses (benefits) 656,000us-gaap_IncomeTaxExpenseBenefit (364,000)us-gaap_IncomeTaxExpenseBenefit 1,459,000us-gaap_IncomeTaxExpenseBenefit 2,237,000us-gaap_IncomeTaxExpenseBenefit
Net income (loss) 15,010,000us-gaap_NetIncomeLoss (24,668,000)us-gaap_NetIncomeLoss (6,595,000)us-gaap_NetIncomeLoss (42,257,000)us-gaap_NetIncomeLoss
Earnings (loss) per common share-        
Basic $ 0.44us-gaap_EarningsPerShareBasic $ (0.70)us-gaap_EarningsPerShareBasic $ (0.19)us-gaap_EarningsPerShareBasic $ (1.19)us-gaap_EarningsPerShareBasic
Diluted $ 0.43us-gaap_EarningsPerShareDiluted $ (0.70)us-gaap_EarningsPerShareDiluted $ (0.19)us-gaap_EarningsPerShareDiluted $ (1.19)us-gaap_EarningsPerShareDiluted
Weighted average number of shares-        
Basic 34,056,359us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 35,474,001us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 34,054,626us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 35,506,527us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
Diluted 35,177,915us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 35,474,001us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 34,054,626us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 35,506,527us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
As Previously Reported [Member]        
Net sales   215,289,000us-gaap_Revenues
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  420,587,000us-gaap_Revenues
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Cost of sales   144,241,000us-gaap_CostOfRevenue
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  283,796,000us-gaap_CostOfRevenue
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Gross profit   71,048,000us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  136,791,000us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Selling, general and administrative expenses   19,709,000us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  39,500,000us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Research and development expenses   21,131,000us-gaap_ResearchAndDevelopmentExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  41,713,000us-gaap_ResearchAndDevelopmentExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Restructuring and impairment charges       2,446,000us-gaap_RestructuringSettlementAndImpairmentProvisions
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Operating income   30,208,000us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  53,132,000us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Other income (expenses)        
Interest expense, net   (5,879,000)us-gaap_InterestIncomeExpenseNonoperatingNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  (11,728,000)us-gaap_InterestIncomeExpenseNonoperatingNet
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Foreign currency gain (loss), net   (20,978,000)us-gaap_ForeignCurrencyTransactionGainLossBeforeTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  (43,536,000)us-gaap_ForeignCurrencyTransactionGainLossBeforeTax
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Others   (230,000)us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  (490,000)us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Net other income (expense)   (27,087,000)us-gaap_NonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  (55,754,000)us-gaap_NonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Income (loss) before income taxes   3,121,000us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  (2,622,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Income tax expenses (benefits)   (1,315,000)us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  347,000us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Net income (loss)   4,436,000us-gaap_NetIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  (2,969,000)us-gaap_NetIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Earnings (loss) per common share-        
Basic   $ 0.13us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  $ (0.08)us-gaap_EarningsPerShareBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Diluted   $ 0.12us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  $ (0.08)us-gaap_EarningsPerShareDiluted
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Weighted average number of shares-        
Basic   35,474,001us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  35,506,527us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Diluted   37,125,005us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
  35,506,527us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementScenarioAxis
= us-gaap_ScenarioPreviouslyReportedMember
Adjustments [Member]        
Net sales   (21,756,000)us-gaap_Revenues
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (32,732,000)us-gaap_Revenues
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Cost of sales   4,051,000us-gaap_CostOfRevenue
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  583,000us-gaap_CostOfRevenue
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Gross profit   (25,807,000)us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (33,315,000)us-gaap_GrossProfit
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Selling, general and administrative expenses   1,242,000us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  2,259,000us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Research and development expenses   494,000us-gaap_ResearchAndDevelopmentExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  927,000us-gaap_ResearchAndDevelopmentExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Operating income   (27,543,000)us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (36,501,000)us-gaap_OperatingIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Other income (expenses)        
Foreign currency gain (loss), net   (1,167,000)us-gaap_ForeignCurrencyTransactionGainLossBeforeTax
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (2,067,000)us-gaap_ForeignCurrencyTransactionGainLossBeforeTax
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Others   557,000us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  1,170,000us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Net other income (expense)   (610,000)us-gaap_NonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (897,000)us-gaap_NonoperatingIncomeExpense
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Income (loss) before income taxes   (28,153,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (37,398,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Income tax expenses (benefits)   951,000us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  1,890,000us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Net income (loss)   (29,104,000)us-gaap_NetIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (39,288,000)us-gaap_NetIncomeLoss
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Adjustments [Member] | Revenue Recognition [Member]        
Net sales   (21,199,000)us-gaap_Revenues
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (31,615,000)us-gaap_Revenues
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Cost of sales   (12,871,000)us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (21,518,000)us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Gross profit   (8,328,000)us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (10,097,000)us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Selling, general and administrative expenses   (160,000)us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (249,000)us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Operating income   (8,168,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (9,848,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Other income (expenses)        
Foreign currency gain (loss), net   (1,182,000)us-gaap_ForeignCurrencyTransactionGainLossBeforeTax
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (2,089,000)us-gaap_ForeignCurrencyTransactionGainLossBeforeTax
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Others       53,000us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Net other income (expense)   (1,182,000)us-gaap_NonoperatingIncomeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (2,036,000)us-gaap_NonoperatingIncomeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Income (loss) before income taxes   (9,350,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (11,884,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Net income (loss)   (9,350,000)us-gaap_NetIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (11,884,000)us-gaap_NetIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_RevenueRecognitionMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Adjustments [Member] | Inventory Reserves [Member]        
Cost of sales   6,336,000us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_InventoryReservesMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  10,196,000us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_InventoryReservesMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Gross profit   (6,336,000)us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_InventoryReservesMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (10,196,000)us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_InventoryReservesMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Operating income   (6,336,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_InventoryReservesMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (10,196,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_InventoryReservesMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Other income (expenses)        
Income (loss) before income taxes   (6,336,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_InventoryReservesMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (10,196,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_InventoryReservesMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Net income (loss)   (6,336,000)us-gaap_NetIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_InventoryReservesMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (10,196,000)us-gaap_NetIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_InventoryReservesMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Adjustments [Member] | Understated Employee Benefits [Member]        
Cost of sales   50,000us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_UnderstatedEmployeeBenefitsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  182,000us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_UnderstatedEmployeeBenefitsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Gross profit   (50,000)us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_UnderstatedEmployeeBenefitsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (182,000)us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_UnderstatedEmployeeBenefitsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Selling, general and administrative expenses   27,000us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_UnderstatedEmployeeBenefitsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  46,000us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_UnderstatedEmployeeBenefitsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Research and development expenses   22,000us-gaap_ResearchAndDevelopmentExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_UnderstatedEmployeeBenefitsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  73,000us-gaap_ResearchAndDevelopmentExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_UnderstatedEmployeeBenefitsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Operating income   (99,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_UnderstatedEmployeeBenefitsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (301,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_UnderstatedEmployeeBenefitsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Other income (expenses)        
Income (loss) before income taxes   (99,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_UnderstatedEmployeeBenefitsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (301,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_UnderstatedEmployeeBenefitsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Net income (loss)   (99,000)us-gaap_NetIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_UnderstatedEmployeeBenefitsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (301,000)us-gaap_NetIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_UnderstatedEmployeeBenefitsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Adjustments [Member] | Settlement Obligations [Member]        
Cost of sales   11,561,000us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_SettlementObligationsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  11,561,000us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_SettlementObligationsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Gross profit   (11,561,000)us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_SettlementObligationsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (11,561,000)us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_SettlementObligationsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Operating income   (11,561,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_SettlementObligationsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (11,561,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_SettlementObligationsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Other income (expenses)        
Income (loss) before income taxes   (11,561,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_SettlementObligationsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (11,561,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_SettlementObligationsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Net income (loss)   (11,561,000)us-gaap_NetIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_SettlementObligationsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (11,561,000)us-gaap_NetIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_SettlementObligationsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Adjustments [Member] | Tax Matters [Member]        
Selling, general and administrative expenses   444,000us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_IncomeTaxMattersMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  624,000us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_IncomeTaxMattersMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Operating income   (444,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_IncomeTaxMattersMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (624,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_IncomeTaxMattersMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Other income (expenses)        
Income (loss) before income taxes   (444,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_IncomeTaxMattersMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (624,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_IncomeTaxMattersMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Income tax expenses (benefits)   951,000us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_IncomeTaxMattersMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  1,890,000us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_IncomeTaxMattersMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Net income (loss)   (1,395,000)us-gaap_NetIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_IncomeTaxMattersMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (2,514,000)us-gaap_NetIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_IncomeTaxMattersMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Adjustments [Member] | Maintenance Costs [Member]        
Cost of sales   893,000us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CapitalizationOfMaintenanceCostsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  3,325,000us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CapitalizationOfMaintenanceCostsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Gross profit   (893,000)us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CapitalizationOfMaintenanceCostsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (3,325,000)us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CapitalizationOfMaintenanceCostsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Research and development expenses   16,000us-gaap_ResearchAndDevelopmentExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CapitalizationOfMaintenanceCostsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  71,000us-gaap_ResearchAndDevelopmentExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CapitalizationOfMaintenanceCostsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Operating income   (909,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CapitalizationOfMaintenanceCostsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (3,396,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CapitalizationOfMaintenanceCostsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Other income (expenses)        
Income (loss) before income taxes   (909,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CapitalizationOfMaintenanceCostsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (3,396,000)us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CapitalizationOfMaintenanceCostsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Net income (loss)   (909,000)us-gaap_NetIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CapitalizationOfMaintenanceCostsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (3,396,000)us-gaap_NetIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CapitalizationOfMaintenanceCostsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Adjustments [Member] | Cost Center Allocation [Member]        
Cost of sales   (881,000)us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CostAllocationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (1,725,000)us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CostAllocationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Gross profit   881,000us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CostAllocationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  1,725,000us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CostAllocationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Selling, general and administrative expenses   897,000us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CostAllocationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  1,757,000us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CostAllocationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Research and development expenses   (16,000)us-gaap_ResearchAndDevelopmentExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CostAllocationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (32,000)us-gaap_ResearchAndDevelopmentExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_CostAllocationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Adjustments [Member] | Account Classification [Member]        
Net sales   (557,000)us-gaap_Revenues
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_AccountClassificationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (1,117,000)us-gaap_Revenues
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_AccountClassificationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Cost of sales   (608,000)us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_AccountClassificationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (1,012,000)us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_AccountClassificationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Gross profit   51,000us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_AccountClassificationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (105,000)us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_AccountClassificationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Research and development expenses   608,000us-gaap_ResearchAndDevelopmentExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_AccountClassificationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  1,012,000us-gaap_ResearchAndDevelopmentExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_AccountClassificationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Operating income   (557,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_AccountClassificationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (1,117,000)us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_AccountClassificationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Other income (expenses)        
Others   557,000us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_AccountClassificationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  1,117,000us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_AccountClassificationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Net other income (expense)   557,000us-gaap_NonoperatingIncomeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_AccountClassificationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  1,117,000us-gaap_NonoperatingIncomeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_AccountClassificationMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Adjustments [Member] | Other Adjustments [Member]        
Cost of sales   (429,000)us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (426,000)us-gaap_CostOfRevenue
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Gross profit   429,000us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  426,000us-gaap_GrossProfit
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Selling, general and administrative expenses   34,000us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  81,000us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Research and development expenses   (136,000)us-gaap_ResearchAndDevelopmentExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  (197,000)us-gaap_ResearchAndDevelopmentExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Operating income   531,000us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  542,000us-gaap_OperatingIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Other income (expenses)        
Foreign currency gain (loss), net   15,000us-gaap_ForeignCurrencyTransactionGainLossBeforeTax
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  22,000us-gaap_ForeignCurrencyTransactionGainLossBeforeTax
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Net other income (expense)   15,000us-gaap_NonoperatingIncomeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  22,000us-gaap_NonoperatingIncomeExpense
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Income (loss) before income taxes   546,000us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  564,000us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
Net income (loss)   $ 546,000us-gaap_NetIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember
  $ 564,000us-gaap_NetIncomeLoss
/ us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis
= mx_OtherAdjustmentsMember
/ us-gaap_StatementScenarioAxis
= us-gaap_RestatementAdjustmentMember