Commitments and Contingencies (Details) (USD $)
3 Months Ended
Mar. 31, 2015
Mar. 31, 2014
Operating Leases    
Rental expense $ 500,000 $ 300,000
Future minimum rental payments    
2015 1,573,000  
2016 1,995,000  
2017 1,770,000  
2018 875,000  
Total 6,213,000  
Purchase Commitments    
Non-cancellable purchase commitments $ 28,600,000  
Minimum    
Operating Leases    
Extension term of leases 3 years  
Maximum    
Operating Leases    
Extension term of leases 5 years