<?xml version="1.0" encoding="utf-8"?>
<FilingSummary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Version>1.0.0.3</Version>
  <ReportType />
  <MyReports>
    <Report>
      <IsDefault>true</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>104000 - Statement - Consolidated Balance Sheets</LongName>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <XmlFileName>R1.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>104001 - Statement - Consolidated Balance Sheets (Parentheticals)</LongName>
      <ShortName>Consolidated Balance Sheets (Parentheticals)</ShortName>
      <XmlFileName>R2.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>124000 - Statement - Consolidated Statements of Operations</LongName>
      <ShortName>Consolidated Statements of Operations</ShortName>
      <XmlFileName>R3.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>148600 - Statement - Consolidated Statements of Stockholders' Equity and Comprehensive Income</LongName>
      <ShortName>Consolidated Statements of Stockholders' Equity and Comprehensive Income</ShortName>
      <XmlFileName>R4.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>152200 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <XmlFileName>R5.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190001 - Disclosure - Description of Business and Organization</LongName>
      <ShortName>Description of Business and Organization</ShortName>
      <XmlFileName>R6.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190002 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies</LongName>
      <ShortName>Basis of Presentation and Summary of Significant Accounting Policies</ShortName>
      <XmlFileName>R7.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190003 - Disclosure - Out-of-Period Adjustments</LongName>
      <ShortName>Out-of-Period Adjustments</ShortName>
      <XmlFileName>R8.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190004 - Disclosure - Inventory</LongName>
      <ShortName>Inventory</ShortName>
      <XmlFileName>R9.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190005 - Disclosure - Property, Plant and Equipment</LongName>
      <ShortName>Property, Plant and Equipment</ShortName>
      <XmlFileName>R10.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190006 - Disclosure - Acquisitions</LongName>
      <ShortName>Acquisitions</ShortName>
      <XmlFileName>R11.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190007 - Disclosure - Goodwill and Other Intangibles</LongName>
      <ShortName>Goodwill and Other Intangibles</ShortName>
      <XmlFileName>R12.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190008 - Disclosure - Debt</LongName>
      <ShortName>Debt</ShortName>
      <XmlFileName>R13.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190009 - Disclosure - Income Taxes</LongName>
      <ShortName>Income Taxes</ShortName>
      <XmlFileName>R14.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190010 - Disclosure - Litigation</LongName>
      <ShortName>Litigation</ShortName>
      <XmlFileName>R15.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190011 - Disclosure - Other Commitments and Contingencies</LongName>
      <ShortName>Other Commitments and Contingencies</ShortName>
      <XmlFileName>R16.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190012 - Disclosure - Stock-Based Compensation</LongName>
      <ShortName>Stock-Based Compensation</ShortName>
      <XmlFileName>R17.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190013 - Disclosure - Earnings Per Share</LongName>
      <ShortName>Earnings Per Share</ShortName>
      <XmlFileName>R18.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190014 - Disclosure - Comprehensive Income</LongName>
      <ShortName>Comprehensive Income</ShortName>
      <XmlFileName>R19.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190015 - Disclosure - Retirement Plans</LongName>
      <ShortName>Retirement Plans</ShortName>
      <XmlFileName>R20.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190016 - Disclosure - Business Segment Information</LongName>
      <ShortName>Business Segment Information</ShortName>
      <XmlFileName>R21.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>190017 - Disclosure - Unaudited Quarterly Results</LongName>
      <ShortName>Unaudited Quarterly Results</ShortName>
      <XmlFileName>R22.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>995200 - Document - Document Information</LongName>
      <ShortName>Document Information</ShortName>
      <XmlFileName>R23.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>995400 - Document - Entity Information</LongName>
      <ShortName>Entity Information</ShortName>
      <XmlFileName>R24.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Book</ReportType>
      <LongName>All Reports</LongName>
      <ShortName>All Reports</ShortName>
      <XmlFileName />
    </Report>
  </MyReports>
  <EntityCount>1</EntityCount>
  <ContextCount>54</ContextCount>
  <SegmentCount>7</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <UnitCount>3</UnitCount>
  <ElementCount>143</ElementCount>
  <FootnotesReported>false</FootnotesReported>
  <TuplesReported>false</TuplesReported>
  <ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2009_Additional_Paid_in_Capital__Member</ContextName>
      <ElementCount>5</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2009_Retained_Earnings__Member</ContextName>
      <ElementCount>2</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2009_Common_Stock__Member</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2007</ContextName>
      <ElementCount>65</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2008_Treasury_Stock__Member2</ContextName>
      <ElementCount>2</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2007_Accumulated_Other_Comprehensive_Income__Member2</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2007_Common_Stock__Member2</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2009_Common_Stock__Member3</ContextName>
      <ElementCount>3</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2006</ContextName>
      <ElementCount>2</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2009_Accumulated_Other_Comprehensive_Income__Member</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec20092</ContextName>
      <ElementCount>43</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2007_Retained_Earnings__Member</ContextName>
      <ElementCount>3</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2008_Common_Stock__Member2</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2009_Treasury_Stock__Member</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>SixMonthsEnded_4Jul2009</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2007_Common_Stock__Member</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2009</ContextName>
      <ElementCount>92</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2007_Treasury_Stock__Member</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2008_Common_Stock__Member22</ContextName>
      <ElementCount>3</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2007_Retained_Earnings__Member2</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2008_Accumulated_Other_Comprehensive_Income__Member</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec20072</ContextName>
      <ElementCount>2</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2006_Treasury_Stock__Member</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2006_Common_Stock__Member</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2009_Common_Stock__Member32</ContextName>
      <ElementCount>3</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2007_Treasury_Stock__Member2</ContextName>
      <ElementCount>2</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2007_Common_Stock__Member3</ContextName>
      <ElementCount>3</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2006_Common_Stock__Member2</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2009_Treasury_Stock__Member2</ContextName>
      <ElementCount>2</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2008_Comprehensive_Income__Member</ContextName>
      <ElementCount>7</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2007_Additional_Paid_in_Capital__Member2</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2007_Additional_Paid_in_Capital__Member</ContextName>
      <ElementCount>4</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2008_Common_Stock__Member3</ContextName>
      <ElementCount>3</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2009_Comprehensive_Income__Member</ContextName>
      <ElementCount>7</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2008_Additional_Paid_in_Capital__Member</ContextName>
      <ElementCount>5</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2007_Comprehensive_Income__Member</ContextName>
      <ElementCount>7</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2008</ContextName>
      <ElementCount>65</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2009_Additional_Paid_in_Capital__Member2</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2006_Additional_Paid_in_Capital__Member</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2007_Accumulated_Other_Comprehensive_Income__Member</ContextName>
      <ElementCount>6</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>DayEnded_31Jul2009</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2009_Retained_Earnings__Member2</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2009_Common_Stock__Member2</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2008_Retained_Earnings__Member2</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2008_Retained_Earnings__Member</ContextName>
      <ElementCount>2</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2008_Additional_Paid_in_Capital__Member2</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2006_Retained_Earnings__Member</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2008_Accumulated_Other_Comprehensive_Income__Loss___Member</ContextName>
      <ElementCount>6</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2007_Common_Stock__Member22</ContextName>
      <ElementCount>3</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2009_Accumulated_Other_Comprehensive_Income__Loss___Member</ContextName>
      <ElementCount>6</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2006_Accumulated_Other_Comprehensive_Income__Member</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2008_Common_Stock__Member</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec20082</ContextName>
      <ElementCount>43</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_31Dec2008_Treasury_Stock__Member</ContextName>
      <ElementCount>1</ElementCount>
    </ContextSummary>
  </ContextSummary>
  <BaseTaxonomies />
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
