XML 74 R47.htm IDEA: XBRL DOCUMENT v2.4.1.9
Retirement Plans (Periodic Pension Cost) (Details) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Jan. 31, 2015
Jan. 31, 2014
Jan. 31, 2013
Other Changes in Plan Assets and Benefit Obligations Recognized in Other Comprehensive Income      
Amortization of prior service cost (credit) $ 1,283us-gaap_OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax $ 1,548us-gaap_OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax $ 1,629us-gaap_OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax
Total recognized in other Comprehensive Income 6,254us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent (2,006)us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent 658us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
Items not yet Recognized as a Component of Net Periodic Pension Expense, Included in AOCI      
Defined Benefit Plan, Accumulated Other Comprehensive Income Net Prior Service Cost (Credit), after Tax 20,200us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditAfterTax    
Employee Plan [Member]      
Other Changes in Plan Assets and Benefit Obligations Recognized in Other Comprehensive Income      
Net loss (gain) 4,893us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(407)us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Prior service cost    0us-gaap_OtherComprehensiveIncomeDefinedBenefitPlanNetPriorServiceCostsCreditArisingDuringPeriodNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Defined Benefit Plan, Amortization of Gains (Losses) (1,136)us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(2,264)us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Amortization of prior service cost (credit) 0us-gaap_OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
0us-gaap_OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Amortization of initial asset 0us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetTransitionAssetObligationNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
0us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetTransitionAssetObligationNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Total recognized in other Comprehensive Income 3,757us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(2,671)us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Items not yet Recognized as a Component of Net Periodic Pension Expense, Included in AOCI      
Defined Benefit Plan, Accumulated Other Comprehensive Income Net Prior Service Cost (Credit), after Tax 0us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Net actuarial loss (gain) 1,529virc_DefinedBenefitPlanNetActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
1,136virc_DefinedBenefitPlanNetActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Net periodic pension cost 1,529virc_NetPeriodicPensionCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
1,136virc_NetPeriodicPensionCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Projected benefit obligation 37,708us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
32,069us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
32,840us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Accumulated benefit obligation 37,708us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
32,069us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Fair value of plan assets 21,187us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
18,168us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
16,875us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Components of Net Cost      
Service cost 0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Interest cost 1,260us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
1,312us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Expected return on plan assets 1,102us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
1,119us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Amortization of transition amount 0us-gaap_DefinedBenefitPlanAmortizationOfTransitionObligationsAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanAmortizationOfTransitionObligationsAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Recognized (gain) loss due to curtailments 0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Amortization of prior service cost 0us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Recognized net actuarial loss 1,136virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
2,264virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Benefit cost 1,294us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
2,457us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Estimated Future Benefit Payments      
FYE 01-31-2016 4,789us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextRollingTwelveMonths
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
   
FYE 01-31-2017 2,686us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsRollingYearTwo
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
   
FYE 01-31-2018 1,619us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsRollingYearThree
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
   
FYE 01-31-2019 2,045us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsRollingYearFour
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
   
FYE 01-31-2020 1,737us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsRollingYearFive
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
   
FYE 01-31-2021 to 2025 11,117us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveRollingYearsThereafter
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
   
Total 23,993virc_DefinedBenefitPlanTotalEstimatedFutureBenefitPayments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
   
Weighted Average Assumptions to Determine Benefit Obligations at Year-End      
Discount rate 3.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
4.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Weighted Average Assumptions to Determine Net Periodic Pension Cost      
Discount rate 4.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
4.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Expected return on plan assets 6.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
6.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
VIP Retirement Plan [Member]      
Other Changes in Plan Assets and Benefit Obligations Recognized in Other Comprehensive Income      
Net loss (gain) 2,636us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
(176)us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Prior service cost        
Defined Benefit Plan, Amortization of Gains (Losses) (178)us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
(222)us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Amortization of prior service cost (credit) 0us-gaap_OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
0us-gaap_OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Amortization of initial asset 0us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetTransitionAssetObligationNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
0us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetTransitionAssetObligationNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Total recognized in other Comprehensive Income 2,458us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
(398)us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Items not yet Recognized as a Component of Net Periodic Pension Expense, Included in AOCI      
Defined Benefit Plan, Accumulated Other Comprehensive Income Net Prior Service Cost (Credit), after Tax 0us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
0us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Net actuarial loss (gain) 484virc_DefinedBenefitPlanNetActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
178virc_DefinedBenefitPlanNetActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Net periodic pension cost 484virc_NetPeriodicPensionCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
178virc_NetPeriodicPensionCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Projected benefit obligation 10,104us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
7,662us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
8,054us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
Accumulated benefit obligation 10,104us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
7,662us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Fair value of plan assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
Components of Net Cost      
Service cost 0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Interest cost 350us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
330us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Expected return on plan assets 0us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
0us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Amortization of transition amount 0us-gaap_DefinedBenefitPlanAmortizationOfTransitionObligationsAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
0us-gaap_DefinedBenefitPlanAmortizationOfTransitionObligationsAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Recognized (gain) loss due to curtailments 0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Amortization of prior service cost 0us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
0us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Recognized net actuarial loss 178virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
222virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Benefit cost 528us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
552us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Estimated Future Benefit Payments      
FYE 01-31-2016 613us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextRollingTwelveMonths
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
   
FYE 01-31-2017 339us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsRollingYearTwo
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
   
FYE 01-31-2018 325us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsRollingYearThree
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
   
FYE 01-31-2019 350us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsRollingYearFour
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
   
FYE 01-31-2020 368us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsRollingYearFive
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
   
FYE 01-31-2021 to 2025 1,916us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveRollingYearsThereafter
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
   
Total 3,911virc_DefinedBenefitPlanTotalEstimatedFutureBenefitPayments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
   
Weighted Average Assumptions to Determine Benefit Obligations at Year-End      
Discount rate 3.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
4.75%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Weighted Average Assumptions to Determine Net Periodic Pension Cost      
Discount rate 4.75%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
4.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_SupplementalEmployeeRetirementPlanDefinedBenefitMember
 
Directors Plan [Member]      
Other Changes in Plan Assets and Benefit Obligations Recognized in Other Comprehensive Income      
Net loss (gain) 8us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
(29)us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansNetUnamortizedGainLossArisingDuringPeriodNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Prior service cost    0us-gaap_OtherComprehensiveIncomeDefinedBenefitPlanNetPriorServiceCostsCreditArisingDuringPeriodNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Defined Benefit Plan, Amortization of Gains (Losses) 31us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
14us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Amortization of prior service cost (credit) 0us-gaap_OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
0us-gaap_OtherComprehensiveIncomeLossAmortizationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetPriorServiceCostCreditNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Amortization of initial asset 0us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetTransitionAssetObligationNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
0us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetTransitionAssetObligationNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Total recognized in other Comprehensive Income 39us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
(15)us-gaap_OtherComprehensiveIncomeDefinedBenefitPlansAdjustmentNetOfTaxPortionAttributableToParent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Items not yet Recognized as a Component of Net Periodic Pension Expense, Included in AOCI      
Defined Benefit Plan, Accumulated Other Comprehensive Income Net Prior Service Cost (Credit), after Tax 0us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Net actuarial loss (gain) 0virc_DefinedBenefitPlanNetActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
(31)virc_DefinedBenefitPlanNetActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Net periodic pension cost 0virc_NetPeriodicPensionCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
(31)virc_NetPeriodicPensionCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Projected benefit obligation 428us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
439us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
468us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
Accumulated benefit obligation 428us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
439us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Fair value of plan assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
Components of Net Cost      
Service cost 0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Interest cost 17us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
18us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Expected return on plan assets 0us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Amortization of transition amount 0us-gaap_DefinedBenefitPlanAmortizationOfTransitionObligationsAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanAmortizationOfTransitionObligationsAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Recognized (gain) loss due to curtailments 0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Recognized net actuarial loss (31)virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
(14)virc_DefinedBenefitPlanRecognizedNetActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Benefit cost (14)us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
4us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Estimated Future Benefit Payments      
FYE 01-31-2016 51us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextRollingTwelveMonths
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
   
FYE 01-31-2017 48us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsRollingYearTwo
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
   
FYE 01-31-2018 45us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsRollingYearThree
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
   
FYE 01-31-2019 42us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsRollingYearFour
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
   
FYE 01-31-2020 39us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsRollingYearFive
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
   
FYE 01-31-2021 to 2025 148us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveRollingYearsThereafter
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
   
Total $ 373virc_DefinedBenefitPlanTotalEstimatedFutureBenefitPayments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
   
Weighted Average Assumptions to Determine Benefit Obligations at Year-End      
Discount rate 3.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
4.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
 
Weighted Average Assumptions to Determine Net Periodic Pension Cost      
Discount rate 4.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember
4.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPensionPlansDefinedBenefitMember