var progress_is_started = false;
var last_percents = 0;
var last_filesize = 0;
function progress_bar_perc(pers)
{
	 ipers=pers*3;
	document.getElementById('progress_done_num').innerHTML = pers+"%";
}

function progress_size(done, total)
{
	document.getElementById('progress_done_filesize').innerHTML = get_size_str(done);
	document.getElementById('progress_done_filesize_total').innerHTML = get_size_str(total);
}

function progress_speed(last, avg)
{
	document.getElementById('progress_done_speed').innerHTML = get_size_str(last)+"/sec";
	document.getElementById('progress_done_speed_avg').innerHTML = get_size_str(avg)+"/sec";
}

function progress_time(elapsed, left)
{
	document.getElementById('progress_done_time_elapsed').innerHTML = get_time_str(elapsed);
	document.getElementById('progress_done_time_left').innerHTML = get_time_str(left);
}

function progress_bar_aborted()
{
	clearTimeout(every_timeout);
	speed_stop();
	every_flag=false;
	with (document)
	{
		getElementById('upload_abort_link').style.display= 'none';
		getElementById('upload_another_link').style.display= '';
		getElementById('uploadframe_span').innerHTML = '';
	}
}

function progress_bar_no_file()
{
	if (progress_is_started && (last_percents < 90) && (last_filesize > 2000000))
	{
		progress_bar_aborted();
	}
}

function progress_bar_update(data)
{
	if (data.no_file)
	{
		progress_bar_no_file();
		return;
	}
	progress_is_started = true;
	perc = Math.round(data.bytes_uploaded*1.0/data.bytes_total*100.0);
	last_percents = perc;
	last_filesize = data.bytes_total;

	if(data.speed_last<0)
	{
		data.speed_last=0
	}

	progress_bar_perc(perc);
	progress_size(data.bytes_uploaded, data.bytes_total);
	progress_speed(data.speed_last, data.speed_average);
	progress_time(data.time_last - data.time_start, data.est_sec);
}

function progress_bar_reset()
{
	progress_bar_perc(0);

	document.getElementById('progress_done_time_elapsed').innerHTML = get_time_str(0);
	document.getElementById('progress_done_time_left').innerHTML = get_time_str(0);

	document.getElementById('progress_done_speed').innerHTML = get_size_str(0)+"/sec";
	document.getElementById('progress_done_speed_avg').innerHTML = get_size_str(0)+"/sec";

	document.getElementById('progress_done_filesize').innerHTML = get_size_str(0);
	document.getElementById('progress_done_filesize_total').innerHTML = get_size_str(0);
}