Note 6 - Capital Stock, Stock Plans, Warrants, and Stock Based Compensation (Details) - Status of Options Under the Company’s Stock Option Plans (USD $)
|
12 Months Ended |
0 Months Ended |
12 Months Ended |
0 Months Ended |
|
Dec. 31, 2014
|
Jul. 29, 2003
|
Dec. 31, 2013
|
Jul. 10, 2014
|
Sep. 29, 2010
|
Dec. 31, 2012
|
Note 6 - Capital Stock, Stock Plans, Warrants, and Stock Based Compensation (Details) - Status of Options Under the Company’s Stock Option Plans [Line Items] |
|
|
|
|
|
|
|
|
Shares |
362,800us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
|
|
|
|
|
|
|
Weighted Average Exercise Price |
$ 9.53us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
|
|
|
|
|
|
|
Shares |
71,800us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
|
|
|
|
|
|
|
Weighted Average Exercise Price |
$ 4.70us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
|
|
|
|
|
|
|
Exercised |
(2,577)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
|
|
|
|
|
|
|
|
Exercised |
$ 2.79us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
|
|
|
|
|
|
|
Exercised |
$ 3,705us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
|
|
|
|
|
|
|
|
Shares |
(193,000)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
|
|
|
|
|
|
|
|
Shares |
239,023us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
[1] |
|
|
|
|
|
|
Weighted Average Exercise Price |
$ 7.81us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
[1] |
|
|
|
|
|
|
Intrinsic Value (a) |
41,957us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
|
[1] |
|
|
|
|
|
|
Shares |
167,223us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
[1] |
|
|
|
|
|
|
Weighted Average Exercise Price |
$ 9.15us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
[1] |
|
|
|
|
|
|
Intrinsic Value (a) |
31,037us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
|
[1] |
|
|
|
|
|
|
The 2003 Outside Directors Stock Plan [Member] |
|
|
|
|
|
|
|
|
Note 6 - Capital Stock, Stock Plans, Warrants, and Stock Based Compensation (Details) - Status of Options Under the Company’s Stock Option Plans [Line Items] |
|
|
|
|
|
|
|
|
Shares |
169,200us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
163,200us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
|
|
Weighted Average Exercise Price |
$ 9.18us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
$ 10.19us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
|
|
Shares |
16,800us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
30,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
24,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
|
|
Weighted Average Exercise Price |
$ 3.70us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
$ 2.89us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
|
|
Exercised |
(2,577)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
|
|
|
|
|
Exercised |
$ 2.79us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
|
|
|
|
|
Exercised |
3,705us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
[2] |
|
|
|
|
|
|
Shares |
(14,400)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
(18,000)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
|
|
Weighted Average Exercise Price |
$ 8.50us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
$ 9.95us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
|
|
Shares |
169,023us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
169,200us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
|
|
Weighted Average Exercise Price |
$ 8.79us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
$ 9.18us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
|
|
Intrinsic Value (a) |
41,957us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
[2] |
|
5,850us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
[2] |
|
|
|
Shares |
152,223us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
145,200us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
|
|
Weighted Average Exercise Price |
$ 9.35us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
$ 10.22us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2003OutsideDirectorsStockPlanMember
|
|
|
|
|
Intrinsic Value (a) |
|
[2] |
|
|
[2] |
|
|
|
The 2004 Stock Option Plan [Member] |
|
|
|
|
|
|
|
|
Note 6 - Capital Stock, Stock Plans, Warrants, and Stock Based Compensation (Details) - Status of Options Under the Company’s Stock Option Plans [Line Items] |
|
|
|
|
|
|
|
|
Shares |
133,600us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
182,100us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
|
|
Weighted Average Exercise Price |
$ 10.73us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
$ 10.55us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
|
|
Shares |
(118,600)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
(48,500)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
|
|
Weighted Average Exercise Price |
$ 11.19us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
$ 10.05us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
|
|
Shares |
15,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
133,600us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
|
|
Weighted Average Exercise Price |
$ 7.10us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
$ 10.73us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
|
|
Intrinsic Value (a) |
|
[2] |
|
|
[2] |
|
|
|
Shares |
15,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
133,600us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
|
|
Weighted Average Exercise Price |
$ 7.10us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
$ 10.73us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2004StockOptionPlanMember
|
|
|
|
|
Intrinsic Value (a) |
|
[2] |
|
|
[2] |
|
|
|
The 2010 Stock Option Plan [Member] |
|
|
|
|
|
|
|
|
Note 6 - Capital Stock, Stock Plans, Warrants, and Stock Based Compensation (Details) - Status of Options Under the Company’s Stock Option Plans [Line Items] |
|
|
|
|
|
|
|
|
Shares |
60,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
|
|
|
|
|
|
60,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
Weighted Average Exercise Price |
$ 7.85us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
|
|
|
|
|
|
$ 7.85us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
Shares |
55,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
|
|
|
|
55,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
200,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
|
Weighted Average Exercise Price |
$ 5.00us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
|
|
|
|
$ 5.00us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
|
|
Shares |
(60,000)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
|
|
|
|
|
|
|
Weighted Average Exercise Price |
$ 7.85us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
|
|
|
|
|
|
|
Shares |
55,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
|
|
|
|
|
|
60,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
Weighted Average Exercise Price |
$ 5.00us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
|
|
|
|
|
|
$ 7.85us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
Intrinsic Value (a) |
|
[2] |
|
|
[2] |
|
|
|
Shares |
|
|
|
40,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
|
|
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
|
Weighted Average Exercise Price |
|
|
|
$ 7.85us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice / us-gaap_PlanNameAxis = pesi_The2010StockOptionPlanMember
|
|
|
|
|
Intrinsic Value (a) |
|
[2] |
|
|
[2] |
|
|
|
|
|