void DrawToolbarButton(char image_id, int x)
{
	DefineButton(x+1, 7, TOOLBAR_ICON_WIDTH-2, TOOLBAR_ICON_HEIGHT-2, 10+image_id + BT_HIDE, 0);
	img_draw stdcall(skin.image, x, 6, TOOLBAR_ICON_WIDTH, TOOLBAR_ICON_HEIGHT, 0, image_id*TOOLBAR_ICON_HEIGHT);
}


void DrawScroller()
{
	scroll.max_area = list.count;
	scroll.cur_area = list.visible;
	scroll.position = list.first;
	scroll.all_redraw = 0;
	scroll.start_x = list.x + list.w;
	scroll.start_y = list.y;
	scroll.size_y = list.h;
	scroll.start_x = list.x + list.w;
	scrollbar_v_draw(#scroll);
}


dword MakePageWithHistory()
{
	int i;
	static dword history_page;

	if (history_page) free(history_page);
	history_page = malloc(history.items.data_size+256);
	strcat(history_page, "<html><head><title>History</title></head><body>\n<h1>History</h1>\n");
	strcat(history_page, "<h2>Visited pages</h2><br>\n");
	for (i=0; i<history.items.count; i++)
	{
		strcat(history_page, "<a href='");
		strcat(history_page, history.items.get(i));
		strcat(history_page, "'>");
		strcat(history_page, history.items.get(i));
		strcat(history_page, "</a><br>\n");
	}
	return history_page;
}


enum {
	STEP_1_DOWNLOAD_PAGE         =   0,
	STEP_2_COUNT_PAGE_HEIGHT     =  30,
	STEP_3_DRAW_PAGE_INTO_BUFFER =  60,
	STEP_4_SMOOTH_FONT           =  94,
	STEP_5_STOP                  = 100,
};

void DrawProgress(int percent)
{
	int progress_width;
	if (percent<100) {
		progress_width = address_box.width+5*percent/100;
		DrawBar(address_box.left-3, address_box.top+16, progress_width, 2, 0x72B7EA);
		//debugi(percent);
	}
	else {
		progress_width = address_box.width+5;
		DrawBar(address_box.left-3, address_box.top+16, progress_width, 2, 0xFFFfff);
	}
}

int progress_percent;
void DrawProgressWhileDrawing(dword bufoff, buflen) 
{
	int progress_cur = bufoff - io.buffer_data;
	int progress_max = buflen - io.buffer_data;
	int new_progress_percent = STEP_4_SMOOTH_FONT-STEP_3_DRAW_PAGE_INTO_BUFFER*progress_cur/progress_max + STEP_3_DRAW_PAGE_INTO_BUFFER;
	if (progress_percent != new_progress_percent) {
		progress_percent = new_progress_percent;
		DrawProgress(progress_percent);
	}
}