Having muddled through for a few years, I'm finally learning the basics of harmony. I'm having a bit of trouble, though understanding exactly what goes on when chords occur from outside the key. Is the key changing? Or are these 'borrowed' chords, and in which case, how are they decided on?

For example, see the classic "I Can't Forget" by Leonard Cohen.


            
                
                    
                    
                    
                    
                    
                
            

Here is an apparently accurate transcription of the chords in the verse:

http://www.maartenmassa.be/CohenChords/09iym/i_cant_forget.htm

    F#
I stumbled out of bed
       D#m
I got ready for the struggle
F#
I smoked a cigarette
     D#m               C#
And I tightened up my gut
   B         Bm       G#m
I said this can't be me
 A#          E    D#m
Must be my double
F#              B    
And I can't forget... (etc)


OK, so I see I-vi-I-vi-V of F# major, taking us to the line "I said this can't be me". This makes sense to me. But what happens then? 

It seems to modulate to B minor - fine, I think we're heading for a scale with B minor in it, ie A major, D major(/B minor),  or G major. But this is followed immediately by G#m, though, so it's not any of those (maybe we're back in F#?), but then we get A#!? E? 

I am totally confused at this point as to what key we're in.

It's particularly galling as the change to A# is my favourite chord change in the song, and the whole run from B to D#m, and then back to F#, is weirdly satisfying.

Can anyone explain what's going on here?


Question: Get Product Options for each Product in the Catalog
Answer: No answer but another option. Use Avs_FastSimpleImport to update product data with the attribute values. In the FastSimpleImport settings you can define missing options should be created

Check out the module here