Ok, I moved the code above and I finally figured this out. Once one of the conditions evaluates to true, it doesn't check any other condition. My top condition was evaluating to true, so none of other conditions were checked.
What a waste of time!!!!!!! I was looking at this for several hours :(
If it's not broken, fix it until it is.
My Blog