XML 101 R122.htm IDEA: XBRL DOCUMENT v2.4.1.9
Asset Impairment Charges and Facility Closing and Reorganization Costs - Facility Closing and Reorganization Costs (Detail) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Restructuring Cost and Reserve [Line Items]      
Charges and Adjustments $ 4,460us-gaap_RestructuringCharges $ 27,008us-gaap_RestructuringCharges $ 55,787us-gaap_RestructuringCharges
Restructuring Charges, Cash      
Restructuring Cost and Reserve [Line Items]      
Accrued Charges, Beginning Balance 17,389us-gaap_RestructuringReserve
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
13,792us-gaap_RestructuringReserve
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Charges and Adjustments 2,989us-gaap_RestructuringCharges
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
27,149us-gaap_RestructuringCharges
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Payments (12,240)us-gaap_PaymentsForRestructuring
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
(23,552)us-gaap_PaymentsForRestructuring
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Accrued Charges, Ending balance 8,138us-gaap_RestructuringReserve
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
17,389us-gaap_RestructuringReserve
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Restructuring Charges, Cash | Workforce Reduction Costs      
Restructuring Cost and Reserve [Line Items]      
Accrued Charges, Beginning Balance 9,028us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
11,579us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Charges and Adjustments (2,877)us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
11,872us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Payments (4,868)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
(14,423)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Accrued Charges, Ending balance 1,283us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
9,028us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Restructuring Charges, Cash | Shutdown Costs      
Restructuring Cost and Reserve [Line Items]      
Accrued Charges, Beginning Balance 0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= df_ShutdownCostsMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= df_ShutdownCostsMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Charges and Adjustments 4,822us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= df_ShutdownCostsMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
6,051us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= df_ShutdownCostsMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Payments (4,822)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= df_ShutdownCostsMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
(6,051)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= df_ShutdownCostsMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Accrued Charges, Ending balance 0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= df_ShutdownCostsMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= df_ShutdownCostsMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Restructuring Charges, Cash | Lease Obligations After Shutdown      
Restructuring Cost and Reserve [Line Items]      
Accrued Charges, Beginning Balance 8,361us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= df_LeaseObligationsAfterFacilityClosingMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
1,986us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= df_LeaseObligationsAfterFacilityClosingMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Charges and Adjustments 446us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= df_LeaseObligationsAfterFacilityClosingMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
7,822us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= df_LeaseObligationsAfterFacilityClosingMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Payments (1,952)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= df_LeaseObligationsAfterFacilityClosingMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
(1,447)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= df_LeaseObligationsAfterFacilityClosingMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Accrued Charges, Ending balance 6,855us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= df_LeaseObligationsAfterFacilityClosingMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
8,361us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= df_LeaseObligationsAfterFacilityClosingMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Restructuring Charges, Cash | Restructuring Charges, Other      
Restructuring Cost and Reserve [Line Items]      
Accrued Charges, Beginning Balance 0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= df_RestructuringChargesOtherMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
227us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= df_RestructuringChargesOtherMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Charges and Adjustments 598us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= df_RestructuringChargesOtherMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
1,404us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= df_RestructuringChargesOtherMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Payments (598)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= df_RestructuringChargesOtherMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
(1,631)us-gaap_PaymentsForRestructuring
/ us-gaap_RestructuringCostAndReserveAxis
= df_RestructuringChargesOtherMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Accrued Charges, Ending balance 0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= df_RestructuringChargesOtherMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= df_RestructuringChargesOtherMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesCashMember
 
Restructuring Charges, Noncash Charges | Restructuring Charges, Other      
Restructuring Cost and Reserve [Line Items]      
Charges and Adjustments 841us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= df_RestructuringChargesOtherMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesNoncashMember
447us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= df_RestructuringChargesOtherMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesNoncashMember
 
Restructuring Charges, Noncash Charges | Write-Down of Assets      
Restructuring Cost and Reserve [Line Items]      
Charges and Adjustments 5,384us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= df_WriteDownOfAssetsMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesNoncashMember
3,270us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= df_WriteDownOfAssetsMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesNoncashMember
 
Restructuring Charges, Noncash Charges | Loss on Sale of Related Assets      
Restructuring Cost and Reserve [Line Items]      
Charges and Adjustments $ (4,754)us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= df_LossOnSaleOfRelatedAssetsMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesNoncashMember
$ (3,858)us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= df_LossOnSaleOfRelatedAssetsMember
/ df_RestructuringReserveByTypeOfCostAxis
= df_RestructuringChargesNoncashMember