Ok, here is the deal.
You have to register within the state you reside. Some states require registration by "party" (usually Democratic, Republican, or Independent, but some parties have access in a few states, like Greens, Socialists, Libertarians, Constitution, etc.).
When you vote in a GENERAL ELECTION, it does not matter what party you belong to. If it was a PRIMARY ELECTION, you could only vote in the primary of that party you are registered to.
To vote on Nov. 2nd, some states required you have your paperwork turned in a month before the elction, but some states - like Minnesota - say that you can register to vote the day of the election. It just depends.
Does that make sense?
(if it does, then this part will certainly not make sense
Now, when voting for president, you are not actually voting for "John Kerry" or "George Bush" but you are voting for a slate of ELECTORS (there are 538 of them) who will then, in turn, vote for your guy. Now, the ELECTORS are not always honest. For example, in 2000, the final ELECTORAL vote should have been 272 Bush - 267 Gore. BUT, one ELECTOR didn't vote for Gore (I think they abstained), so it was 272 - 266 officially. Make sense?