Elonka's Vigenére Cipher

Cipher Key:
Alphabet Key:
Plaintext Key:
Passphrase: 

Tableau:

Message:

Preload: K1 K2 K2b K3 K4 K4? Wikipedia

The cipher key will alter the alphabet on top. The alphabet key changes the tableau. The plaintext key changes the letters on the left.
Encoding method: Look up the plaintext on the left, look up the letter of the passphrase on top. Find the tableau letter where they meet.
Decoding method: Look up the letter of the passphrase on top, scan down to the encrypted letter, go left to the plaintext letter.

I was going to add a "spin" so you can change each row's spin, but then problems pop up if you have two rows that are identical. Using a plaintext key approaches the same result but avoids potential problems.