you would need to calculate all those things on your own. You should develop each forumla first, like time remaining is an estimate based on the amount currently downloaded, the total file size, and the download speed.

I haven't worked these types of features into this code, but feel free to work it in, and post back with your results.