according to http://jsfiddle.net/WeyLJ/8/
if ((catg == 1 || catg == 3) && (yes))
you need bracket around your || in your if condition.
i heard there is a trick in javascript which make the condition if( a || b ||c & d ||e ) be true because "a || b" is true and it wont check the rest of the condition.
but there still be a probleme with your else if with no else. check the comment of your question or the code.