Commitments and Contingencies (Details) (USD $)
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Operating Leases      
Rental expense $ 1,800,000 $ 1,400,000 $ 1,100,000
Future minimum rental payments      
2015 1,971,000    
2016 1,887,000    
2017 1,655,000    
2018 873,000    
Total 6,386,000    
Purchase Commitments      
Non-cancellable purchase commitments $ 27,800,000    
Minimum      
Operating Leases      
Extension term of leases 3 years    
Maximum      
Operating Leases      
Extension term of leases 5 years