/***********************************************
* Dynamic CountUp script- © Dynamic Drive (http://www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/

function dcountup(startingdate){
	this.currentTime=new Date()
	this.startingdate=new Date(startingdate)
	this.timesup=false
	this.start()
}

dcountup.prototype.oncountup=function(){} //default action for "oncountup"

dcountup.prototype.start=function(){
	var thisobj=this	
	this.currentTime=new Date()
	this.currentTime.setMilliseconds(this.currentTime.getMilliseconds()+1)
	var timediff=(this.currentTime-this.startingdate) //difference btw target date and current date, in milliseconds
	var oneSecond=1000
	var oneMinute=60*1000 //minute unit in milliseconds
	var oneHour=60*60*1000 //hour unit in milliseconds
	var oneDay=60*60*24*1000 //day unit in milliseconds
	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)/oneSecond)
	var millisecondfield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute-secondfield*oneSecond))
	var result={days: dayfield, hours:hourfield, minutes:minutefield, seconds:secondfield, milliseconds:millisecondfield}
	this.oncountup(result)
	setTimeout(function(){thisobj.start()}, 1) //update results every millisecond
}
