var screenTurnpointSelect = {
  n: 0,
  page: 0,
  pointer: 0,
  loaded: 0,
  selected: 0,
  right : func {
    me.loaded = 0;
    blocked = 1;
    var t = browse(me.n, me.pointer, me.page, arg[0]);
    me.pointer = t[0];
    me.page = t[1];
    me.selected = me.page * LINES + me.pointer;
  },
  enter : func {
  },
  escape : func {
  },
  start : func {
    me.n > 0 or return;
    Waypoint_to_scratch(gps_data.getNode("bookmarks/bookmark["~me.selected~"]/"));
    apply_command("obs");
    blocked = 0;
    me.loaded = 1;
    page = 1;
    mode = 3;
    left_knob(0);
  },
  lines : func {
    if (me.loaded != 1) {
      blocked = 1;
    }
    if (me.n > 0) {
      for (var l = 0; l < LINES; l += 1) {
        if ((me.page * LINES + l) < me.n) {
          name = gps_data.getNode("bookmarks/bookmark["~((me.page * LINES) + l)~"]/ID").getValue();
          line[l].setValue(sprintf("%s %s",me.pointer == l ? ">" : " ", name));
        } else {
          line[l].setValue("");
        }
      }
    } else {
      display([
        " ",
        " ",
        " NO BOOKMARKS",
        " ",
        " "
      ]);
    }
  }
};

var screenTurnpointInfos = {
  right : func {
  },
  enter : func {
  },
  escape : func {
  },
  start : func {
  },
  lines : func {
    display(NOT_YET_IMPLEMENTED);
  }
};
