Annual report pursuant to Section 13 and 15(d)

Note 7 - Preferred Stock Issuance and Conversion (Details)

v2.4.1.9
Note 7 - Preferred Stock Issuance and Conversion (Details) (Series B Preferred Stock [Member], USD $)
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Dec. 31, 2011
Dec. 31, 2010
Dec. 31, 2009
Dec. 31, 2008
Dec. 31, 2007
Dec. 31, 2006
Dec. 31, 2005
Dec. 31, 2004
Dec. 31, 2003
Note 7 - Preferred Stock Issuance and Conversion (Details) [Line Items]                        
Preferred Stock, Liquidation Preference Per Share (in Dollars per share) $ 1.00us-gaap_PreferredStockLiquidationPreference                      
Preferred Stock Of Subsidiary Redeemable Price Per Share (in Dollars per share) $ 1.00pesi_PreferredStockOfSubsidiaryRedeemablePricePerShare                      
Preferred Stock, Dividend Rate, Percentage 5.00%us-gaap_PreferredStockDividendRatePercentage                      
Preferred Stock Of Subsidiary Per Share Amount On Which Dividend Rate Applied (in Dollars per share) $ 1.00pesi_PreferredStockOfSubsidiaryPerShareAmountOnWhichDividendRateApplied                      
Dividends Payable $ 803,000us-gaap_DividendsPayableCurrentAndNoncurrent                      
Other Noncurrent Liabilities [Member]
                       
Note 7 - Preferred Stock Issuance and Conversion (Details) [Line Items]                        
Preferred Stock Of Subsidiary Accrued Dividends $ 64,000pesi_PreferredStockOfSubsidiaryAccruedDividends
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
$ 64,000pesi_PreferredStockOfSubsidiaryAccruedDividends
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
$ 64,000pesi_PreferredStockOfSubsidiaryAccruedDividends
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
$ 64,000pesi_PreferredStockOfSubsidiaryAccruedDividends
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
$ 64,000pesi_PreferredStockOfSubsidiaryAccruedDividends
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
$ 64,000pesi_PreferredStockOfSubsidiaryAccruedDividends
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
$ 64,000pesi_PreferredStockOfSubsidiaryAccruedDividends
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
$ 64,000pesi_PreferredStockOfSubsidiaryAccruedDividends
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
$ 64,000pesi_PreferredStockOfSubsidiaryAccruedDividends
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
$ 64,000pesi_PreferredStockOfSubsidiaryAccruedDividends
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
$ 64,000pesi_PreferredStockOfSubsidiaryAccruedDividends
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
$ 64,000pesi_PreferredStockOfSubsidiaryAccruedDividends
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentLiabilitiesMember
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember