function dcountup(startingdate, baseunit){  
    this.currentTime=new Date()  
    this.startingdate=new Date(startingdate)  
    this.timesup=false  
    this.baseunit=baseunit  
    this.start()  
}  
dcountup.prototype.oncountup=function(){}   
dcountup.prototype.start=function(){  
    var thisobj=this  
    this.currentTime.setSeconds(this.currentTime.getSeconds()+1)  
    var timediff=(this.currentTime-this.startingdate)/1000   
    var oneMinute=60   
    var oneHour=60*60  
    var oneDay=60*60*24   
    var dayfield=Math.floor(timediff/oneDay)  
    var hourfield=Math.floor((timediff-dayfield*oneDay)/oneHour)  
    var minutefield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute)  
    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"  
    }  
    var result={days: dayfield, hours:hourfield, minutes:minutefield, seconds:secondfield}  
    this.oncountup(result)  
    setTimeout(function(){thisobj.start()}, 1000)   
}  

