XML 56 R72.htm IDEA: XBRL DOCUMENT v2.4.1.9
Stock Compensation Plans - Schedule of Transactions Involving Outstanding Stock Options and Non-Vested Restricted Stock and Restricted Stock Unit Awards Under 2006 Plan (Detail) (USD $)
In Thousands, except Share data, unless otherwise specified
12 Months Ended
Nov. 02, 2014
Nov. 03, 2013
Oct. 28, 2012
Oct. 30, 2011
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]        
Number of shares, Outstanding Ending balance 764,150us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber 491,650us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber 555,650us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber  
Restricted Stock Units [Member]        
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]        
Number of shares, Granted 15,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
     
Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]        
Number of shares, Outstanding Beginning balance 73,334us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
     
Number of shares, Outstanding Ending balance 15,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
  0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
 
2006 Plan [Member] | Stock Options [Member]        
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]        
Number of shares, Outstanding Beginning balance 484,150us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
537,950us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
715,017us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
 
Number of shares, Granted 340,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
 
Number of shares, Expired (34,600)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
(28,700)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
(27,800)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
 
Number of shares, Forfeited (25,400)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
(25,100)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
(149,267)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
 
Number of shares, Vested    0us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
   
Number of shares, Outstanding Ending balance 764,150us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
484,150us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
537,950us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
715,017us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
Number of shares, Unvested 2,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
     
Number of shares, Exercisable 422,150us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
     
Number of shares, Vested and unexercisable 340,000visi_SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsVestedNotExercisableOutstandingNumber
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
     
Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range, End of Period [Abstract]        
Weighted average exercise price, Outstanding balance (USD per share) $ 9.22us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 6.50us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 6.53us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 7.51us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
Weighted average exercise price, Granted (USD per share) $ 12.59us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 0.00us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 0.00us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
 
Weighted average exercise price, Expired (USD per share) $ 6.39us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 6.39us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 6.39us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
 
Weighted average exercise price, Forfeited (USD per share) $ 6.39us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 7.22us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 11.25us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
 
Weighted average exercise price, Unvested (USD per share) $ 10.56us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
     
Weighted average exercise price, Vested and unexercisable (USD per share) $ 12.59visi_SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsVestedNotExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
     
Weighted average exercise price, Exercisable (USD per share) $ 6.50us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
     
Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]        
Weighted average contractual life, Outstanding 5 years 5 months 5 days 5 years 5 months 1 day 6 years 5 months 5 days 7 years 3 months 22 days
Weighted average contractual life, Unvested 6 years 6 months 11 days      
Weighted average contractual life, Vested, Not Exercisable 6 years 8 months 1 day 6 years 8 months 1 day    
Weighted average contractual life, Exercisable 4 years 5 months 5 days      
Aggregate Intrinsic Value, Outstanding $ 776us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 1,041us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 314us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 232us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
Aggregate Intrinsic Value, Expected to vest 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
     
Aggregate Intrinsic Value, Vested, Not Exercisable 0visi_SharebasedCompensationArrangementbySharebasedPaymentAwardOptionsVestedNoteExercisableOutstandingAggregateIntrinsicValue
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
     
Aggregate Intrinsic Value, Exercisable $ 776us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
/ us-gaap_AwardTypeAxis
= visi_StockOptionPlanMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
     
2006 Plan [Member] | Restricted Stock Units [Member]        
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]        
Number of shares, Unvested 23,334visi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpectedToVest
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
     
Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding [Roll Forward]        
Number of shares, Outstanding Beginning balance 73,334us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
  0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
 
Number of shares, Granted 15,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
110,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
 
Number of shares, Expired           
Number of shares, Forfeited 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
 
Number of shares, Vested (65,000)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
(36,666)us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
   
Number of shares, Outstanding Ending balance 23,334us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
73,334us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
   
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]        
Weighted average grant date fair value, Outstanding (USD per share) $ 7.61us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
  $ 0.00us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
 
Weighted average grant date fair value, Granted (USD per share) $ 9.24us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 7.16us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 0.00us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
 
Weighted average grant date fair value, Expired (USD per share)           
Weighted average grant date fair value, Forfeited (USD per share) $ 0.00us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 0.00us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 0.00us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
 
Weighted average grant date fair value, Vested (USD per share) $ 7.97us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
$ 6.25us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember
   
Weighted average grant date fair value, Unvested (USD per share) $ 7.68visi_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpectedToVestInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockUnitsRSUMember
/ us-gaap_PlanNameAxis
= visi_TwoThousandSixStockOptionPlanMember