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);
    }
};