XML 65 R7.htm IDEA: XBRL DOCUMENT v2.4.1.9
Consolidated Statements of Stockholders' Equity (USD $)
In Thousands
Total
Common Stock [Member]
Additional Paid-in Capital [Member]
Accumulated Other Comprehensive Income (Loss) [Member]
Retained Earnings [Member]
Treasury Stock [Member]
Balance at Dec. 30, 2011 $ 186,715us-gaap_StockholdersEquity $ 16us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
$ 108,071us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
$ (471)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
$ 179,432us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
$ (100,333)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Balance (in shares) at Dec. 30, 2011   16,427us-gaap_SharesIssued
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      3,127us-gaap_SharesIssued
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Employee stock purchase plan 1,008us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan 0us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
400us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
608us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Employee stock purchase plan (in shares)   0us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      (20)us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Exercise of stock options, net of swaps 2,607us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised 0us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
(358)us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
(3,123)us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
6,088us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Exercise of stock options, net of swaps (in shares)   0us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      (200)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Excess tax benefit for equity incentive plans 3,948us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation 0us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
3,948us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Amortization of unrecognized stock-based compensation 6,289us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue 0us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
6,289us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Purchase of treasury shares (23,395)us-gaap_TreasuryStockValueAcquiredCostMethod 0us-gaap_TreasuryStockValueAcquiredCostMethod
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
0us-gaap_TreasuryStockValueAcquiredCostMethod
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_TreasuryStockValueAcquiredCostMethod
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_TreasuryStockValueAcquiredCostMethod
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
(23,395)us-gaap_TreasuryStockValueAcquiredCostMethod
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Purchase of treasury shares (in shares) 480us-gaap_TreasuryStockSharesAcquired 0us-gaap_TreasuryStockSharesAcquired
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      480us-gaap_TreasuryStockSharesAcquired
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Foreign currency translation adjustments 249us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax 0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
249us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Grant of restricted stock units to settle accrued bonus 5,343us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation 0us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
5,343us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Settlement of restricted stock units (3,532)us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures 0us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
0us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
(7,477)us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
3,945us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Settlement of restricted stock units (in shares)   0us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      (166)us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Unrealized gain on investments (28)us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax 0us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
0us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
(28)us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Net income 37,225us-gaap_NetIncomeLoss 0us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
37,225us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Balance at Dec. 28, 2012 216,429us-gaap_StockholdersEquity 16us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
123,693us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
(250)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
206,057us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
(113,087)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Balance (in shares) at Dec. 28, 2012   16,427us-gaap_SharesIssued
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      3,221us-gaap_SharesIssued
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Employee stock purchase plan 1,166us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan 0us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
648us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
518us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Employee stock purchase plan (in shares)   0us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      (19)us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Exercise of stock options, net of swaps 294us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised 0us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
(302)us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
(1,031)us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
1,627us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Exercise of stock options, net of swaps (in shares)   0us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      (61)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Excess tax benefit for equity incentive plans 4,267us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation 0us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
4,267us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Amortization of unrecognized stock-based compensation 7,107us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue 0us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
7,107us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Purchase of treasury shares (25,011)us-gaap_TreasuryStockValueAcquiredCostMethod 0us-gaap_TreasuryStockValueAcquiredCostMethod
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
0us-gaap_TreasuryStockValueAcquiredCostMethod
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_TreasuryStockValueAcquiredCostMethod
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_TreasuryStockValueAcquiredCostMethod
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
(25,011)us-gaap_TreasuryStockValueAcquiredCostMethod
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Purchase of treasury shares (in shares) 438us-gaap_TreasuryStockSharesAcquired 0us-gaap_TreasuryStockSharesAcquired
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      438us-gaap_TreasuryStockSharesAcquired
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Foreign currency translation adjustments 373us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax 0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
373us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Grant of restricted stock units to settle accrued bonus 5,807us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation 0us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
5,807us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Settlement of restricted stock units (6,028)us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures 0us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
(273)us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
(9,352)us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
3,597us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Settlement of restricted stock units (in shares)   0us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      (216)us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Unrealized gain on investments (14)us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax 0us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
0us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
(14)us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Dividends and dividend equivalent rights (7,971)expo_DividendsAndDividendEquivalentPaymentsDeclared 0expo_DividendsAndDividendEquivalentPaymentsDeclared
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
303expo_DividendsAndDividendEquivalentPaymentsDeclared
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0expo_DividendsAndDividendEquivalentPaymentsDeclared
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
(8,274)expo_DividendsAndDividendEquivalentPaymentsDeclared
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0expo_DividendsAndDividendEquivalentPaymentsDeclared
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Net income 38,640us-gaap_NetIncomeLoss 0us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
38,640us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Balance at Jan. 03, 2014 235,059us-gaap_StockholdersEquity 16us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
141,250us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
109us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
226,040us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
(132,356)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Balance (in shares) at Jan. 03, 2014   16,427us-gaap_SharesIssued
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      3,363us-gaap_SharesIssued
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Employee stock purchase plan 1,147us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan 0us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
810us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
337us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Employee stock purchase plan (in shares)   0us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      (16)us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Exercise of stock options, net of swaps 960us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised 0us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
67us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
893us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Exercise of stock options, net of swaps (in shares)   0us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      (42)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Excess tax benefit for equity incentive plans 5,100us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation 0us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
5,100us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Amortization of unrecognized stock-based compensation 6,792us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue 0us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
6,792us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Purchase of treasury shares (30,921)us-gaap_TreasuryStockValueAcquiredCostMethod 0us-gaap_TreasuryStockValueAcquiredCostMethod
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
0us-gaap_TreasuryStockValueAcquiredCostMethod
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_TreasuryStockValueAcquiredCostMethod
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
  (30,921)us-gaap_TreasuryStockValueAcquiredCostMethod
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Purchase of treasury shares (in shares) 425us-gaap_TreasuryStockSharesAcquired 0us-gaap_TreasuryStockSharesAcquired
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      425us-gaap_TreasuryStockSharesAcquired
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Foreign currency translation adjustments (1,017)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax 0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
(1,017)us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Grant of restricted stock units to settle accrued bonus 6,008us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation 0us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
6,008us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_StockGrantedDuringPeriodValueSharebasedCompensation
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Settlement of restricted stock units (6,356)us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures 0us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
(343)us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
(6,050)us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
37us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Settlement of restricted stock units (in shares)   0us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      (174)us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Unrealized gain on investments 4us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax 0us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
0us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
4us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
0us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Dividends and dividend equivalent rights (13,189)expo_DividendsAndDividendEquivalentPaymentsDeclared 0expo_DividendsAndDividendEquivalentPaymentsDeclared
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
541expo_DividendsAndDividendEquivalentPaymentsDeclared
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0expo_DividendsAndDividendEquivalentPaymentsDeclared
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
(13,730)expo_DividendsAndDividendEquivalentPaymentsDeclared
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0expo_DividendsAndDividendEquivalentPaymentsDeclared
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Net income 40,701us-gaap_NetIncomeLoss 0us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
40,701us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Balance at Jan. 02, 2015 $ 244,288us-gaap_StockholdersEquity $ 16us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
$ 160,225us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AdditionalPaidInCapitalMember
$ (904)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_AccumulatedOtherComprehensiveIncomeMember
$ 246,961us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_RetainedEarningsMember
$ (162,010)us-gaap_StockholdersEquity
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember
Balance (in shares) at Jan. 02, 2015   16,427us-gaap_SharesIssued
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_CommonStockMember
      3,556us-gaap_SharesIssued
/ us-gaap_StatementEquityComponentsAxis
= us-gaap_TreasuryStockMember