Two-level Trajectory-based Routing Protocol for Vehicular Ad Hoc Networks in Freeway and Manhattan Environments