# Interpretation of interactions between categorical data

I have data that looks a bit like this

  A<-c(90,95,70,45,20,15)
B<-c(10,5,30,55,80,85)
X<-c("X1","X2","X1","X2","X1","X2")
Z<-c("Z1","Z1","Z2","Z2","Z3","Z3")


I've carried out a glm

 mod1<-glm(cbind(A,B)~X*Z, binomial)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept)   2.1972     0.3333   6.592 4.35e-11 ***
XX2           0.7472     0.5671   1.318 0.187659
ZZ2          -1.3499     0.3984  -3.388 0.000703 ***
ZZ3          -3.5835     0.4167  -8.600  < 2e-16 ***
XX2:ZZ2      -1.7952     0.6400  -2.805 0.005035 **
XX2:ZZ3      -1.0955     0.6801  -1.611 0.107230


The reference level is Z1 and X1 and I've interpreted the data in this way -

As a main effect x is not significant but z is, with z2 and z3 significantly different form z1. We cannot tell the significance of the difference between z2 and z3 but we can work out the difference of the estimate... correct?

However the x2:z2 interaction indicates x is having a different effect in z1 and z2? And the nonsignificant interaction of x2:z3 indicates that x is having the same effect in z1 and z3? Is this interpretation correct?

Extra questions... How can I test the significance of the difference between z2 and z3, also the significance of the interaction between x2:z2 and x2:z3?

Last one ... If the interaction is significant how do I interpret the significance of the main effect of say x?