program execution is not as intended

while (IRreciever, HIGH)

Even though its valid, I do not think its what you are intending, the loop always runs ( and is infinite ). And your nested loop will never run, no matter what the IR thingo returns.

do you mean:

while (IRreciever == HIGH)