STOCK BASED COMPENSATION (Tables)
|
9 Months Ended |
Jul. 31, 2019 |
2003 Share Plan [Member] |
|
STOCK BASED COMPENSATION (Tables) [Line Items] |
|
Share-based Payment Arrangement, Option, Activity [Table Text Block] |
| Shares
| | Weighted Average Exercise Price Per Share
| | Aggregate Intrinsic Value
|
Options outstanding at October 31, 2018
| 12,000
| | $ 2.77
| | |
Exercised
| (4,000)
| | $ 3.63
| | |
Options outstanding and exercisable at July 31, 2019
| 8,000
| | $ 2.34
| | $ 23,694
|
| Shares
| | Weighted Average Exercise Price Per Share
| | Aggregate Intrinsic Value
|
| |
| |
Options outstanding at October 31, 2017
| 30,600
| | $ 3.16
| | |
Exercised
| (10,600)
| | $ 0.67
| | |
Forfeited
| (8,000)
| | $ 7.04
| | |
Options outstanding and exercisable at July 31, 2018
| 12,000
| | $ 2.77
| | $ 13,054
|
|
Share-based Payment Arrangement, Option, Exercise Price Range [Table Text Block] |
Range of Exercise Prices
| | Number Outstanding and Exercisable
| | Weighted Average Remaining Contractual Life (in years)
| | Weighted Average Exercise Price
|
| | |
| | |
| | |
$ 0.67 - $17.00
| | 8,000
| | 0.19
| | $ 2.34
|
Range of Exercise Prices
| | Number Outstanding and Exercisable
| | Weighted Average Remaining Contractual Life (in years)
| | Weighted Average Exercise Price
|
| | |
| | |
| | |
$ 0.67 - $17.00
| | 12,000
| | .99
| | $ 2.77
|
|
2010 Share Plan [Member] |
|
STOCK BASED COMPENSATION (Tables) [Line Items] |
|
Share-based Payment Arrangement, Option, Activity [Table Text Block] |
| Shares
| | Weighted Average Exercise Price Per Share
| | Aggregate Intrinsic Value
|
| | |
| | |
Options outstanding at October 31, 2018
| 2,131,868
| | $ 2.11
| | |
Granted
| 10,000
| | $ 3.64
| | |
Exercised
| (32,000)
| | $ 2.27
| | |
Forfeited
| (99,200)
| | $ 3.78
| | |
Options outstanding at July 31, 2019
| 2,010,668
| | $ 2.03
| | $ 5,422,886
|
Options exercisable at July 31, 2019
| 1,639,556
| | $ 1.92
| | $ 4,609,165
|
| Shares
| | Weighted Average Exercise Price Per Share
| | Aggregate Intrinsic Value
|
| | |
| | |
Options outstanding at October 31, 2017
| 1,637,246
| | $ 1.50
| | |
Granted
| 475,000
| | $ 3.22
| | |
Exercised
| (38,000)
| | $ 0.67
| | |
Forfeited
| (49,800)
| | $ 2.15
| | |
Options outstanding at July 31, 2018
| 2,024,446
| | $ 1.90
| | $ 2,965,764
|
Options exercisable at July 31, 2018
| 1,284,190
| | $ 1.73
| | $ 2,108,817
|
|
Share-based Payment Arrangement, Option, Exercise Price Range [Table Text Block] |
| Options Outstanding
| | Options Exercisable
|
| | Number Outstanding
| | Weighted Average Remaining Contractual Life (in years)
| | Weighted Average Exercise Price
| | Number Exercisable
| | Weighted Average Remaining Contractual Life (in years)
| | Weighted Average Exercise Price
|
| | | | | | |
Range of Exercise Prices
| | | | | | |
| | | | | |
|
|
| |
|
|
$ 0.67
| | 938,000
| | 5.94
| | $ 0.67
| | 799,388
| | 5.59
| | $ 0.67
|
$ 2.27 -$ 3.01
| | 600,134
| | 3.81
| | $ 2.58
| | 600,134
| | 3.81
| | $ 2.58
|
$ 3.46 -$ 5.75
| | 472,534
| | 8.51
| | $ 4.05
| | 240,034
| | 8.19
| | $ 4.43
|
| Options Outstanding
| | Options Exercisable
|
| | Number Outstanding
| | Weighted Average Remaining Contractual Life (in years)
| | Weighted Average Exercise Price
| | Number Exercisable
| | Weighted Average Remaining Contractual Life (in years)
| | Weighted Average Exercise Price
|
| | | | | | |
Range of Exercise Prices
| | | | | | |
| | | | | |
|
|
| |
|
|
$ 0.67
| | 943,000
| | 6.94
| | $ 0.67
| | 653,142
| | 6.18
| | $ 0.67
|
$ 2.27 -$ 3.01
| | 729,712
| | 5.21
| | $ 2.61
| | 579,314
| | 5.28
| | $ 2.60
|
$ 3.46 -$ 7.00
| | 351,734
| | 8.74
| | $ 3.73
| | 51,734
| | 1.46
| | $ 5.27
|
|
2018 Share Plan [Member] |
|
STOCK BASED COMPENSATION (Tables) [Line Items] |
|
Share-based Payment Arrangement, Option, Activity [Table Text Block] |
| Shares
| | Weighted Average Exercise Price Per Share
| | Aggregate Intrinsic Value
|
| | |
| | |
Options outstanding at October 31, 2018
| 3,482,000
| | $ 3.73
| | |
Exercised
| (4,000)
| | $ 3.84
| | |
Forfeited
| (8,000)
| | $ 3.84
| |
|
Options outstanding at July 31, 2019
| 3,470,000
| | $ 3.73
| | $ 3,337,300
|
Options exercisable at July 31, 2019
| 1,321,111
| | $ 3.73
| | $ 1,273,443
|
| Shares
| | Weighted Average Exercise Price Per Share
| | Aggregate Intrinsic Value
|
| | |
| | |
Options outstanding at October 31, 2017
| -0-
| |
| | |
Granted
| 3,422,000
| | $ 3.71
| | |
Options outstanding at July 31, 2018
| 3,422,000
| | $ 3.71
| | $ -0-
|
Options exercisable at July 31, 2018
| 167,779
| | $ 3.73
| | $ -0-
|
|
Share-based Payment Arrangement, Option, Exercise Price Range [Table Text Block] |
| Options Outstanding
| | Options Exercisable
|
Range of Exercise Prices
| | Number Outstanding
| | Weighted Average Remaining Contractual Life (in years)
| | Weighted Average Exercise Price
| | Number Exercisable
| | Weighted Average Remaining Contractual Life (in years)
| | Weighted Average Exercise Price
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
$ 3.70 -$ 4.61
| | 3,470,000
| | 8.78
| | $ 3.73
| | 1,321,111
| | 8.77
| | $ 3.73
|
| Options Outstanding
| | Options Exercisable
|
Range of Exercise Prices
| | Number Outstanding
| | Weighted Average Remaining Contractual Life (in years)
| | Weighted Average Exercise Price
| | Number Exercisable
| | Weighted Average Remaining Contractual Life (in years)
| | Weighted Average Exercise Price
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
$ 3.70 -$ 3.84
| | 3,422,000
| | 9.77
| | $ 3.71
| | 167,779
| | 9.76
| | $ 3.73
|
|
Stock Options Not Granted Under 2003 Share Plan 2010 Share Plan Or 2018 Share Plan [Member] |
|
STOCK BASED COMPENSATION (Tables) [Line Items] |
|
Share-based Payment Arrangement, Option, Activity [Table Text Block] |
| Shares
| | Weighted Average Exercise Price Per Share
| | Aggregate Intrinsic Value
|
| | |
| | |
Options outstanding at October 31, 2018
| 1,780,000
| | $1.58
| | |
Options outstanding and exercisable at July 31, 2019
| 1,780,000
| | $1.58
| | $ 5,583,900
|
| Shares
| | Weighted Average Exercise Price Per Share
| | Aggregate Intrinsic Value
|
| | |
| | |
Options outstanding at October 31, 2017
| 1,780,000
| | $ 1.58
| | |
Options outstanding and exercisable at July 31, 2018
| 1,780,000
| | $ 1.58
| | $ 3,206,700
|
|
Share-based Payment Arrangement, Option, Exercise Price Range [Table Text Block] |
Range of Exercise Prices
| | Number Outstanding and Exercisable
| | Weighted Average Remaining Contractual Life (in years)
| | Weighted Average Exercise Price
|
| | |
| | |
| | |
| | |
$ 0.67
| | 1,046,000
| | 3.05
| | $ 0.67
|
$ 2.58-$ 5.56
| | 734,000
| | 2.59
| | $ 2.88
|
Range of Exercise Prices
| | Number Outstanding and Exercisable
| | Weighted Average Remaining Contractual Life (in years)
| | Weighted Average Exercise Price
|
| | |
| | |
| | |
| | |
$ 0.67
| | 1,046,000
| | 4.05
| | $ 0.67
|
$ 2.58-$ 5.56
| | 734,000
| | 3.59
| | $ 2.88
|
|