a basic mistake:
Quote:
else if (posStatus[2] != 0 && posStatus[5] != 0 && posStatus[8] != 0 &&
(posStatus[2] + posStatus[5] + posStatus[8] % 2 == 0))
if posStatus[2] != 0 and posStatus[2]>0 then it is not possible to have
posStatus[2]+ STG ==0 unless STG<0
therefore else if condition will never be true in your case.
check out where to put your parenthesis and operator precedence as you need.
http://msdn.microsoft.com/en-us/library/aa691323%28v=vs.71%29.aspx[
^]
[update on request]
enclose with parenthesis for modulus operator since its precedence higher than addition.
else if (posStatus[2] != 0 && posStatus[5] != 0 && posStatus[8] != 0 && (posStatus[2] + posStatus[5] + posStatus[8]) % 2 == 0)