XML 45 R40.htm IDEA: XBRL DOCUMENT v2.4.1.9
Fair Value Measurements (Details) (USD $)
12 Months Ended
Dec. 31, 2014
item
Dec. 31, 2013
Dec. 31, 2012
Fair Value Measurements      
Number of employees covered under life insurance policies 43fix_LifeInsuranceContractsNumberOfEmployeesCovered    
Combined face value of life insurance policies $ 39,600,000fix_LifeInsuranceContractsFaceAmount    
Cash surrender value 3,200,000us-gaap_CashSurrenderValueOfLifeInsurance 2,900,000us-gaap_CashSurrenderValueOfLifeInsurance  
Impairment      
Goodwill impairment 727,000us-gaap_GoodwillImpairmentLoss 0us-gaap_GoodwillImpairmentLoss 0us-gaap_GoodwillImpairmentLoss
Contingent earn-out obligations      
Reconciliation of the fair value of contingent earn-out obligations that use significant unobservable inputs (Level 3)      
Balance at beginning of year 320,000us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= fix_ContingentConsiderationObligationsMember
1,966,000us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= fix_ContingentConsiderationObligationsMember
 
Issuances 200,000us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityIssues
/ us-gaap_FairValueByLiabilityClassAxis
= fix_ContingentConsiderationObligationsMember
   
Settlements (95,000)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
/ us-gaap_FairValueByLiabilityClassAxis
= fix_ContingentConsiderationObligationsMember
   
Adjustments to fair value 245,000us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= fix_ContingentConsiderationObligationsMember
(1,646,000)us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
/ us-gaap_FairValueByLiabilityClassAxis
= fix_ContingentConsiderationObligationsMember
 
Balance at end of period 670,000us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= fix_ContingentConsiderationObligationsMember
320,000us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
/ us-gaap_FairValueByLiabilityClassAxis
= fix_ContingentConsiderationObligationsMember
 
Significant Unobservable Inputs (Level 3)      
Impairment      
Goodwill impairment 700,000us-gaap_GoodwillImpairmentLoss
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_GoodwillImpairmentLoss
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Recurring basis | Total      
Fair Value Measurements      
Cash and cash equivalents 32,064,000us-gaap_CashAndCashEquivalentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_EstimateOfFairValueFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
   
Life insurance - cash surrender value 3,218,000us-gaap_CashSurrenderValueFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_EstimateOfFairValueFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
   
Contingent earn-out obligations 670,000fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_EstimateOfFairValueFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
   
Recurring basis | Quoted Market Prices In Active Markets for Identical Assets (Level 1)      
Fair Value Measurements      
Cash and cash equivalents 32,064,000us-gaap_CashAndCashEquivalentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
   
Recurring basis | Significant Other Observable Inputs (Level 2)      
Fair Value Measurements      
Life insurance - cash surrender value 3,218,000us-gaap_CashSurrenderValueFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
   
Recurring basis | Significant Unobservable Inputs (Level 3)      
Fair Value Measurements      
Contingent earn-out obligations $ 670,000fix_BusinessAcquisitionContingentConsiderationFairValueAtBalanceSheetDate
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember