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 6 Months Ended
Jan. 24, 2015
Jan. 25, 2014
Jan. 24, 2015
Jan. 25, 2014
Common Class A [Member]        
Numerator:        
Net income allocated, basic $ 4,957us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
$ 2,102us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
$ 7,870us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
$ (2,979)us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Conversion of Class B to Class A shares 1,492vlgea_TwoClassIncomeAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
648vlgea_TwoClassIncomeAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
2,370vlgea_TwoClassIncomeAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
0vlgea_TwoClassIncomeAllocationClassBConversiontoClassA
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Effect of share-based compensation on allocated net income 9vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
(1)vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
11vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
0vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Net income allocated, diluted 6,458us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
2,749us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
10,251us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
(2,979)us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Denominator:        
Weighted average shares outstanding, basic (in shares) 9,409us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
9,198us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
9,409us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
9,167us-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) 25us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
85us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
22us-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,795us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
13,644us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
13,792us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
9,167us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Common Class B [Member]        
Numerator:        
Net income allocated, basic 1,492us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
648us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
2,370us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
(937)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 (2)vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
0vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
(2)vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
0vlgea_TwoClassIncomeDistributionShareBasedCompensation
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
Net income allocated, diluted $ 1,490us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
$ 648us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
$ 2,368us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
$ (937)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,387us-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,387us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember