var timers = [];

function findtimers() {

  var span = document.getElementsByTagName('span');
  var num = 0;
  for(var i=0;i<span.length;i++) {
    if(span[i].className != 'countdown' || !span[i].hasAttribute('_date')) continue

    var target = new Date();
    target.setTime(Date.parse(span[i].getAttribute('_date')));

    if ( isNaN(target.getTime()) ) {
       span[i].innerHTML="Timer Invalid";
    }
    else {
       num++;
       span[i].setAttribute('_epoch',target.getTime());
       span[i].setAttribute('id','timer_' + num);
       timers[num] = setInterval('updatetimer("' + num + '")',1000);
    }
  }
}

function updatetimer(num) {

   var tspan = document.getElementById('timer_' + num);

   var target = new Date();
   target.setTime(tspan.getAttribute('_epoch'));

   var now = new Date();
   var diff = Math.floor((target.getTime()-now.getTime())/1000);

   var tpm = '';
   if(diff<0) {
      diff = -diff;
      tpm = '\u2212';
   }

   // calcuate the diff
   var left = (diff%60) + ' seconds';

   diff=Math.floor(diff/60);
   left = (diff%60) + ' minutes ' + left;
   diff=Math.floor(diff/60);
   left = (diff%24) + ' hours ' + left;
   diff=Math.floor(diff/24);
   left = diff + ' days ' + left

   tspan.firstChild.nodeValue = tpm + left;
}


