exit status 1 expected '}' before 'else'

Hello, im trying to use this code to toggle 3 LEDs with a IR remote, so far it worked but now i wanted to add a fourth input to turn them on and off all at once (code4) and i get this "exit status 1
expected '}' before 'else'"

#include <IRremote.h>
int RECV_PIN = 11; //
int output1 = 2;
int output2 = 4;
int output3 = 6;
int itsONled[] = {0, 0, 0, 0};
#define code1  0xFF30CF // 
#define code2  0xFF18E7 // 
#define code3  0xFF7A85 // 
#define code4 0xFFA25D //
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
  Serial.begin(9600);   //
  irrecv.enableIRIn();  //
  pinMode(output1, OUTPUT);
  pinMode(output2, OUTPUT);
  pinMode(output3, OUTPUT);
}
void loop() {
  if (irrecv.decode(&results)) {
    unsigned int value = results.value;
    switch (value) {
      case code1:
        if (itsONled[1] == 1) {       //
          digitalWrite(output1, LOW);   //
          itsONled[1] = 0;           //
        } else {                      //
          digitalWrite(output1, HIGH); //
          itsONled[1] = 1;          //
        }
        break;
      case code2:
        if (itsONled[2] == 1) {
          digitalWrite(output2, LOW);
          itsONled[2] = 0;
        } else {
          digitalWrite(output2, HIGH);
          itsONled[2] = 1;
        }
        break;
      case code3:
        if (itsONled[3] == 1) {
          digitalWrite(output3, LOW);
          itsONled[3] = 0;
        } else {
          digitalWrite(output3, HIGH);
          itsONled[3] = 1;
        }
        break;
      case code4:
        if  (itsONled[1] == 1);
            (itsONled[2] == 1);
            (itsONled[3] == 1);
        {
          digitalWrite(output1, LOW);
          digitalWrite(output2, LOW);
          digitalWrite(output3, LOW);
          itsONled[1] == 0;
          itsONled[2] == 0;
          itsONled[3] == 0;
          
        }  else {
          digitalWrite(output1, HIGH);     
          digitalWrite(output2, HIGH);
          digitalWrite(output3, HIGH);
          itsONled[1] = 1;
          itsONled[2] = 1;
          itsONled[3] = 1;
        }
        break;

    }
    Serial.println(value); // you can comment this line
    irrecv.resume(); // Receive the next value
  }
}

This looks suspicious. What are you trying to do here?

    case code4:
        if  (itsONled[1] == 1);
            (itsONled[2] == 1);
            (itsONled[3] == 1);
        {
          digitalWrite(output1, LOW);
          digitalWrite(output2, LOW);

Edit: Are you trying to test all 3 conditions?

       if  ((itsONled[1] == 1) and (itsONled[2] == 1) and (itsONled[3] == 1))
        {
          digitalWrite(output1, LOW);
          digitalWrite(output2, LOW);

Another edit: Karma given for using code tags on your first post!!!!!

I should have mentioned im REALLY new to arduino so forgive me for basic errors.

Yes, i am indeed trying to test all 3 conditions all at once, is that the problem?

Delta_G:
Testing all 3 at once is not a problem. Trying to invent your own syntax instead of doing any reading on the language looks like the problem.

Oh-kay?

As stated above this is not a valid construction, although it may compile.

case code4:
        if  (itsONled[1] == 1);
            (itsONled[2] == 1);
            (itsONled[3] == 1);

The question is - seeing as I'm a human and can't decode it, what's the compiler to do? - do you mean if ALL the conditions are true or if ANY are true?

OP, have a look at this page

Specifically, in your case, the boolean operators. Should help get a grasp on what you want to do.