Background(image) not working

here is my version - mainly ordering the order of functions

int state = 0;

boolean testSketch = true;//false;//true;

int x1, y1, w1, h1;   //Button oben links
int x2, y2, w2, h2;   //Button oben rechts
int x3, y3, w3, h3;   //Button unten links
int x4, y4, w4, h4;   //Button unten rechts
int x5, y5, w5, h5;   // Button zurück

/* // hard coded
 int x1=100, y1=100, w1=250, h1=250;   //Button oben links
 int x2=1570, y2=100, w2=250, h2=250;   //Button oben rechts
 int x3=100, y3=730, w3=250, h3=250;   //Button unten links
 int x4=1570, y4=730, w4=250, h4=250;   //Button unten rechts
 int x5=80, y5=870, w5=250, h5=100;   // Button zurück
 */

// ---------------------------------------------------------------------------
// processing Core Functions 

void settings() {
  if ( testSketch ) 
    size(600, 400);
  else
    fullScreen();
}

void setup() {
  setup_buttons();
  fill(0, 0, 200);
  strokeWeight(5);
  textSize(20);
}

void draw() {
  background(200, 100, 200);

  if ( state == 0 ) draw_4_buttons();
  else if ( state == 1 ) draw_back_button_and_some_text1();
  else if ( state == 2 ) draw_back_button_and_some_text2();
  else if ( state == 3 ) draw_back_button_and_some_text3();
  else if ( state == 4 ) draw_back_button_and_some_text4();
}

// ---------------------------------------------------------------------------
// belonging to setup()

void setup_buttons() {
  x1 = width/10;
  y1 = height/10;
  w1 = 2*x1;
  h1 = 2*y1;

  x2 = width-x1-w1;
  y2 = y1;
  w2 = w1;
  h2 = h1;

  x3 = x1;
  y3 = height-y1-h1;
  w3 = w1;
  h3 = h1;

  x4 = x2;
  y4 = y3;
  w4 = w1;
  h4 = h1;

  x5 = x3;
  y5 = y3;
  w5 = w1;
  h5 = h1/2;
}

// ---------------------------------------------------------------------------
// belonging to draw()

void draw_4_buttons() {
  text("some text page 0 ", 120, height/2);

  //_______ stat 0 only
  if ( over(x1, y1, w1, h1) ) 
    stroke(200, 0, 0); 
  else stroke(0);
  rect(x1, y1, w1, h1);
  pushStyle();
  fill(0);
  text("1", x1+33, y1+33);
  popStyle();

  if ( over(x2, y2, w2, h2) )
    stroke(200, 0, 0); 
  else stroke(0);
  rect(x2, y2, w2, h2);
  pushStyle();
  fill(0);
  text("2", x2+33, y2+33);
  popStyle();

  if ( over(x3, y3, w3, h3) )
    stroke(200, 0, 0); 
  else stroke(0);
  rect(x3, y3, w3, h3);
  pushStyle();
  fill(0);
  text("3", x3+33, y3+33);
  popStyle();

  if ( over(x4, y4, w4, h4) ) 
    stroke(200, 0, 0); 
  else stroke(0);
  rect(x4, y4, w4, h4);
  pushStyle();
  fill(0);
  text("4", x4+33, y4+33);
  popStyle();
}

void draw_back_button_and_some_text1() {
  text("some text page1 ", 20, 20);
  draw_zurueck_button();
}

void draw_back_button_and_some_text2() {
  text("some text page2 ", 20, 20);
  draw_zurueck_button();
}

void draw_back_button_and_some_text3() {
  text("some text page3 ", 20, 20);
  draw_zurueck_button();
}

void draw_back_button_and_some_text4() {
  text("some text page4 ", 20, 20);
  draw_zurueck_button();
}

void draw_zurueck_button() {
  //_ state 1,2,3
  if ( over(x5, y5, w5, h5) ) 
    stroke(200, 0, 0); 
  else stroke(0);
  rect(x5, y5, w5, h5);
  pushStyle();
  fill(255);
  text("zurück", x5+33, y5+22);
  popStyle();
}

// -------------------------------------------------------------
// Inputs 

void mousePressed() {
  if ( state == 0 ) {
    if ( over(x1, y1, w1, h1) )  state = 1;
    else if ( over(x2, y2, w2, h2) )  state = 2;
    else if ( over(x3, y3, w3, h3) )  state = 3;
    else if ( over(x4, y4, w4, h4) )  state = 4;
  } else {
    if ( over(x5, y5, w5, h5) )  state = 0;
  }
}

// -------------------------------------------------------------
// Tools

boolean over(int x, int y, int w, int h) {
  return ( mouseX > x & mouseX < x + w   &&
    mouseY > y & mouseY < y + h      ) ;
}//
//