Critical point theorems for indefinite functionals