| Note 6 - Capital Stock, Stock Plans, Warrants, and Stock Based Compensation (Details) - Company Stock Plan (USD $) | 12 Months Ended | |||
|---|---|---|---|---|
| Dec. 31, 2014 | ||||
| Company Stock Plan [Abstract] | ||||
| Shares | 362,800us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber | |||
| Weighted Average Exercise Price | $ 9.53us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice | |||
| Weighted Average Remaining Contractual Term | 4 years 328 days | [1] | ||
| Aggregate Intrinsic Value | $ 41,957us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue | [1] | ||
| Options Exercisable at December 31, 2014(1) | 167,223us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber | [1] | ||
| Options Exercisable at December 31, 2014(1) | $ 9.15us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice | [1] | ||
| Options Exercisable at December 31, 2014(1) | 4 years 73 days | [1] | ||
| Options Exercisable at December 31, 2014(1) | 31,037us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1 | [1] | ||
| Options Vested and expected to be vested at December 31, 2014 | 230,223us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber | |||
| Options Vested and expected to be vested at December 31, 2014 | $ 7.92us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice | |||
| Options Vested and expected to be vested at December 31, 2014 | 4 years 328 days | |||
| Options Vested and expected to be vested at December 31, 2014 | 41,957us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue | |||
| Granted | 71,800us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross | |||
| Granted | $ 4.70us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice | |||
| Exercised | (2,577)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised | |||
| Exercised | $ 2.79us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice | |||
| Exercised | $ 3,705us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue | |||
| Forfeited/Expired | (193,000)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod | |||
| Forfeited/Expired | $ 9.95us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice | |||
| Shares | 239,023us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber | [1] | ||
| Weighted Average Exercise Price | $ 7.81us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice | [1] | ||
| 
 | ||||
| X | ||||||||||
| 
- Details 
 | 
| X | ||||||||||
| 
- Definition Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition Gross number of share options (or share units) granted during the period. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition Number of options outstanding, including both vested and non-vested options. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition Weighted average remaining contractual term for fully vested and expected to vest options that are exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition Amount by which the current fair value of the underlying stock exceeds the exercise price of fully vested and expected to vest options outstanding. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition As of the balance sheet date, the number of shares into which fully vested and expected to vest stock options outstanding can be converted under the option plan. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition As of the balance sheet date, the weighted-average exercise price for outstanding stock options that are fully vested or expected to vest. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition Weighted average price at which option holders acquired shares when converting their stock options into shares. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Number of share options (or share units) exercised during the current period. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 |