Oops, I posted a bit too late. Thanks very much =)
I'll stay on the safe side and make corrections based on your code rather than copy it, since other last-minute peers may stumble across this and use some parts for reference as well.
That 100% => 100% Done thing at the end has been bugging me, and I can't figure out how to fix it lol. The closest I've gotten is that the percent jumps from 95% to 100% instantly rather than with the appropriate time gap.
I've come up with another problem :S as an extra feature, I've included an input box for the user to input their own value for how long they want the bar to take to fill up as a one-off thing (each time they choose to bring the box up, that is). However, within this bit of code:
Setting maxTime as the user-input number doesn't seem to actually affect the bar - it picks a random number between 2000-8000 anyway, despite that randomisation only occuring when the mouse clicks...could you give me a hint on why that could be ><