Что я неправильно сделал? Почему прибавляется только один раз 5 секунд, а дальше идёт в минус?
Подскажите, как сделать так, чтобы время прибавлялась три раза по 5 сек, а не один раз.
<script type="text/javascript">
var show_url_start_time = false;
var show_url_first = true;
function show_url(delay)
{
var remain = 0;
if (show_url_first)
{
show_url_first = false;
}
else
{
delay = 10;
}
if (delay>0)
{
var d = new Date();
if (!show_url_start_time)
{
document.getElementById('download_waiter').style.display = '';
show_url_start_time = d.getTime();
}
remain = show_url_start_time + delay*1000 - d.getTime();
}
if (remain<=100)
{
remain = remain + 5000;
remain = remain/1000;
if(document.getElementById('download_waiter_remain'))
{
document.getElementById('download_waiter_remain').innerHTML = Math.round(remain);
}
setTimeout('show_url('+(delay)+')', 1000);
}
else
{
remain = remain/1000;
if(document.getElementById('download_waiter_remain'))
{
document.getElementById('download_waiter_remain').innerHTML = Math.round(remain);
}
setTimeout('show_url('+(delay)+')', 1000);
}
}
</script>
<table id="download_waiter" cellpadding="0" cellspacing="0">
<tbody><tr><td>Ожидайте:</td>
<td><span id="download_waiter_remain">47</span></td>
<td>сек.</td>
</tr></tbody></table>
<script type="text/javascript">
show_url(10);
</script>