Normal Subgroups in a p-group

How can one prove the following claim:

Elementary abelian $p$- group of order $p^n$ have the maximal number of normal subgroups among all $p$-groups of the same order.

Is is indeed true?

-
Induction works. An elementary abelian group has the maximal number of maximal subgroups (kill the Frattini subgroup), and any non-maximal normal subgroup is contained in a maximal one. Since normality is transitive in elementary abelian groups, you are essentially done. – user641 Oct 16 '12 at 20:06
Here's an MO post about it mathoverflow.net/questions/108581/… – Alexander Gruber Oct 16 '12 at 20:08
Thanks @AlexanderGruber ! That's great! – joshua Oct 16 '12 at 21:05

Let $G$ be a $p$-group of size $p^n$ and fix some $0 \leq k \leq n$. We're going to bound the number of subgroups $H \subset G$ with rank $k$. Any such subgroup is generated by $k$ elements, but can be so generated in many different ways. In fact, by the Burnside basis theorem, a $k$-element subset generates $H$ if and only if it is a basis for the $\mathbb{F}_p$ vector space $G/\Phi(G)$. So for each $H$ there are always at least $(p^k-1)(p^k-p)\ldots(p^k-p^{k-1})$ different choices giving the same $H$. Thus the total number of $H$ of rank $k$ is at most $$\frac{(p^n-1)(p^n-p)\ldots(p^n-p^{k-1})}{(p^k-1)(p^k-p)\ldots(p^k-p^{k-1})}.$$
But that formula gives exactly the number of subgroups of rank $k$ of an elementary abelian group of size $p^n$, so the maximum possible number of subgroups of a $p$-group of given size is realized by an elementary abelian subgroup.
Now I haven't yet proved that elementary abelian p-groups are the only p-groups which achieve the maximum. To that end consider the case $k=n$. To achieve the maximum there must be one subgroup of G with rank n, but this implies that G is elementary abelian.