Cool Max.
Though, don't you think it is repetitive to have 20 different variables and if statements in the code?
I was thinking, to make it lessen the redundancy, somehow display all "added" channels with the use of tokens. As channel names cannot have the comma character (,) in them, each channel can be separated through that single token, saving you tons of space.
You could do the same thing with the "status" of the "Auto-Join" checkbox, using a similar concept.
If you don't think that's a good idea, then it might be better to use hashes. =/