XML 72 R63.htm IDEA: XBRL DOCUMENT v2.4.1.9
Stock-Based Compensation (Details 3) (USD $)
Share data in Thousands, except Per Share data, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Additional information      
Accrued compensation $ 44,683,000us-gaap_EmployeeRelatedLiabilitiesCurrent $ 44,093,000us-gaap_EmployeeRelatedLiabilitiesCurrent  
Stock Options      
Stock-Based Compensation      
Weighted-average fair value per share of options granted (in dollars per share) $ 6.24us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
$ 5.06us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
$ 4.03us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
Fair value assumptions:      
Expected dividend yield (as a percent) 1.34%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
1.82%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
1.86%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
Expected stock price volatility (as a percent) 45.20%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
46.60%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
46.50%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
Risk-free interest rate (as a percent) 1.91%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
0.96%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
1.17%us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
Expected term 5 years 7 months 6 days 5 years 7 months 6 days 5 years 3 months 18 days
Other information      
Vesting period 3 years    
Total fair value of options vested 800,000us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
   
Nonvested Options, Shares      
Beginning of the period (in shares) 323fix_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
330fix_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
 
Granted (in shares) 156us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
   
Vested (in shares) (163)fix_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedInPeriod
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
   
Forfeited (in shares)   1fix_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonvestedForfeitedInPeriod
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
 
End of the period (in shares) 323fix_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
330fix_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
 
Nonvested Options, Weighted-Average Grant Date Fair Value      
Beginning of the period (in dollars per share) $ 4.66us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
   
Granted (in dollars per share) $ 6.24us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
$ 5.06us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
$ 4.03us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
Vested (in dollars per share) $ 4.65fix_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
   
End of the period (in dollars per share) $ 5.43us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
$ 4.66us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
 
Additional information      
Compensation expense yet to be recognized 800,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
   
Weighted-average period over which compensation cost will be recognized 1 year 8 months 12 days    
Stock units granted (in shares) 156us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
156us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
190us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= fix_EmployeeAndNonemployeeStockOptionMember
Stock Options | Minimum      
Other information      
Sum of age and years of service for accelerated vesting on retirement of certain stock options and restricted stock awards 75 years    
Restricted Stock and Restricted Stock Units      
Shares      
Beginning of the period (in shares) 199us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
272us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
302us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
Granted (in shares) 133us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
169us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
224us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
Vested (in shares) (172)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
(240)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
(254)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
Forfeited (in shares)   (2)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
 
End of the period (in shares) 160us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
199us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
272us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
Additional information      
Compensation expense yet to be recognized 1,200,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
   
Weighted-average period over which compensation cost will be recognized 1 year 7 months 6 days    
Fair value of shares vested 2,400,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
   
Weighted-average fair value (in dollars per share) $ 15.80us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
$ 13.57us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
$ 10.78us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
Aggregate intrinsic value of stock vested 2,900,000fix_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAggregateIntrinsicValue
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
4,700,000fix_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAggregateIntrinsicValue
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
3,100,000fix_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodAggregateIntrinsicValue
/ us-gaap_AwardTypeAxis
= fix_RestrictedStockAndRestrictedStockUnitsRSUMember
Performance Stock Units      
Other information      
Vesting period 3 years    
Additional information      
Compensation expense yet to be recognized 1,300,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
/ us-gaap_AwardTypeAxis
= us-gaap_PerformanceSharesMember
   
Weighted-average period over which compensation cost will be recognized 1 year 1 month 6 days    
Period for which shareholder return is compared with peer group for units determined by EPS performance 3 years    
Types of performance units 2fix_TypesOfPerformanceStockUnits
/ us-gaap_AwardTypeAxis
= us-gaap_PerformanceSharesMember
   
Percentage of units measured on stock price relative to peer group 50.00%fix_PercentageOfUnitsMeasuredOnStockPriceRelativeToGroupOfPeer
/ us-gaap_AwardTypeAxis
= us-gaap_PerformanceSharesMember
   
Percentage of units measured on stock price based on pre determined EPS 50.00%fix_PercentageOfUnitsMeasuredOnPredeterminedEPS
/ us-gaap_AwardTypeAxis
= us-gaap_PerformanceSharesMember
   
Value of PSU's granted 1,700,000fix_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_PerformanceSharesMember
   
Calculated fair market value 4,100,000fix_ShareBasedCompensationPerformanceSharesAwardCalculatedFairMarketValue
/ us-gaap_AwardTypeAxis
= us-gaap_PerformanceSharesMember
2,400,000fix_ShareBasedCompensationPerformanceSharesAwardCalculatedFairMarketValue
/ us-gaap_AwardTypeAxis
= us-gaap_PerformanceSharesMember
 
Accrued compensation $ 1,800,000us-gaap_EmployeeRelatedLiabilitiesCurrent
/ us-gaap_AwardTypeAxis
= us-gaap_PerformanceSharesMember
$ 900,000us-gaap_EmployeeRelatedLiabilitiesCurrent
/ us-gaap_AwardTypeAxis
= us-gaap_PerformanceSharesMember
 
Performance Stock Units | Minimum      
Additional information      
Performance measures for dollar denominated award granted 0fix_PerformanceMultiplierForDollarDenominatedAwardGranted
/ us-gaap_AwardTypeAxis
= us-gaap_PerformanceSharesMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
   
Performance Stock Units | Maximum      
Additional information      
Performance measures for dollar denominated award granted 2.0fix_PerformanceMultiplierForDollarDenominatedAwardGranted
/ us-gaap_AwardTypeAxis
= us-gaap_PerformanceSharesMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
   
Restricted Stock | Minimum      
Other information      
Sum of age and years of service for accelerated vesting on retirement of certain stock options and restricted stock awards 75 years