XML 20 R31.htm IDEA: XBRL DOCUMENT v2.4.1.9
Restructuring and Other Related Costs (Details) (USD $)
In Thousands, unless otherwise specified
3 Months Ended
Mar. 31, 2015
Mar. 31, 2014
Dec. 31, 2014
Dec. 31, 2013
Restructuring Cost and Reserve [Line Items]        
Restructuring Charges $ 47us-gaap_RestructuringCharges $ 370us-gaap_RestructuringCharges    
Accrued restructuring liability        
Restructuring Reserve [Roll Forward]        
Restructuring Reserve, Beginning     4,631us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
 
Restructuring Reserve, Ending     4,631us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
 
Accrued restructuring liability | Other Current Liabilities [Member]        
Restructuring Reserve [Roll Forward]        
Restructuring Reserve, Beginning     3,400us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherCurrentLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
 
Restructuring Reserve, Ending 2,500us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherCurrentLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
  3,400us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherCurrentLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
 
Accrued restructuring liability | Other Accrued Expenses and Accrued Liabilities [Member]        
Restructuring Reserve [Roll Forward]        
Restructuring Reserve, Beginning       5,337us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
Restructuring Reserve, Ending 3,464us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
4,420us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
  5,337us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
Accrued restructuring liability | Other Noncurrent Liabilities [Member]        
Restructuring Reserve [Roll Forward]        
Restructuring Reserve, Beginning     1,200us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
 
Restructuring Reserve, Ending 1,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
  1,200us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
 
Employee severance and related costs        
Restructuring Cost and Reserve [Line Items]        
Restructuring Charges 0us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
37us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
   
Restructuring Reserve [Roll Forward]        
Restructuring Reserve, Beginning 2,031us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
     
Employee severance and related costs | Other Accrued Expenses and Accrued Liabilities [Member]        
Restructuring Reserve [Roll Forward]        
Restructuring Reserve, Beginning   4,568us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
   
Restructuring and other related costs, cash payments 907us-gaap_PaymentsForRestructuring
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
1,169us-gaap_PaymentsForRestructuring
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
   
Restructuring Reserve, Ending 1,124us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
3,436us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
   
Real estate exit and related costs        
Restructuring Cost and Reserve [Line Items]        
Restructuring Charges 33us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
303us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
   
Restructuring Reserve [Roll Forward]        
Restructuring Reserve, Beginning 2,600us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
     
Real estate exit and related costs | Other Accrued Expenses and Accrued Liabilities [Member]        
Restructuring Reserve [Roll Forward]        
Restructuring Reserve, Beginning   769us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
   
Restructuring and other related costs, cash payments 293us-gaap_PaymentsForRestructuring
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
88us-gaap_PaymentsForRestructuring
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
   
Restructuring Reserve, Ending 2,340us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
984us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
   
Minimum | Real estate exit and related costs        
Restructuring Cost and Reserve [Line Items]        
Restructuring Charges 300us-gaap_RestructuringCharges
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
     
Maximum | Real estate exit and related costs        
Restructuring Cost and Reserve [Line Items]        
Restructuring Charges $ 1,700us-gaap_RestructuringCharges
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember