CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - UNAUDITED - USD ($) shares in Thousands, $ in Thousands | Total | Common Stock | Common Stock Warrants | Additional Paid-in Capital | Treasury Stock | Accumulated Other Comprehensive Income (Loss) | Accumulated Earnings |
Balance, beginning of period at Dec. 31, 2017 | $ 342,746 | $ 689 | $ 9,082 | $ 427,091 | $ (814,732) | $ (28,822) | $ 749,438 |
Balance, beginning of period, shares at Dec. 31, 2017 | | 33,516 | | | | | |
Net income | | | | | | | 14,014 |
Unrealized gain (loss) on short-term investments, net of tax | | | | | | (94) | |
Foreign currency translation adjustments | | | | | | 7,710 | |
Total comprehensive income (loss), net of tax | 21,630 | | | | | | |
Repurchase of common stock | (11,920) | | | (6,218) | (5,702) | | |
Repurchase of common stock, shares | | (255) | | | | | |
Issuance of common stock pursuant to employee stock purchase plan | 484 | | | 484 | | | |
Issuance of common stock pursuant to employee stock purchase plan, shares | | 14 | | | | | |
Issuance of restricted common stock pursuant to stock-based compensation plans | | $ 4 | | (4) | | | |
Issuance of restricted common stock pursuant to stock-based compensation plans, shares | | 458 | | | | | |
Cancellation of restricted common stock issued pursuant to stock-based compensation plans | | $ (1) | | 1 | | | |
Cancellation of restricted common stock issued pursuant to stock-based compensation plans, shares | | (59) | | | | | |
Stock-based compensation expense | 4,572 | | | 4,572 | | | |
Declaration of cash dividends | (6,999) | | | | | | (6,999) |
Adjustments due to adoption of new accounting standards | 7,562 | | | | | | 7,562 |
Balance, ending of period at Mar. 31, 2018 | 358,075 | $ 692 | 9,082 | 425,926 | (820,434) | (21,206) | 764,015 |
Balance, ending of period, shares at Mar. 31, 2018 | | 33,674 | | | | | |
Balance, beginning of period at Dec. 31, 2017 | 342,746 | $ 689 | 9,082 | 427,091 | (814,732) | (28,822) | 749,438 |
Balance, beginning of period, shares at Dec. 31, 2017 | | 33,516 | | | | | |
Net income | 29,131 | | | | | | |
Unrealized gain (loss) on short-term investments, net of tax | (26) | | | | | | |
Foreign currency translation adjustments | (8,521) | | | | | | |
Total comprehensive income (loss), net of tax | 20,584 | | | | | | |
Balance, ending of period at Jun. 30, 2018 | 349,860 | $ 692 | 9,082 | 431,450 | (826,066) | (37,369) | 772,071 |
Balance, ending of period, shares at Jun. 30, 2018 | | 33,561 | | | | | |
Balance, beginning of period at Mar. 31, 2018 | 358,075 | $ 692 | 9,082 | 425,926 | (820,434) | (21,206) | 764,015 |
Balance, beginning of period, shares at Mar. 31, 2018 | | 33,674 | | | | | |
Net income | 15,117 | | | | | | 15,117 |
Unrealized gain (loss) on short-term investments, net of tax | 68 | | | | | 68 | |
Foreign currency translation adjustments | (16,231) | | | | | (16,231) | |
Total comprehensive income (loss), net of tax | (1,046) | | | | | | |
Repurchase of common stock | (6,399) | | | (767) | (5,632) | | |
Repurchase of common stock, shares | | (153) | | | | | |
Issuance of common stock pursuant to employee stock purchase plan | 650 | | | 650 | | | |
Issuance of common stock pursuant to employee stock purchase plan, shares | | 18 | | | | | |
Issuance of restricted common stock pursuant to stock-based compensation plans, shares | | 41 | | | | | |
Cancellation of restricted common stock issued pursuant to stock-based compensation plans, shares | | (19) | | | | | |
Stock-based compensation expense | 5,641 | | | 5,641 | | | |
Declaration of cash dividends | (7,061) | | | | | | (7,061) |
Balance, ending of period at Jun. 30, 2018 | 349,860 | $ 692 | 9,082 | 431,450 | (826,066) | (37,369) | 772,071 |
Balance, ending of period, shares at Jun. 30, 2018 | | 33,561 | | | | | |
Balance, beginning of period at Dec. 31, 2018 | $ 361,024 | $ 693 | 9,082 | 441,417 | (842,360) | (42,935) | 795,127 |
Balance, beginning of period, shares at Dec. 31, 2018 | 33,158 | 33,158 | | | | | |
Net income | | | | | | | 19,251 |
Unrealized gain (loss) on short-term investments, net of tax | | | | | | 18 | |
Foreign currency translation adjustments | | | | | | 3,847 | |
Total comprehensive income (loss), net of tax | $ 23,116 | | | | | | |
Repurchase of common stock | (13,424) | | | (4,134) | (9,290) | | |
Repurchase of common stock, shares | | (352) | | | | | |
Issuance of common stock pursuant to employee stock purchase plan | 512 | | | 512 | | | |
Issuance of common stock pursuant to employee stock purchase plan, shares | | 15 | | | | | |
Issuance of restricted common stock pursuant to stock-based compensation plans | | $ 4 | | (4) | | | |
Issuance of restricted common stock pursuant to stock-based compensation plans, shares | | 462 | | | | | |
Cancellation of restricted common stock issued pursuant to stock-based compensation plans, shares | | (3) | | | | | |
Stock-based compensation expense | 3,693 | | | 3,693 | | | |
Declaration of cash dividends | (7,411) | | | | | | (7,411) |
Balance, ending of period at Mar. 31, 2019 | 367,510 | $ 697 | 9,082 | 441,484 | (851,650) | (39,070) | 806,967 |
Balance, ending of period, shares at Mar. 31, 2019 | | 33,280 | | | | | |
Balance, beginning of period at Dec. 31, 2018 | $ 361,024 | $ 693 | 9,082 | 441,417 | (842,360) | (42,935) | 795,127 |
Balance, beginning of period, shares at Dec. 31, 2018 | 33,158 | 33,158 | | | | | |
Net income | $ 38,630 | | | | | | |
Unrealized gain (loss) on short-term investments, net of tax | 28 | | | | | | |
Foreign currency translation adjustments | 29 | | | | | | |
Total comprehensive income (loss), net of tax | 38,687 | | | | | | |
Balance, ending of period at Jun. 30, 2019 | $ 374,324 | $ 696 | 9,082 | 446,512 | (858,186) | (42,878) | 819,098 |
Balance, ending of period, shares at Jun. 30, 2019 | 33,062 | 33,062 | | | | | |
Balance, beginning of period at Mar. 31, 2019 | $ 367,510 | $ 697 | 9,082 | 441,484 | (851,650) | (39,070) | 806,967 |
Balance, beginning of period, shares at Mar. 31, 2019 | | 33,280 | | | | | |
Net income | 19,379 | | | | | | 19,379 |
Unrealized gain (loss) on short-term investments, net of tax | 10 | | | | | 10 | |
Foreign currency translation adjustments | (3,818) | | | | | (3,818) | |
Total comprehensive income (loss), net of tax | 15,571 | | | | | | |
Repurchase of common stock | (6,919) | | | (383) | (6,536) | | |
Repurchase of common stock, shares | | (148) | | | | | |
Issuance of common stock pursuant to employee stock purchase plan | 603 | | | 603 | | | |
Issuance of common stock pursuant to employee stock purchase plan, shares | | 15 | | | | | |
Issuance of restricted common stock pursuant to stock-based compensation plans, shares | | 6 | | | | | |
Cancellation of restricted common stock issued pursuant to stock-based compensation plans | | $ (1) | | 1 | | | |
Cancellation of restricted common stock issued pursuant to stock-based compensation plans, shares | | (91) | | | | | |
Stock-based compensation expense | 4,807 | | | 4,807 | | | |
Declaration of cash dividends | (7,248) | | | | | | (7,248) |
Balance, ending of period at Jun. 30, 2019 | $ 374,324 | $ 696 | $ 9,082 | $ 446,512 | $ (858,186) | $ (42,878) | $ 819,098 |
Balance, ending of period, shares at Jun. 30, 2019 | 33,062 | 33,062 | | | | | |