Q1 : If you have the option to take any programming classes at school, take them! It's good hands-on, 1-on-1 learning experience. Classes really kick start a programming career, as they teach the basic very well and allow the student to apply what they learned to other things.
Q2 : Time needed all depends on the dedication and person. If you really have your mind set on learning and failing every so often doesn't stop you, you'll only need a couple months until you've mastered the basics. You can sit there all day and study a programming language, but you really don't master it until you've put it into action over time and trained your mind with the memory needed.
Q3 : If you want to get into it right away ... check out codeaccademy. It will get you started, but I find it very difficult to learn with it. You can also go the the classics, and just pick up a good ol' book at the store! I find those very good to study with.