XML 31 R52.htm IDEA: XBRL DOCUMENT v2.4.1.9
Note 11 - Stockholders' Equity (Details) - Stock Option Plan (USD $)
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Note 11 - Stockholders' Equity (Details) - Stock Option Plan [Line Items]      
Number of shares, exercised during period 28,000us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised 16,650us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised  
Number of shares, ending balance outstanding 259,730us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber    
Number of shares, exercisable 147,230us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber    
The 1989 Non-Qualified Stock Option Plan [Member]      
Note 11 - Stockholders' Equity (Details) - Stock Option Plan [Line Items]      
Number of shares, beginning balance outstanding 35,250us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
41,900us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
 
Number of shares, granted during period 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
 
Number of shares, exercised during period 0us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
6,650us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
 
Number of shares, canceled during period 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
 
Number of shares, ending balance outstanding 35,250us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
35,250us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
 
Number of shares, exercisable 35,250us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
35,250us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
 
Weighted average exercise price per share, beginning balance outstanding (in Dollars per share) $ 4.62us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
$ 4.82us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
 
Weighted average exercise price per share, granted during period (in Dollars per share) $ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
$ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
 
Weighted average exercise price per share, exercised during period (in Dollars per share) $ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
$ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
 
Weighted average exercise price per share, canceled during period (in Dollars per share) $ 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
$ 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
 
Weighted average exercise price per share, ending balance outstanding (in Dollars per share) $ 4.62us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
$ 4.62us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
 
Weighted average exercise price per share, exercisable (in Dollars per share) $ 4.62us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
$ 4.62us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The1989NonQualifiedStockOptionPlanMember
 
The 2001 Non-Qualified Stock Option Plan [Member]      
Note 11 - Stockholders' Equity (Details) - Stock Option Plan [Line Items]      
Number of shares, beginning balance outstanding 152,480us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
162,480us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
 
Number of shares, granted during period 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
Number of shares, exercised during period 28,000us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
10,000us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
 
Number of shares, canceled during period 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
 
Number of shares, ending balance outstanding 124,480us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
152,480us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
162,480us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
Number of shares, exercisable 111,980us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
127,480us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
 
Weighted average exercise price per share, beginning balance outstanding (in Dollars per share) $ 4.40us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
$ 4.35us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
 
Weighted average exercise price per share, granted during period (in Dollars per share) $ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
$ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
 
Weighted average exercise price per share, exercised during period (in Dollars per share) $ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
$ 0us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
 
Weighted average exercise price per share, canceled during period (in Dollars per share) $ 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
$ 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
 
Weighted average exercise price per share, ending balance outstanding (in Dollars per share) $ 4.57us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
$ 4.40us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
$ 4.35us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
Weighted average exercise price per share, exercisable (in Dollars per share) $ 4.56us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
$ 4.35us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The2001NonQualifiedStockOptionPlanMember
 
The 2007 Share Incentive Plan [Member]      
Note 11 - Stockholders' Equity (Details) - Stock Option Plan [Line Items]      
Number of shares, beginning balance outstanding 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= cvv_The2007ShareIncentivePlanMember
200us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= cvv_The2007ShareIncentivePlanMember
 
Number of shares, granted during period 100,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_PlanNameAxis
= cvv_The2007ShareIncentivePlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_PlanNameAxis
= cvv_The2007ShareIncentivePlanMember
 
Number of shares, exercised during period 0us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= cvv_The2007ShareIncentivePlanMember
0us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= cvv_The2007ShareIncentivePlanMember
 
Number of shares, canceled during period 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_PlanNameAxis
= cvv_The2007ShareIncentivePlanMember
200us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
/ us-gaap_PlanNameAxis
= cvv_The2007ShareIncentivePlanMember
 
Number of shares, ending balance outstanding 100,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= cvv_The2007ShareIncentivePlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= cvv_The2007ShareIncentivePlanMember
 
Number of shares, exercisable 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= cvv_The2007ShareIncentivePlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_PlanNameAxis
= cvv_The2007ShareIncentivePlanMember
 
Weighted average exercise price per share, beginning balance outstanding (in Dollars per share)   $ 11.51us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The2007ShareIncentivePlanMember
 
Weighted average exercise price per share, ending balance outstanding (in Dollars per share) $ 11.17us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_PlanNameAxis
= cvv_The2007ShareIncentivePlanMember