There's also a little cheat you can use with barre chords if you find them difficult to play. This works well mostly on A and B chords but you can move up and down the fretboard and play just about any major chord.
The trick here is to lift your fretting hand slightly so that the first two strings are playing open at all times. Instead of a B chord, you'll get a Badd11 chord, but in quite a few songs it actually adds to the flavor of the tune your playing.
http://guitartricks.com/lesson.php?input=1583
Another advantage of this little trick is you can leave the 1st and 2nd string ringing on at all times so that it sounds like all your chords are flowing together.