seconds display

Small seconds display script

by KooiInc MeHere

HTML

<script src="http://www.nicon.nl/genericsvc/fiddle/fiddlemeta.js"></script>
<input id="secset" type="text"/> <button>set seconds</button>

JavaScript

document.querySelector('button').onclick = timer;

function timer()
{
    var inputfld = document.querySelector('#secset'),
        bttn = document.querySelector('button');
    timer.secs = +(timer.secs || +(inputfld.value)+1) - 1;
    if (this.tagName){
        inputfld.value = 'busy...';
    }
    if (isNaN(timer.secs)){
        Helper.log();
        return Helper.log('please provide a numeric value');
    }
    Helper.log();
    bttn.setAttribute('disabled',true);
    if (timer.secs>0) {
     Helper.log(showtime(timer.secs)); //<==
     return setTimeout(timer,1000);
    }
    Helper.log('done');
    inputfld.value = '';
    bttn.removeAttribute('disabled');
}

function showtime(s){
   var zdate = new Date(new Date('1970/1/1 00:00').setSeconds(s)),
       time = zdate.toTimeString().split(' ')[0].split(':');
    if (s >= 86400){
        time[0] = Math.floor( (zdate - new Date("1970/1/1 00:00")) / 3600000 );
   }
   return (+time[0] ? time[0]+':' : '') +
          (+time[0] || +time[1]  ? time[1] +':' : '') +
           time[2]
   ;
}