function cdtime(container, targetdate){ if (!document.getElementById || !document.getElementById(container)) return; this.container=document.getElementById(container); this.currentTime=new Date(); this.targetdate=new Date(targetdate); this.timesup=false; this.updateTime(); }
cdtime.prototype.updateTime=function(){ var thisobj=this; this.currentTime.setSeconds(this.currentTime.getSeconds()+1); setTimeout(function(){thisobj.updateTime()}, 1000); }
cdtime.prototype.displaycountdown=function(baseunit, functionref){ this.baseunit=baseunit; this.formatresults=functionref; this.showresults(); }
cdtime.prototype.showresults=function(){ var thisobj=this; var timediff=(this.targetdate-this.currentTime)/1000; if (timediff<0){ this.timesup=true; this.container.innerHTML=this.formatresults(); return; }
var oneMinute=60 //minute unit in seconds
var oneHour=60*60 //hour unit in seconds
var oneDay=60*60*24 //day unit in seconds
if (Math.floor(timediff/oneDay)<10){ var dayfield="00" + Math.floor(timediff/oneDay); } else if (Math.floor(timediff/oneDay)<100){ var dayfield="0" + Math.floor(timediff/oneDay); } else { var dayfield=Math.floor(timediff/oneDay) }
if (Math.floor((timediff-dayfield*oneDay)/oneHour)<10){ var hourfield="0" + Math.floor((timediff-dayfield*oneDay)/oneHour) } else { var hourfield=Math.floor((timediff-dayfield*oneDay)/oneHour) }
if (Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute)<10){ var minutefield="0" + Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute) } else { var minutefield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute) }
if (Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute))<10){ var secondfield="0" + Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute)) } else { var secondfield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute)) }
if (this.baseunit=="hours"){ hourfield=dayfield*24+hourfield; dayfield="n/a"; }
else if (this.baseunit=="minutes"){ minutefield=dayfield*24*60+hourfield*60+minutefield; dayfield=hourfield="n/a"; }
else if (this.baseunit=="seconds"){ var secondfield=timediff; dayfield=hourfield=minutefield="n/a"; }
this.container.innerHTML=this.formatresults(dayfield, hourfield, minutefield, secondfield)
setTimeout(function(){thisobj.showresults()}, 1000) }
function formatresults(){ if (this.timesup==false){ var displaystring=arguments[0]+"D : "+arguments[1]+"H : "+arguments[2]+"M : "+arguments[3]+"S" } else{ var displaystring="Quizzing In Progress" } return displaystring }

