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