Date.ONE_SECOND = 1000; var naptime = 7.5 * 1000; var tokenTime = new Date(); function nap (m) {var then = new Date(new Date().getTime() + m); while (new Date() < then) {}} resetToken(); var downloadTime = null; var downloadCount = 0; function getToken() { var tokenImage = new Image(1,1); tokenImage.src= "http://webtools.gmti.com/cgi-bin/webforms_token.pl?keywords=token&" + downloadCount; tokenTime = new Date(); downloadCount++; } function resetToken () { getToken(); setTimeout ( "resetToken()", 60 * 500); } function submitWebForm (form) { var currTime = new Date(); var sleepTime = currTime.getTime() - tokenTime.getTime(); if ( sleepTime < naptime ) { sleepTime = naptime - sleepTime; nap(sleepTime); } return true; //form.submit(); }