Consolidated Balance Sheets (Parenthetical) - USD ($) |
Dec. 31, 2016 |
Dec. 31, 2015 |
|---|---|---|
| Statement of Financial Position [Abstract] | ||
| Allowances on accounts receivable | $ 260,676 | $ 191,285 |
| Accumulated depreciation on property and equipment | $ 18,580,547 | $ 17,947,675 |
| Series A redeemable convertible preferred stock, par value (in dollars per share) | $ 0.001 | $ 0.001 |
| Series A redeemable convertible preferred stock, shares authorized | 2,000,000 | 2,000,000 |
| Series A redeemable convertible preferred stock, shares issued | 900,000 | 900,000 |
| Series A redeemable convertible preferred stock, shares outstanding | 900,000 | 900,000 |
| Series A redeemable convertible preferred stock, redemption value | $ 9,000,000 | $ 9,000,000 |
| Common stock, par value (in dollars per share) | $ 0.001 | $ 0.001 |
| Common stock, shares authorized | 100,000,000 | 100,000,000 |
| Common stock, shares issued | 59,482,989 | 57,194,817 |
| Common stock, shares outstanding | 43,954,919 | 41,666,747 |
| Common Stock, held in treasury, shares | 15,528,070 | 15,528,070 |