XML 27 R46.htm IDEA: XBRL DOCUMENT v2.4.1.9
Restructuring and Other Related Costs Amount of restructuring and other related costs recognized during the year (Details) (USD $)
3 Months Ended 12 Months Ended
Dec. 31, 2014
Sep. 30, 2014
Jun. 30, 2014
Mar. 31, 2014
Dec. 31, 2013
Sep. 30, 2013
Jun. 30, 2013
Mar. 31, 2013
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Dec. 31, 2011
Restructuring Cost and Reserve [Line Items]                        
Restructuring and other related costs $ 3,573,000us-gaap_RestructuringCharges $ 0us-gaap_RestructuringCharges $ (298,000)us-gaap_RestructuringCharges $ 370,000us-gaap_RestructuringCharges $ 5,716,000us-gaap_RestructuringCharges $ 0us-gaap_RestructuringCharges $ 0us-gaap_RestructuringCharges $ 0us-gaap_RestructuringCharges $ 3,645,000us-gaap_RestructuringCharges $ 5,716,000us-gaap_RestructuringCharges $ 0us-gaap_RestructuringCharges  
Employee Severance and Related Costs [Member]                        
Restructuring Cost and Reserve [Line Items]                        
Restructuring and other related costs 1,800,000us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
      4,568,000us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
      900,000us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
     
Restructuring Reserve 2,031,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
      4,568,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
      2,031,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
4,568,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
427,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
5,372,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
Restructuring Reserve, Accrual Adjustment                 (900,000)us-gaap_RestructuringReserveAccrualAdjustment
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
     
Real Estate Exit and Related Costs [Member]                        
Restructuring Cost and Reserve [Line Items]                        
Restructuring and other related costs 1,600,000us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
      615,000us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
      2,513,000us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
     
Restructuring Reserve 2,600,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
      769,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
      2,600,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
769,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
507,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
831,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
Restructuring Reserve, Accrual Adjustment                 900,000us-gaap_RestructuringReserveAccrualAdjustment
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
     
Asset Write-offs [Member]                        
Restructuring Cost and Reserve [Line Items]                        
Restructuring and other related costs 200,000us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AssetWriteOffsMember
      533,000us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AssetWriteOffsMember
      232,000us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AssetWriteOffsMember
     
Restructuring Reserve 0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AssetWriteOffsMember
      0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AssetWriteOffsMember
      0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AssetWriteOffsMember
0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AssetWriteOffsMember
0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AssetWriteOffsMember
0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AssetWriteOffsMember
Accrued Restructuring Liability [Member]                        
Restructuring Cost and Reserve [Line Items]                        
Restructuring Reserve 4,631,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
      5,337,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
      4,631,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
5,337,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
934,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
6,203,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
Minimum [Member] | Real Estate Exit and Related Costs [Member]                        
Restructuring Cost and Reserve [Line Items]                        
Restructuring and other related costs         500,000us-gaap_RestructuringCharges
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
             
Maximum [Member] | Real Estate Exit and Related Costs [Member]                        
Restructuring Cost and Reserve [Line Items]                        
Restructuring and other related costs 2,200,000us-gaap_RestructuringCharges
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
                     
Other Current Liabilities [Member] | Accrued Restructuring Liability [Member]                        
Restructuring Cost and Reserve [Line Items]                        
Restructuring Reserve 3,400,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherCurrentLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
      4,700,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherCurrentLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
      3,400,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherCurrentLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
4,700,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherCurrentLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
   
Other Noncurrent Liabilities [Member] | Accrued Restructuring Liability [Member]                        
Restructuring Cost and Reserve [Line Items]                        
Restructuring Reserve $ 1,200,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
      $ 600,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
      $ 1,200,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
$ 600,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember