Annual report pursuant to Section 13 and 15(d)

Consolidated Balance Sheets (Parenthetical)

v2.4.1.9
Consolidated Balance Sheets (Parenthetical) (USD $)
Nov. 30, 2014
Nov. 30, 2013
Accounts receivable, allowance for doubtful accounts $ 1,976,966us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent $ 1,994,575us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent
Preferred stock, par value $ 0.01us-gaap_PreferredStockParOrStatedValuePerShare $ 0.01us-gaap_PreferredStockParOrStatedValuePerShare
Preferred stock, shares authorized 500,000us-gaap_PreferredStockSharesAuthorized 500,000us-gaap_PreferredStockSharesAuthorized
Preferred stock, shares issued 0us-gaap_PreferredStockSharesIssued 0us-gaap_PreferredStockSharesIssued
Preferred stock, shares outstanding 0us-gaap_PreferredStockSharesOutstanding 0us-gaap_PreferredStockSharesOutstanding
Common stock, par value $ 0.01us-gaap_CommonStockParOrStatedValuePerShare $ 0.01us-gaap_CommonStockParOrStatedValuePerShare
Common stock, shares authorized 20,000,000us-gaap_CommonStockSharesAuthorized 20,000,000us-gaap_CommonStockSharesAuthorized
Common stock, shares issued 11,921,285us-gaap_CommonStockSharesIssued 11,870,040us-gaap_CommonStockSharesIssued
Common stock, shares outstanding 9,706,174us-gaap_CommonStockSharesOutstanding 10,743,225us-gaap_CommonStockSharesOutstanding
Series A Junior Participating Preferred Stock [Member]    
Preferred stock, par value $ 0.01us-gaap_PreferredStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
$ 0.01us-gaap_PreferredStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
Preferred stock, shares authorized 20,000us-gaap_PreferredStockSharesAuthorized
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
20,000us-gaap_PreferredStockSharesAuthorized
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
Preferred stock, shares issued 0us-gaap_PreferredStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
0us-gaap_PreferredStockSharesIssued
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
Preferred stock, shares outstanding 0us-gaap_PreferredStockSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
0us-gaap_PreferredStockSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember