XML 44 R20.htm IDEA: XBRL DOCUMENT v2.4.1.9
NET INCOME (LOSS) PER SHARE - Schedule of Earnings Per Share, Basic and Diluted (Details) (USD $)
In Thousands, unless otherwise specified
3 Months Ended 9 Months Ended
Apr. 25, 2015
Apr. 26, 2014
Apr. 25, 2015
Apr. 26, 2014
Common Class A [Member]        
Numerator:        
Net income allocated, basic $ 9,936us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
$ 2,395us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
$ 17,806us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
$ (595)us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Conversion of Class B to Class A shares 2,976vlgea_TwoClassIncomeAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
720vlgea_TwoClassIncomeAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
5,346vlgea_TwoClassIncomeAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
0vlgea_TwoClassIncomeAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Effect of share-based compensation on allocated net income 26vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
0vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
37vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
0vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Net income allocated, diluted 12,938us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
3,115us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
23,189us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
(595)us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Denominator:        
Weighted average shares outstanding, basic (in shares) 9,449us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
9,288us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
9,423us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
9,207us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Conversion of Class B to Class A shares (in shares) 4,361vlgea_TwoClassShareAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
4,361vlgea_TwoClassShareAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
4,361vlgea_TwoClassShareAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
0vlgea_TwoClassShareAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Dilutive effect of share-based compensation (in shares) 107us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
30us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
50us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
0us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Weighted average shares outstanding, diluted (in shares) 13,917us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
13,679us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
13,834us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
9,207us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Common Class B [Member]        
Numerator:        
Net income allocated, basic 2,976us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
720us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
5,346us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
(205)us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
Conversion of Class B to Class A shares 0vlgea_TwoClassIncomeAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
0vlgea_TwoClassIncomeAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
0vlgea_TwoClassIncomeAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
0vlgea_TwoClassIncomeAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
Effect of share-based compensation on allocated net income (19)vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
0vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
(21)vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
0vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
Net income allocated, diluted $ 2,957us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
$ 720us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
$ 5,325us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
$ (205)us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
Denominator:        
Weighted average shares outstanding, basic (in shares) 4,361us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
4,361us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
4,361us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
4,378us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
Conversion of Class B to Class A shares (in shares) 0vlgea_TwoClassShareAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
0vlgea_TwoClassShareAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
0vlgea_TwoClassShareAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
0vlgea_TwoClassShareAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
Dilutive effect of share-based compensation (in shares) 0us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
0us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
0us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
0us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
Weighted average shares outstanding, diluted (in shares) 4,361us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
4,361us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
4,361us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
4,378us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember