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, 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 | 45,232 | | | | | | |
Unrealized gain (loss) on short-term investments, net of tax | 81 | | | | | | |
Foreign currency translation adjustments | (8,630) | | | | | | |
Total comprehensive income, net of tax | 36,683 | | | | | | |
Balance, ending of period at Sep. 30, 2018 | 358,419 | $ 693 | 9,082 | 436,412 | (831,585) | (37,371) | 781,188 |
Balance, ending of period, shares at Sep. 30, 2018 | | 33,451 | | | | | |
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 |
Unrealized gain (loss) on short-term investments, net of tax | | | | | | 68 | |
Foreign currency translation adjustments | | | | | | (16,231) | |
Total comprehensive income, 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 | | | | | |
Net income | 16,101 | | | | | | 16,101 |
Unrealized gain (loss) on short-term investments, net of tax | 107 | | | | | 107 | |
Foreign currency translation adjustments | (109) | | | | | (109) | |
Total comprehensive income, net of tax | 16,099 | | | | | | |
Repurchase of common stock | (5,715) | | | (196) | (5,519) | | |
Repurchase of common stock, shares | | (141) | | | | | |
Issuance of common stock pursuant to employee stock purchase plan | 567 | | | 567 | | | |
Issuance of common stock pursuant to employee stock purchase plan, shares | | 17 | | | | | |
Issuance of restricted common stock pursuant to stock-based compensation plans | | $ 1 | | (1) | | | |
Issuance of restricted common stock pursuant to stock-based compensation plans, shares | | 33 | | | | | |
Cancellation of restricted common stock issued pursuant to stock-based compensation plans, shares | | (19) | | | | | |
Stock-based compensation expense | 4,592 | | | 4,592 | | | |
Declaration of cash dividends | (6,984) | | | | | | (6,984) |
Balance, ending of period at Sep. 30, 2018 | 358,419 | $ 693 | 9,082 | 436,412 | (831,585) | (37,371) | 781,188 |
Balance, ending of period, shares at Sep. 30, 2018 | | 33,451 | | | | | |
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, 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 | $ 60,189 | | | | | | |
Unrealized gain (loss) on short-term investments, net of tax | 24 | | | | | | |
Foreign currency translation adjustments | (6,868) | | | | | | |
Total comprehensive income, net of tax | 53,345 | | | | | | |
Balance, ending of period at Sep. 30, 2019 | $ 382,036 | $ 696 | 9,082 | 451,606 | (862,917) | (49,779) | 833,348 |
Balance, ending of period, shares at Sep. 30, 2019 | 32,979 | 32,979 | | | | | |
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 |
Unrealized gain (loss) on short-term investments, net of tax | | | | | | 10 | |
Foreign currency translation adjustments | | | | | | (3,818) | |
Total comprehensive income, 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 | | | | | |
Net income | 21,559 | | | | | | 21,559 |
Unrealized gain (loss) on short-term investments, net of tax | (4) | | | | | (4) | |
Foreign currency translation adjustments | (6,897) | | | | | (6,897) | |
Total comprehensive income, net of tax | 14,658 | | | | | | |
Repurchase of common stock | (4,947) | | | (216) | (4,731) | | |
Repurchase of common stock, shares | | (97) | | | | | |
Issuance of common stock pursuant to employee stock purchase plan | 515 | | | 515 | | | |
Issuance of common stock pursuant to employee stock purchase plan, shares | | 12 | | | | | |
Issuance of restricted common stock pursuant to stock-based compensation plans, shares | | 34 | | | | | |
Cancellation of restricted common stock issued pursuant to stock-based compensation plans, shares | | (32) | | | | | |
Stock-based compensation expense | 4,795 | | | 4,795 | | | |
Declaration of cash dividends | (7,309) | | | | | | (7,309) |
Balance, ending of period at Sep. 30, 2019 | $ 382,036 | $ 696 | $ 9,082 | $ 451,606 | $ (862,917) | $ (49,779) | $ 833,348 |
Balance, ending of period, shares at Sep. 30, 2019 | 32,979 | 32,979 | | | | | |